网管联盟 | 网管论坛 | 网管u家 | 网管博客 | 网管软件 | 网管求职 | 小游戏 | 网管搜索 | 网管原创 | 网管聚合 | 网管读摘 | 网管焦点 | 世界素材 | 会员投稿 | 会员中心 
中国网管联盟
Windows Linux Cisco 网络技术 数据库 黑客攻防 DotNet Java PHP 认证 新闻资讯 服务器 存储资讯 网络设备 网管学堂 技术专题 焦点 网吧频道
 当前位置: > bitsCN.com > linux > 网络管理 > 网络管理 > Debian GNU/Linux下的入侵检测系统  

Debian GNU/Linux下的入侵检测系统

2003-12-29  作者:BitsCN整理  来源:BitsCN.com  点评 投稿 收藏


  摘要:
  
  今天,许多信息都是存储在计算机系统中,因此很容易通过计算机网络远程访问他们并获取数据,无论是财政,行政,军事,工业还是金融信息。不幸的是,这些数据很容易被一些恶意的人获取并摧毁,因为他们不知道什么叫道德。
  
  关于道德方面,我们无能为力,在本文中我将谈谈在Debian GNU/Linux系统使用一些工具来发现和跟踪入侵者。
  
  介绍
  
  当我们选择了Linux系统之后,我们得考虑在那么多个发行版中到底使用哪个版本,他们许多都是基于RedHat,例如Conectiva (巴西), Hispa source(西班牙), Mandrake (法国), SuSE (德国), Caldera和其他的版本都使用RPM 包管理器,而Slackware更象传统的Unix尽量使用.tgz包,他们几乎都是商业公司开发的,但Debian例外。 Debian提供了一个叫DPKG的包管理器帮助我们自动在Internet上查找和升级软件,检查信任关系,这样使系统管理更加简单并且可以及时的打上安全补丁。
  
  为什么使用Debian GNU/Linux ?
  Debian也有一些很重要的功能:
  
  1) 他不包含商业意图并且不按照市场规则运作。
  2) 他有一个非常优秀的漏洞跟踪系统,问题将在48小时内得到解决。 中国网管联盟bitsCN.com
  3) 他从一开始就是想开发一个完善和可信的操作系统。
  4) 他是由全球的志愿者一起开发的。
  
  每个新的版本都对一些新的硬件体系提供支, 现在他支持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)。
  
  主机工具
  我们使用PortSentry来发现端口扫描,TripWire来检测系统完整性和使用LogSentry做日志分析。第一个和最后一个工具都是Psionic Technologies的TriSentry套件。
  
  端口扫描检测
  PortSentry监视我们系统的端口,当他发现一个非正常的连接请求的时候,他可以采取一些行动(一般是阻拦)。
  
  他的主页在http://www.psionic.com/products/portsentry.html 同时PortSentry也支持Solaris, BSD, AIX, SCO, Digital Unix, HP-UX, and Linux系统.
  
  在Debian中,输入下面的命令就可以把他装上了:

网管网www_bitscn_com


  
  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, 在阻拦恶意主机之前执行的命令.

