Netcraft は最近、SSL/TLS Web サイトのテストに関する調査結果を発表し、HTTP Strict Transport Security HSTS を正しく実装しているユーザーは 5% のみであると指摘しました。
HSTS とは
#HTTPS (SSL および TLS) は、ユーザーと Web サイト間の通信中のセキュリティを確保し、攻撃者による傍受、変更、なりすましを困難にします。ユーザーがドメイン名または http:// リンクを手動で入力すると、Web サイトへの最初のリクエストは暗号化されず、プレーン http を使用します。最も安全な Web サイトは、ユーザーを https 接続に誘導するリダイレクトを即座に送り返しますが、中間者攻撃者は最初の http リクエストを傍受し、それによってユーザーのその後の応答を制御できる可能性があります。 当然のことながら、HSTS はこの潜在的なセキュリティ問題を解決するために登場しました。ユーザーがドメイン名または http 接続を入力した場合でも、ブラウザは厳密に https 接続にアップグレードします。HSTS の仕組み
HSTS ポリシーは、安全な HTTPS サイトから送信される HTTP 応答ヘッダーで公開されます。Strict-Transport-Security: max-age=31536000
Strict-Transport-Security: max-age=31536000; includeSubDomains
nginx 設定 HSTS
nginx 設定ファイルに HSTS 応答ヘッダーを設定します。add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
server { listen 443 ssl; add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always; # This 'location' block inherits the STS header location / { root /usr/share/nginx/html; } # Because this 'location' block contains another 'add_header' directive, # we must redeclare the STS header location /servlet { add_header X-Served-By "My Servlet Handler"; add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always; proxy_pass http://localhost:8080; } }
HTTP と HTTPS の同時実行
Web サイトを HTTP と HTTPS で同時に実行する必要がある場合がありますserver { listen 80; listen 443 ssl; ... }
server { listen 80 default_server; listen [::]:80 default_server; server_name _; # Discourage deep links by using a permanent redirect to home page of HTTPS site return 301 https://$host; # Alternatively, redirect all HTTP links to the matching HTTPS page # return 301 https://$host$request_uri; } server { listen 443 ssl; server_name www.ttlsa.com; add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always; }
Enhanced HSTS
STS ヘッダーを確認してから宣言された最大有効期間まで、クライアントを HTTP インターセプトから保護します。ただし、HSTS は HTTP セッション ハイジャックに対する完璧なソリューションではありません。 HSTS で保護された Web サイトに HTTP 経由でアクセスする場合、ユーザーは引き続き脆弱です:以上がnginx が HSTS を構成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。