Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

03-安全防护.md

安全防护

防黑客、防恶意攻击的WordPress安全策略


🛡️ 安全威胁认知

常见安全威胁

WordPress安全威胁
├── 暴力破解
│   ├── 管理员密码猜测
│   ├── 用户名枚举
│   └── 大量登录尝试
│
├── 恶意软件
│   ├── 后门文件
│   ├── 恶意重定向
│   └── 垃圾链接注入
│
├── SQL注入
│   ├── 数据库攻击
│   └── 数据窃取
│
├── XSS攻击
│   ├── 脚本注入
│   └── 用户劫持
│
└── DDoS攻击
    ├── 流量淹没
    └── 服务瘫痪

🔐 基础安全措施

强密码策略

密码安全
├── 特征
│   ├── 长度:12位以上
│   ├── 大小写字母
│   ├── 数字
│   └── 特殊符号
│
├── 示例
│   ├── ❌ password123
│   ├── ❌ admin123456
│   ├── ✅ P@ssw0rd!2024#Secure
│   └── ✅ B*lue#Ski3s$Win+ter
│
└── 管理密码
    ├── 不同账户不同密码
    ├── 定期更换
    └── 使用密码管理器

用户名安全

用户名保护
├── 避免
│   ├── ❌ admin
│   ├── ❌ administrator
│   ├── ❌ root
│   └── ❌ 与网站名称相同
│
├── 推荐
│   ├── ✅ 不常见名字
│   ├── ✅ 随机字符串
│   └── �网名+数字
│
└── 隐藏用户名
    ├── 不在文章显示
    └── 不使用作者归档

登录限制

登录安全设置
├── 双因素认证(2FA)
│   ├── 插件:Wordfence/Sucuri
│   ├── Google Authenticator
│   └── 短信验证
│
├── 登录限制
│   ├── 限制尝试次数
│   ├── 锁定时间
│   └── IP白名单
│
└── 登录页面修改
    ├── 隐藏wp-admin
    └── 自定义登录URL

🛠️ 安全插件

Wordfence(推荐)

Wordfence安全插件
├── 功能
│   ├── 防火墙
│   ├── 恶意软件扫描
│   ├── 登录安全
│   ├── 双因素认证
│   └── 实时流量监控
│
├── 设置要点
│   ├── 开启防火墙
│   ├── 启用登录安全
│   ├── 扫描计划(每日)
│   ├── 邮件通知
│   └── 国家屏蔽(按需)
│
└── 付费版
    ├── 实时防火墙规则
    ├── 高级扫描
    └── 优先支持

Sucuri Security

Sucuri安全插件
├── 功能
│   ├── 恶意软件扫描
│   ├── 完整性监控
│   ├── 黑名单监控
│   ├── 安全活动审计
│   └── 一键修复
│
├── 优势
│   ├── 轻量级
│   ├── 检测准确
│   └── CDN+WAF服务
│
└── 适合
    └── 已有CDN的用户

iThemes Security

iThemes Security
├── 功能
│   ├── 404检测
│   ├── 文件变更检测
│   ├── 强密码执行
│   ├── 隐藏登录页面
│   └── 数据库备份
│
├── 优势
│   ├── 功能全面
│   ├── 设置简单
│   └── 安全评分系统
│
└── 适合
    └── 新手用户

🔒 网站加固

文件安全

文件权限设置
├── 推荐权限
│   ├── 目录:755
│   ├── 文件:644
│   └── wp-config.php:600或440
│
├── 保护文件
│   ├── .htaccess
│   ├── wp-config.php
│   └── readme.html(删除)
│
└── 禁用编辑
    ├── 禁用主题/插件编辑
    └── wp-config.php添加
        define('DISALLOW_FILE_EDIT', true);

wp-config.php安全

wp-config.php加固
├── 安全密钥
│   ├── WordPress生成
│   ├── 定期更换
│   └── 唯一性
│
├── 表前缀
│   ├── 默认:wp_
│   ├── 修改:随机前缀
│   └── 安装时设置
│
└── 调试模式
    ├── 生产环境关闭
    └── define('WP_DEBUG', false);

.htaccess安全规则

.htaccess安全配置
├── 禁止访问敏感文件
│   <FilesMatch "^.*\.([Hh][Tt][Aa])">
│   Order allow,deny
│   Deny from all
│   </FilesMatch>
│
├── 限制wp-admin访问
│   RewriteEngine on
│   RewriteCond %{REQUEST_URI} ^/(wp-admin|wp-login\.php)
│   RewriteCond %{REMOTE_ADDR} !^允许的IP$
│   RewriteRule .* - [F,L]
│
└── 防止目录浏览
    Options -Indexes

🌐 Cloudflare防护

Cloudflare WAF

Cloudflare安全功能
├── DDoS防护
│   ├── 自动防御
│   ├── 全球CDN
│   └── 隐藏源IP
│
├── WAF规则
│   ├── 预设规则集
│   ├── 自定义规则
│   └── 速率限制
│
├── Bot防护
│   ├── 恶意机器人检测
│   ├── 验证码挑战
│   └── 机器人分析
│
└── 缓存
    ├── 静态资源加速
    └── 减轻服务器压力

设置建议

Cloudflare安全设置
├── 安全级别
│   └── 中/高
│
├── Bot Fight Mode
│   └── 开启
│
├── 浏览器完整性检查
│   └── 开启
│
└── 速率限制
    └── 针对登录页面

🔍 安全监控

监控措施

安全监控
├── 文件变更监控
│   ├── 插件监控
│   ├── 邮件通知
│   └── 及时发现
│
├── 登录监控
│   ├── 记录登录尝试
│   ├── 异地登录警报
│   └── 失败次数监控
│
├── 黑名单监控
│   ├── Google安全浏览
│   ├── 病毒扫描网站
│   └── Sucuri SiteCheck
│
└── 定期扫描
    ├── 每周完整扫描
    ├── 每日快速扫描
    └── 检查核心更新

安全扫描工具

在线安全扫描
├── Sucuri SiteCheck
│   └── sitecheck.sucuri.net
│
├── VirusTotal
│   └── virustotal.com
│
└── WP Vulnerability Scanner
    └── 检查插件漏洞

🚨 安全事件响应

被黑处理流程

安全事件响应
├── 1. 确认攻击
│   ├── 症状识别
│   │   ├── 重定向到恶意网站
│   │   ├── 搜索引擎警告
│   │   ├── 异常文件
│   │   └── 功能异常
│   └── 扫描确认
│
├── 2. 隔离网站
│   ├── 维护模式
│   ├── 暂时关闭
│   └── 通知用户
│
├── 3. 清理恢复
│   ├── 从备份恢复
│   ├── 或手动清理
│   ├── 更新密码
│   └── 检查后门
│
├── 4. 加固防护
│   ├── 更新所有组件
│   ├── 审查用户
│   ├── 强化安全
│   └── 安装扫描插件
│
└── 5. 重新上线
    ├── 再次扫描
    ├── 申请审核
    └── 监控观察

📋 安全检查清单

必做项

  • 强密码已设置
  • 用户名已修改
  • 双因素认证已开启
  • 安全插件已安装
  • 文件权限已设置
  • 自动更新已配置
  • Cloudflare已配置
  • 定期备份已设置
  • 监控告警已开启
  • 扫描计划已建立

🎯 核心要点总结

要点关键
密码强密码+定期更换
插件Wordfence必装
更新及时更新组件
备份定期备份+异地
监控定期扫描+告警

下一篇:04-日常维护清单.md