324.1 侵入検出
324.1 侵入検出
重要度 4
説明 侵入検出ソフトウェアの使用方法と設定に精通していること。
主要な知識範囲
- snortサービスの設定、ルールおよび使用方法
- tripwire サービスの設定、ポリシーおよび使用方法
重要なファイル、用語、ユーティリティ
- snort
- snort-stat
- /etc/snort/
- tripwire
- twadmin
- /etc/tripwire/
Snort
Snortは、オープンソースのIDS(Intrusion Detection System, 不正侵入検知システム)機能をもつソフトウェアです
Linux,UNIX,Windowsなどの様々なOSで使用できます
IDSには、ネットワーク型IDS(NIDS:Network-Based IDS)とホスト型IDS(Host-Based IDS)の2種類があります。
ネットワーク型IDSは、監視対象となるネットワークに設置して、そのネットワーク上の通信パケットを監視することで不正アクセスを検知します
ホスト型IDSは、監視対象サーバにインストールして使用し、不正アクセスやファイル改ざんを検知します。
Snortは、ネットワーク型IDSです
Snortは、TCP,UDP、IPなどのプロトコル解析が可能で、不正アクセスなどの検知を行うためにシグネチャと呼ばれるルールを設置しています。このシグネチャーは、ルールヘッダ部とルールボティ部から構成されています
書式
Snort の書式は以下の通りです
snort [オプション] フィルタ
[]は省略可能
Snort 主なオプション
-b | ログをtcpdump形式のフォーマットで保存 |
-c [設定ファイル] | 設定ファイルを指定 |
-d | アプリケーション層でデータをファンプ |
-D | デーモンモードでsnortを実行 |
-g [グループ名] | 指定したグループでSnortを実行 |
-i [インターフェイス名] | パケットをスニファするインターフェイスを指定 |
-0 | Snortルール内のアクション評価する優先順位を Pass → Alert → Log 順に変更 |
-u [ユーザー名] | 指定したユーザーでSnortを実行 |
-o | ルールに当てはめられるパケットの順番を変更する。標準では、Alert->Pass->Logの順序をPass->Alert->Logの順にする。 |
Snort 主なフィルタ
dos.rules | Dos攻撃を検出するためのルールを記述 |
ftp.rules | ftpサービスへの攻撃などを検知するためのルールを記述 |
local.rules | ユーザーが独自に追加したルールなどを記述 |
scan.rules | スキャンを検知するためのルールを記述 |
smtp.rules | smtpサービスへの攻撃を検知するためのルールを記述 |
telnet.rules | telnetサービスへの攻撃を検知するためのルールを記述 |
web-cgi.rules | WebサーバのCGIに対する攻撃を検知するためのルールを記述 |
Snort ルールヘッダ
Snortシグネチャのルールは、ルールヘッダーとルールボディから構成され書式は以下の通りです
ルールアクション プロトコル IPアドレス ポート番号 方向演算子 IPアドレス(ルールヘッダ部) ポート番号 [オプション]
[]は省略可能
ルールアクション | 指定したシグネチャに該当するパケットが存在した場合、どの様に処理するかを指定する、以下のいずれかを選択する |
activate | ルールに該当するパケットが存在した場合、警告を出力し、該当するdynamicルールアクションを実行 |
alert | ルールに該当するパケットをパケットを記録し、警告を出力する |
dynamic | activateルールアクションから呼び出され、ルールに該当するパケット記録 |
log | ルールに該当するパケットを記録 |
pass | ルールに該当するパケットを無視 |
プロトコル | 検知するプロトコルを指定。tcp,udp,ip,icmp のいずれかを選択 |
IPアドレス | IPアドレスを指定。範囲指定が可能でその場合は 「[IPアドレス,IPアドレス]」と記述する。 特定のIPアドレス以外を指定する場合は「!IPアドレス」と記述 |
ポート番号 | ポート番号を設定。範囲指定が可能で、その場合は「[ポート番号:ポート番号]」と記述 |
方向演算子 | パケットを流れる方向を設定。 -> または < > のいずれかを選択 |
tripwire
Tripwireは、チェックを行いたいファイルやディレクトリの状態をデータベースとして保存し、システムの現在の状態をデータベースと照らし合わせ、変化がないかを比較するツールです
Tripwire導入するには、まず検知を行うホストのシステムを構築し、その後に設定ファイルやポリシーファイルを作成して、基準となるデータベースを作成します。
ファイル検知は、この作成されたデータベースとの照合により行います
このデータベースや設定ファイルが不正に更新されると検知を正常に行うことができなくなるため、鍵を使用してデータベースと設定ファイルを保護します
書式
tripwire -m i または –init [オプション]
tripwire -m c または –check [オプション]
tripwire -m u または –update [オプション]
tripwire -m p または –update policy [オプション] ポリシーファイル
[] 省略可能
主なモード
-m i または –init | データベース初期化モード |
-m c または –check | 整合性チェックモード |
-m u または –update | データベース更新モード |
-m p または –update policy | ポリシー更新モード |
-d [データベース] または –dbfile [データベース] | 指定したデータベースを使用。上記のすべてのモードで使用可 |
-p [ポリシーファイル] または –polfile [ポリシーファイル] | 指定したポリシーを使用。上記のすべてのモードで使用可能 |
例
・データベースを初期化
# tripwire -m i # tripwire --init
twadmin
tripwireを管理するコマンドは twadmin です
書式
twadmin -m F または –create-cfgfile [オプション] 設定ファイル
twadmin -m f または –print-cfgfile [オプション]
twadmin -m P または –create-polfile [オプション] ポリシーファイル
twadmin -m p または –print-polfile [オプション]
twadmin -m E または –encrypt [オプション]
twadmin -m G または –generate-keys [オプション]
主なモード
-m F または –create-cfgfile | 設定ファイルを作成 |
-m f または –print-cfgfile | 署名済みの設定ファイルを出力 |
-m P または –create-polfile | ポリシーファイルを作成 |
-m p または –print-polfile | ポリシーファイルを出力 |
-m E または –encrypt | 設定ファイル、ポリシーファイル、データベースファイルまたはレポートに署名 |
-m G または –generate-keys | 指定したサイトの鍵、またはローカル鍵を作成 |
主なオプション
-L [ローカル鍵] または –local-keyfile [ローカル鍵] | ローカル鍵を指定。「-m E」「-m G」モード指定時に使用可 |
-S [サイト鍵] または –site-keyfile [サイト鍵] | サイト鍵を指定。「-m F」「-m P」「-m p」「-m E」「-m G」モード指定時に使用可 |
例
・tripwireのローカル鍵を作成
# twadmin --generate-keys --local-keyfile /tmp/local.key # twadmin -m G -L /tmp/local.key
・tripwireの動作を指定する設定ファイルを作成
# twadmin --create-cfgfile --site-keyfile site.key twcfg.txt # twadmin --m P -S site.key twcfg.txt
・tripwireのポリシーファイルを作成
# twadmin --create-polfile twpol.txt # twadmin -m P twpol.txt
ディスカッション
コメント一覧
まだ、コメントがありません