.
Linux 活用ガイド:目次

サーバ構築ガイド

レンタル ガイド

ショップ 構築ガイド

情報漏洩対策

Snort 入手とインストール ~ Snort-2.6.x

前回、公開していた内容は Snort-2.3.3 でした。前前回含め、このコンテンツは過去に4回程、新しく原稿を書き直しています。(2.1 / 2.3 / 2.4.x) 今回使用した Snort のバージョンは 2.6 であり、このバージョンから本家で rpm パッケージが提供されています。

Snort のバージョンについて

今回は、ソースからのコンパイルと、src.rpm (ソースパッケージ)を利用した二通りの方法を紹介します。初めての方やパッケージ管理で行いたい方は、src.rpm の方が分かり易いかもしれません。

セキュリティホールについて(補足)

Snort は、過去に脆弱性が報告されています。特にパケットを監視しアクションを起こすツールのセキュリティホールは、深刻な影響を及ぼす可能性も考えてください。監視システムがセキュリティホールになっては本末転倒です。

tar ボールからのインストールよりは、rpm からの方がインストール手順を簡略化出来ます。また、rpm の出来も現状ではイマイチのように思います。rpm を利用したパッケージのアップデートは注意が必要かもしれません。

ソースからインストールする場合でアップグレードする場合は、一度ディレクトリをリネイムするなどして行った方が確実にコンパイルできます。(以前、コンパイルオプションが有効にならずとらぶった経験があるため)

事前に準備しておくべき事について

ここでは、MySQL データベースにログを出力(アーカイブ化)、ACID (PHPプログラム)によりブラウザで視覚的に統計を閲覧できるようにします。そのため、Webサーバ、PHP 、MySQL データベースサーバは既に構築済みである事が条件になります。

PHP経由でMySQL が操作できる必要があります。

また、Swatch を併用したメールアラートについても触れていますが、Swatch 導入については触れていません。導入については、以下で説明しています。

関連 => ログ自動監視ツールを導入する~Swatchについて

必要なパッケージ、及びソース

ここで構築する IDS 用件を満たすために必要なパッケージは以下の通りです。 yum 等でインストールしておいてください。 また、FrexResp に必要な libnet10 は、ver 1.0.2a にバージョンが限定されるので注意して下さい。

  • mysql-devel

パケットキャプチャライブラリ

  • pcre
  • pcre-devel
  • libpcap
  • libnet

mysql-devel インストール

yum を用いたインストールは以下のように行います。同じ手順で、pcre / pcre-devel / libpcap もインストールしておいてください。

# yum install mysql-devel

Snort ログ出力に必要なデータベース、アカウントを作成する必要がありますが、ブラウザ経由でMySQL を管理できる phpMyAdmin が便利です。 phpMyAdmin が利用できる環境であれば、ACID のセットアップも容易になります。MySQL をコマンドで操作するのはちょっと、という方は、以下で紹介しています。

関連 => MySQLをGUIで操作する (phpMyAdminを導入)

libnet-1.0.2a の入手とインストール

FedoraCore や CentOS 公式リポジトリから提供される libnet-1.1.xx では、コンパイルがとおりません。libnetは Fesp を利用するのに必要です。1.0.2a が必要なので注意して下さい。また、libnet-1.0.2a をコンパイルする前に、libnet バイナリがインストールされている必要がありました。(snort-2.8.src.rpm の場合)

# rpm -qa|grep libnet
libnet-1.1.2.1-2.2.el4.rf

バイナリで入っていなければインストールしておきます。

# yum install libnet

libnet-1.0.2a は以下から入手できます。

http://www.packetfactory.net

# wget http://www.packetfactory.net/libnet/dist/deprecated/libnet-1.0.2a.tar.gz
# tar zxvf libnet-1.0.2a.tar.gz
# cd ./Libnet-1.0.2a
# ./configure
# make
# make install
# make clean

2006年 11月上旬から中旬頃にセットアップしている時は、ダウンロードできましたが数日後、アクセスするとサーバがダウンしていました。12月現在もアクセスできないようです。適当に探して入手してください。

現在はサイトがリニューアルされて公開されています。

src.rpm (ソースパッケージ)を利用した Snortインストール.

前述した通り、2.6.0 からソースパッケージが提供されています。tar (ソース)からのインストールに比べて手順が大幅に削減できます。起動スクリプトに関する設定も変わっていますのでこちらをお勧めします。

補足 2007/2/22

現在、FC6 / RHEL4 用のバイナリ(rpm) が提供されていますが、このサイトで紹介している CentOS 4 / 4.4 の場合、RHEL4 になります。(snort-2.6.1.3-1.RHEL4.i386.rpm / snort-mysql-2.6.1.3-1.RHEL4.i386.rpm )

