CentOS7.6にSnortを導入

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)

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください