
社内ネットワークを守るには,ファイアウォールで外からの攻撃を防ぐ対策はもちろん必要だが,それだけでは不十分。LANの内部にあるパソコンやネットワーク機器でも個別に守りを固める必要がある。
その第一歩としてすぐにでもやっておきたいのが,「ポート・スキャンによる開きポートの調査」と「Windowsのログイン用パスワードの強化」─の二つである。ほかにもやるべきこと*はたくさんあるが,まずはフリーソフトを活用して基本ともいえるこの二つを実行することから始めよう。
ポート・スキャナで穴を見つける
社員が勝手に自分のパソコンでサーバーとして動く(=待ち受けポートを開ける)ソフトを動かしていたり,VPNソフトを使って外にトンネルを掘っていたりすると,ネットワーク経由で侵入されて踏み台にされる危険がある。
そうした行動を勝手にとらないよう呼びかけることは当然必要だが,呼びかけに全員がちゃんと応じてくれるとは限らない。ネットワークの知識に乏しいユーザーが,危険性を理解しないままサーバーとして動くソフトをインストールしているケースもあり得る。
やはり,ネットワーク越しに開いているポートをチェックする作業はどうしても必要である。一般にこうしたチェック作業には「ポート・スキャナ」(あるいはポート・スキャン・ツール)と呼ぶツールを使う*。ポート・スキャナとは,指定したIPアドレスに対してポート番号をずらしながらTCPやUDPのパケットを連続して送りつける。こうすることで,どのポートが開いているかがわかる。
ポート・スキャナは,セキュリティ・チェックのための最も基本的なツールの一つなので,フリーソフトも数多く存在する。名の知れたソフトならどれを選んでもいいが,ここでは「SuperScan」というポート・スキャナを紹介しよう(図1)。
●図1 SuperScan |
![]() |
![]() |
使っているサーバー・ソフト名も表示
SuperScanは,単に開いているポートを報告するだけでなく,そのポートをどんなサーバー・ソフトが待ち受けポートとして使っているかも自動で調べてくれる「バナー・チェック」機能を備える。例えばWebサーバーが使うTCP80番ポートが開いていれば,そのポートに対して実際にWebページの送信要求(HTTPリクエスト)を送ってみて,返ってきた答えから例えば「MicrosoftのIIS*バージョンxx」という具合にWebサーバー・ソフト名やバージョン番号を表示する。こうしたポート・スキャナを使ってネットワーク内の機器を定期的にスキャンするのに加えて,パケット・キャプチャ・ツールで流れているプロトコルの種類を解析したり,右ページ欄外にある「Snort」のようなIDS*を使って不審なパケットを検知することで社内ネットワークのセキュリティはかなり高まる。
安易なパスワードの怖さを教える
次はWindowsのログイン用パスワードの強化だ。多くの会社ではログイン用パスワードについて,例えば「最低でも8文字以上」,「推測されにくいパスワードを作る」,「定期的に変更する」といった運用ルールを作っているだろう。
でも,そうした運用ルールを強制的に守らせるようなシステムを導入していない限り,本当に守ってくれるかは基本的にユーザー任せになってしまう。
パスワードの管理は各自の責任で守らせたいけれども,できるだけ全員に強いパスワードを設定してもらいたいなら,論より証拠,どのくらい危険なのかを実演して見せるという手がある。
ユーザーを集めて,例えば「Ophcrack2」(図2)のようなパスワード・クラック・ツールを使い,自分のパソコンのログイン用パスワードを解読させてみるとよい。
●図2 Ophcrack2 |
![]() |
![]() |
Ophcrack2は,Windowsがハッシュ値*の形で格納しているログイン用パスワード情報をローカルで読み出し,計算済みのパスワードとハッシュ値の巨大な変換テーブルを利用してパスワードを解読する。安易なパスワードならわずか数秒ほど,相当強そうに思えるパスワードでも数分程度で多くを解読してしまう。
こうして怖さをデモで見せたあとは,強いパスワードを作るための講義をしたり,「認術大会」(図3)のようなパスワード評価ツールを使って自分の作ったパスワードの強度を社員一人ひとりに検証させるとよいだろう。
●図3 認術大会 |
![]() |
![]() |
認術大会は,点数と共にランキング表や解読されるまでの予想時間なども表示するので,みんなでワイワイ楽しみながら検証できる。
ただし,採点はかなり厳しめ。画面の表示例のようにPentium4パソコンで解析に44日間かかる予想のパスワードでもたったの25点だった。2ケタだったらとりあえずよしとするべきだろう。
社内ネットワークのセキュリティを守るお薦めツール
|
![]() |
||
|
|
![]() |
||
|
|
![]() |
||
|