Snort2(インストール)

Snort3 はここから>

概要

Snort2 のインストールと設定。及び、SnortSnarf によるログの解析。

ユーザー登録/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]# 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