Copyright © 2000-2005 eazyfox. All Rights Reserved. | |||||
|
|||||
HOME > Security > ポートスキャンでセキュリティチェック |
Linkページで紹介しているSygate Online ServiceでFirewallのセキュリティをチェックする方法について説明する。ポートスキャンは外部から見たPCまたはルーターのポート制限を調べるもので、簡単に言うとドアの鍵がちゃんとロックしてあるのかを調べることである。
ポートスキャンの結果は3つのパターンに分かれる。
Stealth(Blocked) | 外部から接続を試みるが反応がないとき。PCが存在するのか、しないのか相手には不明になる。 |
Close | 外部から接続を試みるが接続を拒否されたとき。PCは存在するが、接続はできない |
Open | 外部から接続を試みると接続できたとき。PCは存在して、サービスが利用可能状態にある |
Openだからといって必ず接続できるとは限らない。パスワードで保護されている場合や、接続相手先が制限されている場合は簡単には侵入されない。しかしパスワードを破る機会を与えていることにはなる。
最初に表示されるのはPrescanのボタン。「Scan Now」をクリックすればポートスキャンが開始される。ここではPCの情報を取得するためのスキャンが行われる。
取得される情報はIPアドレス、OSの種類、ブラウザの種類。またサーバの情報としてFTP、POP3、SMTP、Telnet、Finger、Ident、Socks、Proxy、SSH、Httpのサーバポートをスキャンする。
スキャンに必要な時間は30秒程度。
Prescanでスキャンされるポートの一覧を見てみよう
ポート | プロトコル | サービス名 | 説明 |
113 | TCP | IDENT | |
80 | TCP | Http | Webサーバを起動していればサーバの種類が表示される |
79 | TCP | Finger | |
25 | TCP | SMTP | SMTPサーバを起動していればサーバの種類が表示される |
23 | TCP | Telnet | |
22 | TCP | SSH | |
21 | TCP | FTP | FTPサーバを起動していればサーバの種類が表示される |
110 | TCP | POP3 | POP3サーバを起動していればサーバの種類が表示される |
1080 | TCP | Socks | |
8080 | TCP | Proxy | Proxyサーバを起動していればサーバの種類が表示される |
WindowsでFingerやsshなどを起動しているとは思えないので説明は省略した。稀にルーターが設定用にhttpサーバを持っている場合、80番がOpenになるときがある。
Prescanの結果表示。上から順に赤文字でIPアドレスが表示されている。OSはWindowsXP、ブラウザはIE6。筆者はWebサーバとメールサーバが起動しているので「Apache/2.0.49」と「AfGoSoft Mail Server」が表示されている。しっかりとバージョンまで出ているのがちょっと怖い。
左にあるスキャンのメニューを順に実行してみる
各スキャンの対象となるポートは後述する。どのスキャンでも「Scan Now」をクリックするとスキャンが開始され、数分で終了する。
Firewallやルーターのチェックをするのなら、まずは「Quick Scan」か「Stealth
Scan」を行うのがよい。
ただし両チェックともTCPしかスキャンしないので、他のポートやUDPが気になる人は「Trojan
Scan」以下を実施するのがいいだろう。ただし時間がかかるのが難点
QuickスキャンとStealthスキャンの対象となるポートはほとんど同じ。でもStealthスキャンはちょっと特殊な接続を試みるので、Quickスキャンと結果が異なる場合がある。
Service | Quick | Stealth | Ports | 説明 |
FTP DATA | ○ | ○ | 20 | QuickとStealthでは「Location Service」などの検査項目が異なる。しかし大体の内容は同じ。どちらもTCPだけのスキャンとなる。 ・Quick Scanについて 通常のポートスキャン(ShieldUp!など)と同じで、外部からの接続(SYN)に対する応答(ACKまたはRST)の有無を判定する。ACK応答があれば"OPEN"、RST応答があれば"CLOSE"、応答がなければ"BLOCKED"になる。 ・Stealth Scanについて 通常のポートスキャンと異なり、外部からの接続を通常以外の方法でも試みるスキャン。Quickで"BLOCKED"になっているポートでも、Stealthスキャンでは"CLOSE"と表示されるケースがある。詳細は不明だがSygateはいろんなテクニックを使ってスキャンしていると言っている。パケットモニタを使ってパケットのログを見ると何をやっているのかわかるのだろうが、あまり詳しく書いても対処のしようがないの省略する。ちなみにSygate、Kerio2をダイヤルアップで接続して試してみたが全て"BLOCKED"になった。 このことからQuickとStealthの違いは「通常Personal Firewallを使っていれば同じ結果になる。ルーターやパケットフィルタ型のFirewallでは異なる結果になる場合がある」ということになる。想像するにステートフルとステートレスの違いやSpoofing対応の違いだろう |
FTP | ○ | ○ | 21 | |
SSH | ○ | ○ | 22 | |
TELNET | ○ | ○ | 23 | |
SMTP | ○ | ○ | 25 | |
DNS | ○ | ○ | 53 | |
DCC | ○ | ○ | 59 | |
FINGER | ○ | ○ | 79 | |
WEB | ○ | ○ | 80 | |
POP3 | ○ | ○ | 110 | |
IDENT | ○ | ○ | 113 | |
Location Service | ○ | − | 135 | |
NetBIOS | ○ | − | 139 | |
HTTPS | ○ | ○ | 443 | |
Server Message Block | ○ | ○ | 445 | |
SOURCE PORT | − | ○ | 1125 | |
SOCKS PROXY | ○ | ○ | 1080 | |
UPnP | ○ | − | 5000 | |
WEB PROXY | ○ | ○ | 8080 | |
トロイの木馬 | Ports | |||
Trojan | ○ | − | 1243 | 有名なトロイの木馬のポートはスキャンしているが、トロイ対策であれば「Trojan Scan」でチェックしたほうがよい。 |
Trojan | ○ | − | 1999 | |
Trojan | ○ | − | 6776 | |
Trojan | ○ | − | 7789 | |
Trojan | ○ | − | 12345 | |
Trojan | ○ | − | 31337 | |
Trojan | ○ | − | 54320 | |
Trojan | ○ | − | 54321 | |
ICMP | Type | |||
ICMP | ○ | − | 8 | ICMPはType8(Echo Request)だけをチェックしている |
スキャン結果には出てこないが、Firewallのログを見てみると、QuickとStealthの両方で1番〜10番のポートもスキャンの対象となっている。
スキャンの結果は左図のように表示される。「Status」のところに"OPEN","CLOSE","BLOCKED"が表示される。
OPENのポートはStatus項目が赤黒く色が変わっているので一目でわかる。
その他のスキャンは
Trojan Scan | トロイの木馬が使うポートをスキャンする。ポートの一覧はhttp://scan.sygate.com:443/cgi-bin/probe/trojans.cgi |
TCP Scan | TCPで1024以下の全てのポートをスキャンする。30分程度かかる。"OPEN"になっているポートが表示される |
UDP Scan | UDPで1024以下の全てのポートをスキャンする。20分程度かかる。"OPEN"になっているポートが表示される |
ICMP | 現在機能していない |
TCPとUDPのスキャンは非常に時間がかかるので、ShieldUp!で「All Service Ports」をやったほうがいいと思う。Trojanのスキャンは対象となるポートも多いので時間がかかるのは仕方ないかな?
いずれにしてもサーバの公開やP2Pなどをしていないのなら、外部からの接続はすべて「BLOCKED」になっているのが望ましい。インターネットにお出かけするときは必ず鍵をかけることを忘れてはいけない。