我有一个共享服务器(amazon ec2 micro由bitnami提供)和一个Web应用程序(wordpress),它最近显示出低性能(具有相对稳定的流量和使用率).我看到apache2 / logs / access.log中唯一可疑的行是形式的
$tail --lines=1000 /opt/bitnami/apache2/logs/access_log 93.120.84.31 - - [06/Nov/2013:03:02:54 +0000] "POST /cgi-bin/php-cgi?%2D%64+%61%6C%6C%6F%77%5F%75%72%6C%5F%69%6E%63%6C%75%64%65%3D%6F%6E+%2D%64+%73%61%66%65%5F%6D%6F%64%65%3D%6F%66%66+%2D%64+%73%75%68%6F%73%69%6E%2E%73%69%6D%75%6C%61%74%69%6F%6E%3D%6F%6E+%2D%64+%64%69%73%61%62%6C%65%5F%66%75%6E%63%74%69%6F%6E%73%3D%22%22+%2D%64+%6F%70%65%6E%5F%62%61%73%65%64%69%72%3D%6E%6F%6E%65+%2D%64+%61%75%74%6F%5F%70%72%65%70%65%6E%64%5F%66%69%6C%65%3D%70%68%70%3A%2F%2F%69%6E%70%75%74+%2D%64+%63%67%69%2E%66%6F%72%63%65%5F%72%65%64%69%72%65%63%74%3D%30+%2D%64+%63%67%69%2E%72%65%64%69%72%65%63%74%5F%73%74%61%74%75%73%5F%65%6E%76%3D%30+%2D%6E HTTP/1.1" 504 249
并在ps aux输出中
daemon 29369 0.0 0.2 17688 1500 ? S 10:52 0:00 /bin/bash ./su 57.54 daemon 29377 30.5 0.0 1780 544 ? R 10:52 3:14 ./ps 57.54 22
这些流程是什么,如果这是[已知]漏洞/漏洞,我该如何关闭它?我用google搜索this mention,但无法确定这是否适用于我的情况.
如果此问题属于其他SE网站,请在适当的时候帮我询问.
提前谢谢了!
UPDATE
来自@Ladadadada的提示,结果如下.是的,这是入侵.服务器停止,从每周备份重新启动(所有数据库和其他东西都在不同的驱动器上,我希望不会受到损害)并受到监控.
关于将来发生的事情以及如何防止这种情况的所有建议都值得赞赏.
对于ps proc:
$sudo ls -l /proc/30633/fd total 0 lr-x------ 1 daemon daemon 64 2013-11-06 13:05 0 -> /dev/null l-wx------ 1 daemon daemon 64 2013-11-06 13:05 1 -> pipe:[2010646] l-wx------ 1 daemon daemon 64 2013-11-06 13:05 2 -> pipe:[1918347] lr-x------ 1 daemon daemon 64 2013-11-06 13:05 255 -> /tmp/.ssh_auth/.b/.ssh_auth/.b/su lr-x------ 1 daemon daemon 64 2013-11-06 13:05 3 -> /opt/bitnami/apache2/cgi-bin/php-cgi
for / bin / bash su proc
$sudo ls -l /proc/30641/fd | more total 0 lr-x------ 1 daemon daemon 64 2013-11-06 13:04 0 -> /dev/null l-wx------ 1 daemon daemon 64 2013-11-06 13:04 1 -> pipe:[2010646] lrwx------ 1 daemon daemon 64 2013-11-06 13:04 10 -> socket:[5538939] lrwx------ 1 daemon daemon 64 2013-11-06 13:04 100 -> socket:[5539029] lrwx------ 1 daemon daemon 64 2013-11-06 13:04 101 -> socket:[5539030] lr-x------ 1 daemon daemon 64 2013-11-06 13:04 3 -> /opt/bitnami/apache2/cgi-bin/php-cgi
/tmp/.ssh_auth/.b/.ssh_auth/.b$ll total 1848 drwxr-xr-x 2 daemon daemon 4096 2013-11-06 13:04 ./ drwxr-xr-x 3 daemon daemon 4096 2013-11-06 01:34 ../ -rw-r--r-- 1 daemon daemon 0 2013-11-06 13:04 246.120.pscan.22 -rw-r--r-- 1 daemon daemon 0 2013-11-06 03:42 .a -rwxr-xr-x 1 daemon daemon 1384518 2005-06-05 20:24 brute* -rwxr-xr-x 1 daemon daemon 1161 2013-03-13 20:22 dns-pool* -rwxr-xr-x 1 daemon daemon 73 2013-11-05 04:14 pass.txt* -rwxr-xr-x 1 daemon daemon 154 2013-11-05 04:13 print* -rwxr-xr-x 1 daemon daemon 16071 2012-08-12 16:19 ps* -rwxr-xr-x 1 daemon daemon 453972 2011-03-21 15:15 ss* -rwxr-xr-x 1 daemon daemon 520 2013-11-06 01:33 su*
更新2
在实例关闭后,与亚马逊一起获得第二名:
Hello,We have detected that your instance(s): i-xxxxxxxx have been behaving in the following way that is against our AWS Customer Agreement: Port Scanning
解决方法
访问日志中的长字符串是URL编码的,并解码为:
-d allow_url_include=on -d safe_mode=off -d suhosin.simulation=on -d disable_functions="" -d open_basedir=none -d auto_prepend_file=PHP://input -d cgi.force_redirect=0 -d cgi.redirect_status_env=0
在我看来,它正在向php-cgi传递一系列选项,这些选项会关闭所有安全功能,例如禁止包括URL,禁止某些功能和安全模式.它还允许在STDIN上传入PHP代码,这可能允许攻击者简单地提供代码作为POST参数运行.
这几乎肯定是恶意的.
在这种情况下的漏洞可能是php-cgi位于Web可访问的目录中和/或可以直接请求.
ps输出中的两行也是可疑的.您可以通过查看/ proc文件系统进一步调查它们.
sudo ls -l /proc/29377/fd
或者通过在PID上使用strace:
sudo strace -f -p 29377 -s400
strace的输出可能非常大并且难以阅读,但在那里发现任何垃圾邮件或网络连接尝试应该不会太难.您可以使用-e trace = file或-e trace = file,network等选项限制输出.
一旦你确定它是恶意的并且你知道它们是如何进入的,你应该遵循instructions in this question to clean up afterwards.简单地删除你找到的文件是不够的,因为攻击者可以做任何事情来隐藏自己在系统中.