はじめに
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
以上