Last active
January 20, 2024 17:00
-
-
Save azubieta/500d2f4558a8f6c1efafdf67db3570db to your computer and use it in GitHub Desktop.
NGINX hardening for Odoo
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# config to don't allow the browser to render the page inside an frame or iframe | |
# and avoid clickjacking http://en.wikipedia.org/wiki/Clickjacking | |
# if you need to allow [i]frames, you can use SAMEORIGIN or even set an uri with ALLOW-FROM uri | |
# https://developer.mozilla.org/en-US/docs/HTTP/X-Frame-Options | |
add_header X-Frame-Options SAMEORIGIN; | |
# when serving user-supplied content, include a X-Content-Type-Options: nosniff header along with the Content-Type: header, | |
# to disable content-type sniffing on some browsers. | |
# https://www.owasp.org/index.php/List_of_useful_HTTP_headers | |
# currently suppoorted in 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 | |
# 'soon' on Firefox https://bugzilla.mozilla.org/show_bug.cgi?id=471020 | |
add_header X-Content-Type-Options nosniff; | |
# This header enables the Cross-site scripting (XSS) filter built into most recent web browsers. | |
# It's usually enabled by default anyway, so the role of this header is to re-enable the filter for | |
# this particular website if it was disabled by the user. | |
# https://www.owasp.org/index.php/List_of_useful_HTTP_headers | |
add_header X-XSS-Protection "1; mode=block"; | |
# with Content Security Policy (CSP) enabled(and a browser that supports it(http://caniuse.com/#feat=contentsecuritypolicy), | |
# you can tell the browser that it can only download content from the domains you explicitly allow | |
# http://www.html5rocks.com/en/tutorials/security/content-security-policy/ | |
# https://www.owasp.org/index.php/Content_Security_Policy | |
# I need to change our application code so we can increase security by disabling 'unsafe-inline' 'unsafe-eval' | |
# directives for css and js(if you have inline css or js, you will need to keep it too). | |
# more: http://www.html5rocks.com/en/tutorials/security/content-security-policy/#inline-code-considered-harmful | |
add_header Content-Security-Policy "script-src 'self' 'unsafe-inline' 'unsafe-eval' *.youtube.com maps.gstatic.com *.googleapis.com *.google-analytics.com cdnjs.cloudflare.com connect.facebook.net; frame-src 'self' *.youtube.com *.facebook.com s-static.ak.facebook.com; object-src 'self'"; | |
# With Strict-Transport-Security you tell the web brosers to only use ssl | |
# https://www.nginx.com/blog/http-strict-transport-security-hsts-and-nginx/ | |
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always; | |
# The Referrer-Policy is a security header field that identifies the address of the webpage that | |
# requested the current webpage. | |
# https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referrer-Policy | |
add_header Referrer-Policy "strict-origin"; | |
# Permissions Policy provides mechanisms for web developers to explicitly declare what | |
# functionality can and cannot be used on a website | |
# https://developer.mozilla.org/en-US/docs/Web/HTTP/Permissions_Policy | |
add_header Permissions-Policy "geolocation=self; midi=self; notifications=self; push=self; sync-xhr=self; accelerometer=(); gyroscope=(); magnetometer=(); payment=self; usb=self; vr=self; camera=self; microphone=self; speaker=self; vibrate=(); ambient-light-sensor=(); autoplay=self; encrypted-media=self; execute-clipboard=self; document-domain=self; fullscreen=self; imagecapture=self; lazyload=self; legacy-image-formats=self; oversized-images=self; unoptimized-lossy-images=self; unoptimized-lossless-images=self; unsized-media=self; vertical-scroll=self; web-share=self; xr-spatial-tracking=self;"; | |
# olsters the browser’s native XSS protection | |
# https://developer.mozilla.org/es/docs/Web/HTTP/Headers/X-XSS-Protection | |
add_header X-XSS-Protection "1; mode=block"; | |
# Used to send a cookie from the server to the user agent, so that the user agent can | |
# send it back to the server later | |
# https://developer.mozilla.org/es/docs/Web/HTTP/Headers/Set-Cookie | |
add_header Set-Cookie "Path=/; HttpOnly; Secure"; | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add the above code inside your
server { }
section