出荷前のテスト1 - ペネトレーションテスト

何回かに分けて、サービス出荷前のテストについて、公開できる範囲のことを書いていきます。出荷前に見つけられれば重要な欠陥ということで内部処理できますが、出荷後に見つかると致命的な事故が発生する可能性があります。

サービスの本番系のネットワークとサーバが組みあがると、ペネトレーションテスト (penetration test) を行います。既知の攻撃方法を実際に外部から行うことにより、事前にセキュリティ上の弱点を洗い出し、対策を行うことができます。

定番のツールは Nessus ですが、先ず最初に攻撃用のプラグインを更新してから、デフォルトの設定にてスキャンします。その後、徐々に攻撃のレベルを上げていきます。その他、幾つかのツール (Brute Force Attack 系、Exploit Attack 系) を組み合わせて、機械的にできるチェックを行って、出荷に耐えられるか判定します。Web 専用では Nikto も使っています。

定期的にセキュリティチェックを行い、設定の修正、パッチを適用する運用を維持していくことをサービスの運用 (予算) の中に織り込みます。偶然に事故が起こっていない状態が継続しているというのではなく、事故が起こらないための事をやって、それを維持していくことが大切です。

森田::