CentOS6の32bit環境に導入したついでに64bit環境のCentOS7にSnortを導入
1. 環境
CentOS7.6(x86_64)をMinimalでインストール
Kernel Version : 3.10.0-957.21.3.el7.x86_64
※インストールイメージからインストール後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 rpm-build autoconf automake pcre-devel libpcap-devel gcc flex bison zlib-devel openssl-devel gettext gcc-c++ git rpmdevtools
$ 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
$ diff -u checkinstallrc-dist.org checkinstallrc-dist
--- checkinstallrc-dist.org 2019-06-23 22:15:04.217209722 +0900
+++ checkinstallrc-dist 2019-06-23 22:17:33.480591938 +0900
@@ -117,7 +117,7 @@
NEW_SLACK=1
# Comma delimited list of files/directories to be ignored
-EXCLUDE=""
+EXCLUDE="/sys"
# Accept default values for all questions?
ACCEPT_DEFAULT=0
$ diff -u installwatch/Makefile.org installwatch/Makefile
--- installwatch/Makefile.org 2019-06-23 22:17:55.687796979 +0900
+++ installwatch/Makefile 2019-06-23 22:18:14.558971202 +0900
@@ -11,7 +11,7 @@
VERSION=0.7.0beta7
BINDIR=$(PREFIX)/bin
-LIBDIR=$(PREFIX)/lib
+LIBDIR=$(PREFIX)/lib64
all: installwatch.so
$ make
$ sudo make install
$ su -
# cd /usr/local/sbin
# diff -u checkinstall.org checkinstall
--- checkinstall.org 2019-06-23 22:45:25.807058269 +0900
+++ checkinstall 2019-06-23 22:48:51.508962212 +0900
@@ -2470,7 +2470,7 @@
# Prepare directories to be included in the .spec file
mv ${TMP_DIR}/newfiles ${TMP_DIR}/newfiles.tmp
cat ${TMP_DIR}/newfiles.tmp | while read line; do
- [ -d "${BUILD_DIR}/${line}" -o -L "${BUILD_DIR}/${line}" ] && echo -n "%dir " >> ${TMP_DIR}/newfiles
+ [ -d "${BUILD_DIR}/${line}" ] && echo -n "%dir " >> ${TMP_DIR}/newfiles
echo "\"/${line}\"" >> ${TMP_DIR}/newfiles
done
# rpmdev-setuptree
# curl -L https://www.snort.org/downloads/snort/daq-2.0.6.tar.gz -o 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/x86_64/daq-2.0.6-1.x86_64.rpm
# exit
$
2-3. snort のビルド&インストール
こちらの snort-2.9.13.tar.gz には spec ファイルが存在するので rpmbuild でビルド可能
$ curl -L https://www.snort.org/downloads/snort/snort-2.9.13.tar.gz -o snort-2.9.13.tar.gz
$ rpmbuild -tb --clean snort-2.9.13.tar.gz
$ sudo yum localinstall ~/rpmbuild/RPMS/x86_64/snort-openappid-2.9.13-1.x86_64.rpm
※rpmbuildは実行環境によりますが数分かかります。
snortの設定等は次のサイトを参考にしてください
不正アクセス検知システム導入(Snort+SnortSnarf+Oinkmaster)