> CentOS > CentOS安全 >

CentOS下使用portsentry-入侵检测

阻挡铺天盖地的网络扫描行为,Portsentry是一个很好的选择,这个软件是Rowland所写的用于侦测,阻挡网络扫描的免费工具。目前它的版本可用于大多数主流的unix操作系统,如:Solaris,HPUNIX,Freebsd,AIX,SCO,Linux等。主机在安装了这个系统以后,可以对指定的一个或多个tcp/udp端口进行监听,当这些端口被试图连接或扫描时,portsentry能在瞬间捕捉这种连接或扫描企图,并立刻加以屏蔽。除此以外,portsentry还有如下特别功能:

  • 可对外界的扫描动作生成详细的日志记录,包括发起扫描的主机名,扫描时间,连接的tcp/udp端口等。
  • 在linux操作系统下可捕捉SYN/half-open, FIN, NULL, X-MAS等诸多stealth扫描模式。
  • 可有效捕捉非连续随机扫描,我们知道,很多防扫描软件不能辨别随机端口的扫描,portsentry不然,通过可记忆的内置引擎,即使扫描是随机的,portsentry也可以立刻辨别出来并迅速加以屏蔽。
  • 可以与经典防火墙软件tcp_wrapper结合,将发起扫描的主机写入tcp_wrapper的hosts.deny文件中。
  • 可根据设置自动将发起扫描的主机在路由上重指,屏蔽后续连接功能。使发起扫描的主机与系统丧失正常连接。

 

1、安装

 
 
[root@ipython ~]# wget wget http://nchc.dl.sourceforge.net/sourceforge/sentrytools/portsentry-1.2.tar.gz
[root@ipython ~]# tar zxf portsentry-1.2.tar.gz
[root@ipython ~]# cd portsentry_beta/
[root@ipython portsentry_beta]# sed -i '/Craig H. Rowland/N;s/\n//' portsentry.c
[root@ipython portsentry_beta]# make linux
[root@ipython portsentry_beta]# make install
[root@ipython portsentry_beta]# ln -s /usr/local/psionic/portsentry/portsentry /usr/local/sbin/

2、看看配置文件

 
 
TCP_PORTS="1,11,15,79,111,119,143,540,635,1080,1524,2000,5742,6667,12345,12346,20034,27665,31337,32771,32772,32773,32774,40421,49724,54320" ####TCP模式监听的端口####
UDP_PORTS="1,7,9,69,161,162,513,635,640,641,700,37444,34555,31335,32770,32771,32772,32773,32774,31337,54321" ####UDP模式监听的端口#####
ADVANCED_PORTS_TCP="1024" ####调整TCP监听范围####
ADVANCED_PORTS_UDP="1024" ####调整UDP监听范围####
ADVANCED_EXCLUDE_TCP="113,139" ####TCP 端口排除范围###
ADVANCED_EXCLUDE_UDP="520,138,137,67" ####UDP 端口排除范围###
IGNORE_FILE="/usr/local/psionic/portsentry/portsentry.ignore" ###算是可信的扫描IP表吧####
HISTORY_FILE="/usr/local/psionic/portsentry/portsentry.history" ###扫描的入侵主机历史记录###
BLOCKED_FILE="/usr/local/psionic/portsentry/portsentry.blocked" ###被阻止连接的IP记录###
RESOLVE_HOST = "1" ###配置是否解析,0表示不解析,建议0###
BLOCK_UDP="1" ###0表示无动作,1送防火墙,2执行脚本,默认1###
BLOCK_TCP="1" ###0表示无动作,1送防火墙,2执行脚本,默认1###
KILL_HOSTS_DENY="ALL: $TARGET$" ###TCP warppers 阻止的写入方式 就这个调调###
SCAN_TRIGGER="0" ###扫描触发几次触发执行操作###

3、各启动模式

 
 
[root@ipython portsentry]# portsentry -tcp
#TCP基本端口绑定,以配置文件端口为准
[root@ipython portsentry]# portsentry -udp
#UDP基本端口绑定,以配置文件端口为准
[root@ipython portsentry]# portsentry -stcp
#TCP私密检测,只记录不回应端口开放
[root@ipython portsentry]# portsentry -sudp
#UDP私密检测,只记录不回应端口开放
[root@ipython portsentry]# portsentry -atcp
#TDP高级秘密检测,自动选择监听端口
[root@ipython portsentry]# portsentry -audp
#UDP高级秘密检测,自动选择监听端口

4、以基本TCP检测模式启动,用nmap扫描测试:

 
 
[root@ipython portsentry]# portsentry -atcp
[root@ipython portsentry]# ps aux | grep portsentry
root     20979  0.7  0.0   4088   500 ?        Ss   11:44   0:00 portsentry -atcp

册那…

 
 
[root@ipython portsentry]# awk '/ALL/' /etc/hosts.deny | wc -l
456

 


(责任编辑:IT)