Interstage Application Server セキュリティシステム運用ガイド
目次 索引 前ページ次ページ

第1部 セキュリティ侵害の脅威と対策> 第2章 セキュリティ対策

2.2 Webサーバ(Interstage HTTP Server)運用に関する対策

■アクセス時の注意

 WebブラウザからInterstage HTTP Serverにアクセスする際、ネットワーク上に悪意のある人(またはマシン)が、正当なアクセス権限をもつ人(またはマシン)になりすまし、Interstage HTTP Serverにアクセスする脅威があります。
 アクセスしたユーザが本人であるかを確認するために、SSLバージョン3(クライアント認証)によるSSL通信を使用することをお勧めします。
 SSL通信については、“Interstage HTTP ServerでSSLを利用する方法”を参照ください。

■通信データについての注意

 ネットワーク上に悪意のある人(またはマシン)が、正当にアクセスする権限を持つ人(またはマシン)とサーバとの間の通信データをのぞき見する脅威があります。または、サーバとの間の通信データを改ざんし、それが正当なデータとしてやりとりされる脅威があります。
 暗号化によるセキュリティ保護を行うため、SSL通信を使用することをお勧めします。
 SSL通信については、“Interstage HTTP ServerでSSLを利用する方法”を参照ください。

■Denial of Service attack (DoS)の脅威

 ネットワーク上に悪意のある人(またはマシン)が、標的とするサーバに対してサービスを不能にする脅威があります。
 Denial of Service attack (DoS)の脅威に備え、以下のような機能を使用することをお勧めします。

■パスワード情報の漏洩

 Interstage HTTP Serverには、パスワードファイルがあり、悪意のある人(またはマシン)がそのファイルをのぞき見る脅威があります。
 パスワードファイル内のパスワードデータは暗号化されていますが、一般ユーザからアクセスできないようにするため、管理者がhtpasswdコマンドを使用してパスワードファイルを作成することをお勧めします。

■サーバ情報の漏洩

 ネットワーク上の悪意のある人(またはマシン)が、HTTPレスポンスヘッダのServerヘッダフィールドに存在するサーバ情報を入手し、OS情報および製品情報から不正アクセスを試みることが可能となる脅威があります。
 このような脅威に備え、Interstage HTTP Serverの環境定義ファイル(httpd.conf)において、IHSServerHeaderディレクティブに“Off”を指定し、HTTPレスポンスヘッダのServerヘッダフィールドを送信しない設定で運用することをお勧めします。IHSServerHeaderディレクティブの設定方法については、“Webサーバ運用ガイド(Interstage HTTP Server編)”を参照してください。

IHSServerHeader  Off

■資源ファイルへの不正アクセス

 Interstage HTTP Serverでは、以下のような資源ファイルを保持しています。

 これらのファイルは悪意のある人(またはマシン)による不正アクセスという脅威にさらされる可能性があります。
 これらのファイルを脅威にさらさないためには、そのファイルを一般ユーザからはアクセスできないようにするという対策があります。このために、それらのファイルに対して管理者権限をもつユーザ(Solaris OE/Linuxシステムではスーパユーザ、Windows(R)システムではAdministrator)のみがアクセス可能であるという設定をすることをお勧めします。

■HTTP TRACEメソッド悪用による脅威

 ネットワーク上に悪意のある人(またはマシン)が、HTTPリクエストデータ内に存在する個人情報を盗み見たり、任意のコードを実行する脅威があります。
 このような脅威に備え、Interstage HTTP Serverの環境定義ファイル(httpd.conf)に以下を設定し、HTTP TRACEメソッドを無効にすることをお勧めします。
 なお、TRACEメソッドは、ネットワーク上の診断を行うためなどに使用され、クライアント側から送出したデータをそのままレスポンスデータとして受信するHTTP/1.1のメソッドです。通常、使用されないため、無効にしてもInterstage HTTP Serverの運用上の影響はありません。


 mod_rewriteモジュールのLoadModuleおよびAddModuleディレクティブの定義を確認してください。Interstage HTTP Serverの環境定義ファイル(httpd.conf)の初期設定の定義位置でディレクティブが有効となっている場合は、コメント行(無効)とし、他のモジュールより処理を優先させるため、すべてのLoadModuleディレクティブの定義の最後尾にmod_rewriteモジュールの定義を追加してください。

