最近は個人で簡単にサーバを立ち上げられるようになりました。そこで心配になるのがセキュリティですが、なんと うまい棒約2本分のコスト(20円くらい)、都合1時間で、きっちりとサーバの脆弱性を試験できます。
それでは実際の手順に。
注意!
脆弱性スキャンをするのは、必ず、自身の管理するサーバにしてください。攻撃者は簡単に脆弱性を発見するためにこの手のツール(そもそも、全く同じツールの場合も)を使うことは多く、攻撃と区別がつきません。
つかうもの
Nessus
Tenable Network Security社が開発する脆弱性検知スキャナです。非商用(個人)は無料で利用できます。法人は年間サブスクリプションが$1,500/USD位です。
製品紹介
http://www.tenable.com/products/nessus
こいつのオープンソース版もあるので、商用利用したい&お金が無い人はこいつを自力でがんばってセットアップしてください。(こちらだとさすがに初回で1時間は厳しいです)
OpenVAS
http://www.openvas.org
※OpenVASの構築については今回はやりません
AWS
今回のインフラはコレです。その他のクラウドでも出来ますが、AWS Marketplaceを使うのでこいつで。AWSの契約がない場合は事前に済ませておいて下さい。
手順
1. Nessus Homeの登録
Nessusを無料で利用するために、ユーザ登録をします。といっても、名前とメールアドレス、国を登録してさくっと終わり。
2. AWS Marketplaceからインスタンスを起動する
はい。今回使うNessusにはAMIがあるんです。
なので、マーケットプレイスでNessusで検索し、こいつを起動します。
CPU中心に結構リソースを食うので、ある程度CPUパワーがあるやつを使って下さい。私はc1.mediumを使いました。(AMIから起動したからだと思いますが、c3が使えなかった)
3. Nessusにログインする
AMIが起動したら、以下のURLにブラウザで接続しセットアップをします。
https://[server_addr]:8834
基本的には管理者ユーザの登録と、プラグイン(パターンファイル的なもの)等のアップデートです。アップデートは少し時間がかかるので10分くらいでしょうか。
終わったら先ほど作ったアカウントでログインできるので、ログインして以下の手順に。
3-1. Policyの作成
管理画面上のPoliciesを選択し、"+ New Policy"を押して新しいポリシーを作成します。いくつかテンプレートがありますが、今回は"Basic Network Scan”で作ります。
基本的にはウィザードに答える形で簡単に作れると思います。 最後に聞かれる認証情報は、それがあるとログインしていろいろ調べてくれますが、必須ではないので選択・入力しなくても大丈夫です。
3-2. Scanの作成
先ほど同様に、管理画面上のScansを選択肢、"+ New Scan"を押して新しいスキャン定義を作成します。これも画面を見れば判るくらい簡単です。
ちなみに作成が終わると、初期設定だと自動でスキャンが開始すると思います。
3-3. レポートが出来るのを待つ
もしスキャンが開始していなかったら、Scanの一覧から手動で開始してください。環境にも依りますが、1サーバあたり概ね10〜20分くらいでスキャンが終わると思います。
3-4. レポートを見る
はい、あとは見るだけです。HighとかCriticalがあったらがんばって直しましょう。英語ですが、対策の仕方なども書かれていると思います。
4. インスタンスを止める
忘れずにきっちり止めましょう。EC2なんで、どんどんお金がかかります。
あとがき
Nessusは基本英語になりますが、亜種のOpenVASと比べてインターフェースはわかりやすいので、英語が苦手な人でもあまり苦にならないと思います。
セキュリティというとどうしても取っつき辛いところはありますが、EC2の基本操作さえ出来れば1時間あれば出来ると思います。ぜひチャレンジしてみてください。