CentOS6.10(32bit)にSnortを導入

使用せずに転がっている古いPC(32bit CPU)があったのでSnortを導入

1. 環境

CentOS6.10(i686)をMinimalでインストール
Kernel Version : 2.6.32-754.el6.i686
※インストールイメージからインストール後Updateのみ実施

2. インストール

2-1. epelの導入

# yum install epel-release
# sed -i 's/enabled=1/enabled=0/g' /etc/yum.repos.d/epel.repo

私はデフォルトで無効にしています。

2-2. 必要なライブラリのインストール

$ sudo yum install wget rpm-build autoconf automake pcre-devel libpcap-devel gcc flex bison zlib-devel openssl-devel gettext gcc-c++ git
$ sudo yum --enablerepo=epel install libdnet-devel luajit luajit-devel

tarballで配布されているソースコードパッケージからrpmファイルを生成するためにcheckinstallを導入します。(daq-2.0.6.tar.gzにはspecファイルが含まれていない)
また、epelリポジトリに daq のパッケージが存在しますが、必要なファイルが足りず後の snort のビルドが行えないので注意

$ git clone http://checkinstall.izto.org/checkinstall.git
$ cd checkinstall

※参考:checkinstallをインストールしてrpmパッケージを作成してみた

そのままだとパッケージ作成時にエラーで落ちるため checkinstall.in ファイルを次のように修正

$ diff -u checkinstall.in.org checkinstall.in
--- checkinstall.in.org 2019-06-22 08:07:20.144490509 +0900
+++ checkinstall.in     2019-06-22 08:07:32.168331040 +0900
@@ -2428,8 +2428,6 @@
 BuildRoot: $BROOTPATH
 Provides:  $PROVIDES
 Requires:  $REQUIRES,/bin/sh
-Recommends: $RECOMMENDS
-Suggests:  $SUGGESTS
 
 %description
 EOF

$ make
$ sudo make install
$ su -
# wget https://www.snort.org/downloads/snort/daq-2.0.6.tar.gz
# tar zxvf daq-2.0.6.tar.gz
# cd daq-2.0.6
# ./configure
# checkinstall
# yum localinstall /root/rpmbuild/RPMS/i386/daq-2.0.6-1.i386.rpm
# exit
$

yum localinstall 時に 「installing package daq-2.0.6-1.i386 needs 4KB on the /selinux filesystem」 というエラーが発生した場合は /usr/local/lib/checkinstall/checkinstallrc ファイルを次のように修正

$ diff -u /usr/local/lib/checkinstall/checkinstallrc.org /usr/local/lib/checkinstall/checkinstallrc
--- /usr/local/lib/checkinstall/checkinstallrc.org      2019-06-22 08:23:58.968939148 +0900
+++ /usr/local/lib/checkinstall/checkinstallrc  2019-06-22 08:24:11.123783072 +0900
@@ -117,7 +117,7 @@
 NEW_SLACK=1
 
 # Comma delimited list of files/directories to be ignored
-EXCLUDE=""
+EXCLUDE="/selinux"
 
 # Accept default values for all questions?
 ACCEPT_DEFAULT=0

2-3. snort のビルド&インストール

こちらの snort-2.9.13.tar.gz には spec ファイルが存在するので rpmbuild でビルド可能

$ wget https://www.snort.org/downloads/snort/snort-2.9.13.tar.gz
$ rpmbuild -tb --clean snort-2.9.13.tar.gz
$ sudo yum localinstall ~/rpmbuild/RPMS/i686/snort-openappid-2.9.13-1.i686.rpm

※rpmbuildは実行環境によりますが数分かかります。

snortの設定等は次のサイトを参考にしてください

不正アクセス検知システム導入(Snort+SnortSnarf+Oinkmaster)