PSAD for IPFire防火墙的编译和安装

介绍

本文是关于编译和安装用于IPFire(基于Linux的防火墙)的PSAD(端口扫描攻击检测器)。 然而,将为新的插件(在这种情况下为PSAD)的编译设置IPFire的开发环境。 有关PSAD工具的配置和使用的详细信息,请参见我们上一篇文章

设置IPFire开发环境

IPFire开发环境的先决条件包括:

  • Ubuntu 16.04 LTS操作系统与最新的更新
  • 安装以下所需的软件包
git gcc g++ make bzip2 realpath
  • 硬件资源如5-6 GB磁盘空间和6 GB RAM,以减少编译时间。

类似地,IPFire开发环境可以在其他Linux发行版上设置。 安装在Ubuntu发行版上编译源代码所需的以下软件包。 Git工具用于克隆开发系统上的源代码。

aptitude install git gcc g++ make bzip2 realpath

IPFire源码树

目前,在github站点上提供了两个IPFire源代码库。

  • IPFire 2.x(稳定发布)
  • IPFire 3.x

在本教程中,我们已经考虑了用于编译新插件的IPfire 2.x源代码存储库。

git clone git://git.ipfire.org/ipfire-2.x.git

以下快照显示了IPFire-2.x存储库中的最新更新

在下一步中,运行以下命令下载IPFire软件包的源代码。

./make.sh downloadsrc

目前机器是64位,所以现在预编译的工具链将下载来编译源码。 以下命令用于在开发系统上下载工具链。

./make.sh gettoolchain

成功克隆IPFire后,下载源码包和工具链,下一步是开始构建过程。 首先,IPFire防火墙将被编译没有任何变化。 之后,将包含并重新编译所需的插件,为IPFire环境创建PSAD包。 新建一个包含ipfire扩展名的包将被移动到IPFire VM中,用于安装PSAD包。

编制IPFire

最后一步是运行以下命令来构建源代码。 确保开发系统上有足够的磁盘空间,并且构建命令在用户root下运行。

./make.sh build

对于32位系统

linux32 ./make.sh build                

首次构建过程将需要几个小时才能完成。 但是,可以通过在开发系统上使用良好的硬件资源来减少它。 IPFire的构建脚本执行以下四个阶段。

  1. 构建LFS( 从临时系统构建Linux ),它包含用于安装软件包的脚本。
  2. 建立IPFire
  3. 建筑安装
  4. 建筑包

以下快照显示Building LFS步骤。

建立IPFire步骤如下所示。

以下快照显示安装程序构建步骤。

最后,包编译过程的构建过程。

IPFire编译将需要很多时间(在这种情况下为13个小时),如下面的屏幕截图所示。

最后,IPFire构建脚本生成iso,xen和img输出文件,如下所示。 构建脚本还会计算生成的iso文件的md5校验和。

最后,从源代码编译IPfire已经完成并准备好安装在虚拟机中。 建议在开发系统上登录,以运行构建过程。

安装IPFire

可以使用由构建脚本生成的iso来设置IPFire防火墙。 本教程中不包括IPFire安装的详细步骤。 安装后,出现以下窗口显示Linux内核版本(3.14.73-ipfire 1686)。

使用绿色界面的IP地址(192.168.1.150:444)访问IPFire设备的Web界面。 FireFox子菜单中也提供了IPFire版本信息。

建设PSAD插件

直接地,PSAD工具无法在IPFire上编译。 因此,开发系统需要编译IPFire平台的新插件的源代码。 IPFire的开发环境已在上述部分设置。

以下是编译IPFire开发环境中新的源代码的要求。

  • 为所需的插件或软件包创建一个 编译脚本 ,并将其放在 lfs \目录中(在ipfire-2.x \ lfs \下)
  • 在构建脚本 make.sh中添加addon脚本

PSAD的编译脚本是为psad-2.4.1.tar.gz软件包创建的。 下载 lfs脚本并将其放在ipfire-2.x中的lfs 目录下 ,并在lfs脚本中为psad-2.4.1.tar.gz创建MD5校验和。

PSAD lfs脚本显示在以下快照中。

PSAD插件的make.sh构建脚本中的修改如下所示。

为了编译新的插件,下面的build命令将运行两次。 如psad被成功地包含在构建脚本中的截图所示。

./make build

第一个生成命令的输出如下图所示,PSAD的根文件丢失。

addon rootfile的名称与软件包/文件名(psad-2.41)相同,并且存在于log目录中。

如下图所示,将psad -2.4.1文件复制到config/rootfiles/packages path ,并将其重命名为放在lfs目录中的包/文件名的lfs。

cp log/psad-2.4.1 config/rootfiles/packages/psad

附件的根文件包含由安装脚本删除,更改或添加的所有文件的列表。 运行以下命令从PSAD的根文件中删除“ + ”,如下所示。

sed -i 's/+//g' config/rootfiles/packages/psad

需要在新的插件中包含PakFire(IPFire软件包管理系统)例程,如安装,卸载和更新。 首先,在src / paks中创建一个目录(psad),与包名称的lfs相同。 将默认例程从src / paks / default / *复制到src / paks / psad中,并相应地进行自定义。

再次运行build命令来编译PSAD的源代码。

./make build

如下所示,PSAD插件( psad-2.4.1-2.ipfire )在IPFire环境中成功编译并放置在packages目录中。

PSAD安装在IPFire上

现在,PSAD包将被安装在IPFire上。 如下所示,已编译的包被复制到已安装的IPFire上。

确保编译的包必须位于/ opt / pakfire / tmp路径下。

使用以下命令提取包装以进行安装。

 tar -xvf psad-2.4.1-2.ipfire

PSAD插件文件列表如下所示。

以下窗口显示在IPFire上安装PSAD插件。

  ./install.sh

下图显示了PSF工具对IPFire环境的帮助。

在本文中,新功能或插件包含着名的基于Linux的防火墙“IPFire”。 PSAD工具用于使用IPtables自动阻止恶意流量。 为IPFire环境编制PSAD是我们的贡献。

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