• 検索結果がありません。

Interstage HTTP Server運用に関する対策

ドキュメント内 セキュリティシステム運用ガイド (ページ 47-51)

第2章 セキュリティ対策

2.3 Interstage HTTP Server運用に関する対策

Interstage HTTP Server運用に関するセキュリティ対策について以下に説明します。

・ アクセス時の注意

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

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

・ パスワード情報の漏洩

・ サーバ情報の漏洩

・ Denial of Service attack (DoS)の脅威

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

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

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

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

アクセス時の注意

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

アクセスしたユーザが本人であるかを確認するために、SSLプロトコルバージョン「SSL3.3」(TLS 1.2)のクライアント認証による SSL通信を使用することをお勧めします。

SSL通信については、「第15章 Interstage HTTP ServerでSSLを利用する方法」を参照してください。

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

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

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

SSL通信については、「第15章 Interstage HTTP ServerでSSLを利用する方法」を参照してください。

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

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

・ コンテンツ

・ 環境定義ファイル(httpd.conf)

・ アクセスログファイル

・ エラーログファイル

・ トレースログファイル

・ オペレーションログファイル

・ 保守ログファイル

・ CGI

・ ディレクトリごとの環境定義ファイル(.htaccess)

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

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

Windows(R)システムではAdministrator)のみがアクセス可能であるという設定をすることをお勧めします。

パスワード情報の漏洩

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

パスワードファイル内のパスワードデータは暗号化されていますが、一般ユーザからアクセスできないようにするため、管理者

がhtpasswdコマンドを使用してパスワードファイルを作成することをお勧めします。パスワードファイルの作成方法については、

「4.1 ユーザ認証」を参照してください。

サーバ情報の漏洩

ネットワーク上の悪意のある人(またはマシン)が、HTTPレスポンスヘッダのServerヘッダフィールドに存在するサーバ情報を 入手し、OS情報および製品情報から不正アクセスを試みることが可能となる脅威があります。

このような脅威に備え、Interstage HTTP Serverの環境定義ファイル(httpd.conf)において、IHSServerHeaderディレクティブに

「Off」を指定し、HTTPレスポンスヘッダのServerヘッダフィールドを送信しない設定で運用することをお勧めします。

IHSServerHeaderディレクティブの設定方法については、「Interstage HTTP Server 運用ガイド」の「ディレクティブ一覧」-

「IHSServerHeader」を参照してください。

IHSServerHeader Off

Denial of Service attack (DoS)の脅威

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

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

・ ユーザ認証

登録したユーザからのアクセスだけを許可するように設定することができます。

ユーザ認証機能については、「4.1 ユーザ認証」を参照してください。

・ IPアクセスコントロール

特定のクライアントだけをアクセス許可/拒否を設定することができます。

IPアクセスコントロール機能については、「4.2 IPアクセスコントロール」を参照してください。

・ SSL通信の使用

クライアントの正当性を確認できる高度なセキュリティ保護を行うことができます。

SSL通信については、「第15章 Interstage HTTP ServerでSSLを利用する方法」を参照してください。

・ クライアントからのリクエストメッセージのサイズ制限

バッファオーバフローに備えて、リクエストメッセージの最大サイズを設定してください。リクエストメッセージの最大サイズは、

環境定義ファイル(httpd.conf)の以下のディレクティブで設定します。各ディレクティブの設定方法については、

「Interstage HTTP Server 運用ガイド」の「ディレクティブ一覧」を参照してください。

- LimitRequestBody

- LimitRequestFields

- LimitRequestFieldsize

- LimitRequestLine

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

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

このような脅威に備え、Interstage HTTP Serverの環境定義ファイル(httpd.conf)において、TraceEnableディレクティブに「off」

を指定し、HTTP TRACEメソッドを無効にすることをお勧めします。TraceEnableディレクティブの設定方法については、

「Interstage HTTP Server 運用ガイド」の「ディレクティブ一覧」-「TraceEnable」を参照してください。

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

TraceEnable off

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

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

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

LoadModule userdir_module "/opt/FJSVihs/modules/mod_userdir.so"

UserDir disabled

注意

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

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

・ 公開するホームディレクトリには、Webサーバからのアクセスが可能なアクセス権限を設定する。

・ 公開しないユーザに対しては、ユーザディレクトリの設定を無効とする。

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

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

UserDir public_html UserDir disabled

UserDir enabled user1 user2

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

LoadModule userdir_module "/opt/FJSVihs/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ヘッダを含めるように設定するには、Interstage HTTP Serverの環境定義ファ イル(httpd.conf)に以下を設定してください。Headerディレクティブについては、「Interstage HTTP Server 運用ガイド」の「ディ レクティブ一覧」-「Header」を参照してください。

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

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

LoadModule headers_module "C:/Interstage/F3FMihs/modules/mod_headers.so"

Header always append X-FRAME-OPTIONS "DENY"

LoadModule headers_module "/opt/FJSVihs/modules/mod_headers.so"

Header always append X-FRAME-OPTIONS "DENY"

異なるサイトのWebページのフレーム(frame/iframe)内でのみ、コンテンツの表示を禁止する場合 Headerディレクティブで、X-Frame-Optionsヘッダに「SAMEORIGIN」を設定します。

LoadModule headers_module "C:/Interstage/F3FMihs/modules/mod_headers.so"

Header always append X-FRAME-OPTIONS "SAMEORIGIN"

LoadModule headers_module "/opt/FJSVihs/modules/mod_headers.so"

Header always append X-FRAME-OPTIONS "SAMEORIGIN"

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

Webブラウザによるコンテンツタイプの自動判別機能が悪用されて、クロスサイトスクリプティングが行われる脅威があります。

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

HTTPレスポンスヘッダに「X-Content-Type-Options: nosniff」ヘッダを含めるように設定するには、Interstage HTTP Serverの 環境定義ファイル(httpd.conf)に以下を設定してください。Headerディレクティブについては、「Interstage HTTP Server 運用 ガイド」の「ディレクティブ一覧」-「Header」を参照してください。

LoadModule headers_module "C:/Interstage/F3FMihs/modules/mod_headers.so"

Header always append X-Content-Type-Options "nosniff"

LoadModule headers_module "/opt/FJSVihs/modules/mod_headers.so"

Header always append X-Content-Type-Options "nosniff"

ドキュメント内 セキュリティシステム運用ガイド (ページ 47-51)