概要
このセクションでは、ネットワークに対する不正アクセスや異常な通信を検知するためのソリューションに関する知識と実践力が求められます。対象となるツールは、Snort、OpenVAS、および帯域モニタリングツール(ntop, Cacti)です。
1. ネットワーク侵入検知の基本
ネットワーク侵入検知システム(NIDS: Network Intrusion Detection System)は、ネットワーク上のパケットを監視し、悪意のある挙動や不審なトラフィックを検知するシステムです。
- NIDSとHIDSの違い
- NIDS: ネットワークを流れるパケットを監視。
- HIDS: ホストマシンのログやシステムコールなどを監視。
2. 帯域モニタリングツール
2.1 ntop(ntopng)
ntopngはネットワークトラフィックのリアルタイム可視化ツールです。
- WebベースのGUIを提供。
- トラフィック分析や帯域幅使用状況の確認が可能。
- フロー統計(送受信元、プロトコル、ポート別)を可視化。
sudo apt install ntopng
sudo systemctl start ntopng
sudo systemctl enable ntopng
2.2 Cacti
CactiはSNMPなどからデータを収集し、RRDToolを用いてグラフ化します。
- トラフィック、CPU使用率、温度など様々なメトリックの長期監視に有効。
- SNMPを使ってスイッチやルータのインタフェース情報を取得。
3. Snort: ネットワーク侵入検知システム(NIDS)
3.1 Snortとは?
Snortはパケットのリアルタイム分析とルールに基づく侵入検知を行うNIDSです。IDSとして使うことも、NIPS(侵入防止システム)としても使えます。
3.2 基本的な設定
Snortのインストール例(Debian系)
sudo apt install snort
設定ファイル
/etc/snort/snort.conf: 主要な設定/etc/snort/rules/: ルールファイル格納ディレクトリ
# snort.conf の一部設定例
var HOME_NET 192.168.1.0/24
include $RULE_PATH/local.rules
3.3 ルールの記述例
alert tcp any any -> $HOME_NET 22 (msg:"SSH接続検出"; sid:1000001; rev:1;)
alert: アクション(警告)tcp: プロトコルany any: 任意の送信元IP/ポート->: 通信方向$HOME_NET 22: 宛先が22番ポート(SSH)msg: メッセージ内容sid: ルールID
3.4 ログの確認と統計
- ログ:
/var/log/snort/alert - 統計表示:
snort-stat /var/log/snort/snort.log.*
4. OpenVAS: 脆弱性スキャナ
4.1 OpenVASとは?
OpenVAS(現: Greenbone Vulnerability Manager)はネットワークの脆弱性をスキャンして検出する強力なオープンソースのツールです。
- プラグイン型で、NASL(Nessus Attack Scripting Language)によって記述された脆弱性チェックを実行。
- ローカルまたはリモートのホストに対してスキャンを実行。
4.2 主なコマンド
| コマンド | 説明 |
|---|---|
openvas-nvt-sync | プラグイン(NVT)の更新 |
openvas-mkcert | SSL証明書の作成 |
openvas-adduser | 管理者ユーザの追加 |
openvas-rmuser | 管理者ユーザの削除 |
openvassd | OpenVASデーモンの起動 |
4.3 設定ファイル
/etc/openvas/openvasmd.conf/etc/openvas/gsad.conf
5. 自動スキャンと更新の管理
cronによる自動スキャン設定例(Snortログ監視)
0 * * * * /usr/sbin/snort -c /etc/snort/snort.conf -i eth0
OpenVASの定期更新(例)
@daily /usr/bin/openvas-nvt-sync
まとめ
| ツール | 目的 | 特徴 |
|---|---|---|
| ntopng | 帯域監視 | GUIでトラフィックを可視化 |
| Cacti | 帯域・リソース監視 | RRDToolとSNMPによるグラフ生成 |
| Snort | パケット監視 | ルールベースの侵入検知 |
| OpenVAS | 脆弱性スキャン | NASLによるチェック、自動更新 |
試験対策ポイント
snort.confで定義されるルールの構造と意味を理解する。openvas-nvt-syncの役割を明確に説明できる。- ntopやCactiを使った帯域監視の導入手順を説明できる。
- cronでスキャンタスクを自動化する方法を理解する。
章末問題
問題1: Snortにおいて、次のようなルールは何を検出するためのものですか?
alert tcp any any -> $HOME_NET 22 (msg:”SSH接続検出”; sid:1000001; rev:1;)
A. HTTPアクセスの検出
B. 任意の送信元からのSSH接続の検出
C. 任意の送信元からのSMTP送信の検出
D. ローカルからのICMP pingの検出
解説
正解:B
解説:
このルールは宛先が $HOME_NET の 22番ポート(通常SSH)に対するTCP接続を検出します。送信元は任意 (any) です。
問題2: OpenVASで新しい脆弱性プラグイン(NVT)を取得・更新するために使用するコマンドはどれですか?
A. openvas-adduser
B. openvas-rmuser
C. openvassd
D. openvas-nvt-sync
解説
正解:D
解説:openvas-nvt-sync は、NVT(Network Vulnerability Tests)プラグインをダウンロードして最新に保つためのコマンドです。
問題3: ntop(またはntopng)の主な目的は何ですか?
A. ファイルシステムの監視
B. ネットワークトラフィックのリアルタイム監視と可視化
C. パスワードポリシーの強制
D. システムログの統合管理
解説
正解:B
解説:
ntop/ntopng は、ネットワークインタフェースからトラフィックを収集し、リアルタイムにGUIで表示する帯域監視ツールです。
問題4: Snortのルールファイルは通常どこに配置されますか?
A. /etc/snort/snort.rules
B. /etc/snort/rules/
C. /etc/snort/logs/
D. /var/lib/snort/
解説
正解:B
解説:
Snortのルールファイルは /etc/snort/rules/ 以下に配置され、snort.conf から読み込まれる形になっています。
問題5: OpenVASに関する説明として正しくないものはどれですか?
A. NASLスクリプトで構成された脆弱性チェック機能を持つ
B. ユーザー管理に openvas-adduser を用いる
C. openvas-mkcert はSSL証明書の作成に使う
D. IDSとしてリアルタイムパケットを分析する
解説
正解:D
解説:
OpenVASは脆弱性スキャナであり、リアルタイムのパケット分析(IDS機能)はSnortなどが担います。
コメント