Penggunaan web server di lingkungan produksi memerlukan konfigurasi yang ketat untuk memastikan keamanan, performa, dan ketersediaan layanan. Serangan siber seperti DDoS, SQL injection, atau eksploitasi kerentanan dapat mengancam server jika tidak dikonfigurasi dengan benar. Artikel ini akan membahas langkah-langkah mengamankan web server (seperti Apache atau Nginx) di lingkungan produksi.
1. Pilih Web Server yang Terkini dan Didukung
Pastikan menggunakan versi terbaru dari web server (Apache, Nginx, LiteSpeed) yang masih mendapatkan pembaruan keamanan. Hindari versi lama yang tidak lagi didukung.
Contoh (Ubuntu/Debian):
sudo apt update && sudo apt upgrade -y sudo apt install apache2 nginx -y # Pilih salah satu
2. Batasi Informasi Server (Disable Server Tokens)
Hindari menampilkan versi server dan modul yang digunakan untuk mencegah eksploitasi.
Untuk Apache:
ServerTokens Prod ServerSignature Off
(Tambahkan di /etc/apache2/apache2.conf
atau .htaccess
)
Untuk Nginx:
server_tokens off;
(Tambahkan di /etc/nginx/nginx.conf
)
3. Aktifkan HTTPS dengan SSL/TLS
Gunakan sertifikat dari Let’s Encrypt (gratis) atau penyedia terpercaya untuk mengenkripsi lalu lintas data.
Instal Certbot:
sudo apt install certbot python3-certbot-nginx -y # Untuk Nginx sudo certbot --nginx -d namadomain.com
Pastikan konfigurasi SSL kuat dengan menonaktifkan protokol lama seperti TLS 1.0/1.1.
4. Konfigurasi Firewall (UFW/iptables)
Hanya buka port yang diperlukan:
-
HTTP (80), HTTPS (443)
-
SSH (22) – Ganti port default jika perlu.
Contoh UFW:
sudo ufw allow 80/tcp sudo ufw allow 443/tcp sudo ufw allow 22/tcp sudo ufw enable
5. Terapkan Pembatasan Akses
-
Gunakan
.htaccess
(Apache) atauallow/deny
(Nginx) untuk membatasi IP tertentu. -
Nonaktifkan HTTP methods berbahaya (seperti TRACE, DELETE):
if ($request_method ~ ^(TRACE|DELETE)$ ) { return 403; }
6. Hardening PHP (Jika Menggunakan PHP-FPM)
-
Matikan fungsi berbahaya di
php.ini
:disable_functions = exec,passthru,shell_exec,system expose_php = Off
-
Batasi eksekusi file upload (jika ada fitur upload).
7. Backup Rutin dan Monitoring
-
Gunakan log monitoring (seperti Fail2Ban) untuk memblokir upaya serangan.
-
Lakukan backup harian/mingguan untuk database dan file konfigurasi.
8. Update Berkala
Selalu perbarui sistem dan dependensi:
sudo apt update && sudo apt upgrade -y
Kesimpulan
Konfigurasi web server yang aman di lingkungan produksi melibatkan pembatasan akses, enkripsi data, pembaruan rutin, dan monitoring aktif. Dengan langkah-langkah di atas, risiko serangan siber dapat diminimalkan, menjaga stabilitas dan keamanan layanan.
Referensi:
Semoga artikel ini membantu! 🚀