インターネット上で公開するWebサーバのセキュリティは、サービスの安定的な運用という点からも重要だ。こうしたサーバのセキュリティはどう確保していけばいいのだろうか。
前回は、会社のインターネット接続について、セキュリティの視点でご紹介しましたが、今回は、インターネット公開サーバ、特にWebサーバのセキュリティについてお話ししたいと思います。
企業の情報システム管理者の皆さんの中には、会社の顔となる企業Webサイトを運用されている方も多いと思います。また、カスタマーサポートやお問い合わせ窓口などの機能を持っているWebサイトを担当されている方も多いことでしょう。
悪意を持った攻撃を受けてWebサーバがダウンした場合、通常のハードウェア障害と比較して、復旧までの時間は非常に長いものとなります。
今回は、Webサーバの運用管理を行ううえで、気を付けた方が良い点をセキュリティの観点からご紹介します。
Webサーバのセキュリティ対策の基本的な考え方にはいくつかの種類がありますが、まずは機密性の保持について考えていきましょう。
機密性とは、許可された利用者のみが情報にアクセス可能な状態であり、それ以外の利用者には情報を非公開とすることを表しています。
Webサーバのエラー画面には、デフォルトでいくつもの情報が含まれている場合があります。OSの種類やWebサーバソフトウェアの種類、バージョン、PHPやSSLなどのバージョン情報まで、非常に多くの情報を表示することが可能です。しかし、これらの情報は、Webサイトにアクセスしてくるユーザーにとっては不必要な情報であり、逆に、バージョン情報が漏えいすることにより、攻撃対象となってしまう恐れもありますので、非表示にするべきです。
例えば、多くのWebサーバで利用されているソフトウェアである「Apache」では、設定ファイル内の"ServerToken"の設定を"Prod"とすることで、バージョン情報を非表示とすることができます。
また、公開サーバを設置しているネットワークセグメントにグローバルIPアドレスが豊富に割り当てられている場合には問題になりにくいのですが、Webサーバに割り当て可能なIPアドレスが1つしかない場合に、セキュリティの観点から問題が出る可能性があります。
複数の機能を持ったWebサイトを1つのIPアドレスで同じサーバ上に実装していく場合、名前でWebサイトを区別したバーチャルホスト(仮想Webサイト)を作成していくことになりますが、一般的に利用されているファイアウォールは、IPアドレスを基にしたアクセス制御を行います。
その場合、Webサーバ側で、バーチャルホスト(仮想Webサイト)ごとにアクセス元IPアドレスの制御を行うことができますので、第1段階としては、この機能を用いてセキュリティを高めましょう。これは、主に管理画面などに管理者のみがアクセスできるよう、制御する場合に有効です。
さらに、同じWebサイトの中でアクセス制御を区分したい場合は、Webアプリケーションファイアウォールを用いることで、URLごとやファイルごとのアクセス制御が可能となります。
オープンソースソフトウェアの「ModSecurity」は、Webサーバにインストールすることで高度なセキュリティ制御が可能となりますので、試してみる価値はあります。
このソフトでは、ユーザーリクエスト中の文字列をその都度解析するのでサーバの負荷は増えますが、近年のサーバ性能の向上もあり、大規模アクセスを受けるサイトでなければ、実用範囲になっていると思います 。
Copyright © ITmedia, Inc. All Rights Reserved.