| Snort - ネットワーク型IDS2015/04/05 | 
| 
ネットワーク型IDS ( Intrusion Detection System - 侵入検知システム ) Snort をインストールします。 
 | |
| [1] | Snort をビルドするのに必要なパッケージをインストールしておきます。 | 
| # EPELからインストール [root@dlp ~]# yum --enablerepo=epel -y install gcc make rpm-build autoconf automake flex libpcap-devel bison libdnet libdnet-devel mysql-devel pcre-devel php-mysql  | 
| [2] | Snort に必要な Daq をインストールします。以下の Snort サイトで最新版を確認してダウンロードしてください。 ⇒ https://www.snort.org/downloads | 
| 
[root@dlp ~]# [root@dlp ~]# wget https://www.snort.org/downloads/snort/daq-2.0.4.src.rpm  rpmbuild --rebuild daq-2.0.4.src.rpm  [root@dlp ~]# rpm -Uvh ./rpmbuild/RPMS/x86_64/daq-2.0.4-1.x86_64.rpm  Preparing... ############################## [100%] 1:daq ############################## [100%] | 
| [3] | Snort をインストールします。Daq と同様に Snort サイトで最新版を確認してダウンロードしてください。 | 
| 
[root@dlp ~]# [root@dlp ~]# wget https://www.snort.org/downloads/snort/snort-2.9.7.2-1.src.rpm  rpm -Uvh snort-2.9.7.2-1.src.rpm  1:snort ############################## [100%] 
[root@dlp ~]#  vi ./rpmbuild/SPECS/snort.spec  
SNORT_BASE_CONFIG="--prefix=%{_prefix} \
                   --bindir=%{_sbindir} \
                   --sysconfdir=%{_sysconfdir}/snort \
                   --with-libpcap-includes=%{_includedir} \
                   --enable-targetbased \
# 133行目:追記 
                   --enable-zlib \
                   --enable-ipv6 \
                   --enable-normalizer \
                   --enable-sourcefire \
                   --enable-control-socket"
[root@dlp ~]#rpmbuild -bb ./rpmbuild/SPECS/snort.spec  [root@dlp ~]# rpm -Uvh ./rpmbuild/RPMS/x86_64/snort-2.9.7.2-1.x86_64.rpm  Preparing... ############################## [100%] 1:snort ############################## [100%] | 
| [4] | 
Snort のルールファイルを入手します。入手には以下のサイトでのユーザー登録が必要です。 ⇒ https://www.snort.org/users/sign_up 
ユーザー登録後、以下よりサインインして最新のルールファイルをダウンロードし、サーバーにアップロードします。
ダウンロードするファイルは「snortrules-snapshot-xxxx.tar.gz」です。サーバーにアップロード後、以下のようにルールファイルを配置しておきます。 ⇒ https://www.snort.org/users/sign_in | 
| [root@dlp ~]# tar zxvf snortrules-snapshot-2972.tar.gz  [root@dlp ~]# mv rules so_rules preproc_rules /etc/snort/  mv: overwrite `/etc/snort/rules'? y | 
| [5] | Snort を設定して起動します。 | 
| 
[root@dlp ~]#  vi /etc/snort/snort.conf  # 45行目:自ネットワークに変更 ipvar HOME_NET 10.0.0.0/24 # 48行目:変更 (外部ネットは自ネット以外と定義) ipvar EXTERNAL_NET !$HOME_NET # 105行目:変更 var SO_RULE_PATH /etc/snort/so_rules  var PREPROC_RULE_PATH /etc/snort/preproc_rules  # 113行目:変更 var WHITE_LIST_PATH /etc/snort/rules  var BLACK_LIST_PATH /etc/snort/rules  
[root@dlp ~]#  vi /etc/sysconfig/snort  # 15行目:監視するインターフェースに変更 (全ての場合は「ALL」) INTERFACE= eth0 mkdir /usr/local/lib/snort_dynamicrules  [root@dlp ~]# chown snort. /usr/local/lib/snort_dynamicrules  [root@dlp ~]# touch /etc/snort/rules/white_list.rules /etc/snort/rules/black_list.rules  [root@dlp ~]# /etc/rc.d/init.d/snortd start  Starting snort: Spawning daemon child... My daemon child 12623 lives... Daemon parent exiting (0) | 
| [6] | ローカルルールを登録して動作確認します。 | 
| 
[root@dlp ~]#  vi /etc/snort/rules/local.rules  # 最終行に追記:ポートスキャンを監視する 
preprocessor sfportscan: proto  { all } memcap { 10000000 } sense_level { low }
 
[root@dlp ~]#  /etc/rc.d/init.d/snortd restart  Starting snort: Spawning daemon child... My daemon child 12623 lives... Daemon parent exiting (0) # 自ネットワーク内の任意のホストからポートスキャンすると以下のようにログが記録される [root@dlp ~]# cat /var/log/snort/alert  
04/05-15:34:09.052709  [**] [122:1:1] (portscan) TCP Portscan [**] [Classification: Attempted Information Leak] 
                       [Priority: 2] {PROTO:255} 10.0.0.249 -> 10.0.0.30
 | 
| Sponsored Link | 
|  |