324.2 ネットワークセキュリティスキャン機能
重要度 5
説明 ネットワークセキュリティ検知ツールの方法と設定に精通していること。
主要な知識範囲
・nessusの設定、NASL及び使用方法
重要なファイル、用語、ユーティリティ
- nmap
- wireshark
- tshark
- tcpdump
- nessus
- nessus-adduser/nessus-rmuser
- nessusd
- nessus-mkcert
- /etc/nessus
Nessus
Nessusはセキュリティホールを調査するソフトウェアです
ポートスキャン機能があり、使用していないポートやセキュリティ上危険なポートを検知する
セキュリティホールをついて攻撃し、システムへの侵入を試みる機能がある
検査対象サーバの外部にNessusをインストールした端末を用意し、外部から対象サーバのセキュリティホールを探します
サーバのセキュリティ検査の厳密さという点では、「Safe Checks」という設定項目により次のようになります
・Safe Checks をONにした場合
対象サーバへの影響が少なくなりますが、厳密なセキュリティ検査はできません
・Safe Checks をOFFにした場合
厳密なセキュリティ検査が可能ですが、検査対象サーバへの影響を及ぼす可能性があります
nessus-mkcert
nessus-mkcertは、暗号化通信用の鍵や証明書を生成するNessusコマンドです
このコマンドを利用することで、Nessusの鍵や証明書を簡単に生成できます
書式
nessus-mkcert [オプション]
[]省略可能
NASL
NASLは、正式名称をNessus Attack Scripting Languageと言います
Nessusセキュリティスキャナのためにデザインされたスクリプト言語 です。
誰にでも数分で与えられたセキュリティホールのテストが書け、OSを心配する必要なくそのテストを人々と共有できます。
NASLスクリプトが、指定されたターゲットへの与えられたセキュリティテスト以外の悪さを出来ない、ということが目的になっている
Nmap
ネットワーク探索とセキュリティスキャナの機能を備えたコマンドです
nmapコマンドを実行するには、一部を除いてroot権限が必要です
書式
nmap [スキャンタイプ] [オプション] ターゲット
[]省略可能
主なスキャンタイプ
| -sA | ACKスキャン |
| -sF | ステルスFINスキャン |
| -sL | リストスキャン |
| -sN | Nullスキャン |
| -sO | IPプロトコルスキャン |
| -sP | Pingスキャン |
| -sS | TCP SYNスキャン |
| -sT | TCP Connectスキャン |
| -sW | Windowsスキャン |
| -sX | Xmasツリースキャン |
主なオプション
| -F | 高速のスキャンモード |
| -iL [ファイル名] | ターゲットをファイルから読み込む |
| -p [ポート番号] | スキャンするポート番号を指定。範囲指定も可 |
| -PO | スキャンを行う前にPingを全く行わないように指定 |
| -PT | TCP Pingを利用しえt稼働中サーバを指定 |
| -T [タイミングテンプレート] | スキャン速度。スキャンするタイミングを設定 |
例
・localhostの22-25ポートにTCPスキャン
# nmap -sT localhost -p 22-25 Starting Nmap 6.40 ( http://nmap.org ) at 2015-10-14 15:07 JST Nmap scan report for localhost (127.0.0.1) Host is up (0.000082s latency). Other addresses for localhost (not scanned): 127.0.0.1 rDNS record for 127.0.0.1: localhost.localdomain PORT STATE SERVICE 22/tcp closed ssh 23/tcp closed telnet 24/tcp closed priv-mail 25/tcp closed smtp
tcpdump
tcpdumpはネットワークのトラフィックをダンプするコマンドです
書式
tcpdump [オプション] [条件式]
[]省略可能
主なオプション
| -i [インターフェイス名] | 監視するインターフェイスを指定 |
| -n | アドレス・ポート番号を名前変換しない |
| -r [ファイル名] | パケットをファイルから読み込む |
| -s [サイズ] | キャプチャするサイズを指定。サイズ0に受診すると、すべてをキャプチャ |
| -w [ファイル名] | 受診したパケット内容をファイルに出力 |
| -x | パケットの中身を16進数で表示 |
| -X | パケットの中身を16進数とASCII文字で表示 |
条件式
| host [ホスト] | 指定したホストを対象とする |
| port [ポート番号] | 指定したポート番号を対象とする |
| dst host [ホスト] | 指定したホストに送信するパケットを対象とする |
| src host [ホスト] | 指定したホストに受診するパケットを対象とする |
| dst port [ポート番号] | 指定したポート番号に送信するパケットを対象とする |
| src port [ポート番号] | 指定したポート番号に受診するパケットを対象とする |
| net [ネットワークアドレス] | 指定したネットワークアドレスを対象とする |
| net [ネットワークアドレス] mask [マスク] | 指定したネットワークアドレス / マスクを該当するものを対象とする |
複数の条件接続
| [条件式1] and [条件式2] | 条件式1と条件式2の両方を満たすものを対象とする |
| [条件式1] or [条件式2] | 条件式1と条件式2のどちらかを満たすものを対象とする |
| not [条件式1] | 指定した条件以外のもを対象とする |
例
・192.168.0.11 のパケットを表示
# tcpdump host 192.168.0.11
・192.168.0.11 のポート番号80のパケットを表示
# tcpdump host 192.168.0.11 and port 80
・インターフェイスeth0 のパケットをASCII文字と16進数で表示
# tcpdump -s0 -i eth0 -X
・192.168.0/24 ネットワークのパケットをASCII文字と16進数で表示
# tcpdump -s0 -i eth0 -X net 192.168.0 mask 255.255.255.0


コメント