首页建站教程站长工具网址导航免费资源

网站防挂马与安全加固完整指南

728×90 教程页顶部广告位

网站安全是站长最容易忽视但最重要的事情之一。很多新手站长网站被黑、被挂马、被篡改后才后悔没有做好安全防护。这篇教程从服务器、程序、权限、监控等方面,教你全方位安全加固。

一、网站安全概述

🚨 网站被黑的常见后果

• 网站被挂马,访问者电脑中毒,你的域名被浏览器标记为危险网站
• 网站被篡改,首页变成黑客页面或赌博/色情内容
• 数据被窃取,用户信息、数据库泄露
• 被植入后门,黑客长期控制你的服务器
• 被用来发送垃圾邮件或攻击其他网站,服务器IP被封
• 被搜索引擎惩罚,排名下降甚至K站
• 被勒索,黑客加密你的数据要求赎金

💡 网站被黑的常见原因

弱密码:服务器、后台、数据库使用简单密码(123456、admin等)
软件漏洞:WordPress、插件、主题、系统没有及时更新,存在已知漏洞
默认配置:使用默认后台地址(/wp-admin、/admin)、默认用户名(admin)
权限过大:文件权限设置过大(777),目录可执行
不安全的插件/主题:安装了来源不明、已停止维护、有漏洞的插件或主题
SQL注入/XSS:网站程序有漏洞,被注入攻击
FTP/SSH泄露:FTP密码被窃取,在公共电脑登录未退出
钓鱼/社会工程:被钓鱼邮件骗取账号密码
同服务器被黑:共享服务器上其他网站被黑,牵连你的网站
没有备份:被黑后无法恢复,只能任人宰割

安全防护分层模型
  1. 网络层:防火墙、端口控制、DDoS防护、CDN隐藏IP
  2. 系统层:系统更新、最小权限、禁用不必要服务、SSH安全
  3. 服务层:Web服务器(Nginx/Apache)安全配置、PHP安全配置、数据库安全
  4. 应用层:网站程序(WordPress等)安全、插件/主题安全、WAF防护
  5. 数据层:定期备份、异地备份、数据加密
  6. 管理层:强密码、二次验证、定期检查、安全意识

二、服务器安全加固

服务器安全加固清单
  1. 系统更新
    • 定期更新系统补丁:yum update(CentOS)或 apt update && apt upgrade(Ubuntu)
    • 宝塔面板可以在"软件商店"中一键更新Nginx、MySQL、PHP等软件
    • 启用自动安全更新(可选)
    • 更新前先备份,防止更新出问题
  2. 端口与防火墙
    • 只开放必要端口:80(HTTP)、443(HTTPS)、22(SSH,建议改端口)
    • 关闭不必要的端口和服务(FTP如果不用就关闭,用SFTP代替)
    • 使用防火墙(宝塔防火墙、ufw、firewalld、iptables)限制端口访问
    • SSH端口从默认22改为其他(如2222),减少暴力破解
    • 限制SSH登录IP(只允许你的IP登录),在防火墙中配置
  3. SSH安全
    • 禁止root直接登录,创建普通用户用sudo提权
    • 使用密钥登录,禁用密码登录(更安全)
    • 修改SSH默认端口
    • 安装Fail2ban,自动封禁多次登录失败的IP
    • 不要在公共电脑登录SSH,登录后及时退出
  4. 禁用不必要服务
    • 关闭不需要的服务(如sendmail、cups、avahi-daemon等)
    • 只运行网站需要的服务(Nginx、MySQL、PHP-FPM)
    • 减少攻击面,服务越少越安全
  5. 隐藏服务器信息
    • Nginx隐藏版本号:在http块添加 server_tokens off;
    • PHP隐藏版本号:php.ini中设置 expose_php = Off
    • 不要在网站上显示服务器信息(如phpinfo.php公开访问)
    • 删除默认页面和测试文件(如phpinfo.php、info.php)
  6. 防DDoS和CC
    • 接入CDN(Cloudflare等),隐藏真实IP
    • 服务器防火墙只允许CDN回源IP访问80/443
    • Nginx配置限流(limit_req),防止CC攻击
    • 参考防DDoS教程

三、网站程序安全

