Comments: 评论关闭

在星期五的时候,上着上着,突然页面打开相当慢。

原本以为是网络问题,没大留意。但频繁出现数次,还居然一直持续。

在Cacti中查看,网卡占用居然达到机房百兆宽带的所有,12m/s

查看网卡的实时流量,得到了相同结果。

而且 CPU 也有点不正常,用 Top 命令查看,占用最高的是 Httpd 进程。即 Apache

原以为是受到了页面攻击,但这样在进程里头出现的,还应该有 Nginx 跟 Mysql 才对。

不会就这么孤独地只有 Apache。

正在我继续查找原因,攻击停下来了,网卡流量恢复正常。

查看了所有的 WEB 访问日志,无一是有能够解释到该现状的记录。

因为如果是 页面攻击,就好比是压力测试般,肯定会有某个或几个地址有重复不断的垃圾请求。

但日志上显示得相当悠然。

好了,没过多久,流量又来了!httpd 进程把 2个 cpu核心占用到 100%

网卡冲到 12m/s

使用网络命令 netstat -ant 查看,没有 DDOS 之类攻击所产生的 wait 。

而且链接IP还越来越少,这时候从本地 Ping 服务器的响应基本上是 timeout 了

一但把 Apache 停下来,流量就会消失。再次启动!没过多久又会再来。

为了知道到底是哪个 IP 令我产生这样的事,我安装了既时流量检测工具 iftop

iftop介绍详见:http://www.oschina.net/p/iftop

经检测,传输量最大的 IP 是 60.219.100.3 这个IP,直接访问能打开到网站。

使用 IPtables 命令禁止该IP访问本机!!无效,流量继续!

哟????!! 再次使用 IPtables 命令禁止本机访问该IP !!!这下流量终于停了。

哟!!这事情就明白多了,绝对能断点我的服务器成为了肉鸡,受到操控对特定目标进行了攻击。

而进行攻击的木马,不是啥米东西,而是 PHP 程序!

应该是在服务器里头某个虚拟主机网站有漏洞,被放入了 PHP DDOS 攻击木马!

然而,剩下的问题就更加复杂了,如何在海量文件的目录里头找到那个木马?

希望是有一个杀毒程序能帮我扫描到….但我还没能找到这个,如果网友们有的不妨推荐推荐。

我的思路是,开启 Apache 的 Server Status。 这家伙能实时查看到 Apache 正在执行那个程序。

而且详细到执行时间,输出数据量等等…

详细可见:http://www.oschina.net/bbs/thread/12650

好了!这下我就可以坐着等兔子再次跑上门来!

还有一个方法,就是把 PHP safe_mod 打开,能禁用掉一些例如 调用 系统 Shell 参数的语法。

来导致木马无法执行。可以我倒还真想把这兔子抓住,所以现在在等待中…

####################

2010-11-9 更新

####################

PHP safe_mod 不能随意打开!期中一个副作用就是导致 Cacti 无法调用 rrdtools 等参数。

就算设置了例外目录也无效!

最后我在 Apache,PHP 上都配置了 php_admin_value open_basedir 选项。

使得虚拟主机的用户无法越权访问到所属目录外的文件,当然也包括 shell 命令了。

但无效,黑客依然能利用暗藏在目录里头的肉鸡程序发动攻击。

虽然攻击事件在凌晨或者早上!!虽然我没在电脑旁!!

但我使用了 curl 对 ApacheStatus 页面的定时抓取作为了日志!!

与 Cacti 配合,一发现高流量!就追索该时间的日志!!

哈哈!这下子被逮个正着!!!!!

以下是 ApacheStatus 的截图,Req 项特别高的!就是 PHP肉鸡程序送发送的  UDP 攻击数据包。

在此也顺便公布攻击来源,辽宁省盘锦市 联通 119.115.80.102 但也有可能是一台跳板肉鸡。

至此,我服务器上存在漏洞的网站被暂时关闭了,经查看文件修改日期,黑客还放了不少后门程序。

看了得好好清除清除才能再次上线了。

而抓到的肉鸡!用 VI 打开,居然是使用 Zend 加密的!!

有没朋友对加密这东西有办法解决的,短信我,我给你发去研究研究。

Author: qbanke | Category: Linux & Unix, Network
Comments: 评论关闭

关于 Iftop

iftop 是类似于top的实时流量监控工具。主要用来显示本机网络流量情况及各相互通信的流量集合,如单独同那台机器间的流量大小,非常适合于代理服务器和iptables服务器使用

