植入式攻打入侵检测解决方案

植入式攻击入侵检测解决方案

植入式攻击入侵检测解决方案

http://netkiller.github.io/journal/security.implants.html

MrNeo Chen (陈景峰)netkiller, BG7NYT


中国广东省深圳市龙华新区民治街道溪山美地
518131
+86 13113668890
+86 755 29812080

版权声明

转载请与作者联系,转载时请务必标明文章原始出处和作者信息及本声明。

植入式攻打入侵检测解决方案
文档出处:
http://netkiller.github.io
http://netkiller.sourceforge.net

 

2014-12-25

摘要
我的系列文档
Netkiller Architect 手札 Netkiller Developer 手札 Netkiller PHP 手札 Netkiller Python 手札 Netkiller Testing 手札
Netkiller Cryptography 手札 Netkiller Linux 手札 Netkiller Debian 手札 Netkiller CentOS 手札 Netkiller FreeBSD 手札
Netkiller Shell 手札 Netkiller Security 手札 Netkiller Web 手札 Netkiller Monitoring 手札 Netkiller Storage 手札
Netkiller Mail 手札 Netkiller Docbook 手札 Netkiller Version 手札 Netkiller Database 手札 Netkiller PostgreSQL 手札
Netkiller MySQL 手札 Netkiller NoSQL 手札 Netkiller LDAP 手札 Netkiller Network 手札 Netkiller Cisco IOS 手札
Netkiller H3C 手札 Netkiller Multimedia 手札 Netkiller Perl 手札 Netkiller Amateur Radio 手札 Netkiller DevOps 手札

目录
  • 1. 什么是植入式攻击?
  • 2. 为什么骇客会在你的系统里面植入木马?
  • 3. 什么时候被挂马?
  • 4. 在那里挂马的?
  • 5. 谁会在你的系统里挂马?
  • 6. 怎样监控植入式攻击
    • 6.1. 程序与数据分离
    • 6.2. 监控文件变化
    • 6.3. 安装日志收集程序
  • 7. 延伸阅读

1. 什么是植入式攻击?

什么是植入式攻击,通俗的说就是挂马,通过各种手段将木马上传到你的系统,修改原有程序,或者伪装程序是你很难发现,常住系统等等。

2. 为什么骇客会在你的系统里面植入木马?

通常挂马攻击骇客都是有目的的很少会破坏你的系统,而是利用你的系统。

例如,使用你的网络作DDOS攻击,下载你的数据资料卖钱等等

3. 什么时候被挂马?

有时你到一家新公司,接手一堆烂摊子,俗称“擦屁股”。这是中国是离职,中国式裁员,中国式工作交接.....的结果,各种奇葩等着你。

你接手第一项工作就是工作交接,最重要的工作可能就是检查系统后门。通常工作交接少有积极配合的,全要靠你自己。

4. 在那里挂马的?

在我多年的工作中遇到过很多种形式挂马,有基于Linux的rootkit,有PHP脚本挂马,Java挂马,ASP挂马。通常骇客会植入数据库浏览工具,文件目录管理工具,压缩解压工具等等。

5. 谁会在你的系统里挂马?

98%是骇客入侵,1%是内人干的,1%是开后门仅仅为了工作方便。

本文对现有的系统无能为力,只能监控新的入侵植入

6. 怎样监控植入式攻击

6.1. 程序与数据分离

程序包括脚本,变异文件等等,通常是只读权限

数据是指由程序生成的文件,例如日志

将程序与数据分离,存放在不同目录,设置不同权限, 请关注“延伸阅读”中的文章,里面有详细介绍,这里略过。

我们这里关注一旦运行的程序被撰改怎么办,包括入侵进入与合法进入。总之我们要能快速知道那些程序文件被修改。前提是我们要将程序与数据分离,才能更好地监控程序目录。

6.2. 监控文件变化

我使用 Incron 监控文件变化

# yum install -y incron
# systemctl enable incrond
# systemctl start incrond
			

安装日志推送程序

$ git clone https://github.com/netkiller/logging.git
$ cd logging
$ python3 setup.py sdist
$ python3 setup.py install			
			

配置触发事件

# incrontab -e
/etc IN_MODIFY /srv/bin/monitor.sh $@/$#
/www IN_MODIFY /srv/bin/monitor.sh $@/$#

# incrontab -l
/etc IN_MODIFY /srv/bin/monitor.sh $@/$#
/www IN_MODIFY /srv/bin/monitor.sh $@/$#
			

/srv/bin/monitor.sh 脚本

# cat /srv/bin/monitor.sh
#!/bin/bash
echo $@ | /usr/local/bin/rlog -d -H 172.16.0.10 -p 1220 --stdin						
			

/etc 与 /www 目录中的任何文件被修改都回运行/srv/bin/monitor.sh脚本,/srv/bin/monitor.sh脚本通过/usr/local/bin/rlog程序将文件路径数据发给远程主机172.16.0.10。

6.3. 安装日志收集程序

$ git clone https://github.com/netkiller/logging.git
$ cd logging
$ python3 setup.py sdist
$ python3 setup.py install				
			

配置收集端端口,编辑文件logging/init.d/ucollection

			
done << EOF
1220 /backup/172.16.0.10/incron.log
1221 /backup/172.16.0.11/incron.log
1222 /backup/172.16.0.12/incron.log
EOF
			
			

然后根据incron.log给相关管理人员发送邮件或短信警报等等,关于怎么发邮件与短信不再本文谈论范围,有兴趣留意我的官网。

7. 延伸阅读

数据库记录安全解决方案

Tomcat 安全配置与性能优化

Linux 系统安全与优化配置

网站防刷方案

PHP 安全与性能

http://netkiller.github.io/storage/incron.html