Snort2 のインストールと設定。及び、SnortSnarf によるログの解析。
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]# groupadd snort
[root]# useradd -d /dev/null -s /sbin/nologin -g snort snort
・ログ出力ディレクトリ作成
[root]# mkdir /var/log/snort
[root]# chown snort:snort /var/log/snort
/var/log/messages snort の起動・停止など
/var/log/snort/alert snort が検知したログ
/var/log/snort/snort.log.数字 バイナリ形式のログ
バイナリ形式のログの見方
[root]# tcpdump -r /var/log/snort/snort.log.数字
[root]# hexdump -C /var/log/snort/snort.log.数字
・インストール
[root]# dnf install tcpdump libpcap libpcap-devel pcre pcre-devel
libdnet libdnet-devel flex flex-devel bison bison-devel
[root]# wget https://www.snort.org/downloads/snort/daq-2.0.7.tar.gz
[root]# tar xvfz daq-2.0.7.tar.gz
[root]# cd daq-2.0.7
[root]# autoreconf -f -i
[root]# ./configure
[root]# make -j3
[root]# make -j3 install
[root]# cd ..
[root]# rm -vrf daq-2.0.7
[root]# updatedb
[root]# locate libdaq
/usr/local/lib/libdaq.so
/usr/local/lib/libdaq.so.2
[root]# vim /etc/ld.so.conf.d/local.conf
/usr/local/lib
/usr/local/lib64
[root]# ldconfig
[root]# ldconfig -p | grep libdaq
libdaq.so.2 (libc6,x86-64) => /usr/local/lib/libdaq.so.2
libdaq.so (libc6,x86-64) => /usr/local/lib/libdaq.so
[root]# dnf install luajit luajit-devel
[root]# wget https://www.snort.org/downloads/snort/snort-2.9.17.tar.gz
[root]# tar xvfz snort-2.9.17.tar.gz
[root]# cd snort-2.9.17
[root]# ./configure CPPFLAGS='-I/usr/include/tirpc' --enable-sourcefire
[root]# make -j3
[root]# make -j3 install
[root]# snort --version
・アップデート時
インストール後に再起動して、/usr/local/pulledpork/etc/pulledpork.conf
内のバージョン変更後、コマンドを実行して終了。
[root]# systemctl restart snortd
[root]# vim /usr/local/pulledpork/etc/pulledpork.conf
snort_version=2.9.17.0
[root]# /usr/local/pulledpork/pulledpork.pl -c /usr/local/pulledpork/etc/pulledpork.conf
・ログローテーション
[root]# cp -v snort-2.9.17/rpm/snort.logrotate /etc/logrotate.d/snort
[root]# vim /etc/logrotate.d/snort
/var/log/snort/*/alert /var/log/snort/*/*log # 存在しないので削除
/var/log/snort/alert /var/log/snort/*log {
weekly # daily(毎日)から毎週に変更
rotate 5 # 残すログを 5 世代に変更
missingok
compress
sharedscripts
postrotate
# /etc/init.d/snortd restart 1>/dev/null || true
/usr/bin/systemctl restart snortd 1>/dev/null || true
endscript
}
[root]# rm -vrf snort-2.9.17