WAS Security Checker

Web Application Server(WAS)のセキュリティ設定を点検するサービスです。 それぞれのWASに特化したセキュリティ設定を点検し、セキュリティ向上のためのガイドを提供します。

点検できるWAS

  • Apache(httpd) 2.2.x基準
  • Tomcat 7.0/8.0基準
  • Nginx

WASの課金ポリシー

  • WASの脆弱性診断の場合、最初の診断から30日以内に同じ対象を再診断しても、追加1回までは別途の費用は発生しません。

    • 同じ対象とは、最初に診断したサーバ(Instance No.基準)とWASタイプが同じ場合をいいます。
    • 再診断可能期間や回数を超えた場合、新規診断を基準にして料金が発生します。
    • OSの脆弱性診断の場合、無料の再診断ポリシーは別途適用されません。

  • 課金の詳細例

No 診断区分 サーバ WAS 点検日時 備考
1 最初の診断 cent75 (InstanceNo:123456) apache 2019-01-26 cent75サーバに対してapacheを点検
2 再診断 cent75 (InstanceNo:123456) apache 2019-01-30 1回目の点検から30日以内に、同じサーバ/WASに対する再点検を実施
3 最初の診断 cent75 (InstanceNo:123456) apache 2019-01-30 30日以内に実施する再点検は、1回のみ無料で提供
4 最初の診断 cent75 (InstanceNo:123456) tomcat 2019-01-30 30日以内に同じサーバで点検を実施したが、他のWAS(Tomcat)を点検
5 再診断 cent75 (InstanceNo:123456) tomcat 2019-02-02 4回目の点検から30日以内に、同じサーバ/WASを再点検
6 最初の診断 ubuntu1204 (InstanceNo:456789) apache 2019-02-04 ubuntu1204サーバに対してapacheを点検
7 最初の診断 ubuntu1204 (InstanceNo:456789) nginx 2019-02-07 ubuntu1204サーバに対してnginxを点検
8 最初の診断 cent75 (InstanceNo:123456) apache 2019-03-15 3回目の点検から30日超過

WASセキュリティの点検項目

Apacheの点検項目

