Panduan Teknis Apache Security Hardening: Konfigurasi & Proteksi

Prinsip Utama Pengamanan Apache

Apache Security Hardening adalah proses meminimalisir permukaan serangan (attack surface) pada server web Apache dengan menonaktifkan fitur yang tidak perlu, menyembunyikan identitas server, dan membatasi akses sistem file. Fokus utama hardening adalah mencegah kebocoran informasi (information disclosure) dan membatasi eksekusi skrip berbahaya.

1. Menyembunyikan Informasi Server

Secara default, Apache menampilkan versi perangkat lunak dan sistem operasi pada halaman error. Ini memberikan informasi berharga bagi penyerang. Ubah konfigurasi di /etc/apache2/apache2.conf atau /etc/httpd/conf/httpd.conf:

ServerTokens Prod
ServerSignature Off

2. Menonaktifkan Listing Direktori

Jika tidak ada file index (index.html/php), Apache akan menampilkan daftar file di direktori tersebut. Ini sangat berbahaya. Pastikan opsi Indexes dihapus dari konfigurasi direktori:

<Directory /var/www/html>
    Options -Indexes +FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

3. Membatasi Akses File Sensitif

Cegah akses ke file konfigurasi atau file tersembunyi seperti .htaccess atau .git menggunakan blok berikut:

<FilesMatch "^\.ht">
    Require all denied
</FilesMatch>

Tabel Ringkasan Parameter Keamanan

ParameterNilai RekomendasiFungsi
ServerTokensProdMenyembunyikan versi Apache
ServerSignatureOffMenghapus footer info server
Options-IndexesMencegah direktori listing
TraceEnableOffMencegah serangan Cross-Site Tracing
AllowOverrideNoneMencegah bypass via .htaccess

4. Menonaktifkan HTTP TRACE

Metode TRACE sering digunakan dalam serangan Cross-Site Tracing (XST). Nonaktifkan dengan menambahkan baris berikut di konfigurasi utama:

TraceEnable Off

5. Implementasi ModSecurity (WAF)

ModSecurity adalah Web Application Firewall (WAF) open-source yang sangat krusial. Instalasi dapat dilakukan melalui manajer paket sistem operasi Anda (misal: apt install libapache2-mod-security2). Setelah terinstal, aktifkan aturan dasar (OWASP Core Rule Set) untuk memblokir injeksi SQL, XSS, dan serangan umum lainnya.

Tips Troubleshooting

  • Selalu jalankan apachectl configtest setelah mengubah konfigurasi untuk memastikan tidak ada sintaks yang salah.
  • Restart layanan dengan systemctl restart apache2 atau httpd agar perubahan diterapkan.
  • Pantau log akses dan error di /var/log/apache2/ secara berkala untuk mendeteksi aktivitas mencurigakan.