safari029’s blog

暗号通貨、セキュリティ、データ解析、プログラミング等の技術を中心とした適当なメモです。。。

Snortインストール編

先日借りたVPSに対して無料IDSの代表Snortをインストールしたのでメモ。

 

Snortインストール:

環境

OS:さくらVPS CentOS release 6.6 

snortsnort-2.9.7.0.tar.gz

daq:daq-2.0.4.tar.gz

 

キャプチャ用のlibpcapがインストールされているか確認

# rpm -qa | grep libpcap
libpcap-1.4.0-1.20130826git2dbcaa1.el6.x86_64

入ってることを確認。

 

daqのインストール。(最新版は公式サイトより)

# wget https://www.snort.org/downloads/snort/daq-2.0.4.tar.gz

# tar -zxvf dap-2.0.4.tar.gz

# cd daq-2.0.4

# ./configure

~略~

checking for pcap.h... (cached) no
checking for pcap_lib_version... checking for pcap_lib_version in -lpcap... (cached) no

ERROR! Libpcap library version >= 1.0.0 not found.
Get it from http://www.tcpdump.org

ここでエラーlibpcapのライブラリがないとな、

ldconfigにて確認してみる。

# ldconfig -p | grep pcap
libpcap.so.1 (libc6,x86-64) => /usr/lib64/libpcap.so.1

あるように見えるんだが…

 

ここで長考、各種サイトをあさってみる。How to Install Snort on CentOS

ここにインストール時にlibpcap-develも入れるといった記載があるのでこっちもインストールしてみる。(devel=developmentの略で開発用のライブラリとかもあるのかな?)

# yum install libcap-devel

# # ldconfig -p | grep pcap
libpcap.so.1 (libc6,x86-64) => /usr/lib64/libpcap.so.1
libpcap.so (libc6,x86-64) => /usr/lib64/libpcap.so

さっきと違うライブラリが追加されてる。

 

再度daqのインストール

# ./configure

#make

#make install

うまくいったようだ。

 

続いてsnort本体のインストール(最新版はry)

# wget https://www.snort.org/downloads/snort/snort-2.9.7.0.tar.gz

# tar -zxvf  snort-2.9.7.0.tar.gz

# cd snort-2.9.7.0

#./configure

~略~

checking for pcre.h... no

ERROR! Libpcre header not found.
Get it from http://www.pcre.org

 今度はlibpcreをインストールしろと。はいはい。

 

libcapインストール状況とライブラリ確認。

rpm -qa | grep pcre
pcre-7.8-6.el6.x86_64

# ldconfig -p | grep pcre
libpcreposix.so.0 (libc6,x86-64) => /usr/lib64/libpcreposix.so.0
libpcrecpp.so.0 (libc6,x86-64) => /usr/lib64/libpcrecpp.so.0
libpcre.so.0 (libc6,x86-64) => /lib64/libpcre.so.0

また入ってるね…またHow to Install Snort on CentOSこのサイトの情報を確認してみるとやっぱりインストール時にpcre-develを入れてるね。ということで同じようにやります。

# yum install pcre-devel

# rpm -qa | grep pcre
pcre-7.8-6.el6.x86_64
pcre-devel-7.8-6.el6.x86_64

# ldconfig -p | grep pcre
libpcreposix.so.0 (libc6,x86-64) => /usr/lib64/libpcreposix.so.0
libpcrecpp.so.0 (libc6,x86-64) => /usr/lib64/libpcrecpp.so.0
libpcre.so.0 (libc6,x86-64) => /lib64/libpcre.so.0

 

 

次こそ!

#  ./configure

~略~

ERROR! dnet header not found, go get it from
http://code.google.com/p/libdnet/ or use the --with-dnet-*
options, if you have it installed in an unusual place

 

 libdnet??、とりあえずインストールされてないか確認して、インストールします。(またしても-develも必要だったようですので2つまとめて)

# rpm -qa | grep dnet

# yum install -y libdnet libdnet-devel

# rpm -qa | grep dnet
libdnet-1.12-6.el6.x86_64
libdnet-devel-1.12-6.el6.x86_64

 

# ./configure

~略~

ERROR! zlib header not found, go get it from
http://www.zlib.net

今度はzlibですね…develがはいってなかったので・・・以下ry

# rpm -qa | grep zlib
zlib-1.2.3-29.el6.x86_64

#yum -y install zlib-devel

# rpm -qa | grep zlib
zlib-1.2.3-29.el6.x86_64
zlib-devel-1.2.3-29.el6.x86_64

 

やっとできそう。

# ./configure

# make

# make install

 

