ex1-lab

Linux, CentOS, Mac OS X, Windows, 仮想化, Apache等のLinux中心に気になることをメモがわりに・・・

324.1 侵入検出

      2016/12/07 この記事は約7分で読むことができます。

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 [ポリシーファイル] 指定したポリシーを使用。上記のすべてのモードで使用可能


・データベースを初期化

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のローカル鍵を作成

・tripwireの動作を指定する設定ファイルを作成

・tripwireのポリシーファイルを作成



 - LPIC 30x ,