Webアプリケーションの検査に加えて、サーバやネットワークの検査も重要だ。改めてネットワーク脆弱性検査の重要性を認識するためにも、今回はフリーツールを使ったネットワーク脆弱性検査を紹介する。
5月中旬に企業のWebサイトに不正侵入される被害が相次いだ。あなたの管理しているサーバでも同様の被害を受けるかもしれない。さらには機密情報の漏えいにもつながってしまう。そのためにも、前回説明したWebアプリケーションの検査に加えて、サーバやネットワークの検査も必要である。ネットワーク脆弱性検査については、昨今インターネット上や書籍などで解説されているが、今一度ネットワーク脆弱性検査の重要性を認識していただきたい。
ネットワークデバイス/サーバの脆弱性を調査するには、次のような8つの作業を行う必要がある。
すべては説明しないが、今回は代表的なツールを紹介しながら「2.ポートスキャン調査」「5.サービスの調査」「7.脆弱性情報の収集」の3つに的を絞って解説する。
攻撃者は、攻撃対象となるサーバを絞り込んだ後、最初にオープンポートの特定を行おうとするものである。TCPの場合であれば、基本的なポートスキャンの仕組みとしてスリーウェイハンドシェイクを利用する。まず、対象サーバへSYNフラグの立ったパケットを送り、対象サーバ側でオープンしていればSYN+ACKパケットを、クローズしていればRST+ACKパケットを返信する(図1)。
UDPの場合であれば、UDPパケットを対象サーバに送信し、何も返信がなければオープン、「ICMP port unreachable」メッセージを返信してきた場合はクローズしていると判断する。しかしUDPの場合は、サーバ側でパケットフィルタリングや、外部ネットワークとサーバとの間にファイアウォールが設置されていたりするなど、ブロックされている可能性がある。そのため、パケットの返信がなくてもオープンポートとは限らないので注意が必要になる。この場合には、UDPサービススキャンを行いUDPのオープンポートの推測を行う(図2)。
ポートスキャンの代表的なフリーツールとしては、「nmap」が挙げられるだろう。詳細な使用方法についてはマニュアルに譲るとして、次ページから基本的な使い方を説明したい。
Copyright © ITmedia, Inc. All Rights Reserved.