やっとインストール完了です。

 

動作確認:

とりあえず動くことを確認する。

# snort -v

まぁOK(インストールに時間かかりすぎて疲れた)、

ちゃんとした動作確認、テストはまた次回。

 

参考サイト:

Snort.Org

How to Install Snort on CentOS

CentOS 6系 に Snort インストール - himajin315の記録

Snortインストール - 旧銀鷹のメモ帳

エンタープライズ:セキュリティ How-To - 第1回:Snortを導入する その1

 

セキュリティ参考書籍

safari029です。参考になった書籍類まとめておく。

 

資格取得

情報セキュリティスペシャリスト

情報処理教科書 情報セキュリティスペシャリスト 2015年版

情報処理教科書 情報セキュリティスペシャリスト 2015年版

 

 セキュリティの各種用語や攻撃手法等を図解付きでわかりやすく解説されており、初心者でも読みやすかった。

 

 

資格取得のための本、午後試験の対策ポイントがわかりやすく解説、後は日本語力があれば受かった。試験直前1ヶ月前からはこちらだけを見るようにして、わからない部分があれば教科書見る感じで無事合格できた。

 

ペネトレーションテスト関連

実践 Metasploit ―ペネトレーションテストによる脆弱性評価

実践 Metasploit ―ペネトレーションテストによる脆弱性評価

 

 ペネトレーションテストの定番ツールmetasploitの利用方法を解説。読書中。

 

Web作成関連

 HTTPのリクエスト&レスポンスがどういった風に動いているのか、基礎から勉強できる良書。こちらも絶賛読書中。

 

 

 

 

 

 

パスワード管理について

パスワード管理について

アカウントをクラックされないためにどういうパスワードを設定するのか、私なりのやり方をメモ書き程度にまとめておく。

 

パスワードクラック手法

まず、昨今のパスワードクラック手法についてまとめておく(彼を知り己を知れば百戦殆うからず)

・リスト型

・辞書型

ブルートフォース

・リバースブルートフォース

 

セキュアなパスワード用件

一般的にセキュアなパスワードの定義はこんな感じ。

・大文字、小文字、数字を含む8文字以上のランダムな文字列

・サービスでの使いまわしはNG

・パスワード定期変更?(hogehoge01→hogehoge02などは意味なし)

 

↑この赤字のところが難しいとこ。大体10個以上WEBサービスを利用していて全部バラバラなんて現実的に管理できない。じゃあどうするか?

 

パスワード管理方法

パスワード管理ツール

 よくある手法として、パスワード管理ツールがある。パスワード管理ツールに対するパスワードをひとつ覚えておくだけで、ツールに登録したサイト等のパスワードを一元的に管理できる。さらに2つのパターンに分けることができる。

 ・オンライン方

  メリット…Webにつながればどこでも利用できる。

  デメリット…クラウドにデータが保管される。ここからもれたら全サービスのパスワードを1から変更が必要。

 ・オフライン方

  メリット…Webから漏れる心配はない。

  デメリット…アプリを保管している端末を紛失したら、サービスが利用できなくなる。(初期化等で復旧する方法はあるか)

 

→フリーのツールも多く出回っているが、気持ち悪いので、やっぱり頭で覚えておきたいな~

 

パスワード生成ルールを決める

私の落としどころは次のやり方です。

  1. ランダムな文字列を用意する。
  2. 利用サービス毎に一定のルールで文字列を用意する。
  3. 上記1,2を組み合わせる。

 

上の記述だけだとわかりにくいので、具体的に書くと以下。

 

1.ランダムな文字列を用意する。

 パスワード生成等を利用して、できるだけ推測しにくいものを用意する。 

 具体例で今回は右のような文字列を容易する。「Dho12S」

 

2.利用サービス毎に一定のルールで文字列を用意する。

 たとえば「hate●ablog」であれば頭と尻の文字をとる→「hg」、 これを逆順に変換して「gh」など。一定のルールでサービス関連した文字列を用意。このルールで変換すると…

 「am●zon」→「na」

 「fac●book」→「kf」

 「楽●(raku●en)」→「nr」

みたいな変換が簡単にできます。

 

3.上記1,2を組み合わせる。

 あとは組み合わせのルールを作成するだけ、たとえば1.の3文字目に2.のサービス毎の文字列を入れるとすると…

 hate●ablog    →Dhogh12S

 am●zon      →Dhona12S

 fac●book     →Dhokf12S

 楽●(raku●en) →Dhonr12S

これでランダムなパスワード作成完了です。

もし漏れてしまったらルールの見直しだけで基本的にはいけるので、今はこんな感じで設定やってます。