はじめに
この記事は、IPFire(Linuxベースのファイアウォール)用のPSAD(ポートスキャン攻撃検出器)のコンパイルとインストールに関するものです。ただし、IPFireの開発環境は、新しいプラグイン(この場合はPSAD)をコンパイルするためにセットアップされます。 PSADツールの構成と使用法の詳細については、前回の記事をご覧ください。
IPFire開発環境の設定
IPFireの開発環境の前提条件は次のとおりです。
- 最新のアップデートが適用されたUbuntu16.04LTS OS
- 次の必要なパッケージのインストール
git gcc g++ make bzip2 realpath
- コンパイル時間を短縮するための5〜6GBのディスク容量や6GBのRAMなどのハードウェアリソース。
同様に、IPFire開発環境は他のLinuxディストリビューションでもセットアップできます。 Ubuntuディストリビューションでのソースコードのコンパイルに必要な以下のパッケージをインストールします。 Gitツールは、開発システムでソースコードのクローンを作成するために使用されます。
aptitude install git gcc g++ make bzip2 realpath
IPFireソースツリー
現在、次の2つのIPFireソースコードのリポジトリがgithubサイトで利用できます。
- IPFire 2.x(安定版リリース)
- IPFire 3.x
このチュートリアルでは、新しいプラグインをコンパイルするためのIPfire2.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拡張機能を使用して新しく作成されたパッケージは、PSADパッケージをインストールするためにIPFireVMに移動されます。
IPFireのコンパイル
最後のステップは、次のコマンドを実行してソースコードをビルドすることです。開発システムに十分なディスク容量があり、ビルドコマンドがユーザーrootで実行されていることを確認してください。
./make.shビルド
32ビットシステムの場合。
linux32 ./make.sh build
初回のビルドプロセスは、完了するまでに数時間かかります。ただし、開発システムの優れたハードウェアリソースを使用して削減できます。 IPFireのビルドスクリプトは、次の4つの段階で実行されます。
- Building LFS(Building Linux From Scratch system)であり、パッケージをインストールするためのスクリプトが含まれています。
- IPFireの構築
- ビルドインストーラー
- パッケージの構築
次のスナップショットは、LFSの構築を示しています。 ステップ。
IPFireの構築手順を以下に示します。
次のスナップショットは、インストーラーの構築手順を示しています。
最後に、ビルドプロセスのコンパイルプロセスをパッケージ化します。
次のスクリーンショットに示すように、
IPFireのコンパイルには何時間もかかります(この場合は13時間)。
最後に、IPFireビルドスクリプトは、以下に示すように、iso、xen、およびimg出力ファイルを生成します。ビルドスクリプトは、生成されたisoファイルのmd5チェックサムも計算します。
最後に、ソースコードからのIPfireのコンパイルが完了し、VMにインストールする準備が整います。ビルドプロセスを実行するには、開発システムのルートとしてログインすることをお勧めします。
IPFireのインストール
IPFireファイアウォールは、ビルドスクリプトによって生成されるisoを使用してセットアップできます。 IPFireのインストールに関する詳細な手順は、このチュートリアルには含まれていません。インストール後、Linuxカーネルのバージョン(3.14.73-ipfire 1686)を示す次のウィンドウが表示されます。
緑のインターフェースのIPアドレス(192.168.1.150:444)を使用してアクセスされるIPFireデバイスのWebインターフェース。 IPFireのバージョン情報は、Fireinfoサブメニューにも表示されます。
PSADアドオンの構築
直接、PSADツールをIPFireでコンパイルすることはできません。そのため、IPFireプラットフォーム用の新しいアドオンのソースコードをコンパイルするための開発システムが必要です。 IPFireの開発環境は、上記のセクションですでに設定されています。
以下は、IPFire開発環境で新しいソースコードをコンパイルするための要件です。
- 目的のアドオンまたはパッケージのコンパイルスクリプトを作成し、 lfs \に配置します ディレクトリ(ipfire-2.x \ lfs \の下)
make.sh
PSADのコンパイルスクリプトは、パッケージpsad-2.4.1.tar.gz用に作成されています。 lfsスクリプトをダウンロードし、ipfire-2.x内のlfsディレクトリに配置すると、lfsスクリプトのpsad-2.4.1.tar.gzに対してMD5チェックサムが作成されます。
PSADlfsスクリプトは次のスナップショットに示されています。
PSADアドオンのmake.shビルドスクリプトの変更を以下に示します。
新しいアドオンのコンパイルでは、次のビルドコマンドが2回実行されます。スクリーンショットに示されているように、psadはビルドスクリプトに正常に含まれています。
./make build
次の図に、最初のビルドコマンドの出力を示します。PSADのルートファイルがありません。
アドオンルートファイルの名前はパッケージ/ファイル名(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に それに応じてカスタマイズします。
PSADのソースコードをコンパイルするために、ビルドコマンドを再度実行します。
./make build
以下に示すように、PSADアドオン( psad-2.4.1-2.ipfire )はIPFire環境で正常にコンパイルされ、packagesディレクトリに配置されます。
IPFireへのPSADのインストール
これで、PSADパッケージがIPFireにインストールされます。以下に示すように、コンパイルされたパッケージは、すでにインストールされているIPFireにコピーされます。
コンパイルされたパッケージが/opt / pakfire / tmpの下にある必要があることを確認してください パス。
次のコマンドを使用して、インストール用にパッケージを抽出します。
tar -xvf psad-2.4.1-2.ipfire
PSADアドオンファイルのリストを以下に示します。
次のウィンドウは、IPFireへのPSADアドオンのインストールを示しています。
./install.sh
次の図は、IPFire環境でのPSADツールのヘルプを示しています。
この記事では、有名なLinuxベースのファイアウォール「IPFire」に新機能またはアドオンが含まれています。 PSADツールは、IPtablesを使用して悪意のあるトラフィックを自動的にブロックするために使用されます。 IPFire環境向けのPSADのコンパイルは私たちの貢献です。