14.5. PortSentry

防火墙帮助我们保护网络免受未经请求的入侵。使用防火墙,我们可以选择开放哪些端口以及关闭哪些端口。信息由您的组织保密,并由相关个人负责。外部人员通常不知道这些信息,但攻击者和垃圾邮件发送者都知道,对于某些类型的攻击,您可以使用特殊的程序扫描服务器上的所有端口,以收集这些有价值的信息, 哪些端口是开放的,哪些端口是关闭的。

这些安装说明假设

这些是您必须下载的软件包和 Portsentry 首页:http://www.psionic.com/abacus/portsentry/ 您必须确保下载:portsentry-1.0.tar.gz

Important: 请不要忘记阅读README和/或INSTALL如果您下载的 tarball 中的版本号与我们建议的不同,请阅读其中的说明并遵循说明,因为可能存在一些更改,例如添加或删除。

当您从 Tarball(s) 安装时,最好在安装 Portsentry 之前和之后分别列出系统上的文件,然后使用 diff 命令比较它们,以找出哪些文件被放置在哪里。一个简单的步骤find /* > Portsentry1之前,以及find /* > Portsentry2在您安装软件之后,并使用diff Portsentry1 Portsentry2 > PortSentry-Installed来获取已更改内容的列表。

您需要编译,因此请解压缩 tarball*.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
         

优化以进行编译

  1. 您必须修改Makefile文件,为 Portsentry 指定安装路径、编译标志和系统优化。我们还必须修改此文件以符合 Red Hat 文件系统结构。移动到新的 Portsentry 目录,并在终端上使用以下命令编辑Makefile文件 viMakefile并更改以下行

    1.          CC = cc         
               
      改为读取
               CC = egcs
               

    2.          CFLAGS = -O -Wall
               
      改为读取
               CFLAGS = -O9 -funroll-loops -ffast-math -malign-double -mcpu=pentiumpro -march=pentiumpro -fomit-frame-pointer -fno-exceptions -Wall
               

    3.          INSTALLDIR = /usr/local/psionic
               
      改为读取
               INSTALLDIR = /usr/psionic
               

    4. 上述更改将配置软件以使用 egcs 编译器,特定于我们系统的优化标志,并将所有与 Portsentry 软件相关的文件定位到我们选择的目标目录。

  2. 由于我们正在为文件使用备用路径, 不是/usr/local/psionic,我们需要在主 portsentry_config.h 头文件中更改 PortSentry 配置文件的路径。移动到新的 PortSentry 目录并编辑 portsentry_config.h 文件 viportsentry_config.h并更改以下行
             #define CONFIG_FILE "/usr/local/psionic/portsentry/portsentry.conf"
             
    改为读取
             #define CONFIG_FILE "/usr/psionic/portsentry/portsentry.conf"
             

  3. 步骤 3 在您的系统上安装 Portsentry。
             [root@deep ]/portsentry-1.0#make linux
             [root@deep ]/portsentry-1.0#make install
             
    上述命令将配置软件以用于 Linux 操作系统,编译、构建,然后最终将文件安装到适当的位置。

请稍后进行清理
         [root@deep] /# cd /var/tmp
         [root@deep ]/tmp#rm -rf portsentry-version/ portsentry-version_tar.gz
         
rm 命令将删除我们用于编译和安装 PortSentry 的所有源文件。它还将从/var/tmp目录中删除 PortSentry 压缩存档。