Mengapa WordPress Sering Jadi Target?
WordPress menguasai 43% pasar website dunia. Popularitas ini menjadikannya target utama serangan cyber. Setiap menit, ada ratusan ribu attempt login otomatis ke website WordPress di seluruh dunia. Statistik Wordfence 2025 mencatat lebih dari 4 miliar serangan brute force per bulan ke website WordPress.
Mayoritas serangan menargetkan website kecil-menengah karena dianggap lemah keamanannya. Konsekuensi hack: data customer bocor, blacklist Google, kehilangan trust, hingga tuntutan hukum jika menyangkut data pribadi pelanggan.
Kabar baiknya: 99% serangan bisa dicegah dengan konfigurasi yang tepat. Artikel ini membahas 9 lapisan keamanan yang wajib Anda terapkan.
Apa Itu Brute Force Attack?
Brute force adalah serangan dengan mencoba kombinasi username/password berulang-ulang menggunakan bot otomatis hingga berhasil masuk. Target favorit: /wp-admin, /wp-login.php, dan endpoint XML-RPC.
Dengan komputer modern, serangan brute force bisa mencoba 1 juta password per detik. Password lemah seperti "123456" atau "password" akan ditebak dalam hitungan milidetik. Bahkan password "kompleks" 8 karakter masih bisa di-crack dalam beberapa jam.
Lapisan 1: Imunify360 (Sudah Aktif)
Semua server Saung Hosting dilindungi Imunify360 Enterprise — security suite komersial dengan AI-based threat detection. Fitur built-in:
- Proactive Defense (block exploit zero-day di level PHP)
- Malware Scanner real-time
- WAF dengan ribuan rule ModSecurity
- Brute force protection (auto-block IP setelah 5x salah login)
- Reputation Management (block IP yang sudah dikenal jahat)
Tidak perlu setup apapun — aktif otomatis untuk semua paket. Anda hanya akan dapat email notifikasi jika ada serangan terdeteksi.
Lapisan 2: Ganti URL Login Default
Default URL login WordPress (/wp-admin dan /wp-login.php) sangat dikenal bot. Sembunyikan dengan plugin WPS Hide Login (gratis):
- Install & activate plugin
- Settings → WPS Hide Login
- Login URL: ganti ke nama unik seperti
/admin-rahasia-2026 - Redirection URL:
/404(orang yang akses /wp-admin akan dapat 404)
Hasil: bot otomatis dapat 404 error → tidak ada attempt login. Hanya Anda yang tahu URL admin sebenarnya. Single fix paling impactful untuk anti brute force.
Lapisan 3: Wordfence + Two-Factor Authentication
Install plugin Wordfence Security. Aktivasi minimal:
- Firewall mode "Extended Protection" (proteksi sebelum WordPress load)
- Brute Force Protection — lock IP setelah 5x salah dalam 30 menit
- Two-Factor Authentication wajib untuk semua user role Administrator dan Editor
- Live Traffic monitoring untuk lihat siapa akses website real-time
- Country Blocking — block negara yang tidak ada customer Anda di sana
2FA dengan Google Authenticator atau Authy. Walaupun password bocor, attacker tidak bisa masuk tanpa kode 6 digit dari smartphone Anda.
Lapisan 4: Block via .htaccess
Edit .htaccess di root WordPress lewat cPanel File Manager. Tambahkan rule berikut:
Batasi Akses wp-login.php ke IP Anda Saja
<Files wp-login.php> Require ip 123.45.67.89 </Files>
Catatan: hanya jika IP Anda statis. Untuk IP dinamis, skip rule ini.
Disable XML-RPC (Sumber Brute Force Massal)
<Files xmlrpc.php> Require all denied </Files>
XML-RPC dipakai Jetpack dan beberapa app mobile. Jika tidak butuh, disable saja — hampir tidak ada use case modern.
Block Akses Direct ke wp-config.php
<Files wp-config.php> Require all denied </Files>
Block PHP Execution di Folder Upload
<Directory "/wp-content/uploads">
<FilesMatch "\.php$">
Require all denied
</FilesMatch>
</Directory>Lapisan 5: Disable Username Enumeration
WordPress secara default expose username via REST API endpoint /wp-json/wp/v2/users. Bot pakai ini untuk dapat list username valid sebelum brute force password.
Tambahkan di functions.php theme child Anda:
add_filter('rest_endpoints', function($endpoints){
if(isset($endpoints['/wp/v2/users'])) unset($endpoints['/wp/v2/users']);
return $endpoints;
});
// Block ?author=N enumeration
if(!is_admin() && isset($_GET['author'])) {
wp_redirect(home_url(), 301); exit;
}Lapisan 6: Hardening wp-config.php
Edit wp-config.php dan tambahkan konstanta berikut sebelum baris /* That's all, stop editing! */:
// Disable file editing dari WordPress admin
define('DISALLOW_FILE_EDIT', true);
// Disable plugin/theme installation dari admin
define('DISALLOW_FILE_MODS', true);
// Force SSL untuk admin
define('FORCE_SSL_ADMIN', true);
// Auto-update minor & security only
define('WP_AUTO_UPDATE_CORE', 'minor');Lalu set permission wp-config.php menjadi 600 via cPanel File Manager.
Lapisan 7: Hapus User "admin" & Pakai Username Unik
Bot brute force selalu coba username "admin" pertama kali. Jika ada di sistem Anda, ganti segera:
- Buat user baru dengan role Administrator (username unik, bukan "admin")
- Login ulang dengan user baru
- Hapus user "admin" lama → assign semua post-nya ke user baru
Plus: pakai password > 16 karakter dengan password manager (Bitwarden, 1Password). Jangan pakai password yang sama di tempat lain.
Lapisan 8: File Permission yang Benar
Permission yang salah sering jadi entry point hacker. Setting yang benar:
Folder : 755 File : 644 wp-config.php : 600 .htaccess : 644
Set lewat cPanel File Manager → klik kanan file/folder → Permissions, atau via SSH:
find /home/user/public_html -type d -exec chmod 755 {} \;
find /home/user/public_html -type f -exec chmod 644 {} \;
chmod 600 /home/user/public_html/wp-config.phpLapisan 9: Update Berkala & Backup
Update Core, Theme, dan Plugin setiap minggu. Mayoritas hack terjadi karena exploit di plugin yang sudah tahu vulnerable tapi tidak di-update. Aktifkan auto-update minor di wp-config.php (lihat Lapisan 6).
Backup harian otomatis sudah aktif di Saung Hosting via JetBackup 5 (retain 7 hari). Tambahkan backup eksternal mingguan ke Google Drive dengan UpdraftPlus untuk safety extra.
Checklist Hardening (Print & Tempel di Meja)
- ✅ Imunify360 aktif (default Saung Hosting)
- ✅ Hide login URL via WPS Hide Login
- ✅ Wordfence + 2FA untuk Admin/Editor
- ✅ Disable XML-RPC di .htaccess
- ✅ Block REST API users endpoint
- ✅ DISALLOW_FILE_EDIT di wp-config.php
- ✅ Hapus user "admin", pakai username unik
- ✅ Password manager + 16+ karakter
- ✅ File permission 644/755/600
- ✅ Update Core/Plugin/Theme mingguan
- ✅ Backup harian (auto) + mingguan eksternal
- ✅ SSL aktif + Force HTTPS
Jika Sudah Terlanjur Di-Hack
Jangan panik. Langkah recovery:
- Jangan login ke WordPress dulu — bisa kena keylogger
- Buka tiket urgent di Client Area dengan kategori "Security Incident"
- Tim Saung Hosting akan: scan malware, identifikasi entry point, restore dari snapshot bersih terakhir, ganti semua password
- Setelah bersih, terapkan semua 9 lapisan di atas
- Submit ulang ke Google Search Console untuk hapus blacklist
Kesimpulan
Keamanan WordPress bukan one-time setup tapi proses berkelanjutan. Lakukan 9 lapisan di atas sekarang, lalu review bulanan. Saung Hosting menyediakan infrastruktur secure-by-default — tugas Anda tinggal hardening di sisi aplikasi WordPress.
Butuh bantuan setup hardening? Hubungi tim engineer kami via tiket atau WhatsApp 24/7. Atau pelajari panduan detail di Bantuan SSL & Keamanan.