ids系统:Linux实现简单而有效的IDS系统


  其实说起IDS我想管理员朋友们一定不陌生,不过我还是想简单的说一下IDS的定义,这样更有利于大家理解后面的应用,这篇文章还是基于redhat7.3的,为什么呢?希望大家看过我的第一篇文章《浅谈》,在建立了那种系统的基础上,我们来实现IDS吧。
  IDS就是入侵监测系统的简称,其主要的作用,我个人理解就是能够收集入侵的蛛丝马迹,然后报告你,当然也不确保它的准确性,这要看软件的分析能力了,现在有很多收费和免费的IDS应用程序,其中比较强的是snort,可能大家都知道的就是Tripwire,它也是一种入侵监测系统,不过它是监视你的文件是否被修改今天我给大家介绍一种,没有太繁华的功能,简单实用,能够有效地阻止很多攻击,能够对非法的端口扫描做出反应,经过配置,极端一点的作法甚至能够将扫描你的人的端口反扫描回来,而且阻断它对你主机的所有连接。
  
  1、理论介绍篇
  
  言归正传,这个软件就是portsentry感知攻击的IDS应用
  地址
  ftp://194.199.20.114//redhat/6.2/en/powertools/i386/i386/portsentry-0.99.1-1.i386.rpm
  后就是安装了不用我多说
  rpm –ivh portsentry-0.99.1-1.i386.rpm
  
  先说说portsentry有什么厉害的功夫吧,他能做下面的事情
  1、 丢弃所有使用route命令返回到主机的数据包
  2、 自动更新/etc/hosts.deny来阻断基于xinetd的连接,简单的阻断一台主机
  3、 自动使用ipchian,ipfwadm等来阻断连接,相当于添加一条厉害的规则,这个比较实用而且的
  4、 日志的额外连接,他能将观察到的扫描记录到日志,这个功能很有用,你可以什么都不做,但是不能不没有日志的生成,这样让你有空就看看谁再搞你的宝贝吧
  5、 自定义的操作,可能对扫描你主机的机器做一些操作,比如反扫描,呵呵然后记录信息,比较酷吧
  说了这么多好处,下面我们来在机器上实现一下吧,安装完毕后,你能够在
  /usr/psionic/portsentry
  下看到一些文件
  ignore.csh 用于忽略的主机脚本
  portsentry 执行程序
  portsentry.conf 主要配置文件
  portsentry.ignore 忽略的主机
  portsentry.history 运行和阻断主机才会产生,记录详细的阻断信息
  现在开始配置,实现我们的功能吧
  vi portsentry.conf
  这个文件看上去有几个章节,现在我分别介绍一下它们的配置
  其实大家一看他的配置文件基本上都有个数了,配置文件写得很好,我在这里就不一一翻译了,呵呵比我E文好得多了,说几个重要配置吧
  Port Configurations
  定制那些端口希望被监控,如果你有特殊的端口,加入,就能被监控,注意用逗号分割。
  
  Advanced Stealth Scan Detection Options
  监控的范围,
  ADVANCED_PORTS_TCP="1024"
  ADVANCED_PORTS_UDP="1024"
  表示监控的范围在1024之下的端口,如果你希望监控如65423这样的端口,那么将这是数字设置大些
  
  Configuration Files
  就是配置文件位置,一般不用修改
  
  Ignore Options
  忽略的端口设置
  
  Dropping Routes
  丢弃方案
  一般用这个可以
  KILL_ROUTE="/sbin/route add -host $TARGET$ reject"
  其他的可以根据操作系统来定,或者根据实际来定
  也可以写入一段iptalbes 的代码,后面有
  
  TCP Wrappers
  这就是我说得简单的加入hosts.deny来阻断发起扫描的主机
  KILL_HOSTS_DENY="ALL: $TARGET$ : DENY"
  把原来那句关闭,上面这句打开,我们用的都是redhat哦
  
  External Command
  扩展命令,可以执行很多自定义操作,比如nmap扫描你的主机,反扫描他,后面事例中给他家说说
  
  Port Banner Section
  理论上是可以给监听你服务的人一个警告,修改PORT_BANNER=这行,写点吓人的话,不过我也不知道其作用不,呵呵
  
  设置完毕后,用portsentry –stcp来启动,这样能够防止SYN等隐蔽的扫描,你可以找个机器用nmap等扫描器扫描一下,看看日志是不是记录了?你的主机是不是被添加到/etc/hosts.deny了。
  
  有几点需要注意的,据说实施了portsentry后一些扫描软件可能会挂起,汗~~~不过我觉得不像,但是确实能防止一点点,
  第二,据说portsentry把你的网卡开为混杂模式,但是据我观察网卡并没有变为混杂模式,不过还是提醒大家,因为混杂模式可能会降低系统的反应,就要看你自己权衡了。
  个人认为,上实施portsentry软件,不用作出什么反应,只需要记录就行了,定期的查看一下,我觉得能做的就是去掉啊,或者nmap扫描入侵的主机,可以这样做,让他自动反扫描扫描你的主机
  在
  External command部分
  加入
  KILL_RUN_CMD=”/usr/bin/nmap –O $TARGET$”>> /var/log/scanIP.log
  然后可以在/var/log/scanIP.log中查看这些主机的信息。你扫描他哦,呵呵
  最后记得运行哦,忘记给大家说几种运行参数了
  -tcp 基本简单的监听tcp
  -udp 基本简单监听udp
  -stcp 建议使用这个参数,可以监听带欺骗的tcp扫描,比如SYN,FIN等扫描,很强
  -atcp 禁止所有portsentry.conf中指定的连接,必须手工配置合法的主机,不建议使用
  -sudp 同stcp差不多,不过是udp
  -adup 和atcp差不多,不过是udp
  
Tags:  linux文件系统 linux系统 ids入侵检测系统 ids系统

延伸阅读

最新评论

发表评论