第 4 章 運用・保守
4.6 セキュリティ対策
項目名 指定値
REALTIME No
TIMEOUT 任意(注)
注)Cmdlineリソースの開始・停止のタイムアウト時間(秒)です。Webサーバの起動・停止時間の2倍の値を指定し てください。
4.5.4 クラスタシステムの動作確認
Interstage HTTP Server 2.2において異常が発生した場合に、クラスタシステムの切替えが発生するかを確認します。
以下の異常発生テストを行い、クラスタシステムの切替えが発生するかを確認してください。また、クラスタシステムの切 替え後、運用ノード/待機ノードにおいてInterstage HTTP Server 2.2が正しく動作するかを、コマンドなどを使用して確 認してください。
1. 運用ノードにおいて、環境定義ファイル(httpd.conf)のPidFileディレクティブに設定されたpidファイルでプロセスID を特定します。
2. タスクマネージャで、手順1.のプロセスを終了します。
運用ノードにおいて、以下のコマンドでプロセスを終了します。
# kill -9 `cat /opt/FJSVahs/logs/httpd.pid`
注意
・ killコマンドで送るシグナルには、必ず「-9」を指定してください。
・ catコマンドには、環境定義ファイル(httpd.conf)のPidFileディレクティブに設定されたpidファイルを指定してください。
■資源ファイルへの不正アクセス
Interstage HTTP Server 2.2では、以下のような資源ファイルを保持しています。
・ コンテンツ
・ 環境定義ファイル(httpd.conf)
・ Webサーバ一覧ファイル(servers.conf)
・ アクセスログファイル
・ エラーログファイル
・ トレースログファイル
・ CGI
・ ディレクトリごとの環境定義ファイル(.htaccess)
これらのファイルは悪意のある人(またはマシン)による不正アクセスという脅威にさらされる可能性があります。
これらのファイルを脅威にさらさないためには、そのファイルを一般ユーザからはアクセスできないようにするという対策が あります。このために、それらのファイルに対して管理者権限をもつユーザ(Solaris/Linuxシステムではスーパユーザ、
Windows(R)システムではAdministrator)だけがアクセス可能となる設定をすることをお勧めします。
■パスワード情報の漏洩
Interstage HTTP Server 2.2には、パスワードファイルがあり、悪意のある人(またはマシン)がそのファイルをのぞき見る脅
威があります。
パスワードファイル内のパスワードデータは暗号化されていますが、一般ユーザからアクセスできないようにするため、管 理者がhtpasswdコマンドを使用してパスワードファイルを作成することをお勧めします。パスワードファイルの作成方法に ついては、「3.7 ユーザ認証の設定」を参照してください。
■Denial of Service attack (DoS)の脅威
ネットワーク上の悪意のある人(またはマシン)が、標的とするサーバに対してサービスを不能にする脅威があります。
Denial of Service attack (DoS)の脅威に備え、以下のような機能を使用することをお勧めします。
・ ユーザ認証
登録したユーザからのアクセスだけを許可するように設定します。
ユーザ認証機能については、「3.7 ユーザ認証の設定」を参照ください。
・ IPアクセスコントロール
特定のクライアントだけのアクセス許可/拒否を設定します。
IPアクセスコントロール機能については、「3.8 IPアクセスコントロールの設定」を参照ください。
・ SSL通信の使用
クライアントの正当性を確認できる高度なセキュリティ保護を行います。
SSLの設定については、「3.10 SSLの設定」を参照ください。
・ クライアントからのリクエストメッセージのサイズ制限
バッファオーバフローに備えて、リクエストメッセージの最大サイズを設定します。リクエストメッセージの最大サイズ は、環境定義ファイル(httpd.conf)の以下のディレクティブで設定してください。
- LimitRequestBody
- LimitRequestFields
- LimitRequestFieldsize
- LimitRequestLine
■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ディレクティブの先頭にハッシュマーク(#)を追加して、コメント行としてもよいです。
ユーザアカウントのホームディレクトリ配下のドキュメントを公開する場合は、以下のように設定してください。
・ 公開するホームディレクトリには、Webサーバからアクセス可能な権限を設定します。
・ 公開しないユーザに対しては、ユーザディレクトリの設定を無効とします。
ユーザディレクトリの設定を無効とする設定例を以下に示します。
例
ユーザ名「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コマンドでユーザのホームディレクトリを作成すると、ディレクトリの権限は所有者だけに設定され、そのユー
ザだけがアクセス可能となるため、本現象が発生します。