ab’s blog

インフラの呟きです。

REDHAT8にsnort2(侵入検知ツール)をインストールする

hahahahahaha

はじめに

snort2をrpmパッケージからインストールした方法です*1 。snortにはルールセットというファイルが必要ですが、ルールセットには無償版と有償版があります。今回は無償のコミュニティ版を使用しています。インストールの流れはこんな感じでした。


インストール前準備

snort2のインスト実行する前に内容です。インスト対象のマシンがインターネットに繋がっている前提です。

epelリポジトリ追加

依存パッケージdaqを拡張リポジトリからダウンロードするために設定します。

$ dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

関連パッケージインストール

依存関係が正しく効いてないのか、ライブラリが足りないとか後で言われるので事前に追加しておきます。

$ dnf install gcc flex bison zlib libpcap pcre libdnet tcpdump libnghttp2 daq daq-devel

snortインストール

snortをdnfで追加します。

$ dnf install https://www.snort.org/downloads/archive/snort/snort-2.9.18.1-1.centos8.x86_64.rpm
...中略...
完了しました!
$

スクリプト編集

以下スクリプトを編集してインターフェース名「eth0」の箇所を使用しているものに変えます。

①/etc/rc.d/init.d/snortd

vi /etc/rc.d/init.d/snortd

変更例)
変更前:INTERFACE="-i eth0"
変更後:INTERFACE="-i enp0s3"

②/etc/sysconfig/snort

vi /etc/sysconfig/snort

変更例)
変更前:INTERFACE=eth0
変更後:INTERFACE=enp0s3

試運転

インストールが完了したらsnortをスニッフィングモードで試運転します。

$ ldconfig
$ snort -v

※もし「libdnet.1~」のエラーメッセージがでたら以下のリンクを貼ります。
また前準備でインストールした「libdnet」パッケージ入れ忘れてないかも確認します。
$ln -s /usr/lib64/libdnet.so.1.0.1 /usr/lib64/libdnet.1

ルールセット(コミュニティ版)取得

$ wget https://www.snort.org/downloads/community/community-rules.tar.gz -O community-rules.tar.gz
$ tar -xvzf community-rules.tar.gz -C /etc/snort/rules

$ ls -l /snort/rules/community-rules

snort.confの編集

ファイルを編集しますvi /etc/snort/snort.conf。ファイル中の「Step #7: Customize your rule set」項を以下内容にします。(デフォルトで入っている他の「include~」の記載は消すかコメントアウトする)

###################################################
# Step #7: Customize your rule set
# For more information, see Snort Manual, Writing Snort Rules
#
# NOTE: All categories are enabled in this conf file
###################################################

# site specific rules
include $RULE_PATH/local.rules

include $RULE_PATH/community-rules/community.rules

local.rulesファイルの作成

$ touch /etc/snort/rules/local.rules

snortdサービス起動

$ systemctl start snortd
$ systemctl status snortd
 →ステータスがactive (running)になってればOK

以上

*1:snort公式ドキュメントのセットアップガイド「Snort 2.9.16.1 on CentOS8」、その他いろいろを参考にしています。新しいバージョンsnort3も出ているのですが、rpmでインストールできるのは今のところsnort2までです。