频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

Linux系统中PortSentry的安装和配置

来源: 作者: 出处:巧巧读书 2006-10-05 进入讨论组

  概述
   防火墙可以保护我们的网络免受攻击。我们可以选择打开哪些端口,关闭哪些端口。但是有些攻击者可以用端口扫描程序扫描服务器的所有端口来收集有用的信息(哪些端口打开,哪些关闭)。

下面是对PortSentry的介绍:

l 服务器被端口扫描是入侵的前兆。PortSentry被设计成实时地发现端口扫描并对端口扫描作出反应。一旦发现端口扫描,PortSentry做出的反应有:

l 通过syslog()函数给出一个日志消息

l 自动地把对服务器进行端口扫描的主机加到TCP-Wrappers的“/etc/hosts.deny”文件中

l 本地主机会自动把所有的信息流都从定向到一个不存在的主机

l 本地主机用包过滤程序把所有的数据包(来自对其进行端口扫描的主机)都过滤掉。

注意事项
   下面所有的命令都是Unix兼容的命令。

源路径都为“/var/tmp”(当然在实际情况中也可以用其它路径)。

安装在RedHat Linux 6.1和6.2下测试通过。

要用“root”用户进行安装。

PortSentry的版本是1.0。

软件包的来源
   PortSentry的主页:http://www.psionic.com/abacus/portsentry/。

下载:portsentry-1.0.tar.gz。

安装软件包需要注意的问题
   最好在编译前和编译后都做一张系统中所有文件的列表,然后用“diff”命令去比较它们,找出其中的差别并知道到底把软件安装在哪里。只要简单地在编译之前运行一下命令“find /* >PortSentry1”,在编译和安装完软件之后运行命令“find /* > PortSentry2”,最后用命令“diff PortSentry1 PortSentry2 > PortSentry-Installed”找出变化。

解压软件包
   把软件包(tar.gz)解压:

[root@deep /]# cp portsentry-version.tar.gz /var/tmp/
   [root@deep /]# cd /var/tmp
   [root@deep tmp]# tar xzpf portsentry-version.tar.gz

编译和优化
   必须修改“Makefile”文件,设置PortSentry的安装路径、编译标记,还要根据你的系统进行优化。必须根据RedHat的文件系统结构来修改“Makefile”文件。

第一步

转到新的PortSentry目录。

编辑“Makefile”文件(vi Makefile)并改变下面这几行:

CC = cc

改为:

CC = egcs

CFLAGS = -O -Wall

改为:

CFLAGS = -O9 -funroll-loops -ffast-math -malign-double -mcpu=pentiumpro -march=pentiumpro -fomit -frame-pointer -fno-exceptions –Wall

INSTALLDIR = /usr/local/psionic

改为:

INSTALLDIR = /usr/psionic

上面这些修改是为了把“Makefile”配置为使用“egcs”编译器,使用适应于我们系统的编译优化标记,并且把PortSentry安装到我们选择的目录。

第二步

因为我们不用“/usr/local/psionic”目录,我们必须“portsentry_config.h”头文件中PortSentry的配置。

编辑“portsentry_config.h”文件(vi portsentry_config.h)并改变下面这一行:

#define CONFIG_FILE "/usr/local/psionic/portsentry/portsentry.conf"

改为:

#define CONFIG_FILE "/usr/psionic/portsentry/portsentry.conf"

第三步

在系统中安装PortSentry。

[root@deep portsentry-1.0]# make linux
   [root@deep portsentry-1.0]# make install

第三步

上面的命令配置软件,编译软件,最后把它安装到合适的目录中。

清除不必要的文件
   用下面的命令删除不必要的文件:

[root@deep /]# cd /var/tmp
   [root@deep tmp]# rm -rf portsentry-version/ portsentry-version_tar.gz

“rm”命令删除所有编译和安装PortSentry所需要的源程序,并且把PortSentry软件的压缩包删除掉。

配置“/usr/psionic/portsentry/portsentry.conf”文件
   “/usr/psionic/portsentry/portsentry.conf”是PortSentry的主要配置文件。你可设置需要监听的端口,需要禁止、监控的IP地址,等等。可以看PortSentry得“README.install”文件以获取更多的信息。

编辑“portsentry.conf”文件(vi /usr/psionic/portsentry.conf)并且根据需要做出改变:

# PortSentry Configuration
   #
   # $Id: portsentry.conf,v 1.13 1999/11/09 02:45:42 crowland Exp crowland $
   #
   # IMPORTANT NOTE: You CAN NOT put spaces between your port arguments.
   #
   # The default ports will catch a large number of common probes
   #
   # All entries must be in quotes.
   #######################
   # Port Configurations #
   #######################
   #
   #
   # Some example port configs for classic and basic Stealth modes
   #
   # I like to always keep some ports at the "low" end of the spectrum.
   # This will detect a sequential port sweep really quickly and usually
   # these ports are not in use (i.e. tcpmux port 1)
   #
   # ** X-Windows Users **: If you are running X on your box, you need to be sure
   # you are not binding PortSentry to port 6000 (or port 2000 for OpenWindows users).
   # Doing so will prevent the X-client from starting properly.
   #
   # These port bindings are *ignored* for Advanced Stealth Scan Detection Mode.
   #
   # Un-comment these if you are really anal:
   #TCP_PORTS="1,7,9,11,15,70,79,80,109,110,111,119,138,139,143,512,513,514,515,540,635,1080,1524,2
   000,2001,4000,4001,5742,6000,6001,6667,12345,12346,20034,30303,32771,32772,32773,32774,31337,4
   0421,40425,49724,54320"
   #UDP_PORTS="1,7,9,66,67,68,69,111,137,138,161,162,474,513,517,518,635,640,641,666,700,2049,3277
   0,32771,32772,32773,32774,31337,54321"
   #
   # Use these if you just want to be aware:
   TCP_PORTS="1,11,15,79,111,119,143,540,635,1080,1524,2000,5742,6667,12345,12346,20034,31337,32
   771,32772,32773,32774,40421,49724,54320"
   UDP_PORTS="1,7,9,69,161,162,513,635,640,641,700,32770,32771,32772,32773,32774,31337,54321"
   #
   # Use these for just bare-bones
   #TCP_PORTS="1,11,15,110,111,143,540,635,1080,524,2000,12345,12346,20034,32771,32772,32773,327
   74,49724,54320"
   #UDP_PORTS="1,7,9,69,161,162,513,640,700,32770,32771,32772,32773,32774,31337,54321"
   ###########################################
   # Advanced Stealth Scan Detection Options #
   ###########################################
   #
   # This is the number of ports you want PortSentry to monitor in Advanced mode.
   # Any port *below* this number will be monitored. Right now it watches
   # everything below 1023.
   #
   # On many Linux systems you cannot bind above port 61000. This is because
   # these ports are used as part of IP masquerading. I dont recommend you
   # bind over this number of ports. Realistically: I DONT RECOMMEND YOU MON99vOR
   # OVER 1023 PORTS AS YOUR FALSE ALARM RATE WILL ALMOST CERTAINLY RISE. Youve been
   # warned! Dont write me if you have have a problem because Ill only tell
   # you to RTFM and dont run above the first 1023 ports.
   #
   #
   ADVANCED_PORTS_TCP="1023"
   ADVANCED_PORTS_UDP="1023"
   #
   # This field tells PortSentry what ports (besides listening daemons) to
   # ignore. This is helpful for services like ident that services such
   # as FTP, SMTP, and wrappers look for but you may not run (and probably
   # *shouldnt* IMHO).
   #
   # By specifying ports here PortSentry will simply not respond to
   # incoming requests, in effect PortSentry treats them as if they are
   # actual bound daemons. The default ports are ones reported as
   # problematic false alarms and should pro转 载:http://www.qqread.com/linux/2006/10/y226742.html 更多文章 更多内容请看Windows操作系统安装系统优化大全Linux系统实用教程专题,或进入讨论组讨论。
更多专题 【深 度 阅 读】 相 关 文 章
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
最新论坛文章
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章