Pelajari cara mengamankan web server Apache dari peretasan dan serangan DDoS. Tutorial lengkap konfigurasi keamanan server untuk pemula.
Dalam ekosistem pengembangan web, membangun aplikasi yang berfungsi dengan baik hanyalah separuh jalan. Separuh jalan lainnya adalah memastikan rumah tempat aplikasi Anda bernaung—yakni server—tidak mudah dijebol oleh peretas. Apache HTTP Server masih menjadi salah satu web server paling dominan di dunia. Namun, konfigurasi default bawaannya sangatlah rentan terhadap berbagai teknik eksploitasi modern.
Jika Anda tidak ingin bangun di pagi hari dan mendapati website Anda diretas (deface) atau terkena DDoS, Anda wajib membaca tutorial programming dan sistem administrasi ini. Tim infokoding akan memandu Anda melalui panduan praktis cara mengamankan server Apache dari serangan berbahaya lewat 5 Langkah Keamanan Terbaik yang teruji di lingkungan produksi, baik pada distro Ubuntu/Debian maupun RHEL/CentOS/AlmaLinux.
Key Takeaways (TL;DR Rangkuman Keamanan Apache)
Berikut adalah inti sari 5 Langkah Keamanan Terbaik untuk mengamankan server Apache dari serangan berbahaya:
-
1. Sembunyikan Versi & Identitas: Ubah
ServerTokens ProddanServerSignature Offagar tidak membocorkan versi Apache dan OS kepada pemindai kerentanan otomatis. - 2. Firewall (UFW/Firewalld) & Fail2Ban: Batasi port terbuka hanya pada 80, 443, dan 22, lalu pasang Fail2Ban untuk memblokir IP penyerang brute force secara otomatis.
- 3. Web Application Firewall (WAF): Aktifkan ModSecurity untuk memvalidasi seluruh lalu lintas HTTP dan memblokir serangan SQL Injection (SQLi) serta Cross-Site Scripting (XSS).
-
4. Matikan Directory Listing: Tambahkan perintah
Options -Indexespada.htaccessagar struktur folder, file cadangan, dan.envtidak dapat diintip publik. -
5. Enkripsi SSL & HTTP Security Headers: Paksa pengalihan HTTPS dan aktifkan header mitigasi modern seperti
Strict-Transport-Security(HSTS),Content-Security-Policy(CSP), danX-Frame-Options.
Daftar Isi (5 Langkah Keamanan Apache)
- Key Takeaways (TL;DR Rangkuman Keamanan Apache)
- Quick Start: Skrip Otomatisasi Perintah Keamanan (Bash Script)
- Cara Menyembunyikan Versi Apache & Informasi OS
- Mengaktifkan Firewall (UFW/Firewalld) dan Proteksi Brute Force (Fail2Ban)
- Menginstal ModSecurity sebagai Web Application Firewall (WAF)
- Mematikan Fitur Directory Listing di Apache
- Enkripsi SSL/HTTPS dan Konfigurasi HTTP Security Headers
- Pertanyaan yang Sering Diajukan (FAQ)
Quick Start: Ringkasan Perintah & Skrip Otomatisasi (Bash Script)
apache-secure.shBagi Anda yang membutuhkan penerapan cepat (deploy & secure), berikut adalah skrip Bash otomatisasi untuk menerapkan konfigurasi dasar keamanan Apache (Firewall, Fail2Ban, ModSecurity WAF, dan Header Keamanan) pada server Linux berbasis Debian/Ubuntu atau RHEL/CentOS:
Official GitHub Repository
github.com/admininfokoding/apache-security-scriptsSkrip resmi oleh Rusmawan Abdullah Sani (Terverifikasi untuk lingkungan produksi).
Opsi 1: Eksekusi Otomatis via cURL (Satu Baris Perintah)
curl -sSL https://raw.githubusercontent.com/admininfokoding/apache-security-scripts/main/apache-secure.sh | sudo bash
Opsi 2: Tinjau dan Jalankan Kode Secara Manual
#!/usr/bin/env bash
# =====================================================================
# Skrip Otomatisasi Keamanan Apache (5 Langkah Keamanan infokoding)
# Author: Rusmawan Abdullah Sani (infokoding.com)
# Repositori Resmi: https://github.com/admininfokoding/apache-security-scripts
# Kompatibel untuk: Ubuntu / Debian & RHEL / CentOS / AlmaLinux
# =====================================================================
set -e
echo "[+] Memulai pengamanan server Apache..."
# 1. Sembunyikan Versi Apache
echo "[1/5] Menyembunyikan informasi versi Apache..."
if [ -f /etc/debian_version ]; then
sudo sed -i 's/^ServerTokens .*/ServerTokens Prod/' /etc/apache2/conf-available/security.conf 2>/dev/null || echo "ServerTokens Prod" | sudo tee -a /etc/apache2/conf-available/security.conf
sudo sed -i 's/^ServerSignature .*/ServerSignature Off/' /etc/apache2/conf-available/security.conf 2>/dev/null || echo "ServerSignature Off" | sudo tee -a /etc/apache2/conf-available/security.conf
sudo a2enconf security 2>/dev/null || true
else
sudo sed -i 's/^ServerTokens .*/ServerTokens Prod/' /etc/httpd/conf/httpd.conf 2>/dev/null || echo "ServerTokens Prod" | sudo tee -a /etc/httpd/conf/httpd.conf
sudo sed -i 's/^ServerSignature .*/ServerSignature Off/' /etc/httpd/conf/httpd.conf 2>/dev/null || echo "ServerSignature Off" | sudo tee -a /etc/httpd/conf/httpd.conf
fi
# 2. Konfigurasi Firewall dan Fail2Ban
echo "[2/5] Mengonfigurasi Firewall dan menginstal Fail2Ban..."
if [ -f /etc/debian_version ]; then
sudo ufw default deny incoming 2>/dev/null || true
sudo ufw default allow outgoing 2>/dev/null || true
sudo ufw allow ssh 2>/dev/null || true
sudo ufw allow "Apache Full" 2>/dev/null || true
sudo ufw --force enable 2>/dev/null || true
sudo apt update -y && sudo apt install fail2ban -y
sudo cp -n /etc/fail2ban/jail.conf /etc/fail2ban/jail.local 2>/dev/null || true
sudo systemctl enable --now fail2ban
else
sudo firewall-cmd --permanent --add-service=http 2>/dev/null || true
sudo firewall-cmd --permanent --add-service=https 2>/dev/null || true
sudo firewall-cmd --reload 2>/dev/null || true
sudo dnf install epel-release -y 2>/dev/null || true
sudo dnf install fail2ban -y
sudo cp -n /etc/fail2ban/jail.conf /etc/fail2ban/jail.local 2>/dev/null || true
sudo systemctl enable --now fail2ban
fi
# 3. Instalasi ModSecurity WAF
echo "[3/5] Menginstal ModSecurity WAF..."
if [ -f /etc/debian_version ]; then
sudo apt install libapache2-mod-security2 -y
sudo a2enmod security2
sudo cp -n /etc/modsecurity/modsecurity.conf-recommended /etc/modsecurity/modsecurity.conf 2>/dev/null || true
sudo sed -i 's/SecRuleEngine DetectionOnly/SecRuleEngine On/' /etc/modsecurity/modsecurity.conf
else
sudo dnf install mod_security -y
sudo sed -i 's/SecRuleEngine DetectionOnly/SecRuleEngine On/' /etc/httpd/conf.d/mod_security.conf 2>/dev/null || true
fi
# 4. Matikan Directory Listing & 5. Aktifkan HTTP Security Headers
echo "[4/5 & 5/5] Mengaktifkan modul HTTP Security Headers..."
if [ -f /etc/debian_version ]; then
sudo a2enmod headers
sudo systemctl restart apache2
else
sudo systemctl restart httpd
fi
echo "[✓] Selesai! Server Apache Anda kini telah dikonfigurasi dengan standar keamanan terbaik."
1. Cara Menyembunyikan Versi Apache & Informasi Sistem Operasi
Tanya Jawab (Q&A): Mengapa versi Apache harus disembunyikan dan bagaimana caranya?
Jawaban Langsung: Versi Apache harus disembunyikan agar peretas tidak dapat memindai celah kerentanan (CVE) yang spesifik untuk versi tersebut. Caranya adalah dengan mengatur direktif ServerTokens Prod dan ServerSignature Off pada file konfigurasi keamanan Apache sehingga server hanya merespons identitas umum tanpa detail nomor versi atau distribusi OS.
Kesalahan fatal pertama yang sering dilakukan sysadmin pemula adalah membiarkan Apache membocorkan versi yang sedang digunakan pada halaman pesan error (misalnya 404 Not Found). Jika peretas mengetahui bahwa Anda menggunakan versi Apache yang lawas, mereka tinggal mencari celah keamanan (exploit CVE) yang spesifik untuk versi tersebut di internet.
# Buka file konfigurasi Apache di server Anda:
# - Ubuntu / Debian: /etc/apache2/conf-available/security.conf
# - RHEL / CentOS / AlmaLinux: /etc/httpd/conf/httpd.conf (atau /etc/httpd/conf.d/security.conf)
# Ubah atau tambahkan dua baris berikut:
ServerTokens Prod
ServerSignature Off
Konfigurasi di atas akan memaksa Apache hanya merespons sebagai "Apache", tanpa menyertakan nomor versi atau detail sistem operasi (misal: Ubuntu/Debian atau CentOS).
Ringkasan Bab 1 (Key Takeaways)
- Konfigurasi bawaan (default) Apache berisiko membocorkan nomor versi dan distribusi sistem operasi pada HTTP header serta halaman error.
- Mengubah direktif
ServerTokens Prodmemotong informasi pada HTTP header sehingga hanya menampilkan teks singkatServer: Apache. - Mengaktifkan
ServerSignature Offmenghapus catatan kaki (footer) yang menampilkan versi Apache pada halaman kesalahan seperti 404 Not Found dan 500 Internal Server Error.
2. Mengaktifkan Firewall (UFW/Firewalld) dan Proteksi Brute Force dengan Fail2Ban
Tanya Jawab (Q&A): Bagaimana cara mengamankan Apache dari serangan brute force dan akses port terlarang?
Jawaban Langsung: Gunakan Firewall (UFW pada Ubuntu atau Firewalld pada RHEL) untuk membatasi akses jaringan hanya pada port HTTP (80), HTTPS (443), dan SSH (22). Selanjutnya, pasang Fail2Ban untuk memantau log Apache secara real-time dan memenjarakan (ban) IP penyerang secara otomatis saat terjadi kegagalan login berulang atau aktivitas pemindaian mencurigakan.
Keamanan jaringan server dimulai dari lapisan pertahanan akses dan autentikasi. Pertama, Anda harus membatasi agar server hanya merespons pada port-port yang benar-benar esensial, seperti port HTTP (80), HTTPS (443), dan SSH (22).
Konfigurasi Firewall (Ubuntu/Debian vs RHEL/CentOS)
Ubuntu / Debian (menggunakan UFW):
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow ssh
sudo ufw allow "Apache Full"
sudo ufw enable
RHEL / CentOS / AlmaLinux (menggunakan Firewalld):
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
Kedua, untuk melengkapi firewall dari ancaman serangan otomatis (seperti Brute Force pada halaman login atau pemindai kerentanan), Anda wajib mengimplementasikan Fail2Ban. Sistem pencegahan intrusi berbasis log ini memantau berkas log Apache secara real-time, lalu memblokir IP penyerang secara dinamis.
Instalasi Fail2Ban (APT vs DNF/YUM)
Ubuntu / Debian: sudo apt update && sudo apt install fail2ban -y
RHEL / CentOS / AlmaLinux (via EPEL): sudo dnf install epel-release -y && sudo dnf install fail2ban -y
# Salin file konfigurasi default agar aman dari timpaan update
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Buka dan edit file /etc/fail2ban/jail.local, lalu aktifkan proteksi khusus Apache berikut (catatan: pada RHEL/CentOS ganti nama logpath jika menggunakan /var/log/httpd/*):
# Proteksi kegagalan autentikasi Apache
[apache-auth]
enabled = true
port = http,https
logpath = %(apache_error_log)s
maxretry = 5
findtime = 600
bantime = 3600
# Proteksi dari pemindai bot jahat dan eksploitasi URL
[apache-badbots]
enabled = true
port = http,https
logpath = %(apache_access_log)s
bantime = 86400
maxretry = 2
Mulai ulang layanan Fail2Ban untuk menerapkan aturan proteksi:
sudo systemctl enable --now fail2ban
sudo systemctl restart fail2ban
sudo fail2ban-client status apache-auth
Ringkasan Bab 2 (Key Takeaways)
- Firewall (UFW / Firewalld) bertindak sebagai gerbang keamanan jaringan lapisan pertama yang menolak seluruh koneksi masuk kecuali port 80, 443, dan 22.
- Fail2Ban memberikan perlindungan dinamis berbasis log untuk menangkal serangan brute force dan pemindaian bot otomatis.
- Konfigurasi jail
[apache-auth]dan[apache-badbots]secara otomatis memblokir alamat IP penyerang pada level firewall jika melebihi batas maksimal percobaan (maxretry).
3. Menginstal ModSecurity sebagai Web Application Firewall (WAF)
Tanya Jawab (Q&A): Apa fungsi ModSecurity WAF dan mengapa wajib dipasang pada server Apache?
Jawaban Langsung: ModSecurity adalah Web Application Firewall (WAF) open-source yang memvalidasi seluruh lalu lintas HTTP secara real-time. WAF ini wajib dipasang untuk mendeteksi dan memblokir serangan aplikasi web umum seperti SQL Injection (SQLi), Cross-Site Scripting (XSS), dan pemindaian kerentanan sebelum mencapai logika aplikasi utama.
Apache memiliki modul yang sangat kuat bernama ModSecurity. Modul ini bertindak sebagai Web Application Firewall (WAF) sumber terbuka yang memonitor seluruh lalu lintas HTTP secara real-time. Ia dapat memblokir teknik peretasan umum seperti SQL Injection, Cross-Site Scripting (XSS), hingga serangan DDoS skala kecil secara otomatis.
Perintah Instalasi & Path ModSecurity
Ubuntu / Debian:
sudo apt install libapache2-mod-security2 -y
sudo a2enmod security2
sudo systemctl restart apache2
# Path konfigurasi utama: /etc/modsecurity/modsecurity.conf
RHEL / CentOS / AlmaLinux:
sudo dnf install mod_security -y
sudo systemctl restart httpd
# Path konfigurasi utama: /etc/httpd/conf.d/mod_security.conf (atau /etc/httpd/conf.modules.d/10-mod_security.conf)
| Fitur ModSecurity | Fungsi Utama |
|---|---|
| SQLi Protection | Memblokir injeksi kueri database (seperti ' OR 1=1). |
| Bad Bot Blocker | Menolak request dari user-agent pemindai otomatis (scanner). |
Ringkasan Bab 3 (Key Takeaways)
- ModSecurity WAF berfungsi sebagai perisai aplikasi web yang memancong serangan SQL Injection (SQLi) dan Cross-Site Scripting (XSS).
- Pengaturan default instalasi biasanya berada pada mode
DetectionOnly(hanya mencatat log), sehingga wajib diubah menjadiSecRuleEngine Onagar aktif memblokir ancaman. - Dapat dikombinasikan dengan aturan standar industri seperti OWASP ModSecurity Core Rule Set (CRS) untuk perlindungan maksimal dari kerentanan zero-day.
4. Mematikan Fitur Directory Listing di Apache
Tanya Jawab (Q&A): Mengapa fitur Directory Listing Apache harus dimatikan dan bagaimana perintahnya?
Jawaban Langsung: Fitur Directory Listing harus dimatikan agar pengunjung dan peretas tidak dapat melihat struktur folder, mengunduh file cadangan (backup), atau mengintip file sensitif seperti .env saat file indeks (seperti index.html/index.php) tidak ditemukan. Cara mematikannya adalah dengan menambahkan perintah Options -Indexes pada file konfigurasi Apache atau .htaccess.
Pernahkah Anda membuka sebuah tautan web dan malah disajikan dengan daftar file dan folder (mirip tampilan File Explorer)? Itu adalah fitur Directory Listing bawaan Apache. Jika fitur ini aktif, hacker bisa dengan mudah menjelajahi struktur folder Anda, mengunduh file konfigurasi .env, atau mencuri cadangan database (backup).
# Tambahkan konfigurasi ini pada file .htaccess atau blok Anda:
Options -Indexes
Ringkasan Bab 4 (Key Takeaways)
- Fitur Directory Listing bawaan Apache akan menampilkan seluruh isi folder jika file
index.htmlatauindex.phptidak ditemukan. - Menambahkan perintah
Options -Indexespada direktif blok<Directory>atau file.htaccessakan mematikan fitur penampilan indeks direktori secara instan. - Langkah sederhana ini mencegah kebocoran informasi krusial seperti kredensial database pada file
.env, file cadangan berakhiran.sql/.bak, dan kode sumber aplikasi.
5. Enkripsi SSL/HTTPS dan Konfigurasi HTTP Security Headers
Tanya Jawab (Q&A): Bagaimana cara melindungi Apache dari serangan Man-in-the-Middle (MitM) dan XSS melalui HTTP Headers?
Jawaban Langsung: Paksa pengalihan ke HTTPS menggunakan aturan VirtualHost, lalu aktifkan HTTP Security Headers (seperti HSTS, CSP, X-Frame-Options, dan X-Content-Type-Options) melalui modul mod_headers. Header ini memberi instruksi ketat kepada peramban (browser) klien untuk menolak koneksi tidak aman, melarang pemuatan iframe terlarang (clickjacking), dan mencegah eksekusi skrip berbahaya.
Langkah kelima sekaligus yang sangat fundamental dalam cyber security web modern adalah mengamankan jalur transmisi data dan respons HTTP. Pertama, terapkan enkripsi SSL/HTTPS secara paksa (force redirect) agar data sensitif tidak dikirim dalam bentuk plain text.
# Konfigurasi VirtualHost untuk Force HTTPS
<VirtualHost *:80>
ServerName namadomainanda.com
Redirect permanent / https://namadomainanda.com/
</VirtualHost>
Kedua, perkuat keamanan pada layer peramban (browser) klien dengan mengaktifkan HTTP Security Headers (HSTS, CSP, X-Frame-Options) menggunakan modul mod_headers di Apache:
Catatan Aktivasi Modul Headers:
- Ubuntu/Debian: Jalankan sudo a2enmod headers && sudo systemctl restart apache2
- RHEL/CentOS/AlmaLinux: Modul mod_headers sudah aktif secara default di /etc/httpd/conf.modules.d/00-base.conf. Anda cukup merestart layanan dengan sudo systemctl restart httpd.
Tambahkan konfigurasi security headers berikut ke dalam blok VirtualHost atau file konfigurasi global Apache Anda:
<IfModule mod_headers.c>
# 1. HSTS: Memaksa browser selalu menggunakan HTTPS selama 1 tahun (mitigasi SSL Stripping)
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
# 2. X-Frame-Options: Mencegah serangan Clickjacking (melarang web dimuat di frame/iframe)
Header always set X-Frame-Options "SAMEORIGIN"
# 3. X-Content-Type-Options: Mencegah browser menebak tipe MIME (MIME-sniffing)
Header always set X-Content-Type-Options "nosniff"
# 4. Content-Security-Policy (CSP): Membatasi eksekusi skrip dan aset dari domain tidak dikenal (mitigasi XSS)
Header set Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline' https://trusted-cdn.com; style-src 'self' 'unsafe-inline';"
# 5. Referrer-Policy: Mengontrol informasi referrer ke domain eksternal
Header always set Referrer-Policy "strict-origin-when-cross-origin"
</IfModule>
| HTTP Security Header | Fungsi Mitigasi Ancaman |
|---|---|
| Strict-Transport-Security (HSTS) | Mencegah serangan SSL Stripping dan Man-in-the-Middle dengan menolak koneksi HTTP biasa. |
| X-Frame-Options | Melindungi situs dari Clickjacking (penipuan klik) di mana web dipasangkan pada bingkai situs terlarang. |
| Content-Security-Policy (CSP) | Mengurangi risiko eksekusi skrip jahat (XSS) dan injeksi data tak diundang dari domain pihak ketiga. |
Ringkasan Bab 5 (Key Takeaways)
- Enkripsi SSL/HTTPS wajib dipaksakan via VirtualHost agar seluruh lalu lintas data autentikasi dan kueri terenkripsi secara menyeluruh.
- Header
Strict-Transport-Security(HSTS) melindungi situs dari serangan penurunan tingkat enkripsi (SSL Stripping / MitM). - Header
X-Frame-OptionsdanContent-Security-Policy(CSP) memberikan proteksi sisi peramban klien dari serangan Clickjacking dan eksekusi skrip jahat (XSS).
Cara Memverifikasi Konfigurasi Keamanan Apache
Setelah menerapkan kelima langkah di atas, sangat penting untuk memvalidasi apakah konfigurasi dan security headers sudah aktif dan merespons dengan benar. Anda dapat menggunakan dua metode verifikasi berikut:
1. Pengujian Melalui Terminal (CLI)
Gunakan utilitas curl dengan argumen -I (hanya mengambil HTTP header) untuk mengecek respons server Anda secara langsung melalui terminal:
curl -I https://namadomainanda.com/
Pastikan dalam output terminal yang muncul terdapat baris seperti Strict-Transport-Security, X-Frame-Options, dan Content-Security-Policy dengan nilai yang sesuai dengan konfigurasi Anda.
2. Verifikasi Menggunakan Alat Online
Untuk pemeriksaan mendalam dan mendapatkan skor (grading) keamanan dari A+ hingga F, Anda dapat menguji domain situs Anda melalui layanan verifikasi online publik seperti SecurityHeaders.com dan Qualys SSL Labs.
Tabel Perbandingan Skor Keamanan (Sebelum vs. Sesudah Optimasi)
Berikut adalah perbandingan hasil audit dan skor kelulusan keamanan dari alat verifikasi publik sebelum dan sesudah menerapkan 5 Langkah Keamanan infokoding:
| Metrik / Alat Audit | Sebelum Optimasi (Default) | Sesudah Optimasi (5 Langkah) | Dampak Mitigasi |
|---|---|---|---|
| Skor SecurityHeaders.com | Grade F (0 Header) | Grade A+ (100% Valid) | Menutup total celah XSS, Clickjacking, dan MIME-sniffing. |
| Skor Qualys SSL Labs | Grade B / C (Tanpa HSTS) | Grade A+ (HSTS Preload) | Mencegah serangan SSL Stripping dan Man-in-the-Middle (MitM). |
| Proteksi Brute Force / Bot | Rentan (Tanpa filter akses log) | Terlindungi (Fail2Ban + WAF) | Blokir otomatis IP penyerang dalam < 600 milidetik. |
| Kebocoran Informasi Server | Apache/2.4.52 (Ubuntu) OpenSSL... | Apache (Tersembunyi total) | Hacker gagal memindai CVE spesifik versi Apache. |
Pertanyaan yang Sering Diajukan (FAQ)
Apakah Firewall (UFW) saja sudah cukup untuk mengamankan server?
Tidak. Firewall UFW hanya berfungsi memblokir port jaringan. Jika peretas menyerang melalui port 80 (HTTP) yang memang wajib dibuka untuk website, UFW tidak akan memblokirnya. Anda membutuhkan ModSecurity (WAF) dan Fail2Ban untuk memfilter serangan pada tingkat aplikasi web serta autentikasi.
Bagaimana cara mendapatkan SSL gratis untuk Apache?
Anda bisa menggunakan Let's Encrypt dengan menginstal utilitas Certbot di server Ubuntu Anda. Certbot akan secara otomatis mengkonfigurasi file Apache dan memperbarui SSL secara berkala secara gratis.
Apa fungsi utama HTTP Security Headers seperti HSTS dan CSP di Apache?
HTTP Security Headers memberikan instruksi kepada browser klien. HSTS memaksa koneksi selalu menggunakan enkripsi HTTPS untuk mencegah SSL stripping, sedangkan CSP membatasi eksekusi skrip dari sumber eksternal untuk mencegah serangan Cross-Site Scripting (XSS).
Bagaimana Fail2Ban bekerja mengamankan server Apache dari serangan brute force?
Fail2Ban memantau file log Apache (seperti access.log dan error.log) secara real-time. Ketika mendeteksi IP yang melakukan kegagalan login berulang atau pemindai kerentanan otomatis, Fail2Ban akan memblokir IP penyerang tersebut melalui aturan firewall (iptables/UFW).
Kesimpulan
Menerapkan 5 Langkah Keamanan Terbaik di atas akan mengamankan server Apache Anda dari 99% upaya peretasan otomatis, mulai dari penyadapan data, injeksi skrip, hingga serangan brute force. Keamanan server bukanlah proses sekali jadi, melainkan rutinitas yang menuntut Anda untuk terus menambal (patch) dan memantau log secara berkala.
Selain mengamankan server webnya, pastikan Anda juga mengamankan kode logika Anda. Silakan lanjutkan membaca panduan sistem otentikasi backend modern yang telah kami bahas sebelumnya. Tetap waspada dan jangan pernah meremehkan cyber security!