6
1
2017
6

WordPress 被入侵有感

本文来自依云's Blog,转载请注明。

吶,昨天说到VPS被报告有攻击行为,后来异常流量被逮到了,经过追查,真相大白。

前天(还是前天,因为又过了一天)分析了异常流量的时间分布之后,发现该流量从上午9点多开始,一直持续。于是我又 netstat -npt 了一下,看到了大量对各网络公司IP 80端口的连接。它还在呢!其实我早该 htop 瞅一眼的说。

发现三四个「php /tmp/tmp」进程,每个进程有大量连接。试图通过 /proc/PID/fd 取得它打开的文件失败,因为都是空的……然后,为了中止攻击,我停了 php-fpm 服务,杀掉了所有 php 进程。杀完才后悔,我连它是哪个用户跑的都没看呢 -_-||| 心急就忘记了应该发 SIGSTOP 信号的。

时间上与任何 cron job 都不匹配。不过我还是检查了可能的 PHP 脚本任务,并没有发现异常。这时 VPS 的主人 Edison 说,是不是 WordPress 的锅?于是他去扫描了一下 WordPress。这个 WordPress 是数年前 Edison 手工部署的,后来并没有怎么用。并不是通过软件仓库安装,所以 dpkg 没有检查出异常,也因此没有任何更新,年久失修。结果检查出来好多个后门。

这些后门都是在 PHP 脚本里加一两句话,对某个特定的 POST 参数进行求值(eval)。简单有效的后门呢。也难怪我怎么都没有找到恶意程序,原来是直接从网络提交过来的,通过 php-fpm fork 了进程出来。

嗯,就是这样。并没有多么神秘,也没能拿到攻击脚本。这件事充分地说明了我坚持不使用 WordPress 是个无比正确的决定 :-)

其实呢,这种攻击对于 Linux 来说是很奇怪的。就像作为 Python 使用者,SQL 注入对我来说是很奇怪的一样。最不安全的也并不是 PHP,而是 WordPress,核心逻辑上的漏洞不补,再怎么从细枝末节上修补也是软弱无力的。

它丫的 www 用户为什么对 WordPress 的代码文件有写权限啊?

它丫的 www 用户为什么对 WordPress 的代码文件有写权限啊?

它丫的 www 用户为什么对 WordPress 的代码文件有写权限啊?

嗯,重要的事情要说三遍。现在互联网越来越险恶,竟然还有著名软件项目不知道 W^X 这个常识我也是醉了……

一点安全常识,给不懂的人:

  • 任何时候,尽力做到权限最小化(不要学360拿 suid 跑 GUI)
  • Web 网站,用户可写目录一定不能被执行,能够执行的目录执行者一定不能有写权限(你看我的 MediaWiki 曾经暴露在外网那么久也只是招来了一些 spam,从来没人能远程执行代码)
  • 尽量使用发行版提供的软件包,及时更新,特别是对于没有充分时间关注和维护的东西

还有,我还挺想念 systemd 的,直接 systemctl status 就能知道进程属于哪个服务了。而且可以几行配置就把不需要的权限干掉~

Category: Linux | Tags: WordPress PHP Linux | Read Count: 1134
laixintao 说:
Jun 02, 2017 10:01:23 AM

WordPress已经被爆出很多很多高危漏洞了……我是一直用最新版本的……好在用的是空间,只要注意备份应该不会出别的什么岔子

Mucid 说:
Jun 02, 2017 01:41:37 PM

www用户和php进程必须一样,不然wordpress安装插件和自动升级没有写入和owner权限,被淦是漏洞导致,readonly的wordpress也行但因为权限问题很多功能都只能手动

Avatar_small
依云 说:
Jun 02, 2017 01:51:33 PM

对,所以这是个大问题。只读的话想要执行一大段任意代码会难很多。

三儿 说:
Jun 16, 2017 09:49:45 AM

你没用wordpress,那用的是什么?
我正好要做一个小的个人博客网站,图片比较多的那种,用什么建站工具更安全一些?
原本打算用wordpress的,看了这个 w x 问题,就不想用了。

Avatar_small
依云 说:
Jun 17, 2017 10:03:04 PM

你也可以尝试禁止 wordpress 往代码目录写入东西。不过这样的话应该会有很多功能得自己完成了(比如安装插件什么的)。

你也可以考虑静态博客,它们的安全性非常好,性能也好~

我这个是 Chito,并不怎么好用。有时间了准备自己写一个,但也不知道什么时候才会动手。

三儿 说:
Jun 19, 2017 01:04:17 PM

明白了,我研究下。


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter

部分静态文件存储由又拍云存储提供。 | Theme: Aeros 2.0 by TheBuckmaker.com