コンテンツにスキップ

4512-nginx-header-tls - 最新のTLSプロトコルのみを使用することを推奨


ルールID

  • 4512-nginx-header-tls

カテゴリ

  • nginx

レベル

  • info

互換バージョン

  • Linux

説明

  • すべてのクライアント接続およびアップストリーム接続において、NGINXでは最新のTLSプロトコルのみを有効にする必要があります。レガシーなTLSおよびSSLプロトコル(SSL3.0、TLS1.0、1.1)を削除し、新しい安定したTLSプロトコル(TLS1.2)を有効にすることで、ユーザーは強力なセキュリティ機能を利用でき、安全でないレガシープロトコルの影響から保護されます。

スキャン頻度

  • 0 */30 * * *

理論的根拠

  • SSL3.0を無効にする理由:POODLE脆弱性により、攻撃者はCBCの脆弱性を悪用してSSL3.0を介して平文情報を取得できます。また、SSL3.0はFIPS140-2標準に準拠しなくなりました。

  • TLS1.0を無効にする理由:TLS1.0は、クレジットカード番号を処理するアプリケーションには使用しないことを求めるPCIDSSコンプライアンス要件により、使用が禁止されています。TLS1.0は最新の保護機能を使用しておらず、TLS1.2以降をサポートしないほとんどすべてのユーザーエージェントは、ベンダーのサポートを終了しています。

  • TLS1.1を無効にする理由:TLS1.0は、より新しいバージョンのTLSに関連するセキュリティが向上したため、無効にする必要があります。最新のブラウザは2019年初頭からTLS1.1に警告を表示し始めています。

  • TLS1.2を有効にする理由:TLS1.2は、最新の暗号スイート、完全な前方秘匿性、認証暗号化など、いくつかのセキュリティ機能を活用しています。

リスク項目

  • nginxのセキュリティ

監査方法

  • 以下のコマンドを実行して確認します:
grep -ir ssl_protocol /etc/nginx

修正方法

  • ファイル/etc/nginx/nginx.confを編集する例:
    # WEB
    sed -i "s/ssl_protocols[^;]*;/ssl_protocols TLSv1.2;/" /etc/nginx/nginx.conf
    # proxy
    sed -i "s/proxy_ssl_protocols[^;]*;/proxy_ssl_protocols TLSv1.2;/" /etc/nginx/nginx.conf
    # 設定がない場合は、以下の位置に注意してください:
    # web
    server {
     ssl_protocols TLSv1.2;
    }
    
    # proxy
    location / {
     proxy_ssl_protocols TLSv1.2;
     }
    

影響

  • 特定のTLSを無効にすると、レガシーなユーザーエージェントがサーバーに接続できなくなる可能性があります。バックエンドサーバーとの特定のプロトコルネゴシエーションを無効にすると、古いサーバーに接続する能力が制限されることもあります。TLSプロトコルを選択する際は、古いユーザーエージェントやサーバーをサポートする必要があるかどうかを常に考慮する必要があります。

デフォルト値

  • デフォルトでは、NGINXはTLSプロトコルを指定せず、すべてのTLSバージョンを受け入れます。

参考資料

CIS コントロール

  • なし

フィードバック

このページは役に立ちましたか?