WordPress安全加固(以WordPress为例)
  1. 及时更新
    • WordPress核心、插件、主题有更新及时更新
    • 更新前先备份,防止更新出错
    • 删除不使用的插件和主题(即使不启用也可能有漏洞)
    • 只从官方目录(wordpress.org)或可信来源安装插件主题
    • 不要使用"破解版"、"nulled"主题插件(通常藏有后门和恶意代码)
  2. 后台安全
    • 修改默认后台地址(用WPS Hide Login插件修改,不要用/wp-admin)
    • 用户名不要用admin(安装时就设置其他用户名,如你的名字或随机字符串)
    • 使用强密码(16位以上,大小写字母+数字+符号)
    • 开启二次验证(2FA),用Google Authenticator或Wordfence的2FA功能
    • 限制登录尝试次数(Wordfence或Limit Login Attempts插件)
    • 后台地址不要告诉别人,不要在公共电脑登录
  3. 安装安全插件
    • Wordfence Security:免费版功能够用,防火墙、恶意代码扫描、登录保护
    • Sucuri Security:网站安全扫描、恶意代码检测、防火墙(付费版更强)
    • iThemes Security:功能全面的安全插件
    • 选一个安装即可,不要装多个安全插件(会冲突)
  4. 文件权限
    • WordPress目录权限:文件夹755,文件644
    • wp-config.php权限设为600或640(更严格)
    • 不要用777权限(任何人都可读写执行,非常危险)
    • 宝塔面板可以在文件管理中批量修改权限
  5. wp-config.php安全
    • 数据库密码用强密码
    • 修改数据库表前缀(安装时修改,不要用默认wp_)
    • 配置安全密钥(SALT),用WordPress官方密钥生成器生成
    • wp-config.php不要放在web可访问目录(可以移到上一级目录)
  6. 禁用文件编辑
    • 在wp-config.php中添加 define('DISALLOW_FILE_EDIT', true); 禁用后台主题/插件编辑器
    • 防止黑客通过后台编辑文件植入代码
  7. XML-RPC安全
    • XML-RPC是WordPress的远程发布接口,常被用于暴力破解和DDoS
    • 如果不用手机APP发布文章,禁用XML-RPC(用插件或Nginx配置)
    • Wordfence可以禁用XML-RPC
  8. REST API安全
    • WordPress REST API可能泄露用户信息(如作者列表)
    • 可以用插件禁用或限制REST API访问
  9. 评论安全
    • 开启评论审核,所有评论必须审核后才显示
    • 安装反垃圾评论插件(Akismet)
    • 评论中禁止HTML,防止XSS
  10. 定期扫描
    • 每周用安全插件扫描一次网站,检测恶意代码和漏洞
    • 关注WordPress安全公告,有严重漏洞及时更新
💡 其他CMS安全要点

Typecho:及时更新、删除默认模板、修改后台地址、强密码
Discuz:及时更新补丁、关闭不必要功能、设置论坛权限、防灌水
织梦CMS(DedeCMS):漏洞较多,不推荐使用;如果用,一定要打全补丁,删除install目录,修改后台地址,强烈建议换其他CMS
帝国CMS:及时更新、设置目录权限、关闭前台投稿(如果不需要)
静态网站:最安全,没有数据库和动态脚本,被黑风险极低

四、权限与密码安全

密码安全最佳实践
  1. 强密码
    • 长度至少16位
    • 包含大小写字母、数字、特殊符号
    • 不要用常见密码(123456、password、admin、qwerty等)
    • 不要用个人信息(生日、手机号、姓名拼音)
    • 用密码管理器生成和保存随机密码(如1Password、Bitwarden、KeePass)
  2. 不同账号不同密码
    • 每个网站/服务使用不同的密码
    • 不要一个密码走天下(一个网站泄露,所有账号都危险)
    • 用密码管理器管理不同密码,不需要记住
  3. 二次验证(2FA)
    • 重要账号开启二次验证(服务器、云服务商、网站后台、邮箱)
    • 用验证器APP(Google Authenticator、Microsoft Authenticator),不要用短信验证(SIM劫持风险)
    • 保存好恢复码,手机丢了可以用恢复码登录
  4. 定期更换密码
    • 重要密码每3-6个月更换一次
    • 怀疑密码泄露时立即更换
    • 数据泄露事件后(如某网站被拖库),检查自己的账号是否受影响,及时改密码
  5. 密码安全习惯
    • 不要把密码写在纸上或存在文档里
    • 不要在聊天工具、邮件中发送密码
    • 不要在公共电脑(网吧、图书馆)登录重要账号
    • 公共WiFi下不要登录重要账号(或用VPN)
    • 不要点击可疑邮件中的链接,不要在可疑页面输入密码
    • 离开电脑时锁屏(Win+L)
文件权限安全
  1. Linux权限基础
    • 755:所有者可读写执行,其他用户可读执行(适合目录)
    • 644:所有者可读写,其他用户可读(适合文件)
    • 600:只有所有者可读写(适合敏感文件如wp-config.php)
    • 777:所有人可读写执行(危险,不要用)
  2. 权限设置原则
    • 目录755,文件644是标准配置
    • 配置文件(wp-config.php、.env等)设为600或640
    • 上传目录(wp-content/uploads)可以设为755,确保PHP不能执行(在Nginx中配置上传目录不解析PHP)
    • 不要给不需要写入的目录写入权限
    • 宝塔面板可以在文件管理中批量修改权限
  3. 用户隔离
    • 如果服务器上有多个网站,每个网站用不同的用户运行,隔离权限
    • 宝塔面板默认每个网站是独立的,比较安全
    • 不要所有网站都用root或同一个用户运行

五、监控与定期检查

