ページの先頭行へ戻る
Interstage Application Server V13.0.0 Interstage HTTP Server 2.4運用ガイド
FUJITSU Software

4.6 セキュリティ対策

Interstage HTTP Server 2.4のセキュリティ対策について以下に説明します。


アクセス時の注意

WebブラウザからWebサーバにアクセスする際、ネットワーク上の悪意のある人(またはマシン)が、正当なアクセス権限をもつ人(またはマシン)になりすまし、Webサーバにアクセスする脅威があります。

アクセスしたユーザが本人であるかを確認するために、SSLプロトコルとして脆弱性のない信頼性の高いバージョンのクライアント認証によるSSL通信を使用することをお勧めします。

SSLの設定については、「3.9 SSLの設定」を参照してください。


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

ネットワーク上の悪意のある人(またはマシン)が、正当にアクセスする権限を持つ人(またはマシン)とサーバとの間の通信データをのぞき見する脅威があります。または、サーバとの間の通信データを改ざんし、それが正当なデータとしてやりとりされる脅威があります。

暗号化によるセキュリティ保護を行うため、SSL通信を使用することをお勧めします。

SSLの設定については、「3.9 SSLの設定」を参照してください。


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

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

これらのファイルは悪意のある人(またはマシン)による不正アクセスという脅威にさらされる可能性があります。

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


パスワード情報の漏洩

Interstage HTTP Server 2.4には、パスワードファイルがあり、悪意のある人(またはマシン)がそのファイルをのぞき見る脅威があります。

パスワードファイル内のパスワードデータは暗号化されていますが、一般ユーザからアクセスできないようにするため、管理者がhtpasswdコマンドを使用してパスワードファイルを作成することをお勧めします。パスワードファイルの作成方法については、「3.7 ユーザ認証の設定」を参照してください。


Denial of Service attack (DoS)の脅威

ネットワーク上の悪意のある人(またはマシン)が、標的とするサーバに対してサービスを不能にする脅威があります。

Denial of Service attack (DoS)の脅威に備え、以下のような機能を使用することをお勧めします。


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

ネットワーク上の悪意のある人(またはマシン)が、HTTPリクエストデータ内に存在する個人情報を盗み見たり、任意のコードを実行する脅威があります。

このような脅威に備え、環境定義ファイルhttpd.confのTraceEnableディレクティブに「off」を指定して、HTTP TRACEメソッドを無効にすることをお勧めします。

なお、TRACEメソッドは、ネットワーク上の診断を行うためなどに使用され、クライアント側から送出したデータをそのままレスポンスデータとして受信するHTTP/1.1のメソッドです。通常、使用されないため、無効にしてもWebサーバ運用上の影響はありません。

TraceEnable  off

ユーザアカウント名発見の脅威

ネットワーク上の悪意のある人(またはマシン)により、Webサーバマシン上のユーザアカウント名が発見される脅威があります。

このような脅威に備え、環境定義ファイルhttpd.confに以下を設定し、ユーザアカウントのホームディレクトリ配下のドキュメントに対する要求を無効にすることをお勧めします。

LoadModule userdir_module "/opt/FJSVahs/modules/mod_userdir.so"
UserDir    disabled

ポイント

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


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

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


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

LoadModule userdir_module "/opt/FJSVahs/modules/mod_userdir.so"
UserDir    public_html
UserDir    disabled
UserDir    enabled user1 user2

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

LoadModule userdir_module "/opt/FJSVahs/modules/mod_userdir.so"
UserDir    public_html
UserDir    disabled user3 user4

注意

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

  • 指定されたユーザ「user」が存在しない場合:

    ステータスコード「404」(Not Found)を返します。

  • 指定されたユーザ「user」が存在する場合:

    ステータスコード「403」(Forbidden)を返します。
    これは、指定されたユーザ「user」が存在するが、ユーザのホームディレクトリに、Webサーバからアクセス可能な権限が設定されていない場合に発生します。Webサーバの実行ユーザは、Userディレクティブで指定します。


    useraddコマンドでユーザのホームディレクトリを作成すると、ディレクトリの権限は所有者だけに設定され、そのユーザだけがアクセス可能となるため、本現象が発生します。


クリックジャッキングによる脅威

Webページの透過表示機能などが悪用されて、ユーザが意図しないクリック動作が行われる脅威があります。このような脅威に備え、HTTPレスポンスヘッダーにX-FRAME-OPTIONSヘッダーを含めるように設定して、Webページのフレーム(frame/iframe)内でコンテンツの表示を禁止することにより、クリックジャッキングを防止することをお勧めします。

