Panduan Linux

Menerapkan Content Security Policy (CSP) di NGINX

Apa Itu Content Security Policy (CSP)?

Content Security Policy (CSP) adalah lapisan keamanan tambahan yang membantu mendeteksi dan mengurangi serangan seperti Cross-Site Scripting (XSS) dan injeksi data. Dengan CSP, kamu bisa menentukan sumber daya mana yang boleh dimuat oleh browser, seperti skrip, gambar, atau font. Ini membantu mencegah eksekusi kode berbahaya di situs web kamu.

Kenapa Harus Pakai CSP di NGINX?

NGINX adalah salah satu web server paling populer di dunia. Dengan menerapkan CSP di NGINX, kamu bisa meningkatkan keamanan situs web kamu dengan mudah. Selain itu, CSP juga membantu melindungi pengguna dari serangan yang mungkin terjadi karena kerentanan di sisi klien.

Cara Menerapkan CSP di NGINX

Berikut adalah langkah-langkah untuk menerapkan CSP di NGINX:

  1. Buka File Konfigurasi NGINX

    Pertama, kamu perlu membuka file konfigurasi NGINX. Biasanya, file ini berada di /etc/nginx/nginx.conf atau /etc/nginx/sites-available/default. Kamu bisa menggunakan editor teks favoritmu, seperti nano atau vim.

    sudo nano /etc/nginx/sites-available/default
    
  2. Tambahkan Header CSP

    Di dalam blok server atau location, tambahkan header CSP. Berikut adalah contoh sederhana:

    server {
        listen 80;
        server_name example.com;
    
        add_header Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://cdn.example.com; img-src 'self' data: https://images.example.com; style-src 'self' 'unsafe-inline' https://styles.example.com; font-src 'self' https://fonts.example.com;";
    }
    

    Penjelasan:

    • default-src 'self': Hanya izinkan sumber daya dari domain yang sama.
    • script-src: Izinkan skrip dari domain yang sama, unsafe-inline (skrip inline), unsafe-eval (fungsi eval), dan dari https://cdn.example.com.
    • img-src: Izinkan gambar dari domain yang sama, data: (URI data), dan dari https://images.example.com.
    • style-src: Izinkan gaya dari domain yang sama, unsafe-inline (gaya inline), dan dari https://styles.example.com.
    • font-src: Izinkan font dari domain yang sama dan dari https://fonts.example.com.
  3. Uji Konfigurasi NGINX

    Sebelum menerapkan perubahan, pastikan konfigurasi NGINX benar dengan perintah:

    sudo nginx -t
    

    Jika tidak ada error, restart NGINX:

    sudo systemctl restart nginx
    
  4. Verifikasi CSP

    Setelah menerapkan CSP, kamu bisa memverifikasi apakah header CSP sudah terpasang dengan benar. Kamu bisa menggunakan alat seperti SecurityHeaders.com atau CSP Evaluator untuk memeriksa konfigurasi CSP kamu.

Tips untuk CSP yang Lebih Aman

Dengan menerapkan CSP di NGINX, kamu bisa meningkatkan keamanan situs web kamu dan melindungi pengguna dari serangan yang mungkin terjadi. Selamat mencoba!

#Nginx #Tutorial