安全检查清单(每周/每月)
  1. 每周检查
    • WordPress核心、插件、主题是否有更新,及时更新
    • 安全插件扫描网站,看是否有恶意代码或异常
    • 查看服务器登录日志,是否有异常登录(陌生IP、失败尝试)
    • 查看网站访问日志,是否有异常请求(SQL注入尝试、扫描器)
    • 检查网站首页和重要页面是否正常,有没有被篡改
    • 检查备份是否正常执行,备份文件是否完整
  2. 每月检查
    • 全面安全扫描(用Wordfence/Sucuri在线扫描)
    • 检查服务器用户和进程,是否有可疑用户或进程
    • 检查服务器端口和服务,是否有不必要的端口开放
    • 检查文件完整性,对比备份看是否有文件被篡改
    • 检查数据库,是否有可疑管理员账号或异常数据
    • 更换重要密码(服务器、后台、数据库)
    • 测试备份恢复,确保备份可用
    • 查看云服务商安全告警,是否有异常
  3. 安全监控工具
    • 服务器监控:宝塔监控、云监控(CPU、内存、带宽、磁盘)
    • 网站可用性监控:UptimeRobot、监控宝(网站宕机时通知)
    • 安全扫描:Wordfence、Sucuri SiteCheck(在线免费扫描)
    • 黑名单检查:检查域名/IP是否被列入垃圾邮件或恶意网站黑名单
    • 搜索引擎安全:百度站长平台风险监测、Google Search Console安全问题通知

六、被黑后应急处理

网站被黑应急处理步骤
  1. 保持冷静,确认被黑
    • 确认网站真的被黑了,不是缓存或CDN问题(清缓存、用手机流量访问测试)
    • 记录被黑的表现(首页被篡改、有弹窗、被跳转、有恶意代码等)
    • 截图保存证据
  2. 立即断网/关站
    • 如果黑客还在操作,立即关闭网站(宝塔中停止Nginx或设置维护页面)
    • 防止黑客进一步破坏或窃取数据
    • 如果服务器被入侵,断开网络(云控制台中禁用网卡或关机)
  3. 备份当前状态
    • 虽然被黑了,但先备份当前状态(包括被黑的文件和数据库)
    • 用于后续分析攻击原因和取证
    • 备份到本地,不要覆盖之前的干净备份
  4. 修改所有密码
    • 服务器root密码、SSH密钥
    • 网站后台管理员密码
    • 数据库密码(修改后更新wp-config.php)
    • FTP/SFTP密码
    • 云服务商账号密码(并开启2FA)
    • 邮箱密码(邮箱可能被用来找回其他密码)
  5. 查找后门和恶意代码
    • 用安全插件(Wordfence)扫描,找出被修改的文件和恶意代码
    • 对比干净备份,找出新增或修改的文件
    • 检查网站根目录和所有子目录,查找可疑文件(如.php文件伪装成图片、eval/base64加密的代码)
    • 检查数据库,是否有可疑管理员账号、恶意链接
    • 检查服务器计划任务(crontab),是否有可疑定时任务
    • 检查服务器用户,是否有新增的可疑用户
    • 检查Nginx/Apache配置,是否有恶意重定向或配置
  6. 清理或重装
    • 方案A:清理恢复:删除所有恶意文件和后门,恢复被篡改的文件,更新所有软件到最新版本。适合被黑不严重、能找到所有后门的情况。
    • 方案B:重装服务器(推荐):如果不确定是否清理干净,最安全的方法是重装服务器,重新部署网站,从干净备份恢复数据。虽然麻烦但最彻底。
    • 很多时候黑客会留多个后门,清理一个还有其他,所以重装是最可靠的
  7. 从干净备份恢复
    • 确认备份是被黑之前的干净备份(检查备份时间和内容)
    • 恢复网站文件和数据库
    • 恢复后立即更新所有软件(WordPress、插件、主题)到最新版本
    • 重新配置安全措施(强密码、2FA、安全插件、防火墙)
  8. 排查攻击原因
    • 分析日志,找到攻击入口(是弱密码、插件漏洞、还是其他)
    • 修复漏洞,防止再次被黑
    • 如果是插件漏洞,删除该插件或更新到修复版本
    • 如果是弱密码,加强密码策略
  9. 处理搜索引擎和黑名单
    • 如果网站被搜索引擎标记为危险网站,在Google Search Console和百度站长平台提交复审
    • 检查域名/IP是否被列入黑名单,申请移除
    • 清理恶意内容后,搜索引擎会逐步恢复排名
  10. 加强防护,防止再次被黑
    • 按照本教程的安全加固清单,全面加固服务器和网站
    • 开启CDN隐藏IP,配置WAF
    • 定期备份,异地备份
    • 定期安全检查
    • 提高安全意识
💡 安全是持续的过程

网站安全不是一次性设置就完事的,而是持续的过程:
• 定期更新软件(漏洞不断被发现,需要及时修补)
• 定期检查(每周小检查,每月大检查)
• 定期备份(备份是最后一道防线)
• 持续学习(关注安全资讯,了解新的攻击方式)
• 提高意识(很多被黑是因为人的疏忽,不是技术问题)

没有100%安全的网站,但做好基础防护可以防住99%的自动化攻击和脚本小子。黑客通常选择最容易的目标,你的网站比别人安全一点,就不会被盯上。

这篇教程对你有帮助吗?

728×90 教程页底部广告位