Amazon AWS に Snort を導入
参考:http://inaba-serverdesign.jp/blog/20140131/snort_inline_ips.html
EC2のインスタンスにSnortをインストールしてみる。 参考サイトの手順を現時点の最新版で実施してみた感じ。 yumで解決出来そうなところは面倒なのでyumを使ってる。
Snortインストール
依存ライブラリのインストール
まずは依存性のあるライブラリのインストール。既にインストール済みのパッケージもあるが、気にせずyumってみる。
$ sudo yum install gcc flex bison pcre pcre-devel libpcap libpcap-devel zlib zlib-devel
libdnet、DAQ、snortの順にインストールする。
libdnetのインストール
たぶん、これ。BSDライセンス。参考サイトはsourcefogeを指しているけど、更新が止まってるのかver.1.11のまま。code.googleのほうは1.12。
https://code.google.com/p/libdnet/
$ cd /usr/local/src
$ sudo wget https://libdnet.googlecode.com/files/libdnet-1.12.tgz
$ sudo tar zxvf libdnet-1.12.tgz
$ cd libdnet-1.12
$ sudo ./configure --with-pic
$ sudo make
$ sudo make install
これで以下のフォルダにインストールされていれば成功(っぽい)
$ ls -l /usr/local/lib/libdnet*
lrwxrwxrwx 1 root root 13 10月 25 14:07 /usr/local/lib/libdnet ->libdnet.1.0.1
lrwxrwxrwx 1 root root 13 10月 25 14:07 /usr/local/lib/libdnet.1 ->libdnet.1.0.1
-rwxr-xr-x 1 root root 179555 10月 25 14:07 /usr/local/lib/libdnet.1.0.1
-rw-r--r-- 1 root root 295686 10月 25 14:07 /usr/local/lib/libdnet.a
-rwxr-xr-x 1 root root 778 10月 25 14:07 /usr/local/lib/libdnet.la
DAQのインストール
daqの前の準備
DAQのインストールの前に必要なライブラリのインストール。
$ sudo yum install libnetfilter_queue
$ sudo yum install libnetfilter_queue-devel
DAQのインストール
$ sudo wget https://www.snort.org/downloads/snort/daq-2.0.4.tar.gz
$ sudo tar zxvf daq-2.0.4.tar.gz
$ cd daq-2.0.4
$ sudo ./configure
configure後に以下の表示になっているか要チェック。
Build AFPacket DAQ module.. : yes
Build Dump DAQ module...... : yes
Build IPFW DAQ module...... : yes
Build IPQ DAQ module....... : no
Build NFQ DAQ module....... : yes
Build PCAP DAQ module...... : yes
Build netmap DAQ module...... : no
続いてmakeとmake installする
$ sudo make
$ sudo make install
lib内にdaqのライブラリが出力されていればおk。
$ ls -l /usr/local/lib/daq/
合計 276
-rwxr-xr-x 1 root root 960 10月 25 14:39 daq_afpacket.la
-rwxr-xr-x 1 root root 58547 10月 25 14:39 daq_afpacket.so
-rwxr-xr-x 1 root root 916 10月 25 14:39 daq_dump.la
-rwxr-xr-x 1 root root 27620 10月 25 14:39 daq_dump.so
-rwxr-xr-x 1 root root 936 10月 25 14:39 daq_ipfw.la
-rwxr-xr-x 1 root root 33428 10月 25 14:39 daq_ipfw.so
-rwxr-xr-x 1 root root 967 10月 25 14:39 daq_nfq.la
-rwxr-xr-x 1 root root 97290 10月 25 14:39 daq_nfq.so
-rwxr-xr-x 1 root root 916 10月 25 14:39 daq_pcap.la
-rwxr-xr-x 1 root root 34657 10月 25 14:39 daq_pcap.so
Snortのインストール
ようやく本題のインストール。 Snortの公式サイトから最新版をダウンロードして、configure、makeする。
$ sudo wget https://www.snort.org/downloads/snort/snort-2.9.7.0.tar.gz
$ sudo tar zxvf snort-2.9.7.0.tar.gz
$ cd snort-2.9.7.0
$ sudo ./configure --enable-gre --enable-targetbased --enable-active-response --enable-normalizer --enable-reload --enable-react --enable-zlib
$ sudo make
$ sudo make install
$ sudo ldconfig -v /usr/local/lib
ls してみてインストールされていれば成功。この時点で、snortなどのコマンドが読み込めてる。
$ snort --version
,,_ -*> Snort! <*-
o" )~ Version 2.9.7.0 GRE (Build 149)
'''' By Martin Roesch & The Snort Team: http://www.snort.org/ contact#team
Copyright (C) 2014 Cisco and/or its affiliates. All rights reserved.
Copyright (C) 1998-2013 Sourcefire, Inc., et al.
Using libpcap version 1.4.0
Using PCRE version: 8.21 2011-12-12
Using ZLIB version: 1.2.7
ルールファイルの設定・設置
ルールファイルのダウンロード
snortの公式ページでサインアップし、oinkcodeを取得する。 ルールファイルをダウンロード&展開する。
$ mkdir /etc/snort/
$ sudo tar zxvf /usr/local/src/snortrules-snapshot-2970.tar.gz
$ wget http://www.snort.org/reg-rules/snortrules-snapshot-2955.tar.gz/<oinkcode> -O snortrules-snapshot-2955.tar.gz
ルールファイルの設置。
$ sudo tar zxvf snortrules-snapshot-2970.tar.gz
$ sudo cp ./etc/* .
$ sudo cp -p /usr/local/src/snort-2.9.7.0/etc/* .
$ sudo rm -f /etc/snort/Makefile*
$ sudo touch rules/white_list.rules rules/black_list.rules
$ sudo mkdir /usr/local/lib/snort_dynamicrules
$ sudo cp -p /etc/snort/so_rules/precompiled/RHEL-6-0/x86-64/2.9.7.0/* /usr/local/lib/snort_dynamicrules/
snort ユーザの作成と設定。
$ sudo groupadd 511 snort
$ sudo groupadd -g 511 snort
$ sudo useradd snort -u 511 -d /var/log/snort -s /sbin/nologin -c 'Snort User' -g snort
$ chown -R snort.snort /etc/snort
$ sudo chown -R snort.snort /etc/snort
$ sudo chown -R snort.snort /var/log/snort
$ ls -lR /etc/snort
configファイルの設定
$ cp -p snort.conf snort.conf.default
$ sudo cp -p snort.conf snort.conf.default
$ sudo emacs /etc/snort/snort.conf
$ cd /usr/local/lib
$ chown -R snort.snort snort* pkgconfig
$ sudo chown -R snort.snort snort* pkgconfig
$ sudo chmod -R 700 snort* pkgconfig
$ cd /usr/local/bin/
$ sudo chown snort.snort daq-modules-config u2*
$ sudo chmod 700 daq-modules-config u2*
起動と確認
Snort のテスト実行
$ sudo /usr/local/bin/snort -T -i eth0 -u snort -g snort -c /etc/snort/snort.conf
Preprocessor Object: SF_SIP Version 1.1 <Build 1>
Snort successfully validated the configuration!
Snort exiting
↑「Snort successfully」 が表示されればまずはおk。
起動。
$ sudo /usr/local/bin/snort -A fast -b -d -D -i eth0 -u snort -g snort -c /etc/snort/snort.conf -l /var/log/snort
Spawning daemon child...
My daemon child 13971 lives...
Daemon parent exiting (0)
ps で確認してsnortのプロセスが存在すればおk。
<動作確認>
pingをうったら検知するようなルールを作成し動作確認をしてみる。
$ sudo emacs /etc/snort/rules/local.rules
追記する内容は以下。
alert icmp any any -> any any (msg:"ICMP Testing Rule"; sid:1000001; rev:1;)
snortをインストールしたサーバに直接IPアドレスを打つと検知する。 出力先は、/var/log/snort/alert
$ sudo tail -f /var/log/snort/snort.log
OWASP ZAPの攻撃は検知するのか
素の状態で、対称サーバにtomcatを立てて、OWASP ZAPの攻撃を仕掛けると何も検知せず。 ここら辺は、ルールの有効化とかいろいろ設定しないとダメかも。そのうちやる。
起動スクリプトの設置で楽をする
いちいちsnortのコマンドを叩くのも面倒なのでサービスとして動作するようにスクリプトを設定する。
$ cd /usr/local/src/
$ sudo wget http://s3.amazonaws.com/snort-org/www/assets/208/snort-centos-6x.sh
$ sudo cp snort-centos-6x.sh /etc/init.d/snort
$ sudo cp snort-centos-6x.sh /etc/sysconfig/snort
コピーしたスクリプトはinit.d用とsysconfig用の内容が同一ファイル内に書かれているので、 適切な位置でそれぞれ内容を編集する。(ファイル内に英語でコメントされてるのでわかるはず。)
パーミッションの設定を適切にするのと、sbinで実行出来るようにリンクを貼る。
$ sudo chown snort.snort /etc/init.d/snort /etc/sysconfig/snort
$ sudo chmod 700 /etc/init.d/snort /etc/sysconfig/snort
$ cd /usr/sbin
$ sudo ln -s /usr/local/bin/snort snort
サービスとして実行してみる。実行する前に起動している場合は、killで止めとく。
$ sudo /etc/init.d/snort start
各種ログは/var/messagesに出てるのでそちらで。
とりあえず、今回はここまで。
railsの統合環境を既存のeclipse環境に導入する手順
railsの統合環境を既存のeclipse環境に導入する手順
1. Aptana Studioをプラグインとしてインストール
Help->Install New Software... で、「http://download.aptana.com/studio3/plugin/install」をAddする。
「Aptana Studio 3」を選択し、通常のプラグインのインストールと同様に指示に従ってインストール。
2. railsのインストール
railsがインストールされていないと動かないので、新規プロジェクトを作る前に、gem を使ってインストールしておく。gem がない場合は、先にインストールしておく。
sudo gem install rails
3. プロジェクトの作成
プロジェクトの作成時に「Rails Project」を指定してプロジェクトを作成。
rails のディレクトリが出来上がれば成功。
4. サーバの実行
Eclipseのコンソールで以下を実行。
rails server
http://localhost:3000 でブラウザアクセスするとページが見える。
停止するためには、「Ctrl+C」
secops
dev x ops で devopsのように、
sec x ops で secops という考え方があるらしい。
ちょっと興味があるので、参考になりそうなリンクを貼っておく。
時間あったらまとめようかな。
# リンク
http://www.slideshare.net/KrisBuytaert/devops-secops-opsec-devsec-ops
http://devops.com/category/blogs/secops/
https://securosis.com/blog/the-pragmatic-guide-to-network-security-management-secops
http://www.bmc.com/blogs/intelligent-compliance-down-under-the-secops-gap/