以文本方式查看主题 - 计算机科学论坛 (http://bbs.xml.org.cn/index.asp) -- 『 安全理论 』 (http://bbs.xml.org.cn/list.asp?boardid=65) ---- [转帖][译文]Debian GNU/Linux下的入侵检测系统 (http://bbs.xml.org.cn/dispbbs.asp?boardid=65&rootid=&id=41849) |
-- 作者:binaryluo -- 发布时间:1/1/2007 9:16:00 PM -- [转帖][译文]Debian GNU/Linux下的入侵检测系统 来自LinuxSir.Org:http://www.linuxsir.org/bbs/showthread.php?t=77786&highlight=%E7%AB%AF%E5%8F%A3+%E5%8F%A3%E6%89%AB+%E6%89%AB%E6%8F%8F 欢迎转载,请保留作者信息 摘要: 关于道德方面,我们无能为力,在本文中我将谈谈在Debian GNU/Linux系统使用一些工具来发现和跟踪入侵者。
介绍 为什么使用Debian GNU/Linux ? 1) 他不包含商业意图并且不按照市场规则运作。 每个新的版本都对一些新的硬件体系提供支, 现在他支持Alpha, ARM, HP PA-RISC, Intel x86, Intel IA-64, Motorola 680x0, MIPS, MIPS (DEC), Power PC, IBM S/390, Sparc并且可以工作在Sun UltraSparc和Hitachi SuperH。他是Linux系统中支持硬件体系最多的平台。 在现有的Debian发行版中,有很多实时入侵检测工具可以帮助我们检测到恶意的连接。他有两种类型,一个是监视整个网络的(NIDS),另外一类是监视单个主机的(HIDS)。 主机工具 端口扫描检测 他的主页在http://www.psionic.com/products/portsentry.html 同时PortSentry也支持Solaris, BSD, AIX, SCO, Digital Unix, HP-UX, and Linux系统. 在Debian中,输入下面的命令就可以把他装上了: apt-get install portsentry 有三种不同的模式可供选择:基本模式,隐蔽模式和高级模式。他的配置文件在/usr/local/psionic/portsentry/portsentry.conf file 他的主要参数如下: TCP_PORTS,这里你定义在基本模式或者隐蔽模式下需要控制的端口,作者按照不同的控制级别提供了三个端口列表,最大的端口数量是64个。 UDP_PORTS,和上面的相似,不同的只是UDP端口 ADVANCED_PORTS_TCP, ADVANCED_PORTS_UDP, 在高级模式中可能会用到高端口检测,最大可以定义到65535,但是建议不要超过1024,以免误报。 ADVANCED_EXCLUDE_TCP, ADVANCED_EXCLUDE_UDP,提供了一个排除列表,在高级模式中,里面的端口将不会被监视。在这里,你可以写上你提供特殊服务的端口,但不要是真正的服务,例如: ident IGNORE_FILE, 在这里我们可以写上需要忽略IP的文件的位置,在这里可以找到回环地址,你同样可以在这里添加一个本地地址。 KILL_ROUTE,在这里我们可以添加一个命令来阻拦恶意的主机,例如: iptables -I INPUT -s $TARGET$ -j DROP,$TARGET$指的是恶意主机. KILL_RUN_CMD, 在阻拦恶意主机之前执行的命令. SCAN_TRIGGER, 定义超过多少次攻击才启动报警. PORT_BANNER, 在端口被连接之后显示的banner信息 在配置完之后,你最好使用下面的参数执行其中的一中模式:TCP是使用-tcp (基本模式), -stcp (隐蔽模式)和-atcp (高级模式);UDP就相应的改为 -udp, -sudp, -audp. 完整性检查 在Debian中,我们使用下面的命令安装他: apt-get install tripwire 保存信息需要两个密钥: 第一个是"site key",他是用来加密策略和配置文件的,另外一个是"local key"是用来加密检测的信息的。 一个准备好的配置文件在/etc/tripwire/twpol.txt ,你可以使用下面的命令初始化他: twadmin -m P /etc/tripwire/twpol.txt 我们使用下面的命令创建一个当前文件系统初始的数据库: tripwire -m i 2 检测系统完整性就使用下面的命令: tripwire -m c 使用下面的命令删除配置文件,以免被入侵者发现了你改动了什么文件: rm /etc/tripwire/twcfg.txt /etc/tripwire/twpol.txt 如果你需要重新创建配置文件,你可以使用下面的命令: twadmin -m p > /etc/tripwire/twpol1.txt twadmin -m f > /etc/tripwire/twcfg.txt 他的主页在http://www.psionic.com/products/logsentry.html. 他可以很好的运行在Solaris, BSD, HP-UX和Linux系统中。 在Debian中,我们使用下面的命令安装他: apt-get install logcheck logtail程序被安装在/usr/local/bin,下面相应的程序也被安装: Logcheck.sh, Logcheck.hacking, Logcheck.ignore, Logcheck.violations, Logcheck.violations.ignore, apt-get install snort 他有三中工作模式:包括嗅探模式,包记录模式和入侵检测模式。 他有下面的几个主要的参数: -l 日志的存放目录 -h IP -b -r 文件 Snort的嗅探和包记录模式 Snort -v 显示IP头信息 Snort -dv 以TcpDump的格式详细输出 Snort -dev
Snort的入侵检测模式 配置他很简单,只须对snort.conf做一些小小的修改,比如网络信息和工作目录等,下面先改变IP设置: var HOME_NET IP 简单的执行Snort只须输入: snort -c snort.conf 日志文件在/var/log/snort,我们可以在这里看到攻击者的IP地,当然这绝对不够,我建议可以认真的看看他的说明,绝大多数的组织,杂志和安全小组都把他评价他为各种系统下最好的入侵检测系统并且强烈推荐他,并且有象Silicon Defense,Source Fire和GUIs这样的商业公司开始提供对他更广泛的软件支持。 有时一些紧急事件的发生需要强大的分析器,这些问题一般是由入侵者由于某些原因尝试非法访问我们的服务或者其他的服务器,无论是隐蔽的还是明显的,或者是安装一个嗅探器甚至是得到更加高的权限造成的。 嗅探器检测 eth0 Link encap:Ethernet HWaddr 00:50:BF:1C:41:59 但是如果ifconfig程序被篡改或者嗅探器工作在网络中的其他机器,你必须进行更深一步的检查,例如发封邮件给“陌生”的用户或者尝试查找嗅探器的记录。 有一个叫neped由一个西班牙黑客组织设计的工具,他可以发现整个网络的接口工作模式是不是被设置成了混杂模式,但是现在他并没有被移植到Debian中,我们可以在这里下载ftp://apostols.org/AposTools/snapshots/neped/neped.c 这个程序的执行结果会产生下面的输出: neped eth0 当我们从191.168.0.1发送IP包到192.168.0.2的时候,我们需要知道他的MAC地址,我们可以通过发一个广播包来查询我们所需要IP对应的MAC地址,所有的机器都会接到这个包,但是只有“真正”的机器才会响应。 neped不通过广播,而是使用一个不存在的IP查询网络中的每个IP, 这样只有处于混杂模式的接口才会响应这个包。
Rootkits检测 apt-get install chkrootkit 他的网站在www.chkrootkit.org并且他检测下列文件: aliens, asp, bindshell, lkm, rexedcs, sniffer, wted, z2, amd, basename, biff, chfn, chsh, cron, date, du, dirname, echo, egrep, env, find, fingerd, gpm, grep, hdparm, su, ifconfig, inetd, inetdconf, identd, killall, ldsopreload, login, ls, lsof, mail, mingetty, netstat, named, passwd, pidof, pop2, pop3, ps, pstree, rpcinfo, rlogind, rshd, slogin, sendmail, sshd, syslogd, tar, tcpd, top, telnetd, timed, traceroute, w, write 可以使用下面的命令启动他: chkrootkit 他检测上面的文件,查找嗅探器和rootkits,还有其他的工具检查日志警告(chkwtmp和chklastlog)并且ifpromisc告诉我们的网卡是否处于混杂模式 参考文献
Anónimo, Linux Máxima Seguridad, Pearson Educación, Madrid 2000 Brian Hatch, Hackers in Linux, Mc Graw Hill 2001 Jim Mellander, A Stealthy Sniffer Detector, Network Security Antonio Villalón Huerta, Seguridad en Unix y redes, Open Publication License, octubre 2000 CSI FBI Computer Crime and Security Survey, CSI Issues&Trends, Vol.7 Who's Sniffing Your Network?, http://www.linuxsecurity.com/article...ticle-798.html |
W 3 C h i n a ( since 2003 ) 旗 下 站 点 苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》 |
4,148.438ms |