连环画家贺友直:了解Honeynet(蜜网)或者Linux的朋友请帮帮我

来源:百度文库 编辑:高考问答 时间:2024/05/01 05:14:51
请问在配置Honeynet时候,snort-inline,sebek ,iptables,snort
都该怎么配置啊
请高手帮帮忙

honeynet主机配置

Gen I是在三层用nat进行转换控制,配置相对比较方便一些,但是路由转发会消耗掉一个TTL。
Gen II是在二层用brige转发控制,配置相对稍微复杂一点,不消耗TTL,相对更隐蔽一些。

不想编译内核,使用Gen I。

1、主机系统配置

比较喜欢debian,由于user-mode-linux只在debian的testing和unstable里,所以就近选个快速的镜象站点作系统更新、软件安装。geekbone的mirror非常完整,而且速度不错,推荐。

# apt-get update
# apt-get upgrade

需要ssh来对主机进行管理:

# apt-get install ssh

去除一些不必要的服务:

# update-rc.d -f inetd remove
# update-rc.d -f ppp remove
# update-rc.d -f exim remove

2、安装user-mode-linux

# apt-get install user-mode-linux

debian的UML内核没有配mount DevFS,所以启动的时候要加上devfs=mount的参数。

系统镜象使用honeynet提供的redhat 7.2,可以从如下地址下载:

http://honeynet.xfocus.net/misc/files/root_fs.rh-7.2-server.pristine.20021012.gz

解压后使用这个文件系统启动UML:

# linux ubd0=root_fs.rh-7.2-server.pristine.20021012 eth0=tuntap,,00:90:0b:03:04:05,192.168.0.254 devfs=mount

如果文件系统映象文件名是root_fs,就不需加ubd0=,eth0=tuntap,,00:90:0b:03:04:05,192.168.0.254的意思是在eth0上用TUN/TAP绑定/dev/tap0,IP为192.168.0.254,前面的mac地址是指定UML网卡的mac地址,否则默认是FE:FD:00:00:00:00。

这个系统的用户名和口令都是root。

3、数据控制

数据控制使用honeynet提供的rc.firewall脚本,可以从如下地址下载:

http://honeynet.xfocus.net/papers/honeynet/tools/rc.firewall

作一些轻微的修改:

rc.firewall默认使用2层的bridging模式,修改为:

MODE="nat"

需要配置虚拟系统对外的IP,可以指定多个用空格隔开:

PUBLIC_IP="192.168.7.144"

配置虚拟系统真实的IP,可以指定多个用空格隔开,注意和PUBLIC_IP对应:

HPOT_IP="192.168.0.144"

配置主机管理接口:

MANAGE_IFACE="eth0"

主机真实IP:

MANAGE_IP="192.168.7.99" # IP of management Interface
MANAGE_NETMASK="255.255.255.0" # Netmask of management Interface

允许访问的端口,可以多个用空格隔开:

ALLOWED_TCP_IN="22"

允许访问的来源IP,可以用any:

MANAGER="192.168.7.9/24"

数据控制接口:

LAN_IFACE="tap0"

rc.firewall默认允许9个TCP连接,20个UDP连接,50个ICMP连接和10个其它IP连接。当然可以修改脚本里这几个参数。

4、数据捕获

安装snort:

# apt-get install snort

去掉它的自动启动:

# update-rc.d -f snort remove

使用了honeynet提供的snort.conf和启动脚本,下载地址:

http://honeynet.xfocus.net/papers/honeynet/tools/snort.conf
http://honeynet.xfocus.net/papers/honeynet/tools/snort-start.txt

snort.conf有些错误,作如下修改:

var HOME_NET 192.168.7.99/24

output alert_full: /data/snort/snort_full
output alert_fast: /data/snort/snort_fast

snort-start.txt启动脚本稍微修改:

PID=/var/run/snort_tap0.pid
DIR=/data/snort
SNORT=/usr/sbin/snort

$SNORT -d -D -c /etc/snort/snort.conf -i vmnet1 -l $DIR/$DATE not host yyy.yyy.yyy.yyy

其中yyy.yyy.yyy.yyy是自己客户端的IP,这样忽略记录自己的IP,避免了自己在虚拟honeypot上的连接特别是文件传输等不被记录,使得日志不会因为自己的操作变得巨大,增加干扰信息。当然前提是自己客户端的IP是固定的,否则就算了。

当然针对需要捕获何种数据可以再细调snort规则。

5、安装vmware

使用的是vmware-gsx-2.5,商业软件照者安装就行。安装的时候要注意,网络要安装成host only模式,设置的IP就是网关地址,这些可以在安装后用vmware-config.pl来修改。在网络修改那里使用editor不要使用wizard。

关于数据控制和数据捕获与上面UML的一样,就是相应的接口由tap0改为vmnetX。

6、注意事项

清空iptables规则不能简单的来个iptables -F,因为rc.firewall脚本把INPUT和FORWARD的策略都设为DROP,如果这样撤销rc.firewall的话所有网络都不通了。用如下的一个小脚本:

#!/bin/sh
#-----------------------------------------
# stop-firewall.sh
#-----------------------------------------
# safely stop rc.firewall

/sbin/iptables -F
/sbin/iptables -P INPUT ACCEPT
/sbin/iptables -P FORWARD ACCEPT
/sbin/iptables -P OUTPUT ACCEPT
/sbin/iptables -X icmpHandler
/sbin/iptables -X otherHandler
/sbin/iptables -X tcpHandler
/sbin/iptables -X udpHandler

echo "honeynet rc.firewall safely stoped!"

#EOF

很遗憾,UML和vmware不能同时用,它们使用的接口不一样,也许改rc.firewall可以实现。然后就把机器托管到IDC去,你要开几个虚拟机就再需要几个外部IP,不要告诉IDC你到底做什么,要不然别人可能会感觉不爽,你还得解释半天。