また、rpm では flexresp は有効になっていませんので、src.rpm でコンパイルする必要があります。特に、flexresp を必要としない場合は rpm でセットアップを行ったほうがメンテナンスが楽です。

ソースパッケージのコンパイルとインストール

ソースパッケージをインストールします。

$ wget http://www.snort.org/dl/binaries/linux/snort-2.6.0.2-1.src.rpm

root 権限で行って下さい。

# rpm -ivh /tmp/tools/snort-2.6.0.2-1.src.rpm

以下のファイルが展開されます。

  • /usr/src/redhat/SOURCES/snort-2.6.0.2.tar.gz
  • /usr/src/redhat/SPECS/snort.spec

現在の環境に適した rpm パッケージをビルドします。

# cd /usr/src/redhat/SPECS
# rpmbuild -bb --target=i686 snort.spec --with flexresp --with mysql

指定可能なオプションは、snort.spec を参照して下さい。ここでは flexrespMySQL が目的となります。尚、ここでは CentOS 4.4 クリーンインストール環境にて動作確認しました。ビルドには結構時間を要します。

コンパイルしたパッケージのインストール

コンパイルに成功すると ../RPMS/i686 にバイナリパッケージが生成されますのでインストールします。

# cd ../RPMS/i686
# rpm -ivh ./snort-2.6.0.2-1.i686.rpm ./snort-mysql-2.6.0.2-1.i686.rpm ./snort-debuginfo-2.6.0.2-1.i686.rpm

rpm パッケージインストールの楽な点は、snort 起動に必要なユーザ、グループ作成、設定ファイル、起動スクリプト、ログローテートなど必要なファイルの配置が自動化できる点です。インストール手順を簡略化できますので、こちらをお勧めします。

以上で Snort のインストールは終了です。こちらへ進んで下さい。

ソースからインストールする場合.

ソースから Snort をインストールする場合です。従来の方法です。 rpm 版では、snort 起動に必要なユーザや起動スクリプトは自動で設定されますが、ソースからインストールする場合は、自分で準備する必要があります。

snort ユーザの作成

snort を実行させるためのユーザを作成します。snort は過去にも深刻なセキュリティホールが見つかっています。間違っても root 権限で動作させないようにして下さい。セキュリティを強化する存在が脅かしてしまっては本末転倒です。

root 権限で行って下さい。snort ユーザ、グループを作成します。

# groupadd -g 3000 snort
# useradd -u 3000 -g snort -d /dev/null -s /bin/false snort

configure / コンパイル / インストール

ソースを snort.org から入手します。

$ wget http://www.snort.org/dl/binaries/linux/snort-2.6.0.2.tar.gz
# tar zxvf snort-2.6.0.2.tar.gz
# cd ./snort-2.6.0.2
# ./configure --enable-flexresp --prefix=/usr/local/snort --with-mysql=yes
# make
# make install
# chown -R snort.snort /usr/local/snort

初期設定ファイルのコピー

snort 起動に必要なファイルを配置します。

# cp -r ./etc /etc/snort
# cp -r rules /etc/snort
# chown -R snort.snort /etc/snort
# cp ./rpm/snort.sysconfig /etc/sysconfig/snort

不要なファイルを削除しておきます。

# rm /etc/snort/Makefile*

シンボリック作成

ソースからインストールした場合、/usr/local/snort 下にインストールされます。付属の起動スクリプト、設定ファイルにパスの辻褄を合わせます。(追記)

# ln -s /usr/local/snort/bin/snort /usr/sbin/snort
# ln -s /usr/local/snort/lib/snort_dynamicengine /usr/local/lib/snort_dynamicengine
# ln -s /usr/local/snort/lib/snort_dynamicpreprocessor /usr/local/lib/snort_dynamicpreprocessor

Snort 起動スクリプト作成

起動スクリプトの準備を先に行なっておきます。

# cp ./rpm/snortd /etc/rc.d/init.d/snortd
# chmod 755 /etc/rc.d/init.d/snortd

起動スクリプトを有効にしておきます。

# /sbin/chkconfig snortd on
# /sbin/chkconfig -add snort

run レベルを確認しておきます。

# /sbin/chkconfig --list snortd

ログローテートの設定

Snort センサーを設置する場所、ポリシーにもよりますがログファイルはあっという間に肥大化します。 ログローテートを行うスクリプトが用意されています。 ( rpm版は自動でセットアップされる )

# cp ./rpm/snort.logrotate /etc/logrotate.d/snort
# chmod 644 /etc/logrotate.d/snort

ルールセット(シグネチャファイル)設置ディレクトリの作成

ルールセットを配置するディレクトリを作成します。

