nginx

Tips Hardening dan Optimasi Nginx

Tips Hardening dan Optimasi Nginx. Banyak orang fokus membuat server cepat, tapi lupa satu hal penting: keamanan. Padahal server yang cepat tapi tidak aman sama saja seperti rumah tanpa kunci.

Di artikel ini, Anda akan belajar cara hardening (pengamanan) sekaligus optimasi Nginx agar siap digunakan di lingkungan produksi.


🧠 Kenapa Hardening Nginx Itu Penting?

Tanpa konfigurasi yang tepat, server Anda bisa:

  • Mudah diserang bot atau hacker
  • Terkena DDoS ringan
  • Mengalami kebocoran informasi
  • Overload karena request berlebihan

Dengan hardening, Anda bisa mencegah semua itu sejak awal.


⚙️ 1. Sembunyikan Versi Nginx

Secara default, Nginx menampilkan versi di response header—ini berbahaya.

Edit file:

sudo nano /etc/nginx/nginx.conf

Tambahkan:

server_tokens off;

👉 Ini akan menyembunyikan versi Nginx dari publik.


⚡ 2. Batasi Request (Anti DDoS Ringan)

Tambahkan di dalam blok http {}:

limit_req_zone $binary_remote_addr zone=limit:10m rate=10r/s;

Lalu di dalam server {}:

limit_req zone=limit burst=20 nodelay;

👉 Membatasi jumlah request dari satu IP agar server tidak kewalahan.


🔥 3. Batasi Ukuran Upload

Untuk mencegah abuse upload file:

client_max_body_size 20M;

👉 Sesuaikan dengan kebutuhan aplikasi Anda.


⏱️ 4. Atur Timeout untuk Koneksi

Tambahkan:

client_body_timeout 30;
client_header_timeout 30;
keepalive_timeout 65;
send_timeout 30;

👉 Mencegah koneksi menggantung yang bisa membebani server.

nginx
nginx

📁 5. Blok Akses File Sensitif

Tambahkan di konfigurasi server:

location ~ /\. {
deny all;
}

👉 Melindungi file seperti .env, .htaccess, dll.


🔍 6. Nonaktifkan Directory Listing

Pastikan ini diset:

autoindex off;

👉 Mencegah orang melihat isi folder server Anda.


📊 7. Optimasi Logging

Logging penting, tapi jangan berlebihan:

access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log warn;

Untuk file statis:

access_log off;

👉 Mengurangi beban server.


🔄 Restart Nginx

Setelah semua konfigurasi:

sudo nginx -t
sudo systemctl restart nginx

🔐 Bonus: Gunakan HTTPS (SSL)

Untuk keamanan ekstra, gunakan SSL gratis dari Let’s Encrypt:

sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx

👉 Website Anda akan lebih aman dan dipercaya oleh browser.


🎯 Manfaat Hardening Nginx

Setelah diterapkan:

  • Server lebih aman dari serangan
  • Performa tetap stabil
  • Risiko kebocoran data berkurang
  • Lebih siap untuk produksi

🎯 Kesimpulan

Optimasi tanpa keamanan adalah kesalahan besar. Dengan menerapkan hardening pada Nginx, Anda tidak hanya mendapatkan server yang cepat, tetapi juga kuat dan tahan terhadap berbagai ancaman.

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.