点検項目 点検項目に関する説明
log_config_module使用 log_configモジュールは、クライアントリクエストに対して柔軟なロギングと各ログに関する情報を提供します。 ロギング設定を有効化することをお勧めします。
webdav_modules使用禁止 WebDAVは、クライアントがWebサーバでファイルとリソースを作成、移動、削除できる拡張HTTPプロトコルです。 WebDAVは広く使用されておらず、クライアントがWebサーバで無断でファイルを修正できます。そのため、深刻なセキュリティ問題が生じる可能性があり、使用しないことをお勧めします。
status_module使用禁止 Apache mod_statusモジュールは、現在のサーバ性能に関する統計を提供します。サーバ性能の状態に関する情報をWebページで提供するのは便利ではありますが、このモジュールは無効化することをお勧めします。
autoindex_module使用禁止 Apache autoindexモジュールは、サーバにあるディレクトリの内容を羅列したWebページを自動的に作成します。index.htmlのように不要なページが作成されるため、無効化する必要があります。
proxy module使用禁止 Apacheプロキシモジュールは、サーバがプロキシまたは逆方向に動くように許可します。 プロキシモジュールがロードされたプロキシと、その他のプロトコルのプロキシを提供します。 Apacheのインストールが他のネットワークに対するプロキシリクエスト、または他のネットワークに存在しない場合、プロキシモジュールをロードしてはなりません。
userdir module使用禁止 tilde(~)を利用したユーザーのホームディレクトリアクセスを許可しないためには、無効化する必要があります。
info_module使用禁止 Apache mod_infoモジュールは、/etc/ server-info URL位置へのアクセスを通じてサーバ設定に関する情報を提供するため、このモジュールは使用してはなりません。
apache使用グループの制限 一般的に、Apacheはポート80と443で受信待機するためにroot権限で始まりますが、Webサービスの行うためにはrootではない他のユーザーで実行でき、また、その必要があります。 Apache UserとGroup指示文は、使用するユーザーとグループを指定する際に使用されます。
apache使用ユーザーの制限 一般的に、Apacheはポート80と443で受信待機するためにroot権限で始まりますが、Webサービスの行うためにはrootではない他のユーザーで実行でき、また、その必要があります。 Apache UserとGroup指示文は、使用するユーザーとグループを指定する際に使用されます。
apacheログインシェルの制限 apacheアカウントは一般ログインアカウントとして使用してはなりません。アカウントを使用してログインできなくするには、無効にするか、nologinシェルを割り当てる必要があります。
apacheアカウントロックに関するポリシー Apacheが実行されるユーザーアカウントには有効なパスワードは必要ありませんが、ロックされていなければなりません。
rootディレクトリへのアクセス制御- Order Apache Directory指示文を使用すると、アクセス制御とその他多くの機能、オプションに対するディレクトリ別の構成を許可します。 最も重要な使用法の一つは、特別に許可されたケースを除いて、OSのディレクトリとファイルに対するアクセスを許可しない、基本的な拒否ポリシーを作成することです。 これは、OS rootディレクトリに対するアクセスを拒否することで実行できます。 Order deny,allow
rootディレクトリへのアクセス制御- Deny Apache Directory指示文を使用すると、アクセス制御とその他多くの機能、オプションに対するディレクトリ別の構成を許可します。 最も重要な使用法の一つは、特別に許可されたケースを除いて、OSのディレクトリとファイルに対するアクセスを許可しない、基本的な拒否ポリシーを作成することです。 これは、OS rootディレクトリに対するアクセスを拒否することで実行できます。 Deny from all
AllowOverrideの設定- none Apache OverRide指示文を使用すると、.htaccessファイルを使用して認証、文書タイプの処理、自動作成索引、アクセス制御およびオプションを始めとした多くの構成を無視できます。 サーバがAccessFileNameに指定されたとおり、.htaccessファイルを見つけると、そのファイルに宣言された指示文が以前のアクセス情報を無視できる必要があります。 この指示文を「なし」に設定すると、.htaccessファイルは完全に無視されます。 この場合、サーバはファイルシステムの.htaccessファイルを読み取りません。 この指示文のAllに設定すると、.htaccess Contextを含む指示文を.htaccessファイルに使用できます。
Optionsの設定- none root(/) OSレベルに対するオプションの指示は、rootディレクトリレベルで最小限のオプションのみを許可する、最小権限ポリシーに従わなければなりません。 その後、特定WebサイトまたはWebサイトの一部に必要な場合、オプションを追加して使用できます。 Optionsは有効化し、オプション指示子の値はnoneでなければなりません。
基本コンテンツの使用制限- server-status Apacheをインストールする際に、使用用途に不適切または不要な基本コンテンツがインストールされる場合があります。 このようなサンプルコンテンツの主な機能は、基本Webサイトやユーザー説明書を提供し、Webサーバの特殊機能の実演を行うことです。 サービスに必要のないdefaultコンテンツは削除しなければなりません。
基本コンテンツの使用制限- server-info Apacheをインストールする際に、使用用途に不適切または不要な基本コンテンツがインストールされる場合があります。 このようなサンプルコンテンツの主な機能は、基本Webサイトやユーザー説明書を提供し、Webサーバの特殊機能の実演を行うことです。 サービスに必要のないdefaultコンテンツは削除しなければなりません。
基本コンテンツの使用制限- perl-status Apacheをインストールする際に、使用用途に不適切または不要な基本コンテンツがインストールされる場合があります。 このようなサンプルコンテンツの主な機能は、基本Webサイトやユーザー説明書を提供し、Webサーバの特殊機能の実演を行うことです。 サービスに必要のないdefaultコンテンツは削除しなければなりません。
HTTP TRACE使用禁止 Apache TraceEnableコマンドを使用して、HTTP TRACEリクエスト方式を無効化します。
エラーログレベルの設定- LogLevel notice LogLevel指示文はエラーログレベルを構成する際に使用されます。 ログレベル値は、emerg、alert、crit、error、warn、notice、infoおよびdebugの標準syslogレベルです。emergレベルからnoticeレベルまでのすべてのエラーを記録できるようにnoticeレベルに設定することをお勧めします。
エラーログレベル収集の設定 ErrorLog指示文は、エラーログファイル名を構成します。
ログフォーマットの定義 LogFormat指示文は、アクセスログ項目に含まれる形式と情報を定義します。
CustomLogフォーマットの定義 CustomLog指示文は、ログファイル、syslog機能またはパイプロギングユーティリティを指定します。
ssl_module使用 SSL(Secure Sockets Layer)またはTLS(Transport Layer Security)は、トラフィックの暗号化に使用されるため、個人情報とユーザー資格証明の機密性を提供します。 しかし、伝送中にデータを暗号化したため、クライアントの提供するデータがサーバに保存されている間保護されるという意味ではありません。mod_sslモジュールは、Apache用SSL/TLSを実装する際に最も広く使用される標準モジュールです。 Red Hatシステムで発見した新しいモジュールは、mod_sslを補完するか、置き換えることができ、同じ機能と追加セキュリティサービスを提供します。mod_nssは、MozillaのNSS(Network Security Services)ソフトウェアをApacheモジュールで実装したもので、TLS以外にも広範囲な暗号化機能を実装します。 データの保護のために、mod_sslまたはmod_nssをインストールしなければなりません。
ServerTokens設定 サーバのバージョンに対して最小限の情報のみを提供するように、Apache ServerTokens指示文を構成してください。 値をProdまたはProductOnlyに設定することをお勧めします。
ServerSignature設定 エラーページのようなサーバ作成文書の最下部の署名などに追加される情報を制限するために、ServerSignature指示文をoffにすることをお勧めします。
KeepAlive設定 KeepAlive指示文は、Apacheがそのクライアントの後続HTTPリクエストを処理するために、クライアントごとに同じTCP接続を再利用するかどうかを制御します。 KeepAlive指示文はOnに設定することをお勧めします。
MaxKeepAliveRequests設定 MaxKeepAliveRequests指示文は、KeepAliveが設定されている場合、接続ごとに許可するリクエスト数を制限します。 0に設定すると無制限リクエストが許可されます。 MaxKeepAliveRequests指示文は100以上に設定することをお勧めします。
Timeoutの設定 TimeOut指示文は、Apache HTTPサーバが入力/出力の呼び出し完了まで待機する最大時間(秒)を制御します。 TimeOut指示文は10以下に設定することをお勧めします。
KeepAliveTimeout設定 KeepAliveTimeout指示文は、Apacheが有効化した状態で維持される接続を閉じる前に、後続リクエストを待機する時間(秒)を指定します。 15秒以下に設定することをお勧めします。

Tomcatの点検項目

点検項目 点検項目に関する説明
サービスに不要なファイルの削除 Tomcatをインストールする際に基本的に提供されるアプリケーションと説明書、その他のディレクトリは削除することをお勧めします。 サンプルリソースは、不要な情報を外部に流出する恐れがあるため、削除することが望ましいです。
サーバ情報の露出を防ぐためのserver.info文字列の変更 基本的に、server.infoのプロパティにはアプリケーションサービス名とバージョン情報が含まれています。 この値は、クライアントがtomcatサーバに接続する際、Tomcatクライアントに表示されてサーバの情報を露出します。server.infoのプロパティを変更して情報を遮断すると、攻撃者がサーバのプラットフォームに影響を及ぼす脆弱性を判断し難くなります。
サーバ情報の流出を防ぐためのserver.number文字列の変更 server.numberのプロパティは、実行中のTomcatの詳細バージョンを表します。 この値は、接続される際にTomcatクライアントに表示されます。 サーバの詳細バージョンが露出すると、攻撃者はサーバプラットフォームに影響を及ぼす脆弱性を見つけやすくなります。 サーババージョンの文字列を変更し、どのような脆弱性がサーバプラットフォームに影響を及ぼすかについて、攻撃者が判断できなくする必要があります。
サーバ情報の露出を防ぐためのserver.built日付の変更 server.builtの日付は、Tomcatがコンパイルされてパッケージングした日付を表します。 この値は、クライアントがサーバに接続される際にTomcatクライアントに提供されます。 サーバがインストールされた日付が露出すると、攻撃者はサーバプラットフォームに影響を及ぼす脆弱性を見つけやすくなります。 Server.bulitの文字列を変更し、どのような脆弱性がサーバプラットフォームに影響を及ぼすかについて、攻撃者が判断できなくする必要があります。
X-Powered-By HTTPヘッダを使用しない xpoweredBy設定は、Apache TomcatがXPowered-By HTTPヘッダを通じてその存在の有無を知らせるかどうかを決定します。 この値はfalseに設定することをお勧めします。serverプロパティは、Apache Tomcatを追加でマスキングするHTTPヘッダから送られるデフォルト値を上書きします。 Tomcatがこのような方法で自分の存在をアピールすることを未然に防止すると、サーバプラットフォームにどのような脆弱性が影響を及ぼすかについて、攻撃者はより判断し難くなります。
Stack Traces情報露出の制限 リクエスト処理中にランタイムエラーが発生すると、Apache Tomcatは依頼者にデバッギング情報を表示します。 このようなデバッグ情報は、依頼者に開示しないことをお勧めします。 呼び出しスタックのようなデバッギング情報には、攻撃者が有効に活用できる重要な情報が含まれている場合が多くあります。 Tomcatがこの情報を提供できないくすることで、要配慮情報が潜在的な攻撃者に漏えいする危険性が減少します。
HTTP TRACEを使用しない HTTP TRACEは、与えられたリクエストに対するデバッギングと診断情報を提供します。 TRACEリクエストに対するレスポンスで発見された診断情報には、攻撃者に有用な情報が含まれている場合が多くあります。 Tomcatがこの情報を提供できなくすることで、要配慮情報が潜在的な攻撃者に漏えいする危険性が減少します。
Shutdownオプションのnondeterministic設定 Tomcatは、終了コマンドを処理するために基本的にTCP 8005ポートを使用します。 このポートに接続してSHUTDOWNコマンドを伝送すると、Tomcat内のすべてのアプリケーションが中止されます。 停止ポートは、ループバックインターフェイスにバインドされているため、ネットワークに表示されません。 $CATALINANAL_HOME/conf/server.xmlのShutdown特性に「nondeterministic」値を設定することをお勧めします。 Shutdownオプションを「nondeterministic」値に設定すると、悪性ローカルユーザーがTomcatを終了できなくなることがあります。
Shutdownポートの使用禁止 Tomcatは、TCPポート8005で受信待機のリクエストを許可します。 このポートに接続してSHUTDOWNコマンドを、Tomcat内のすべてのアプリケーションが中止されます。 終了ポートはループバックインターフェイスにバインドされているため、ネットワークに表示されません。 この機能を使用しない場合、終了ポートも使用しないことをお勧めします。 終了ポートを無効化すると、shutdownコマンドを使用してTomcatサーバを無効化する悪性ローカルエンティティの危険性を排除できます。
アクセス制限の設定:$CATALINA_HOME $CATALINA_HOMEは、Tomcatのrootディレクトリに対するパスを持つ環境パラメータです。 許可されていない修正からTomcatバイナリとライブラリを守るために、アクセスを保護することはとても重要です。 $CATALINA_HOMEの所有権はtomcat_admin:tomcatです。 また、$CATALINA_HOMEに対する権限により、全体(o-rwx)に対する読み取りや書き込み、実行を禁止し、また、グループ(g-w)に対する書き込みアクセスを禁止することをお勧めします。 $CATALINA_HOMEが保護されない場合、Tomcatを探索したり、依存するプロセスとデータのセキュリティが破損する可能性があります。
アクセス制限の設定:$CATALINA_BASE $CATALINA_BASEは、大部分の相対パスが解析される基本ディレクトリを指定する環境パラメータです。 $CATALINA_BASEは、一般的に実行されているTomcatのインスタンスが複数の場合に使用されます。 Tomcat関連のバイナリとライブラリが無断で修正されなくするためには、このアクセスを保護することがとても重要です。 $CATALINA_BASEの所有権はtomcat_admin:tomcatでなければなりません。 また、$CATALINA_BASEに対する権限により、全体(o-rwx)に対する読み取りや書き込み、実行を禁止し、また、グループ(g-w)に対する書き込みアクセスを禁止することをお勧めします。 $CATALINA_BASEが保護されない場合、Tomcatからトラバースしたり、依存したりするプロセスとデータのセキュリティが破損する可能性があります。
アクセス制限の設定:$CATALINA_HOME/conf/ $CATALINA_HOME/conf/のディレクトリには、Tomcatの構成ファイルが含まれています。 このディレクトリの所有権はtomcat_admin:tomcatです。 また、このディレクトリに対する使用権限により、全体(o-rwx)に対する読み取りや書き込み、実行を禁止し、また、グループ(g-w)に対する書き込みアクセスを禁止することをお勧めします。 このようにディレクトリに対するアクセスを制限すると、ローカルユーザーが悪意を持って、または間違えてTomcatの構成を変更することを防ぐことができます。
アクセス制限の設定:$CATALINA_HOME/logs/ $CATALINA_HOME/logs/のディレクトリには、Tomcatのログが含まれています。 このディレクトリの所有権はtomcat_admin:tomcatです。 また、このディレクトリの使用権限による全体(o-rwx)に対する読み取りや書き込み、実行は禁止することをお勧めします。 このようにディレクトリに対するアクセスを制限すると、ローカルユーザーが悪意を持って、または不注意でTomcatのログを変更することを防ぐことができます。
アクセス制限の設定:$CATALINA_HOME/temp/ $CATALINA_HOME/temp/のディレクトリは、一時的な情報をディスクに保存するためにTomcatで使用されます。 このディレクトリの所有権はtomcat_admin:tomcatです。 また、このディレクトリの使用権限による全体(o-rwx)に対する読み取りや書き込み、実行は禁止することをお勧めします。 このようにディレクトリに対するアクセスを制限すると、ローカルユーザーが悪意を持って、または不注意でTomcatの完全性を操作することを防ぐことができます。
アクセス制限の設定:$CATALINA_HOME/bin/ $CATALINA_HOME/bin/のディレクトリは、Tomcatランタイムの一部である実行ファイルを含みます。 このディレクトリの所有権はtomcat_admin:tomcatです。 また、このディレクトリに対する権限により、全体(o-rwx)に対する読み取りや書き込み、実行を禁止し、また、グループ(g-w)に対する書き込みアクセスを禁止することをお勧めします。 このようにディレクトリに対するアクセスを制限すると、ローカルユーザーが悪意を持って、または不注意でTomcatプロセスの完全性を操作することを防ぐことができます。
アクセス制限の設定:$CATALINA_HOME/webapps/ $CATALINA_HOME/webappsのディレクトリには、Tomcatを通じて配布されるWebアプリケーションが含まれています。 このディレクトリの所有権はtomcat_admin:tomcatです。 また、$CATALINA_HOME/webappsに対する権限により、全体(o-rwx)に対する読み取りや書き込み、実行を禁止し、グループ(g-w)に対する書き込みアクセスは禁止することをお勧めします。 このようにディレクトリに対するアクセスを制限すると、ローカルユーザーが悪意を持って、または不注意でWebアプリケーションの無完全性を操作することを防ぐことができます。
アクセス制限の設定:catalina.policy catalina.policyファイルは、Tomcatに対するセキュリティポリシーを構成する際に使用されます。 このファイルに対するアクセス権限が変更されないように、適切に保護できる権限を付与する必要があります。 このファイルに対するアクセスを制限すると、ローカルユーザーがTomcatのセキュリティポリシーを悪意を持って、または偶然変更することを防ぐことができます。
アクセス制限の設定:catalina.properties catalina.propertiesは、クラスローダー情報やセキュリティパッケージリスト、性能に関する登録情報を含め、Tomcatに関する設定を含むJava登録情報ファイルです。 このファイルに対するアクセス権限が変更されないように、適切に保護できる権限を付与する必要があります。 このファイルに対するアクセスを制限すると、ローカルユーザーがTomcatのセキュリティポリシーを悪意を持って、または偶然変更することを防ぐことができます。
アクセス制限の設定:context.xml context.xmlファイルは、すべてのWebアプリケーションによってロードされ、特定の構成オプションを設定します。 このファイルに対するアクセス権限が変更されないように、適切に保護できる権限を付与する必要があります。 このファイルに対するアクセスを制限すると、ローカルユーザーがTomcatのセキュリティポリシーを悪意を持って、または偶然変更することを防ぐことができます。
アクセス制限の設定:logging.properties logging.propertiesは、ロギング構成を指定するTomcatファイルです。 このファイルに対するアクセス権限が変更されないように、適切に保護できる権限を付与する必要があります。 このファイルに対するアクセスを制限すると、ローカルユーザーがTomcatのセキュリティポリシーを悪意を持って、または偶然変更することを防ぐことができます。
アクセス制限の設定:server.xml server.xmlには、Tomcatサーブレットの定義と構成が含まれています。 このファイルに対するアクセス権限が変更されないように、適切に保護できる権限を付与する必要があります。 このファイルに対するアクセスを制限すると、ローカルユーザーがTomcatのセキュリティポリシーを悪意を持って、または偶然変更することを防ぐことができます。
アクセス制限の設定:tomcat-users.xml tomcat-users.xmlには、Tomcatアプリケーションに対する認証情報が含まれています。 このファイルに対するアクセス権限が変更されないように、適切に保護できる権限を付与する必要があります。 このファイルに対するアクセスを制限すると、ローカルユーザーがTomcatのセキュリティポリシーを悪意を持って、または偶然変更することを防ぐことができます。
アクセス制限の設定:web.xml web.xmlは、アプリケーション構成の設定を保存するTomcat構成ファイルです。 このファイルに対するアクセス権限が変更されないように、適切に保護できる権限を付与する必要があります。 このファイルに対するアクセスを制限すると、ローカルユーザーがTomcatのセキュリティポリシーを悪意を持って、または偶然変更することを防ぐことができます。
安全でないRealmsの使用制限 realmとは、ユーザーの有効なWebアプリケーションを識別する際に使用されるユーザー名とパスワードのデータベースです。 Realms構成を検討して、Tomcatが以下に羅列されたrealmは使用しないように設定する必要があります。 - MemoryRealm、JDBCRealm、UserDatabaseRealm、JAASRealm
LockOut Realmsの使用 LockOut realmは、ログイン失敗が複数回発生するとユーザーログインをロックできる機能です。 ログインを複数回失敗したアカウントをロックすると、総当たり攻撃に対する脅威を減らすことができます。
Connectorオプション:clientAuth=trueに設定 Client-cert認証には、サーバに接続する各クライアントの認証に使用される認証書が必要です。 これは、一般的にパスワードだけで認証する方式に比べ、クライアント認証書も必要であるため、パスワード基盤の認証より強力なものとみなされます。
Connectorオプション:SSLEnabled、secureオプションの確認 セキュリティのプロパティは、コネクタのセキュリティ状態をコネクタを通じて動作するアプリケーションに伝えるのに使用されます。 これは、一般的にrequest.isSecure()を呼び出して実行します。 SSLEnabledプロパティがtrueに設定されたコネクタに対し、secureプロパティがtrueに設定されているか確認してください。 コネクタのセキュリティ状態を正確に報告することは、Tomcatを基盤としたアプリケーションが意図していないセキュリティ統制措置に依存しないということを保証するのに役立ちます。
Connectorオプション:sslProtocol=TLSの使用 sslProtocol設定は、Tomcatがトラフィックの保護に使用するプロトコルを決定します。sslProtocolの特性はTLSに設定することをお勧めします。 TLSプロトコルには、SSLv1またはSSLv2のように、他のセキュリティ伝送プロトコルに影響を及ぼす脆弱性はありません。 したがって、TLSは伝送中にデータの機密性と完全性を保護するのに適切です。
Security Managerを利用したTomcatの実行 Security Managerを使用してサンドボックスで実行されるように、アプリケーションを構成しなければなりません。 Security Managerは、Tomcatがアクセスできるクラスを制限して、エラーまたはトロイの木馬、悪性コードからサーバを保護します。 Security ManagerでTomcatを実行すると、信頼できないコードがファイルシステムのファイルにアクセスできなくするサンドボックスでアプリケーションが実行されます。
自動配布(autoDeploy)機能の使用禁止 autoDeployオプションは、Tomcatが実行中にアプリケーションの自動配布を許可します。 この機能は使用しないことをお勧めします。 実行時に自動配布できる場合、悪意があったり、検証されていないアプリケーションが配布される恐れがあります。
起動時の自動配布(deployOnStartup)機能の使用禁止 deployOnStartupオプションは、Tomcatが起動する際にアプリケーションの自動配布を行うかどうか決定するflagです。 この機能は使用しないように設定することをお勧めします。 これにより、悪性、または検証されていないアプリケーションがプログラムを配布できるようになるため、使用しないように設定する必要があります。
RECYCLE_FACADESオプションの使用 RECYCLE_FACADESオプションは、各リクエストに対して新しいfaçadeが作成されるかどうかを指定できます。 新しいfaçadeが作成されない場合、他のセッションで情報が流出する可能性があるため、trueに設定することをお勧めします。 RECYCLE_FACADESがfalseに設定されると、Tomcatはリクエストの間にセッションfaçadeを再活用します。 この場合、互いに異なるリクエストの間で情報が流出する恐れがあります。
パスの区分記号を追加するオプション(ALLOW_BACKSLASH)の使用禁止 Tomcatで他のパスを区別する記号を指定できる場合、攻撃者が以前にmod_proxyのようなプロキシで遮断したアプリケーションにアクセスできる可能性が生じます。 パスの区分記号の追加を許可すると、攻撃者が以前に表示されなかったアプリケーションやエリアにアクセスする恐れがあるため、ALLOW_BACKSLASHオプションは使用しないことをお勧めします。
パスの区分記号を追加するオプション(ALLOW_ENCODED_SLASH)の使用禁止 Tomcatで他のパスを区別する記号を指定できる場合、攻撃者が以前にmod_proxyのようなプロキシで遮断したアプリケーションにアクセスできる可能性が生じます。 パスの区分記号の追加を許可すると、攻撃者が以前に表示されなかったアプリケーションやエリアにアクセスする恐れがあるため、ALLOW_ENCODED_SLASHオプションは使用しないことをお勧めします。
ユーザー定義状態メッセージ(USE_CUSTOM_STATUS_MSG_IN_HEADER)オプションの使用禁止 ユーザー定義状態メッセージを指定できる場合、追加ヘッダを挿入される恐れがあります。 ユーザー指定のヘッダ状態メッセージが必要な場合、US-ASCII形式なのか、ユーザーが提供したデータは含まれていないかを確認してください。 ヘッダでユーザーが提供したデータを許可するとXSSが可能になります。
enableLookupsオプションの使用禁止 ConnectorでenableLookupsオプションをtrueに設定するには、情報をロギングする前にDNS look-upが必要です。 ロギングを追加する際には、リソースが追加されます。enableLookupsを許可すると、まれに新たなオーバーヘッドが追加されることがあります。

Nginxの点検項目

点検項目 点検項目に関する説明
バッファのオーバーフロー防止- client_body_buffer_sizeの設定 クライアントリクエスト本文の内容を読み取るためのバッファのサイズを設定します。 リクエスト本文がバッファより大きい場合、本文全体または該当パートのみテンポラリファイルに記録されます。 基本的にバッファサイズは、メモリページ2個分と同じです。 32ビット(x86)のプラットフォームとx86-64で8Kサイズに基本設定されます。 一般的に64ビットのプラットフォームでは、16Kサイズに設定します。
バッファのオーバーフロー防止- client_header_buffer_sizeの設定 クライアントリクエストヘッダを読み取るためのバッファのサイズを設定します。 大部分のリクエストの場合、1KBのバッファでも十分です。 しかし、リクエストに長いクッキーが含まれているか、WAPクライアントからのリクエストの場合、1KBでは足りないことがあります。 リクエストまたはリクエストのヘッダフィールドがこのバッファに合わない場合、large_client_header_buffersコマンドで構成された、より大きいバッファを割り当てる必要があります。
バッファのオーバーフロー防止- client_max_body_sizeの設定 クライアントリクエストの本文に許可される最大サイズを設定します。 このサイズは「Content-Length」リクエストヘッダフィールドに指定されます。 リクエストのサイズが構成された値を超えると、413(Request Entity Too Large)エラーがクライアントにリターンされます。 ブラウザではこのエラーを正しく表示できません。 サイズを0に設定しておくと、クライアントリクエスト本文のサイズは確認できません。 100K以上に設定することをお勧めします。
バッファのオーバーフロー防止- large_client_header_buffersの設定 クライアントリクエストヘッダを読み取る際に使用されるバッファの最大サイズを設定します。 リクエストの行はバッファサイズを超えてはならず、414(Request-URI Too Large)エラーはクライアントにリターンされます。 リクエストヘッダフィールドはバッファサイズを超えてはならず、超えた場合は400(Bad Request)エラーがクライアントにリターンされます。 バッファはニーズがある場合にのみ割り当てられます。 バッファサイズは基本的に8KBです。 リクエスト処理が終了してから、接続がkeep-alive状態に切り替わるとバッファは解除されます。
バージョン情報の削除 server_tokensオプションは、Nginxのエラーページに現在のバージョンを表示するかどうかを設定します。 これは、既に知られている特定バージョンの脆弱性によるWebサーバへの攻撃を防止するために、その情報を共有しないように設定しておく必要があります。
Slow HTTP DoS攻撃遮断- client_body_timeout クライアントリクエストに対する本文の読み取り時間の制限を定義します。 この制限時間は、リクエスト本文全体を伝送するのではなく、2つの連続した読み取り作業の間の期間に対して設定されます。 クライアントがこの時間内に伝送しない場合、408(Request Time-out)エラーがクライアントにリターンされます。
Slow HTTP DoS攻撃遮断- client_header_timeout クライアントリクエストヘッダを読み取るための制限時間を定義します。 クライアントがこの時間内に全体ヘッダを伝送しない場合、408(Request Time-out)エラーがクライアントにリターンされます。
Slow HTTP DoS攻撃遮断- keepalive_timeout keep-aliveの制限時間を設定します。 最初のパラメータは、サーバ側でkeep-aliveクライアントの接続が開いた状態で維持される時間の制限を設定します。 値を0にすると、keep-aliveクライアントの接続を使用しないようにします。 任意選択の二番目のパラメータは、「keep-alive:timeout=time」レスポンスヘッダフィールドに値を設定します。 2つのパラメータは互いに異なる場合があります。 「keep-alive:timeout=time」ヘッダフィールドは、MozillaとKonquerorによって認識されます。 MSIEは、独自にkeep-alive接続を60秒後に終了します。
Slow HTTP DoS攻撃遮断- send_timeout クライアントにレスポンスを伝送するための時間制限を設定します。 この制限時間は、レスポンス全体を伝送するためではなく、2つの連続した書き込み作業の間でのみ設定されます。 クライアントがこの時間内に何も受信できない場合、接続は終了します。
SSL/TLSの設定 できれば、SSLv2, SSLv3などは使用しないように設定する必要があります。 その代わり、TLSを使用することをお勧めします。
BEAST攻撃遮断のためのサーバ側の設定 BEASTまたは「SSL/TLSに対するブラウザクラッシャー」は、SSL/TLSと一緒に使用されるパスワードブロックチェーン(CBC)に対する攻撃です。 この攻撃を防止するために、クライアントの代わりにサーバによって決定するように、パスワードに対する選好度を設定する必要があります。
安全でない暗号方式の使用禁止 トリプルDESは、比較的古いパスワード方式で、過去18年間様々な脆弱性が確認されました。 したがって、DESを含む脆弱な暗号化方式は使用しないように設定する必要があります。
クリックジャッキングの防止 構成で全体的に適用される保護ヘッダをクリックします。 HSTSヘッダはHTTPSにのみ存在します。 重要なデータは、キャッシュまたは保存されません。
content-typeスニッフィングの遮断設定 HTTPレスポンスのヘッダにMIME形式を追加して伝送し、セキュリティリスクを防ぎます。 ヘッダがブラウザにファイル形式を定義したとおりコンテンツスニッフィングを許可しないように、nosniffオプションを追加する必要があります。
Cross-site scripting(XSS)フィルタ設定 Cross-site scripting(XSS)攻撃を防ぐために、X-XSS-Protectionオプションを設定する必要があります。 X-XSS-Protectionオプションを設定することで、ある程度のXSS攻撃は防ぐことができます。また、これはInternet Explorer 8+、Chrome、Opera、Android、Safariとの互換性を持ちます。
安全なSSLのセキュリティ設定 ssl stripping攻撃を受けると、被害者のシステムのすべてのトラフィックはハッカーが作成したプロキシを通じてルーティングされ、これはMITM(Man-In-the-Middle)攻撃とみなされます。 攻撃を防ぐために、nginxのセキュリティ設定にStrict-Transport-Securityヘッダを追加する必要があります。

に対する検索結果は~件です。 ""

    に対する検索結果がありません。 ""

    処理中...