PCIコンプライアンスのためのNginxの準備

みなさんこんにちは。

今日、私たちの目標は、PCIコンプライアンスに向けてNginxを準備することです。 具体的には、SSLプロトコルと暗号化。 まあ、または単にSSL接続のセキュリティを強化し、脆弱性を取り除くためです。

必要なのは、設定の一部をこのフォームに取り込むことだけです:)

ssl_certificate /etc/nginx/card.pem; ssl_certificate_key /etc/nginx/card.key; ssl_ciphers RC4:HIGH:!aNULL:!MD5:!kEDH; ssl_session_cache shared:SSL:10m; ssl_prefer_server_ciphers on; 


ただし、いくつかの詳細を追加し、ポイントを検討します。

nginxの最新バージョンを使用している場合、ほとんどの場合、デフォルトで「強力な」暗号が使用されます。 それでも、デフォルト値をわずかに変更します。

 ssl_ciphers RC4:HIGH:!aNULL:!MD5:!kEDH; 


RC4-SHAは脆弱性に対して脆弱であるため、CBCモードの暗号よりRC4-SHAを優先するためにこれを行います。

次のコマンドで暗号の完全なリストを表示できます。

 openssl ciphers 


BEAST攻撃CVE-2011-3389の可能性を排除します

 ssl_prefer_server_ciphers on; 


SSLセッションのキャッシュを接続します。これにより、繰り返し接続中の永続的なSSLハンドシェイクから保護され、最終テストでいくつかのポイントが追加されます。 約4,000セッションが1メガバイトのキャッシュに収まります。

 ssl_session_cache shared:SSL:10m; 


バージョン0.7.64、0.8.18以前の場合、SSLv2を無効にするために追加する必要があります。

 ssl_protocols SSLv3 TLSv1; 


バージョン0.7.65、0.8.19以降では、SSLv3、TLSv1、TLSv1.1、およびTLSv1.2がデフォルトのSSLプロトコルであり、私たちにぴったりです。

SSL Labsからテストに行き、「Grade A」と「PCI Compliance Yes」を取得します。

www.ssllabs.com/ssltest

便利なリンク:

Nginx.org HTTPSサーバーの構成
SSL / TLS展開のベストプラクティス
SSLサーバー評価ガイド

UPD:
RC4の脆弱性が見つかったため( http://blog.cryptographyengineering.com/2013/03/attack-of-week-rc4-is-kind-of-broken-in.html )、ありがとうalist 、OpenSSLをバージョンに更新することをお勧めします1.0.1。GCMおよびTLS 1.2がサポートされています。 今のところ、私たちができることはこれだけで、ブラウザからのアクションを待ちます。

Source: https://habr.com/ru/post/J173125/


All Articles