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 ID基準)と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はクライアントがウェブサーバでファイルとリソースを作って、移動して、削除できるようにするHTTPプロトコルの拡張です。WebDAVは広くは使われておらず、クライアントがウェブサーバでファイルを無断修正できるため、セキュリティ上深刻な問題が発生する可能性があるので、使わないようにします。
status_moduleの使用禁止 Apache mod_statusモジュールは現在のサーバの性能の統計を提供します。ウェブページとして使用可能なサーバの性能状態に関する情報を提供することが便利かもしれませんが、このモジュールは無効にしたほうがいいです。
autoindex_moduleの使用禁止 Apache autoindexモジュールはサーバにあるディレクトリの内容を羅列したウェブページを自動作成します。index.htmlのような作成されてはいけないページが作成されるため、無効にしなければなりません。
proxy moduleの使用禁止 Apache proxyモジュールはサーバがプロキシまたは逆方向に動作することを許可します。プロキシモジュールがロードされたプロキシおよびその他のプロトコルのプロキシを提供します。Apacheのインストールが他のネットワークに対するプロキシのリクエストまたは他のネットワークにない場合、プロキシモジュールをロードしてはいけません。
userdir moduleの使用禁止 tilde (~)を利用したユーザーのホームディレクトリへのアクセスを許可しないためには無効にしなければなりません。
info_moduleの使用禁止 Apache mod_infoモジュールは/etc/ server-info URLへのアクセスによりサーバの設定に関する情報を提供するため、該当のモジュールを使ってはいけません。
apache使用Groupの制限 一般的にApacheはポート80および443で受信待機のためにルート権限で始まりますが、ウェブサービスを実行するためにはルートではない他のユーザーにより実行でき、実行されなければなりません。Apache UserおよびGroupの指示文は使用するユーザーおよびグループを指定するために使われます。
apache使用Userの制限 一般的にApacheはポート80および443で受信待機のためにルート権限で始まりますが、ウェブサービスを実行するためにはルートではない他のユーザーにより実行でき、実行されなければなりません。Apache UserおよびGroupの指示文は使用するユーザーおよびグループを指定するために使われます。
apacheログインshellの制限 apacheアカウントは一般のログインアカウントとして使ってはならず、アカウントを使ってログインできなくするためには有効でないか、nologinシェルを割り当てなければなりません。
apacheアカウントのロックアウトポリシー Apacheが実行されるユーザーアカウントには有効なパスワードがあってはならない上、ロックアウトされていなければなりません。
ルートディレクトリへのアクセスの制御 - Order Apache Directory指示文を使用すると、アクセス制御およびその他の多くの機能とオプションに関するディレクトリ別の構成を許可します。重要な使用方法のひとつは特別に許可されたものを除いてはオペレーティングシステムのディレクトリおよびファイルへのアクセスを許可しない基本的な拒否ポリシーを作ることです。それはOSルートディレクトリへのアクセスを拒否して実行されます。Order deny,allow
ルートディレクトリへのアクセスの制御 - Deny Apache Directory指示文を使用すると、アクセス制御およびその他の多くの機能とオプションに関するディレクトリ別の構成を許可します。重要な使用方法のひとつは特別に許可されたものを除いてはオペレーティングシステムのディレクトリおよびファイルへのアクセスを許可しない基本的な拒否ポリシーを作ることです。それはOSルートディレクトリへのアクセスを拒否して実行されます。Deny from all
AllowOverride設定 - none Apache OverRide指示文を使用すると、.htaccessファイルを使って、認証、ドキュメントタイプ処理、自動作成索引、アクセス制御およびオプションをはじめとする多くの構成を無視できます。 サーバがAccessFileNameに指定された通り、.htaccessファイルを探した際、当該のファイルに宣言された指示文が以前のアクセス情報を無視できなければなりません。 この指定文をなしに設定すると、.htaccessファイルが完全に無視されます。 この場合、サーバはファイルシステムの.htaccessファイルを読み込みません。 この指示文をAllに設定すると、.htaccess Contextがある指示文を.htaccessファイルに使用することができます。
Options設定 - none ルート(/)OSレベルに対するオプションの指示は、ルートディレクトリレベルで最小限のオプションのみを許可する最小権限ポリシーに従わなければなりません。 その後、特定のウェブサイトまたはウェブサイトの一部に必要な場合はオプションを追加して使えます。Optionsが有効になっている上、オプション指示者の値はnoneでなければなりません。
基本コンテンツ使用の制限 - server-status Apacheのインストールの際に用途に適合していなかったり、不要な基本コンテンツがインストールされることがあります。そのようなサンプルコンテンツの主な機能は基本ウェブサイトを提供し、ユーザーマニュアルを提供したりウェブサーバーの特殊機能を試演することです。サービスに不要なdefaultコンテンツは削除しなければなりません。
基本コンテンツ使用の制限 - server-info Apacheのインストールの際に用途に適合していなかったり、不要な基本コンテンツがインストールされることがあります。そのようなサンプルコンテンツの主な機能は基本ウェブサイトを提供し、ユーザーマニュアルを提供したりウェブサーバーの特殊機能を試演することです。サービスに不要なdefaultコンテンツは削除しなければなりません。
基本コンテンツ使用の制限 - perl-status Apacheのインストールの際に用途に適合していなかったり、不要な基本コンテンツがインストールされることがあります。そのようなサンプルコンテンツの主な機能は基本ウェブサイトを提供し、ユーザーマニュアルを提供したりウェブサーバーの特殊機能を試演することです。サービスに不要な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サーバに接続する際、Tomcatのクライアントに公開されます。サーバのインストールの日付が公開されると、攻撃者がサーバプラットフォームに影響を与えるような脆弱性を見つけやすくなります。Server.bulitの文字列を変更して、攻撃者がどんな脆弱性がサーバプラットフォームに影響するのかを判断できなくするのが望ましいです。"
X-Powered-By HTTP Headerを使わない "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 portの使用禁止 "TomcatはTCPポート8005で受信待機のリクエストを許可します。このポートに接続してSHUTDOWNコマンドを送ると、Tomcat内のすべての応用プログラムが中止されます。終了ポートはループバックインターフェースにバインディングされているので、ネットワークに公開されません。この機能を使わない場合は終了ポートを使用しないほうがいいです。終了ポートを無効にすると、Shutdownコマンドを使ってTomcatサーバを無効にする悪意のあるローカルエンティティのリスクがなくなります。"
アクセス制限設定 : $CATALINA_HOME "$CATALINA_HOMEはルートTomcatのディレクトリのパスを保有する環境変数です。許可されていない修正からTomcatのバイナリとライブラリを保護するためにアクセスを保護することが重要です。$CATALINA_HOMEの所有券はtomcat_admin : tomcatです。また、$CATALINA_HOMEに対する権限により、world (o-rwx)に対する読み取り、書き込みおよび実行が禁じられ、グループ(g-w)に対する書き込みのアクセスが禁じられるのが望ましいです。$CATALINA_HOMEが保護されないと、Tomcatを探索したり依存するプロセスおよびデータのセキュリティが破損する可能性があります。"
アクセス制限設定 : $CATALINA_BASE "$CATALINA_BASEは殆どの相対パスが解釈される基本ディレクトリを指定する環境変数です。$CATALINA_BASEは一般的に実行中のTomcatのインスタンスが複数の場合に使われます。Tomcat関連のバイナリとライブラリを無断修正できなくするためにはこのアクセスを保護することが重要です。$CATALINA_BASEの所有権はtomcat_admin : tomcatでなければなりません。また、$CATALINA_BASEに対する権限により、world (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を利用してデプロイされるウェブ応用プログラムが含まれています。このディレクトリの所有権はtomcat_admin : tomcatです。また、$CATALINA_HOME/webappsに対する権限は、全体(o-rwx)に対する読み取り、書き込みおよび実行を禁じ、グループ(g-w)に対する書き込みのアクセスを禁じるのが望ましいです。このようなディレクトリへのアクセスを制限すれば、ローカルのユーザーが悪意を持ってまたは誤ってウェブアプリケーションのインテグリティを操作するのを防ぐことができます。"
アクセス制限設定 : catalina.policy "catalina.policyファイルはTomcatのセキュリティポリシーを構成するために使われます。このファイルへのアクセスの権限が変更されないように、きちんと保護できる適切な権限が必要です。このファイルへのアクセスを制限すれば、ローカルのユーザーがTomcatのセキュリティポリシーを悪意を持ってまたは誤って変更するのを防ぐことができます。"
アクセス制限設定 : catalina.properties "catalina.propertiesはクラスローダの情報、セキュリティパッケージのリストおよび性能登録の情報を含め、Tomcat関連の設定を含むJavaの登録情報ファイルです。このファイルへのアクセスの権限が変更されないようにきちんと保護できる適切な権限が必要です。このファイルへのアクセスを制限すれば、ローカルのユーザーがTomcatのセキュリティポリシーを悪意を持ってまたは偶然変更するのを防ぐことができます。"
アクセス制限設定 : context.xml "context.xmlファイルはすべてのウェブ応用プログラムによってロードされ、特定の構成のオプションを設定します。このファイルへのアクセスの権限が変更されないようにきちんと保護できる適切な権限が必要です。このファイルへのアクセスを制限すれば、ローカルのユーザーが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とはユーザーの有効なウェブ応用プログラムを識別するために使われるユーザー名とパスワードのデータベースです。Realmsの構成を検討してTomcatが下に羅列されたrealmは使わないように設定しなければなりません。 - MemoryRealm, JDBCRealm, UserDatabaseRealm, JAASRealm"
LockOut Realmsの使用 LockOut Realmsはログインの失敗が複数回発生した場合、ユーザーのログインをロックアウトできる機能です。複数回ログインに失敗したアカウントをロックアウトすれば、ブルートフォースアタックの脅威を減らすことができます。
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は転送中にデータの気密性とインテグリティを保護するのに適合しています。"
TomcatがSecurity Managerを利用して実行されなければならない "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設定 クライアントリクエストのbodyの内容を読み取るためのバッファのサイズを設定します。リクエストの本文がバッファより大きい場合、本文全体または該当のパートのみ臨時ファイルに記録されます。基本的にバッファのサイズはメモリページ2個と同じです。32ビット(x86)プラットフォームおよびx86-64で8Kサイズに基本設定されます。一般的に64ビットプラットフォームでは16Kサイズに設定します。
バッファのオーバーフローの防止 - client_header_buffer_size設定 クライアントリクエストのヘッダを読み取るためのバッファのサイズを設定します。ほとんどのリクエストは1Kバイトのバッファでも十分です。しかし、リクエストに長いクッキーが含まれている場合やWAPクライアントのリクエストである場合、1Kのサイズで足りない可能性があります。リクエストまたはリクエストのヘッダフィールドがこのバッファに合わない場合、large_client_header_buffersコマンドで構成されたさらに大きいバッファを割り当てなければなりません。
バッファのオーバーフローの防止 - client_max_body_size設定 "クライアントリクエストのbodyとして許可される最大のサイズを設定します。このサイズは""Content-Length""リクエストのヘッダフィールドに指定されます。リクエストのサイズが、構成された値を超えた場合、413(Request Entity Too Large)エラーがクライアントに送られます。ブラウザではこのエラーを正しく表示できません。サイズを0に設定すると、クライアントがリクエストのbodyのサイズを確認できません。100K以上に設定することをお勧めします。"
バッファのオーバーフローの防止 - large_client_header_buffers設定 リクエストヘッダを読み取るために使われるバッファの最大のサイズを設定します。リクエストの行はバッファのサイズを超えてはならず、その場合は414 (Request-URI Too Large)エラーがクライアントに送られます。リクエストのヘッダフィールドはバッファのサイズを超えてはならず、その場合は400 (Bad Request)エラーがクライアントに送られます。バッファはニーズがある時のみ割り当てられます。基本的なバッファのサイズは8Kバイトです。リクエスト処理が終わった後、接続がkeep-alive状態に切り替えられるとバッファが解除されます。
バージョン情報の削除 server_tokensオプションではNginxへのエラーページに現在のバージョンを表示するかどうかを設定します。それについては、特定のバージョンの知られた脆弱性によるウェブサーバへの攻撃を防ぐために、該当の情報を共有しないように設定されなければなりません。
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クライアントの接続を使用しないようにします。選択可能な第2のパラメータは"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攻撃を防止でき、これはIE8+、クロミウム、オペラ、アンドロイド、サファリと互換可能です。
安全なSSLセキュリティ設定 ssl stripping攻撃を受けると、被害者のシステムのすべてのトラフィックはハッカーが作成したプロキシを経由してルーティングされ、これはMITM(Man-In-the-Middle)攻撃として見ることができます。攻撃を防ぐためにnginxのセキュリティ設定にStrict-Transport-Securityヘッダを追加しなければなりません。

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

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

    処理中...