网管u家u.bitsCN.com


  
  SCAN_TRIGGER, 定义超过多少次攻击才启动报警.
  
  PORT_BANNER, 在端口被连接之后显示的banner信息
  
  在配置完之后,你最好使用下面的参数执行其中的一中模式:TCP是使用-tcp (基本模式), -stcp (隐蔽模式)和-atcp (高级模式);UDP就相应的改为 -udp, -sudp, -audp.
  
  完整性检查
  可以使用TripWire进行系统完整性检查,他的主页在http://www.tripwire.org他的linux版本是免费的而Windows NT, Solaris, AIX and HP-UX的版本则是商业化的.
  
  在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
   网管u家u.bitsCN.com
  使用下面的命令删除配置文件,以免被入侵者发现了你改动了什么文件:
  
  rm /etc/tripwire/twcfg.txt /etc/tripwire/twpol.txt
  
  如果你需要重新创建配置文件,你可以使用下面的命令:
  
  twadmin -m p > /etc/tripwire/twpol1.txt twadmin -m f > /etc/tripwire/twcfg.txt
  
  日志分析
  日志检测是LogSentry的一部分,他以一个非常有效的方法分类和产生可读性强的活动和错误报告。他分为忽略,忽略异常,异常活动,入侵四种不同的日志等级。
  
  他的主页在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, 网管u家u.bitscn@com
  忽略异常的规则文件
  
  
  你可以使用cron让他每小时执行一次: 0 * * * * /bin/sh /usr/local/etc/logcheck.sh
  
  
  网络工具
  我们使用Snort来发现网络攻击,他的主页在http://www.snort.org他同样可以很好的运行在多种操作系统上,包括BSD, Solaris, AIX, Irix, Windows, MacOS X和Linux.
  在Debian中,我们使用下面的命令安装他:
  
  apt-get install snort
  
  他有三中工作模式:包括嗅探模式,包记录模式和入侵检测模式。
  
  他有下面的几个主要的参数:
  
  -l 日志的存放目录
  指定日志存放的目录。
  
  -h IP
  指定需要监控的IP地址。
  
  -b
  使用TcpDump的格式输出。
  
  -r 文件
  处理一个TcpDump的格式的文件。
  
  Snort的嗅探和包记录模式
  在嗅探模式,他读取任何流过网络数据并把他输出到终端,而包记录模式就会把数据记录到一个目录中。
  
  Snort -v
  
  显示IP头信息
  
  Snort -dv
  
  以TcpDump的格式详细输出
  
  Snort -dev

网管网www_bitscn_com


  以TcpDump的格式详细输出并显示第二层头信息
  
  
  Snort的入侵检测模式
  在这个模式中snort将检测端口扫描, DoS (拒绝服务攻击), exploits, etc. 他由位于/usr/local/share/snort的规则决定,你可以从他的网站得到最新的规则库。
  
  配置他很简单,只须对snort.conf做一些小小的修改,比如网络信息和工作目录等,下面先改变IP设置:
  
  var HOME_NET IP
  
  简单的执行Snort只须输入:
  
  snort -c snort.conf
  
  日志文件在/var/log/snort,我们可以在这里看到攻击者的IP地,当然这绝对不够,我建议可以认真的看看他的说明,绝大多数的组织,杂志和安全小组都把他评价他为各种系统下最好的入侵检测系统并且强烈推荐他,并且有象Silicon Defense,Source Fire和GUIs这样的商业公司开始提供对他更广泛的软件支持。
  
  有时一些紧急事件的发生需要强大的分析器,这些问题一般是由入侵者由于某些原因尝试非法访问我们的服务或者其他的服务器,无论是隐蔽的还是明显的,或者是安装一个嗅探器甚至是得到更加高的权限造成的。
  
  其他有用的工具
  
  嗅探器检测
  嗅探器就是一个可以把网卡的设置成混杂模式的工具,并且监听整个网络的信息,使用ifconfig程序可以得到详细的网络接口信息:

网管网www_bitscn_com


  
  eth0 Link encap:Ethernet HWaddr 00:50:BF:1C:41:59
  inet addr:10.45.202.145 Bcast:255.255.255.255 Mask:255.255.128.0
  UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
  RX packets:7180 errors:0 dropped:0 overruns:0 frame:0
  TX packets:4774 errors:0 dropped:0 overruns:0 carrier:0
  collisions:0 txqueuelen:100
  RX bytes:8122437 (7.7 MiB) TX bytes:294607 (287.7 KiB)
  Interrupt:10 Base address:0xc000
  
  但是如果ifconfig程序被篡改或者嗅探器工作在网络中的其他机器,你必须进行更深一步的检查,例如发封邮件给“陌生

TAGs系统   模式   面的   命令   检测    
 上一篇:Linux下的NAT及防火墙的混合应用   下一篇:在RedHat下建立群集
Debian GNU/Linux下的入侵检测系统 评论:
loading.. 评论加载中…
评论:请自觉遵守互联网相关政策法规,评论不得超过250字。

验证码: 注册用户
本类热门排行:
最新推荐文章:
网管论坛交流: