この章では、ネットワークをセキュアに保つための手法と、脅威検出および対処のためのツールの使用法を学びます。特に、FreeRADIUSによる認証、nmapによるスキャン、Wiresharkによるトラフィック分析、不正なRA/DHCPの識別などが対象です。
1. FreeRADIUSによる認証
1.1 FreeRADIUSとは
FreeRADIUSは、RADIUS (Remote Authentication Dial-In User Service) プロトコルに基づく、オープンソースの認証サーバーです。802.1X や VPN のユーザー認証などに用いられます。
1.2 基本構成ファイルとコマンド
| ファイル/コマンド | 役割 |
|---|---|
radiusd | FreeRADIUS デーモン |
/etc/raddb/radiusd.conf | メイン設定ファイル |
/etc/raddb/clients.conf | NAS クライアント設定 |
/etc/raddb/users | ユーザー定義ファイル |
radtest | テスト用RADIUSクライアント(PAP認証) |
radclient | 汎用的なRADIUSクライアント |
radwho, radlast | 認証済ユーザーの一覧、ログの確認 |
radmin | FreeRADIUS 管理用CLI |
1.3 テスト例
radtest alice password localhost 0 testing123
2. nmapによるネットワークスキャン
2.1 基本スキャン
nmap 192.168.1.1
2.2 よく使うオプション
| オプション | 説明 |
|---|---|
-sS | SYNスキャン(ステルス) |
-sU | UDPスキャン |
-O | OS検出 |
-sV | サービスバージョン検出 |
-A | OS検出 + バージョン + スクリプト + トレースルート |
2.3 セキュリティ用途
- 空いているポートの確認
- 不審なサービスやバックドアの発見
- ファイアウォール/IDSの動作検証
3. Wiresharkによるトラフィック分析
3.1 Wiresharkとは
ネットワークパケットを可視化する強力なGUIツール。
3.2 tshark
WiresharkのCLI版で、スクリプトやログ分析に適している。
tshark -i eth0 -Y "ip.addr==192.168.1.1"
3.3 tcpdump
より軽量なCLIパケットキャプチャツール。
tcpdump -i eth0 port 80
3.4 有用なフィルタ例(Wireshark)
| フィルタ例 | 内容 |
|---|---|
http | HTTPトラフィックのみ表示 |
ip.addr==192.168.1.1 | 特定ホストとの通信表示 |
tcp.port==443 | 特定ポートのトラフィック |
4. 不正なRA/DHCPメッセージの識別と対処
4.1 RA(Router Advertisement)とは
IPv6環境でルータが送るネットワーク構成情報。不正RAにより偽ルータを送り込まれるとMITM攻撃などに利用される。
4.2 DHCPスプーフィング
攻撃者が偽のDHCPサーバを立てることで、被害者に偽のIP構成やDNSを提供する攻撃。
4.3 検出ツール
ndpmon: IPv6の不正RA検出tsharkやtcpdump: DHCPパケットのモニタリング
4.4 防御策
- ポートセキュリティ (スイッチ側)
- DHCPスヌーピング(スイッチ機能)
- RAガード(IPv6スイッチ機能)
試験対策ポイントまとめ
- FreeRADIUSの設定ファイルとテストコマンドを把握する
- nmapの代表的なスキャン方法(-sS, -sU, -O, -A)を使い分けられるようにする
- Wireshark/tshark/tcpdumpの使い方とフィルタ構文を理解する
- DHCP/RA攻撃と検出手法(ndpmonなど)を押さえておく
章末問題(例題)
問題1: nmapの-sSスキャンは何を行いますか?
A. 全ポートのスキャンをUDPで実施する
B. TCPフルコネクションスキャン
C. SYNパケットのみを送るステルススキャン
D. ARPスキャン
解説
正解:C
解説:
-sSは SYNスキャン(ステルススキャン)を意味します。nmapはターゲットのポートに対してSYNパケットだけを送信します。- 応答が「SYN-ACK」であればポートは開いていると判断し、すぐにRST(リセット)パケットを返して接続を完了しないため、ログに残りにくくなっています。
- 通常の3ウェイハンドシェイクを完了しないため、**フルコネクションスキャン(-sT)**よりも目立たずにスキャンできます。
問題2: FreeRADIUSのクライアント設定ファイルの場所は?
A. /etc/raddb/clients.conf
B. /etc/raddb/users.conf
C. /etc/freeradius/clients.txt
D. /etc/radiusd.conf
解説
正解: A
解説:
ディレクトリは通常、/etc/raddb/ またはディストリビューションにより /etc/freeradius/ の下にあることもありますが、clients.confが基本設定ファイルです。
FreeRADIUSでは、RADIUSクライアント(例えばWiFiアクセスポイントやVPNサーバーなど)の情報を設定するために clients.conf ファイルを使用します。
このファイルには、クライアントのIPアドレス、共有シークレット、許可する接続方法などが記載されます。
問題3: tcpdump -i eth0 port 53 の意味は?
A. UDP 80番ポートを監視する
B. DNSパケットをキャプチャする
C. TCPすべてのパケットを表示する
D. 特定IPアドレスをフィルタする
解説
正解: B
解説:
DNSは通常、UDP 53番を使用しますが、TCPも使われるため、プロトコル指定がない場合は両方を対象にします。
tcpdump はネットワークトラフィックをキャプチャするツールで、-i eth0 は eth0 インターフェースを指定します。
port 53 は ポート番号53番(DNS) に関連するトラフィックを対象にします。
よってこのコマンドは「eth0インターフェース上のDNS関連パケット(TCPまたはUDP問わず)をキャプチャする」ことを意味します。
コメント