不正アクセス検知システムのSnort インストール
ネットワーク侵入防御システム Snort
無料で使用できるオープンソースのネットワーク侵入防御システムの「Snort」をインストールします。但しWEBで不正アクセスログを確認できる「SnortSnarf」のダウンロード先が見つからなかったので、WEBインターフェイスはインストール出来ませんでした。すごく中途半端な状態ですが、Snort自体のインストールできたので、その手順を紹介します
Snort インストール
「Snort」をインストールする時に、libsfbpf.soがないと下記のようにエラーになりますので、「daq」をインストールします
# rpm -Uvh snort-2.9.16.1-1.centos8.x86_64.rpm error: Failed dependencies: libsfbpf.so.0()(64bit) is needed by snort-1:2.9.16.1-1.x86_64 # daqをインストールします # yum --enablerepo=epel install daq
rpmのパッケージをダウンロードして、インストールします
# cd /usr/local/src # wget https://www.snort.org/downloads/snort/snort-2.9.16.1-1.centos8.x86_64.rpm # rpm -Uvh snort-2.9.16.1-1.centos8.x86_64.rpm
Snort ルール取得
snortで利用するルールファイルが必要ですので、snort.orgにユーザ登録します。ユーザー登録すると無料のRegistered rulesが利用できます
UR : https://www.snort.org/users/sign_up
ユーザー登録してからログインして「https://www.snort.org/downloads#rules」にアクセスして「snortrules-snapshot-29161.tar.gz」のルールファイルをダウンロードします。
ダウンロードしたらWinSCP等でサーバーにアップロードします。私の場合は「/var/tmp」にアップロードしました。
ルールファイルをアップロードをしたら、解凍してsnortのディレクトリ(/etc/snort/rules/)にコピーします
# ファイルを解凍します # tar xzvf /var/tmp/snortrules-snapshot-29161.tar.gz # 「/etc/snort/rules/」に解凍したファイルをコピーします # cp /var/tmp/rules/* /etc/snort/rules/ # 「/etc/snort/rules/so_rules/」に解凍したファイルをコピーします # mkdir /etc/snort/rules/so_rules # cp /var/tmp/so_rules/* /etc/snort/rules/so_rules/ # コピーしたら、解凍したファイル・ディレクトリを削除します # rm -Rf /var/tmp/rules # rm -Rf /var/tmp/so_rules
「/etc/snort/snort.conf」の設定ファイル編集
/etc/snort/snort.confのファイルを編集します。変更箇所のみ記載しています。
主にローカルネットワークのアドレス帯と、ルールファイルの場所を指定しています
# vi /etc/snort/snort.conf ipvar HOME_NET 192.168.0.0/24 ipvar EXTERNAL_NET !$HOME_NET var RULE_PATH /etc/snort/rules var SO_RULE_PATH ../so_rules var PREPROC_RULE_PATH ../preproc_rules var WHITE_LIST_PATH /etc/snort/rules var BLACK_LIST_PATH /etc/snort/rules # path to dynamic rules libraries #dynamicdetection directory /usr/local/lib/snort_dynamicrules #include $RULE_PATH/local.rules include /etc/snort/rules/local.rules
「local.rules」、「white_list.rules」、「black_list.rules」のファイルが無いと起動時にエラーになるので、起動する前に作成しておきます
# touch /etc/snort/rules/local.rules # touch /etc/snort/rules/white_list.rules # touch /etc/snort/rules/black_list.rules
snortを起動時に下記のようにlibdnetがないとエラーになりますので、シンボリックリンクを作成して対処します
# /etc/init.d/snortd status ● snortd.service - SYSV: snort is a lightweight network intrusion detection tool that currently detects more than 1100 host and network vulnerabilities, portscans, backdoors, and more. Loaded: loaded (/etc/rc.d/init.d/snortd; bad; vendor preset: disabled) Active: active (exited) since Wed 2020-09-23 14:33:27 JST; 3min 21s ago Docs: man:systemd-sysv-generator(8) Process: 28234 ExecStart=/etc/rc.d/init.d/snortd start (code=exited, status=0/SUCCESS) Sep 23 14:33:27 www01 snortd[28234]: Starting snort: /usr/sbin/snort: error while loading shared libraries: libdnet.1: cannot open shared object file: No such file or directory Sep 23 14:33:27 www01 snortd[28234]: [FAILED] # エラー対策でシンボリックリンクを作成 # ln -s /usr/lib64/libdnet.so.1.0.1 /usr/lib64/libdnet.1
snortの起動はsystemctlコマンドでなく、下記のように「/etc/init.d/snortd start」で起動できます。
WEBインターフェイスの「SnortSnarf」がダウンロード先がなかったので、CUIのみとなったので起動確認したのみで実際に運用はおこないませんでした
# /etc/init.d/snortd start Starting snortd (via systemctl): [ OK ]
ディスカッション
コメント一覧
まだ、コメントがありません