官方网站:http://www.ex-parrot.com/~pdw/iftop/

安装iftop
安装方法1、编译安装

如果采用编译安装可以到iftop官网下载最新的源码包。

安装前需要已经安装好基本的编译所需的环境,比如make、gcc、autoconf等。安装iftop还需要安装libpcap和libcurses。

CentOS上安装所需依赖包:

yum install flex byacc  libpcap ncurses ncurses-devel libpcap-devel

Debian上安装所需依赖包:

apt-get install flex byacc  libpcap0.8 libncurses5

下载iftop

wget http://www.ex-parrot.com/pdw/iftop/download/iftop-0.17.tar.gz

tar zxvf iftop-0.17.tar.gz

cd iftop-0.17

./configure

make && make install

configure: error: can’t find pcap.h
You’re not going to get very far without libpcap.
那你需要先安装libpcap,找到相应的rpm文件,比如:

-rw-r–r– 1 root root  108987 Apr  3 08:21 libpcap-0.9.4-8.1.i386.rpm
-rw-r–r– 1 root root  119062 Apr  3 08:21 libpcap-devel-0.9.4-8.1.i386.rpm

安装方法2:(懒人办法,最简单)
直接省略上面的步骤
flibpcap-0.9.4-14.el5.x86_64.rpm
CentOS系统:

yum install flex byacc  libpcap ncurses ncurses-devel

wget ftp://fr2.rpmfind.net/linux/dag/redhat/el5/en/i386/dag/RPMS/iftop-0.17-1.el5.rf.i386.rpm

rpm -ivh iftop-0.17-1.el5.rf.i386.rpm

Debian系统 运行:apt-get install iftop

运行iftop
直接运行: iftop

1、iftop界面相关说明
界面上面显示的是类似刻度尺的刻度范围,为显示流量图形的长条作标尺用的。

中间的<= =>这两个左右箭头,表示的是流量的方向。

TX:发送流量
RX:接收流量
TOTAL:总流量
Cumm:运行iftop到目前时间的总流量
peak:流量峰值
rates:分别表示过去 2s 10s 40s 的平均流量

2、iftop相关参数
常用的参数
-i设定监测的网卡,如:# iftop -i eth1

-B 以bytes为单位显示流量(默认是bits),如:# iftop -B

-n使host信息默认直接都显示IP,如:# iftop -n

-N使端口信息默认直接都显示端口号,如: # iftop -N

-F显示特定网段的进出流量,如# iftop -F 10.10.1.0/24或# iftop -F 10.10.1.0/255.255.255.0

-h(display this message),帮助,显示参数信息

-p使用这个参数后,中间的列表显示的本地主机信息,出现了本机以外的IP信息;

-b使流量图形条默认就显示;

-f这个暂时还不太会用,过滤计算包用的;

-P使host信息及端口信息默认就都显示;

-m设置界面最上边的刻度的最大值,刻度分五个大段显示,例:# iftop -m 100M

进入iftop画面后的一些操作命令(注意大小写)

按h切换是否显示帮助;

按n切换显示本机的IP或主机名;

按s切换是否显示本机的host信息;

按d切换是否显示远端目标主机的host信息;

按t切换显示格式为2行/1行/只显示发送流量/只显示接收流量;

按N切换显示端口号或端口服务名称;

按S切换是否显示本机的端口信息;

按D切换是否显示远端目标主机的端口信息;

按p切换是否显示端口信息;

按P切换暂停/继续显示;

按b切换是否显示平均流量图形条;

按B切换计算2秒或10秒或40秒内的平均流量;

按T切换是否显示每个连接的总流量;

按l打开屏幕过滤功能,输入要过滤的字符,比如ip,按回车后,屏幕就只显示这个IP相关的流量信息;

按L切换显示画面上边的刻度;刻度不同,流量图形条会有变化;

按j或按k可以向上或向下滚动屏幕显示的连接记录;

按1或2或3可以根据右侧显示的三列流量数据进行排序;

按<根据左边的本机名或IP排序;

按>根据远端目标主机的主机名或IP排序;

按o切换是否固定只显示当前的连接;

按f可以编辑过滤代码,这是翻译过来的说法,我还没用过这个!

按!可以使用shell命令,这个没用过!没搞明白啥命令在这好用呢!

按q退出监控。

Top
RSS for entries