# mkdir /etc/snort/rules
# chown snort.snort /etc/snort/rules
# chmod 770 /etc/snort/rules

ログディレクトリの作成

ログを出力するディレクトリを作成します。

# mkdir /var/log/snort
# chown -R snort:snort /var/log/snort
# chmod 700 /var/log/snortcd

これら一連の作業は、rpm だと一発で作成されました。

Snort-2.6.0 注意事項 ~ 静的シグネチャファイルについて.

Snort-2.6.0 から、ルールセットは含まれないようです。そのため、ルールセット(シグネチャファイル)を入手して適切に配置するまでは Snort を起動する事ができないので注意して下さい。 (ソースもパッケージも含まれません。)

インストール時に動作検証が行えないのは不便なので取敢えず起動できるように含めて欲しいです。改善を望みます。

取敢えず、起動に必要なルールを入手して配置してもいいのですが、ルールセット自動更新ツールである Oinkmaster を利用してルールセットを入手する方向で説明します。

次は、Snort の基本的な設定を行います。

1.侵入検知システム構築

2.ルールセットの自動更新

3.Snort の活用


keyword: セキュリティ

iconセキュリティアプライアンス

icon山田オルタナティブ 注目!

iconShare :セキュリティ 注目!

iconデジタルフォレンジック

icon暗号化技術

iconWAF

icon検疫ネットワーク

iconメールフィルタリングツール

iconPCログ監視ツール

iconスパム対策ツール

iconワンタイムパスワード

iconウイルス対策ソフト

iconPKI

icon個人情報保護法対策特集(前編)_フォレンジック

icon個人情報保護法対策特集(後編)_暗号化ツール

iconWeb暗号の基礎技術「PKIとSSL」

iconハイジャッカー

icon検疫ネット実現の3方式

iconウイルス対策サービス

iconメール暗号化ツール

iconバイオメトリクス認証

iconバイオメトリクス認証ツール

iconアンチウイルスソフト

icon情報漏洩防止ツール

iconIDS(不法侵入検知システム)

iconシングルサインオン(SSO)

icon初めての「検疫ネットワーク」入門

Keyword:最新 IT関連

iconEvil Twin :セキュリティ

iconShare :セキュリティ new

iconDomainkeys :セキュリティ

iconコメントスパム :セキュリティ

iconエバネセント通信 :ネットワーク

iconSPIT(スピット) :ネットワーク

iconc.link :ネットワーク

iconiBurst :ネットワーク

iconミリ波 :ネットワーク

iconドライカッパー :ネットワーク

iconWeb2.0 :WEBサーバ構築

iconAjax(エイジャックス) :WEBサーバ構築

iconポッドキャスティング :WEBサーバ構築

keyword: ネットワーク

icon専用線サービス

iconロードバランサ(負荷分散装置)

iconIP-VPN

iconモバイルアクセスサービス

iconブロードバンドルーター

iconVoIPゲートウエイ

iconWeb高速化ツール

icon無線LANの基礎と100M超の「MIMO」

iconレイヤー3スイッチ

Keyword:WEBサイト構築

iconタグクラウド

iconRSS(アールエスエス)

iconWebコンテンツマネジメント

iconWebログ解析ツール

keyword: OA・周辺機器

iconネットワークカメラ

iconカラーレーザープリンタ

icon複合機

iconモバイルプロジェクタ

iconHD DVD(High Definition DVD)

iconデジタルテレビ

iconテレビ会議システム

My Select Goods

デジタル器機

おすすめデジタル一眼レフ

セキュリティ強化型 ノートPC

P2P無料IP電話

iconSkype(スカイプ)とは?

icon無料IP電話スカイプ>Download

スカイプ 対応フォン(USB)

SKYPE カンファレスフォン BUFFALO  USB対応 Skypeフォン BSKP-U201/SV CG-USBPH01 Skype API対応 コンパクト USBフォン

ELECOM Skype会議用ハンズフリーフォン MS-CO95USV ELECOM SKYPE対応アドレス帳 BT-MG2 WB-2501 Skype標準搭載USBハンディフォン

SONY インターネットテレフォン 「マウストーク」 ブルー[VN-CX1/L] SONY インターネットテレフォン 「マウストーク」 ブライトレッド[VN-CX1/R] GOD ABILITY IPフォン SKYPE対応 USB VOLP PHONE USBハンドセット P5-D

God Ability スカイプ対応USBIPフォン P4-K ハギワラシスコム USBスカイプハンドセット HUD-SKH01 GH-UCM-HS スカイプ対応イヤフォンタイプヘッドセット

セキュア Linux 関連書籍

bottom_mark
ページ最上部
ページ最上部 前のページ