概要
Snort3 のインストールと設定。及び、SnortSnarf によるログの解析。
Snort は侵入検知システム(IDS)と侵入防止システム(IPS)であり、ネットワーク
への侵入を検知するだけでなく、侵入を阻止できる。
IDS(侵入検知システム): 不正アクセスを検知してログに残す
IPS(侵入防止システム): 不正パケットを破棄して不正アクセスを防止
ユーザー登録/Oinkcode の取得
・ユーザー登録
https://www.snort.org/users/sign_up にて、ユーザー登録。
・Oinkcode の取得
https://www.snort.org/users/sign_in からログイン後、https://www.snort.org/
ページ内 Step2 「Sign up/Subscribe」をクリックして画面遷移後、
左上「Oinkcode」をクリック。後で使用するので、書き留めておく。
ユーザー/グループ作成
[root]# useradd --shell /sbin/nologin --no-create-home --user-group snort
ログ出力ディレクトリ作成
[root]# mkdir /var/log/snort
[root]# chown snort:snort /var/log/snort
/var/log/messages snort の起動/停止など
/var/log/snort/alert_fast.txt snort が検知したログ
/var/log/snort/file.log
ログローテーション
[root]# vim /etc/logrotate.d/snort
/var/log/snort/alert_fast.txt /var/log/snort/*log {
weekly # 毎週ローテート
rotate 4 # ログを4世代残す
create 0600 snort snort # ローテーション後、新規ログファイル作成
dateext # ローテーション後のファイル末尾に、日付を付ける
missingok # ログファイルが無くてもエラーにしない
compress # ローテーション後のファイルを圧縮(.gz)
notifempty # ログファイルが空ならローテーションしない
sharedscripts # 以下に記述された処理を1度だけ実行する宣言
postrotate # postrotate ~ endscript に処理を記述
/usr/bin/systemctl restart snortd 1>/dev/null || true
endscript
}
・テスト
[root]# logrotate -f /etc/logrotate.d/snort # -f : 強制実行
alert_fast.txt-20210328.gz
file.log-20210328.gz
[root]# cat /var/lib/logrotate/logrotate.status
"/var/log/snort/alert_fast.txt" 2021-3-28-14:26:28
"/var/log/snort/file.log" 2021-3-28-14:26:28