防恶意扫描 PortSentry保护Linux服务器[Linux安全]
本文“防恶意扫描 PortSentry保护Linux服务器[Linux安全]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
在遭受Linux服务器被外部IP恶意扫描端口的时刻,普通系统管理员会布置一些防入侵的环境,比方snort,不过snort布置起来对比复杂,而有时刻我们只是需求避免恶意扫描罢了.这个时刻,可以用PortSentry这个工具来举行非常简单的实现.固然PortSentry被Cisco 收购后不再开辟,但丝毫不影响此软件的强盛功效.
我在查抄一台CentOS5.5服务器的安全环境时,发现很多IP在恶意扫描此服务器的端口.本来想布置snort防入侵环境的,后来发现 snort环境布置非常复杂,而以上的恶意扫描完好可以用PortSentry来实现.PortSentry是入侵检测工具中配置最简单、效果最直接的工具之一.PortSentry是Abacus工程的一个构成部份.Abacus工程的目标是成立一个基于主机的网络入侵检测系统,可以从 http://www.psonic.com得到关于Abacus工程更为具体的信息.固然PortSentry被Cisco收购后不再开辟,但丝毫不影响此软件的强盛功效.PortSentry可以及时检测几近全部范例的网络扫描,并对扫描行为做出反映.一旦发现可疑的行为,PortSentry可以采纳以下一些特定办法来加强防备:
◆给出虚假的路由信息,把全部的信息流都重定向到一个不存在的主机;
◆自动将对服务器举行端口扫描的主机加到TCP-Wrappers的/etc/hosts.deny文件中去,我个人对比喜好这种方法,因为线上很多环境并非都能翻开iptables,这个选项也是PortSentry默许的功效;
◆操纵Netfilter机制,用包过滤程序,比方iptables和ipchain等,把全部不法数据包(来自对服务器举行端口扫描的主机)都过滤掉;
◆通过syslog()函数给出一个目志消息,乃至可以返回给扫描者一段告诫信息.
1、PortSentry的安装
下面具体介绍PortSentry工具的安装和配置办法.
1.从http://sourceforge.net/projects/sentrytools/下载软件的最新版portsentry-1.2.tar.gz,用root用户履行以下号令举行安装:
#tarzxvfportsentry-1.2.tar.gz
#cdportsentry-1.2_beta
#make
#makeinstall
举行到这步时发现报错,系统生成不了protsentry履行文件,我们查看Makefile文件时发现,make背面按照操作系统的差别有很多选项.
所以我们重新履行此步操作,将目录删除重新解紧缩
然后我们履行makelinux,发现系统仍旧报错,以下:
SYSTYPE=linux
Making./portsentry.c:1585:error:missingterminating"character
./portsentry.c:1595:error:expected?.?.before?.?.token
make:***[linux]Error1办理办法:
我们翻开portsentry.c文件,在1590行左右,我们将带有Copyright1997-2003字样的那行调整为一行便可,文字有白线标志的那行代码应调整为一行
调整后我们再履行makelinux&&makeinstall后,PortSentry顺利安装成功,其安装途径为/usr/local/psionic/portsentry,以下所示表示成功安装此软件:
Edit/usr/local/psionic/portsentry/portsentry.confandchange
yoursettingsifyouhaven'talready.(route,etc)
WARNING:Thisversionandabovenowuseanew
directorystructureforstoringtheprogram
andconfigfiles(/usr/local/psionic/portsentry).
Pleasemakesureyoudeletetheoldfileswhen
thetestingofthisinstalliscomplete.
cc-O-Wall-DLINUX-DSUPPORT_STEALTH-o./portsentry./portsentry.c\
./portsentry_io.c./portsentry_util.c
./portsentry.c:Infunction?.ortSentryModeTCP?.
./portsentry.c:1187:warning:pointertargetsinpassingargument3of?.ccept?.differinsignedness
./portsentry.c:Infunction?.ortSentryModeUDP?.
./portsentry.c:1384:warning:pointertargetsinpassingargument6of?.ecvfrom?.differinsignedness
./portsentry.c:Infunction?.sage?.
./portsentry.c:1584:error:missingterminating"character
./portsentry.c:1585:error:?.ourceforget?.undeclared(firstuseinthisfunction)
./portsentry.c:1585:error:(Eachundeclaredidentifierisreportedonlyonce
./portsentry.c:1585:error:foreachfunctionitappearsin.)
./portsentry.c:1585:error:expected?.?.before?.ot?
./portsentry.c:1585:error:stray?.?.inprogram
2、PortSentry的配置
1.改正配置文件portsentry.conf
通过PortSentry举行入侵检测,首先需求为它定制一份需求监督的端口清单,以及呼应的禁止对策.然后启动后台进程对这些端口举行检测,一旦发现有人扫描这些端口,就启动呼应的对策举行禁止.
(1)设置端口清单
下面给出portsentry.conf中关于端口的默许配置情形:
#Un-commenttheseifyouarereallyanal;
#TCP_PORTS="1,7,9,11,15,70,79,80,109,110,111,119,138,139,143,512,513,514,515,540,636,1080,1424,2000,2001,[]
#UDP_PORTS="1,7,9,66,67,68,69,111,137,138,161,162,474,513,517,518,635,640,641,666,700,2049,31335,27444,34555,[]
#Usetheseifyoujustwanttobeaware:
TCP_PORTS="1,11,15,79,111,119,143,540,635,1080,1524,2000,5742,6667,12345,12346,20034,27665,31337,32771,32772,[]
UDP_PORTS="1,7,9,69,161,162,513,635,640,641,700,37444,34555,31335,32770,32771,32772,32773,32774,31337,54321"
#Usetheseforjusebare-bones
#TCP_PORTS="1,11,15,110,111,143,540,635,180,1524,2000,12345,12346,20034,32771,32772,32773,32774,49724,54320"
#UDP_PORTS="1,7,9,69,161,162,513,640,700,32770,32771,32772,32773,32774,31337,54321"
可以有挑选地去掉前面的注释来启用默许配置,也可以按照自己的实际情形定制一份新的清单,格局和本来的一样便可.端口列表要按照具体情形而定,假定服务器为Web服务器,那么Web端口就不需求监督.反之,假如是FTP服务器,那么监督Web端口也是有必要的.
(2)portsentry.conf里的相关文件
在portsentry.conf中自动配置了很多文件,我们看下它们有哪些用处:
#此文件记录答应合理扫描服务器的主机地址
IGNORE_FILE="/usr/local/psionic/portsentry/portsentry.ignore"
#此文件中保存了以往全部入侵主机的IP历史记录
HISTROY_FILE="/usr/lcal/psionic/portsentry/portsentry.history"
#此文件中是已经被禁止衔接的主机IP记录
BLOCKED_FILE="/usr/local/psionic/portsentry/portsentry.blocked"
(3)设置路由重定向
通过配置portsentry.conf文件,可以设置一条虚拟路由记录,把数据包重定向到一个未知的主机.使之无法获得信息.呼应配置代码以下:
#Generic
#KILL_ROUTE="/sbin/routeadd$TARGET跭.444.555.666"
#GenericLinux
KILL_ROUTE="/sbin/routeadd-host$TARGET$gw333.444.555.666
针对差别的平台有差别的路由号令,在配置文件中挑选适台自己平台的号令便可.我的服务器是CentOS5.5x86_64,以上语法合适Linux平台的机械;PortSentry非常人性化,下面都有系统对应的配置文件,我们只需求依样操作便可.
(4)我们还可以操纵Linux中的iptables号令,可以堵截攻击主机的衔接:
KILL_ROUTE="/usr/local/sbin/iptables-IINPUT-s$TARGET$-jDROP"
也可以直接把攻击者的IP记录到/etc/hosts.deny文件中,操纵TCP_Wrappers保护机制来避免攻击:
KILL_HOSTS_DENY="ALL:$TARGET$#Portsentryblocked"
系统默许是操纵TCP_Wrappers来堵截与主机之间的衔接
以上是“防恶意扫描 PortSentry保护Linux服务器[Linux安全]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |