|
|
|
|
移动端

2.5 案例一:闪现Segmentation Fault 为哪般(2)

《UNIX/Linux网络日志分析与流量监控》第2章UNIX/Linux 系统取证,本章介绍了大量UNIX 平台下计算机取证的方法,用实例展示了硬盘数据收集和恢复技巧,并用两个案例展示了如何灵活运用各种工具来处理网络故障。本节为大家介绍案例一:闪现Segmentation Fault 为哪般。

作者:李晨光来源:机械工业出版社|2014-11-26 20:36

年前最后一场技术盛宴 | 1月27日与京东、日志易技术大咖畅聊智能化运维发展趋势!


2.5 案例一:闪现Segmentation Fault 为哪般(2)

3.检查网站及数据库

他看了一下网站内的很多index.html 和index.php,发现它们都被修改过。

下面检查数据库。

  1. #mysql -h localhost -u root –p 

输入密码后仔细检查了各个网站数据库情况,并没有发现异常。随后又在浏览器输入phpinfo()测试页也都没发现问题。

“问题会出在哪儿呢?”小王心想。一筹莫展的小王到机房外抽了根烟。

目前仍然无法确定究竟有什么漏洞导致了网站被攻击。小王手里的烟还没抽完,他突然想到了到Apache 的日志文件中能收集到一些线索,因为攻击者入侵我们网站后,Web 服务器上会记录下远端IP 地址等关键信息,而且网关上也会记录进入服务器的IP 地址,即使攻击者将Web 服务器的IP 记录删除了还有网关上的日志记录信息,不可能都删掉。随后他开始获取httpd 日志。

  1. #cd /var/log/httpd 

默认的http 日志都在这里。

  1. #wc -l access_log error_log  
  2. 13129 access_log  
  3. 125410 error_log  
  4. 25670 total 

小王自言自语:“这很不正常。error 日志不应该有这么大……”

他开始分部分查看error 日志。

  1. # head -50 error_log |more  
  2. [Sun May 5 13:42:45 2010] [notice] Apache/2.0.4 (UNIX) PHP/5.0.5 configured -- resuming normal  
  3. operations  
  4. [Sun May 5 17:29:33 2010] [error] [client 80.11.134.231] File does not exist:  
  5. /var/www/htdocs/scripts/..A../winnt/system32/cmd.exe  
  6. [Sun May 5 17:29:34 2010] [error] [client 80.11.134.231] File does not exist: /var/www/htdocs/  
  7. scripts/.82e/./winnt/system32/cmd.exe  
  8. [Sun May 5 17:57:58 2010] [error] [client 210.113.198.122] File does not exist: /var/www/ htdocs/  
  9. scripts/..85c85c../winnt/system32/cmd.exe  
  10. [Mon May 6 23:33:15 2010] [notice] caught SIGHTERM, shutting down  
  11. [Sun May 5 13:42:45 2010] [notice] Apache/2.0.4 (UNIX) PHP/5.0.5 configured--esuming normal  
  12. operations  
  13. [Mon May 6 23:33:47 2010] [error][client 48.82.130.78] Invalid URL in request GET /../../../../etc/passwd  
  14. HTTP/1.1  
  15. [Mon May 6 23:33:52 2010] [error][client 48.82.130.78] Invalid URL in request GET /..HTTP/1.1  
  16. [Mon May 6 23:34:22 2010] [error][client 48.82.130.78] Invalid URL in request GET /../../../..  
  17. /..HTTP/1.1  
  18. [Mon May 6 23:34:26 2010] [error][client 48.82.130.78] Invalid URL in request GET /../../../../etc HTTP/ 1.1  
  19. [Mon May 6 23:34:35 2010] [error][client 48.82.130.78] Invalid URL in request GET /../../../../etc/ HTTP/ 1.1  
  20. …… 

他不敢相信自己的眼睛:不会吧,怎么会有 /winnt/system32/cmd.exe?他开始怀疑系统中了病毒或是被攻击了。随后他又查看了第二批日志,部分内容如下:

  1. #tail -50 error_log |more  
  2. [Mon May 22 11:45:11 2010] [notice] child pid 2880 exit signal Segmentation fault (11)  
  3. [Mon May 22 11:46:01 2010] [notice] child pid 2908 exit signal Segmentation fault (11)  
  4. [Mon May 22 11:47:26 2010] [notice] child pid 2936 exit signal Segmentation fault (11)  
  5. [Mon May 22 11:47:38 2010] [notice] child pid 2984 exit signal Segmentation fault (11)  
  6. …… 

每分钟都要产生一条Segmentation fault 报错信息。“Apache 通常不会出现这样的Segmentaion fault 故障,这种情况到底出现了多少次呢?”

  1. #grep Segmentation error_log |wc –l 

65196 千多条。“这可不是好兆头”。小王突然想到了可以使用调试工具strace 来实时疏通Apache 的“脉络”。接着他很快写出了一个可执行脚本apache_debug.sh:

  1. #!/bin/sh  
  2. while [ "1" == "1" ]; do  
  3. APACHE_LIST=`ps -ef | grep apache | grep ^www | awk '{ print $2; }'`  
  4. for i in $APACHE_LIST; do  
  5. if [ ! -e $i.log ]; then  
  6. echo "strace $i"  
  7. strace -p –v $i 2> $i.log &  
  8. fi  
  9. done  
  10. echo "wait"  
  11. sleep 60s  
  12. done 

喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书频道活动讨论群:342347198

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

网管员必读—服务器与数据存储

《网管员必读—服务器与数据存储》全面、系统地介绍了在中、高级网络管理和网络工程实施中两个重要方面的主流技术和应用:硬件服务器和数据...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