Website WordPress Anda terus-menerus diserang oleh malware, virus, dan script backdoor yang dapat mencuri data atau merusak layanan. Berikut ini adalah prosedur teknis yang dapat langsung Anda terapkan untuk menutup celah keamanan secara menyeluruh.
Analisis Cepat Risiko WordPress
- Plugin atau tema yang tidak terupdate menjadi pintu masuk utama.
- File core WordPress yang memiliki izin berlebih (chmod).
- Database yang dapat diakses tanpa otentikasi kuat.
- Server web (Apache/Nginx) yang belum dikonfigurasi untuk menolak eksekusi file berbahaya.
Langkah-Langkah Mengamankan WordPress
- Langkah 1: Backup Utama
Lakukan backup penuh file dan database sebelum mengubah konfigurasi.
mkdir -p /backup/wordpress/$(date +%F) mysqldump -u root -pYOUR_PASSWORD wordpress_db > /backup/wordpress/$(date +%F)/db.sql rsync -avz /var/www/html/ /backup/wordpress/$(date +%F)/files/ - Langkah 2: Perbaiki Izin File
Set izin yang ketat agar file tidak dapat ditulis oleh user web.
# Direktori WordPress find /var/www/html/ -type d -exec chmod 755 {} \; # File PHP, HTML, CSS, JS find /var/www/html/ -type f -name "*.php" -exec chmod 644 {} \; find /var/www/html/ -type f \! -name "*.php" -exec chmod 644 {} \; - Langkah 3: Tambahkan .htaccess / Nginx Rules
Blok eksekusi file PHP di folder upload dan non‑PHP di root.
# .htaccess di wp-content/uploads <FilesMatch "\.php$"> Order Deny,Allow Deny from all </FilesMatch> # Jika menggunakan Nginx (server block) location ~* /wp-content/uploads/.*\.php$ { deny all; return 404; } # Menolak akses ke file .env dan .git location ~* /\.(env|git) { deny all; return 404; } - Langkah 4: Hardening wp-config.php
Letakkan wp-config.php di satu level di atas root dan tambahkan kunci keamanan.
# Pindahkan file mv /var/www/html/wp-config.php /var/www/wp-config.php # Tambahkan baris di wp-config.php define('DISALLOW_FILE_EDIT', true); define('DISALLOW_FILE_MODS', true); define('FORCE_SSL_ADMIN', true); # Update path di index.php sed -i 's|require_once( dirname(__FILE__) . '/wp‑settings.php' );|require_once( dirname(__DIR__) . '/wp‑settings.php' );|' /var/www/html/index.php - Langkah 5: Instalasi dan Konfigurasi Plugin Keamanan
Gunakan WP‑CLI untuk menginstal plugin yang terbukti efektif.
wp plugin install wordfence --activate wp plugin install iThemes‑Security --activate wp config set WP_REDIS_PASSWORD "strongpassword" --addSetelah aktivasi, jalankan scan otomatis:
wp wordfence scan --type=quick - Langkah 6: Monitoring Log dan Otomatisasi
Pasang fail2ban untuk memblokir IP yang mencoba brute‑force pada wp‑login.php.
# /etc/fail2ban/jail.local [wordpress-auth] enabled = true filter = wordpress-auth logpath = /var/www/html/wp‑content/debug.log maxretry = 5 bantime = 86400 # Filter definition (/etc/fail2ban/filter.d/wordpress-auth.conf) [Definition] failregex = "Authentication failed for .* from" ignoreregex = Jalankan ulang service:
systemctl restart fail2ban
Poin Penting yang Harus Diperhatikan
- Selalu gunakan password kuat dan autentikasi dua faktor (2FA) untuk semua akun admin.
- Non‑aktifkan XML‑RPC jika tidak diperlukan.
- Periksa secara rutin file core WordPress dengan perintah
wp core verify-checksums. - Hapus tema dan plugin yang tidak dipakai.
“Keamanan WordPress bukan sekadar satu langkah, melainkan rangkaian tindakan berlapis yang harus dipelihara secara kontinu.” – Tim Keamanan AN Media
Kesimpulan & Call to Action
Dengan mengikuti enam langkah di atas—backup, perbaikan izin, hardening .htaccess & wp-config, instalasi plugin keamanan, serta monitoring log—Anda dapat menutup celah paling umum yang dimanfaatkan malware, virus, dan script backdoor. Jika Anda membutuhkan audit keamanan menyeluruh atau layanan manajemen keamanan 24/7, hubungi AN Media, software house dan IT specialist terpercaya di Jember.