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