Kita akan coba improve security nginx config dengan mozilla observatory sebagai patokannya (benchmark).

Ada satu aplikasi saya yang bisa dijadikan bahan percontohan, dapat nilai F karena masih settingan default. Tidak ada jaminan nilai bakal naik walaupun sudah diperbaiki, kenapa? ada limitasi nginx config yang ga bisa di toleransi/ubah, seperti ‘unsafe-inline’ ‘unsafe-eval’ di CSP, cookies http, dan masih banyak lagi

Pertama kita atur CSP (content security policy). CSP ini gampangnya, mengatur content dari mana saja yang bisa/boleh di load oleh website kita. Cara ceknya bisa menggunakan console di firefox.

Tambahkan add_header Content-Security-Policy "default-src 'self'"; pada nginx conf (virtual block config). Maksudnya, kita hanya mengizinkan semua element yang ada pada aplikasi kita, berasal dari aplikasi itu juga (self).

Lalu kita tambahkan kembali elemen lain yang paling sering digunakan di aplikasi,

add_header Content-Security-Policy "default-src 'self'; script-src 'self'; style-src 'self'; img-src 'self'; font-src 'self'; framer-src 'self'"; 

FYI, kita bisa saja hanya menambahkan Tambahkan

add_header Content-Security-Policy "default-src 'self' https://google.com https://fonts.gstatic.com https://dll.com"; 

Karena apabila tidak menemukan rule CSP nya, maka elemen akan mencari di default-src. Contoh, kita tidak menambahkan img-src di CSP, sedangkan website kita membutuhkan gambar dari https://google.com , gambar akan tetap muncul karena kita sudah menambahkan https://google.com di default-src

Hilang Satu Error, Muncul Seribu Error Lain

Hilang Satu Error, Muncul Seribu Error Lain

Di mana bisa tahu website mana saja yang harus di tambahkan di CSP, bisa langsung cek di script atau pake fitur browser console. Biasanya setelah menambahkan satu whitelist biasanya muncul “block-block"-an lain, ini yang membuat lama. Kudu sabar ya..


Update, sekarang ada cara mudah untuk melihat CSP, silahkan baca post saya CSP mudah dengan Firefox Addons Laboratory


Jika kamu merasa tulisan ini bermanfaat & membantu kamu, kamu bisa berdonasi lewat saweria

If you feel this website help you, you can donate at saweria