...
#LoadModule info_module modules/mod_info.so
#LoadModule speling_module modules/mod_speling.so
#LoadModule rewrite_module modules/mod_rewrite.so
#LoadModule anon_auth_module modules/mod_auth_anon.so
#LoadModule dbm_auth_module modules/mod_auth_dbm.so
...
AddModule mod_alias.c
#AddModule mod_rewrite.c
AddModule mod_access.c
...
LoadModule jk2_module "C:/Interstage/F3FMjs4/gateway/mod_jk2.dll"
...
LoadModule rewrite_module modules/mod_rewrite.so
AddModule mod_rewrite.c
RewriteEngine On
RewriteCond %{REQUEST_METHOD} ^TRACE
RewriteRule .* - [F]

...
LoadModule vhost_alias_module libexec/mod_vhost_alias.so
LoadModule env_module libexec/mod_env.so
#LoadModule rewrite_module libexec/mod_rewrite.so
LoadModule access_module libexec/mod_access.so
LoadModule auth_module libexec/mod_auth.so
...
AddModule mod_alias.c
#AddModule mod_rewrite.c
AddModule mod_access.c
...
LoadModule jk2_module /opt/FJSVjs4/gateway/mod_jk2.so
...
LoadModule rewrite_module libexec/mod_rewrite.so
AddModule mod_rewrite.c
RewriteEngine On
RewriteCond %{REQUEST_METHOD} ^TRACE
RewriteRule .* - [F]

 なお、バーチャルホストを設定している場合、HTTP TRACEメソッドを無効にするには、以下のようにバーチャルホストごとに設定を追加してください。

LoadModule    rewrite_module  modules/mod_rewrite.so
AddModule     mod_rewrite.c
<VirtualHost 192.168.0.2>
    ServerName virt.example.com
    ServerAdmin webmaster@virt.example.com
    RewriteEngine On
    RewriteCond %{REQUEST_METHOD} ^TRACE
    RewriteRule .* - [F]
    ...
</VirtualHost>

LoadModule    rewrite_module libexec/mod_rewrite.so
AddModule     mod_rewrite.c
<VirtualHost 192.168.0.2>
    ServerName virt.example.com
    ServerAdmin webmaster@virt.example.com
    RewriteEngine On
    RewriteCond %{REQUEST_METHOD} ^TRACE
    RewriteRule .* - [F]
    ...
</VirtualHost>

■UNIXアカウント名発見の脅威

 ネットワーク上の悪意のある人(またはマシン)により、Webサーバマシン上のUNIXアカウント名が発見される脅威があります。
 このような脅威に備え、Interstage HTTP Serverの環境定義ファイル(httpd.conf)に以下を設定し、UNIXアカウントユーザのホームディレクトリ配下のドキュメントに対する要求を無効にすることをお勧めします。

LoadModule  userdir_module  libexec/mod_userdir.so
AddModule   mod_userdir.c
UserDir     disabled

注)LoadModuleおよびAddModuleディレクティブの先頭にハッシュマーク(#)を追加して、コメント行としてもよいです。

 UNIXアカウントユーザのホームディレクトリ配下のドキュメントを公開する場合は、以下のように設定してください。

 ユーザディレクトリの設定を無効とする場合の設定例を以下に示します。


 ユーザ名“user1”および“user2”のホームディレクトリ/public_html配下のドキュメントを公開する場合

UserDir public_html
UserDir disabled
UserDir enabled user1 user2

 ユーザ名“user3”および“user4”以外のすべてのユーザのホームディレクトリ/public_html配下のドキュメントを公開する場合

UserDir public_html
UserDir disabled user3 user4


 “UserDir public_html”だけを設定し、“http://ホスト名[:ポート番号]/~user”のリクエストを受けた場合、指定されたユーザ名“user”がUNIXサーバ上に存在するかにより、以下のように異なったステータスコードを返すことがあります。そのため、Webサーバマシン上のUNIXアカウント名が発見される可能性があります。


目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2006