nc-blog 首页农码生涯

网站被黑

日期: 2023-08-02, 11:47   共 4,455 次阅读

上周六下午,刷 https://nicrosoft.net/blog/ 时,突然刷出了 404。SSH 登录上服务器,才发现久未关注的服务器上,WordPress 网站目录下已经遍布了 wpconfig.bak.php 这样的黑客留下的恶意文件。

因为这台服务器上的网站一直运行良好,就很久没有关注过它了。所以,在备份了日志后,当即还是决定彻底重装整个系统。这台机器上主要都是我个人相关的网站,没有什么重要的在线服务,因此也就断断续续花了好几天,才把所有环境都恢复起来了。小说也断更了好几天了。

之后,还在 MySQL 数据库里,发现了黑客添加的几个 WordPress 管理员帐号。

所以,最后决定好好增强一下 WordPress 的安全性。WordPress 自身,以及因为支持各种良莠不齐的插件,安全性一直是被诟病的。之前觉得自己的网站没什么人关注,应该不值得成为黑客目标,当然也是对自身运维方面有一定的信心,尤其是一直稳定运行了超过十年,所以就真的大意了。

亡羊补牢,经过对被黑网站的日志的分析,黑客的行为大致还是有迹可循的。对于 WordPress 架设的网站,我建议:

  1. 尽量不安装,或者少安装第三方插件。并不是说,用的人越多,越流行的插件就没问题。流行度越高的插件,被黑客研究利用的可能性也越大。插件开发者水平参差,不见得每个插件都能在安全性上下足功夫。
  2. 自己配置 web 服务器,比如 nginx,要禁止在敏感目录(比如 /wp-content/uploads/)执行 php 文件。可以在 nginx 的网站配置中增加类似下面这段:

location /wp-content/uploads/ {

location ~ .*\.(php|php5)?$ {

deny all;

}

}

  1. 配置禁掉 /xmlrpc.php:

location = /xmlrpc.php {

return 403;

}

  1. 监控网站目录中文件的异常变动,比如增加了什么奇怪的文件。
  2. 监控网站的数据库中用户数量的异常变动,比如增加了奇怪的管理员权限的账号。

关于上面第4、第5两点,我准备写一个监控工具定时自动执行来完成。昨天已经在 github 开了新项目:https://github.com/shenmin/wpsec_mon

目前完成了监控数据库中用户数量的异常变动,发现增加了可疑账号时,发送邮件通知。定时执行则借助系统的 cron 服务即可。后续还会继续做下去,把文件监控完成。

简短地址:http://ncblog.net/2032/
«
»
评论
› vicalloy @ 2023-08-03 10:19 留言:
我现在应用都用docker跑了,万一因为应用漏洞入侵了也可以控制影响范围。 另外就是程序还是要经常升级。漏洞从发现到被广泛利用还有段时间。

Trackback url | Rss 2.0