Security Headers config for Nginx

Security Headers configuration for Nginx

ขอแปะ code snippet สำหรับการทำให้ website ได้เกรดของ Security Headers เริ่มจาก A ถึง A+ ได้ตามด้านล่างนี้

Prerequisite

Nginx configuration

Nginx: default.conf

location / {
 	...	
	add_header Referrer-Policy "strict-origin";
	add_header Permissions-Policy "camera=(), microphone=()";
	add_header X-XSS-Protection "1; mode=block";
	add_header X-Frame-Options "SAMEORIGIN";
	add_header X-Content-Type-Options "nosniff";
	add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload";
	add_header Content-Security-Policy "default-src 'self';script-src * https: 'unsafe-inline' 'unsafe-eval';frame-src *;style-src https: 'unsafe-inline';font-src *;img-src * data:;"; # => A
	# add_header Content-Security-Policy "default-src 'self'; font-src *;img-src * data:; script-src * 'unsafe-inline'; style-src * 'unsafe-inline'"; # => A+
	...


ผลหลังจากการปรับค่า

Before
After

ค่อนข้างจะเจ๋งเลยใช่ไหมละ