主に、Nginx で X-Frame-Options、X-XSS-Protection、X-Content-Type-Options、Strict-Transport-Security、https などのセキュリティ設定を構成する方法を示します。 Nginx.confは次のように設定されています # エラーページやサーバーヘッダーに Nginx のバージョン番号を表示しません。server_tokens off; #フレームやiframeからページを表示しないようにすることで、クリックジャッキングを回避できます # http://en.wikipedia.org/wiki/クリックジャッキング # [i]フレームを許可する場合は、SAMEORIGINを使用するか、ALLOW-FROMで許可するURLを設定できます。 # https://developer.mozilla.org/en-US/docs/HTTP/X-フレームオプション add_header X-Frame-Options SAMEORIGIN; #ウェブサイトがブログフォーラムなどのユーザー提供コンテンツである場合は、X-Content-Type-Options: nosniffヘッダーを使用します。 # これは、一部のブラウザでコンテンツ タイプ スニッフィングを無効にするためのものです # https://www.owasp.org/index.php/List_of_useful_HTTP_headers # 現在 IE 8 以上をサポートしています http://blogs.msdn.com/b/ie/archive/2008/09/02/ie8-security-part-vi-beta-2-update.aspx # http://msdn.microsoft.com/en-us/library/ie/gg622941(v=vs.85).aspx #Firefox https://bugzilla.mozilla.org/show_bug.cgi?id=471020 add_header X-Content-Type-Options nosniff; # 現在ほとんどのブラウザでサポートされているクロスサイト スクリプティング (XSS) を防止します。# デフォルトで有効になっています。ユーザーが無効にしている場合は、この設定を使用して有効にすることができます。 # https://www.owasp.org/index.php/List_of_useful_HTTP_headers add_header X-XSS-Protection "1; mode=block"; #ほとんどのブラウザでサポートされているコンテンツ セキュリティ ポリシー (CSP) を有効にします。#このドメインと明示的に指定した URL からのみスクリプトをダウンロードできることをブラウザに伝えます。 # http://www.html5rocks.com/en/tutorials/security/content-security-policy/#インラインコードを考慮する add_header Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://ssl.google-analytics.com https://assets.zendesk.com https://connect.facebook.net; img-src 'self' https://ssl.google-analytics.com https://s-static.ak.facebook.com https://assets.zendesk.com; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com https://assets.zendesk.com; font-src 'self' https://themes.googleusercontent.com; frame-src https://assets.zendesk.com https://www.facebook.com https://s-static.ak.facebook.com https://tautt.zendesk.com; object-src 'none'"; サーバー{ listen 443 ssl デフォルト遅延; server_name .forgott.com; ssl_certificate /etc/nginx/ssl/star_forgott_com.crt; ssl_certificate_key /etc/nginx/ssl/star_forgott_com.key; #セッションの再利用を有効にして https パフォーマンスを向上する# http://vincent.bernat.im/en/blog/2011-ssl-session-reuse-rfc5077.html ssl_session_cache 共有:SSL:50m; ssl_session_timeout 5分; # DHE 暗号スイートの Diffie-Hellman パラメータ、推奨 2048 ビット ssl_dhparam /etc/nginx/ssl/dhparam.pem; #BEAST 攻撃に対するサーバー側の保護を有効にする# http://blog.ivanristic.com/2013/09/is-beast-still-a-threat.html ssl_prefer_server_ciphers をオン; # SSLv3 を無効にする (nginx 0.8.19 以降ではデフォルトで有効) http://en.wikipedia.org/wiki/Secure_Sockets_Layer#SSL_3.0 ssl_プロトコル TLSv1 TLSv1.1 TLSv1.2; # 機密性と互換性のための暗号の選択 # http://blog.ivanristic.com/2013/08/configuring-apache-nginx-and-openssl-for-forward-secrecy.html ssl_ciphers "ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4"; # OCSP ステープルを有効にする (サイトが証明書失効情報を訪問者にプライバシーを保護しながらスケーラブルに伝えるメカニズム) # http://blog.mozilla.org/security/2013/07/29/ocsp-stapling-in-firefox/ リゾルバ 8.8.8.8; ssl_stapling オン; ssl_trusted_certificate /etc/nginx/ssl/star_forgott_com.crt; # HSTS (HTTP Strict Transport Security) を設定して有効化する https://developer.mozilla.org/en-US/docs/Security/HTTP_Strict_Transport_Security #SSL ストリップを避ける https://en.wikipedia.org/wiki/SSL_stripping#SSL_stripping add_header Strict-Transport-Security "max-age=31536000; includeSubdomains;"; # ... 残りの設定 } # すべての http トラフィックを https にリダイレクトします サーバー{ 聞く 80; server_name .forgott.com; 301 https://$host$request_uri を返します。 } 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
>>: Linux で MySQL スケジュールタスクを実装する方法
この記事の例では、WeChatアプレットで画像コントロールを選択するための具体的なコードを参考までに...
デフォルトでは、コンテナ内のプロセスは root ユーザー権限で実行され、この root ユーザーは...
NC のフルネームは Netcat (Network Knife) で、作成者は Hobbit &a...
ある設計士はこう尋ねた。「実際のプロジェクト制作には参加せずに、純粋に設計だけをすることはできますか...
目次序文1. Ingressの展開と構成2. httpsを使用する序文k8sクラスタサービスがデプロ...
目次概要バーチャルドム原理実装プロセスパッチ方式sameVnode関数patchVnode関数upd...
CSS3はクールな3D回転パースペクティブを実現します3D アニメーション効果はますます人気が高まっ...
まず、HTML タグのいくつかの特性を知っておく必要があります。 1. 「<keyword&g...
目次グローバル変数 globalDataページプライベート変数データストレージ非同期ストレージ(デバ...
この記事では、Linux 環境での ActiveMQ の展開方法について説明します。ご参考までに、詳...
導入データベースに接続するためにJDBCを使用することに慣れている場合は、データベースに接続するため...
Raspberry Pi モデルは 4b、1G RAM です。システムはubuntu19.10サーバ...
目次1. 問題のシナリオ2. 原因分析3. 解決策4. 知識を広げる4.1 クエリの最適化を制限する...
目次1. 成果を達成する2. バックエンドの実装2.1 エンティティクラス2.2 データベース内のデ...
[LeetCode] 178.ランクスコアスコアをランク付けする SQL クエリを記述します。2 ...