Terutamanya menunjukkan cara mengkonfigurasi pilihan-x-bingkai, perlindungan-x-xss, pilihan-jenis-kandungan-x, keselamatan-pengangkutan-ketat, https dan konfigurasi keselamatan lain dalam nginx.
nginx.conf dikonfigurasikan seperti berikut
# 不要将nginx版本号在错误页面或服务器头部中显示 server_tokens off; #不允许页面从框架frame 或 iframe中显示,这样能避免clickjacking # http://en.wikipedia.org/wiki/clickjacking # 如果你允许[i]frames, 你能使用sameorigin 或在allow-from中设置你的允许的url # https://developer.mozilla.org/en-us/docs/http/x-frame-options 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; # 防止跨站脚本 cross-site scripting (xss) ,目前已经被大多数浏览器支持 #默认是激活的,如果被用户失效,可以使用这个配置激活。 # https://www.owasp.org/index.php/list_of_useful_http_headers add_header x-xss-protection "1; mode=block"; #激活内容安全策略content security policy (csp) ,大部分浏览器支持 # 告诉浏览器只能从本域名和你显式指定的网址下载脚本。 # http://www.html5rocks.com/en/tutorials/security/content-security-policy/#inline-code-considered-harmful add_header content-security-policy "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://ssl.m.sbmmt.com https://assets.zendesk.com https://connect.facebook.net; img-src 'self' https://ssl.m.sbmmt.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'"; server { listen 443 ssl default deferred; 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 shared:ssl:50m; ssl_session_timeout 5m; # diffie-hellman parameter for dhe ciphersuites, recommended 2048 bits ssl_dhparam /etc/nginx/ssl/dhparam.pem; #激活服务器端保护免于beast 攻击 # http://blog.ivanristic.com/2013/09/is-beast-still-a-threat.html ssl_prefer_server_ciphers on; # 失效 sslv3(自nginx 0.8.19默认激活) http://en.wikipedia.org/wiki/secure_sockets_layer#ssl_3.0 ssl_protocols 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 stapling (一种机制:一个网站可以保护隐私可扩展的方式传达的证书撤销信息给访问者)mechanism by which a site can convey certificate revocation information to visitors in a privacy-preserving, scalable manner) # http://blog.mozilla.org/security/2013/07/29/ocsp-stapling-in-firefox/ resolver 8.8.8.8; ssl_stapling on; 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 stripping https://en.wikipedia.org/wiki/ssl_stripping#ssl_stripping add_header strict-transport-security "max-age=31536000; includesubdomains;"; # ... the rest of your configuration } # redirect all http traffic to https server { listen 80; server_name .forgott.com; return 301 https://$host$request_uri; }
Atas ialah kandungan terperinci Bagaimana untuk meningkatkan keselamatan dan prestasi Nginx. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!
nginx mulakan semula
Penjelasan terperinci tentang konfigurasi nginx
Penjelasan terperinci tentang konfigurasi nginx
Apakah perbezaan antara tomcat dan nginx
Cara menggunakan anotasi notnull
Bagaimana untuk menyelesaikan kod ralat 8024401C
Bagaimana untuk Bermula dengan Membeli Mata Wang Kripto
langbar.chm