HTTPレスポンスヘッダーにX-FRAME-OPTIONSヘッダーを含めるように設定するには、Webサーバの環境定義ファイルhttpd.confに以下を設定してください。


すべてのWebページのフレーム(frame/iframe)で、コンテンツの表示禁止する場合

Headerディレクティブで、X-Frame-Optionsヘッダーに「DENY」を設定します。


LoadModule headers_module "C:/Interstage/F3FMahs/modules/mod_headers.so"
Header always append X-FRAME-OPTIONS "DENY"

LoadModule headers_module "/opt/FJSVahs/modules/mod_headers.so"
Header always append X-FRAME-OPTIONS "DENY"

異なるサイトのWebページのフレーム(frame/iframe)でのみ、コンテンツの表示を禁止する場合

Headerディレクティブで、X-Frame-Optionsヘッダーに「SAMEORIGIN」を設定します。


LoadModule headers_module "C:/Interstage/F3FMahs/modules/mod_headers.so"
Header always append X-FRAME-OPTIONS "SAMEORIGIN"

LoadModule headers_module "/opt/FJSVahs/modules/mod_headers.so"
Header always append X-FRAME-OPTIONS "SAMEORIGIN"

クロスサイトスクリプティングによる脅威

Webブラウザによるコンテンツタイプの自動判別機能が悪用されて、クロスサイトスクリプティングが行われる脅威があります。このような脅威に備え、HTTPレスポンスヘッダーに「X-Content-Type-Options: nosniff」ヘッダーを含めるように設定して、コンテンツタイプの自動判別を無効にすることにより、クロスサイトスクリプティングを防止することをお勧めします。

HTTPレスポンスヘッダーに「X-Content-Type-Options: nosniff」ヘッダーを含めるように設定するには、Webサーバの環境定義ファイルhttpd.confに以下を設定してください。


LoadModule headers_module "C:/Interstage/F3FMahs/modules/mod_headers.so"
Header always append X-Content-Type-Options "nosniff"

LoadModule headers_module "/opt/FJSVahs/modules/mod_headers.so"
Header always append X-Content-Type-Options "nosniff"

上記と合わせて、WebブラウザのXSSフィルター機能を使って有害スクリプトを検出し、クロスサイトスクリプティングによる脅威を減らすために、HTTPレスポンスヘッダーに「X-XSS-Protection 1; mode=block」ヘッダーを含めるように設定することをお勧めします。

HTTPレスポンスヘッダーに「X-XSS-Protection 1; mode=block」ヘッダーを含めるように設定するには、Webサーバの環境定義ファイルhttpd.confに以下を設定してください。


LoadModule headers_module "C:/Interstage/F3FMahs/modules/mod_headers.so"
Header always append X-XSS-Protection "1; mode=block"

LoadModule headers_module "/opt/FJSVahs/modules/mod_headers.so"
Header always append X-XSS-Protection "1; mode=block"

不要なHTTPメソッドからのアクセスによる脅威

意図しないHTTPメソッドからのアクセスによる脅威を避けるため、不要なHTTPメソッドのアクセス制御を制限することをお勧めします。

特定のHTTPメソッドにアクセスを制限・許可するには、Webサーバの環境定義ファイルhttpd.confに以下のディレクティブを設定してください。

Webサーバの情報漏洩対策

Webサーバがクライアントに送り返すHTTPレスポンスヘッダー内に、不要なサーバの情報が含まれないように対策をすることをお勧めします。

HTTPレスポンスヘッダー内に、不要なサーバの情報が含まれないように設定するには、Webサーバの環境定義ファイルhttpd.confに以下を設定してください。

ServerTokens Prod

上記はインストール時に設定されます。


リクエストを受け付けるプロセスのアクセス制御についての注意

Webブラウザ経由でプログラムが 必要以上のアクセスを行わないように、リクエストを受け付けるプロセスのユーザIDとグループIDを制限することをお勧めします。

リクエストを受け付けるプロセスのユーザIDとグループIDを設定するには、Webサーバの環境定義ファイルhttpd.confに以下を設定してください。

User daemon
Group daemon

上記はインストール時に設定されます。


ディレクトリリスティングによる脅威

Webブラウザ経由でWebサーバのディレクトリの一覧を採取されないように防止することをお勧めします。ディレクトリの一覧を取得されないためには、Webサーバの環境定義ファイルhttpd.confに、<Directory>ディレクティブや<Location>ディレクティブに対し、Options指定で「Indexes」を指定しないことをお勧めします。


SSLダウングレードによる脅威