Beberapa hari lalu, saya membuka dashboard Wordfence di situs saya dan menemukan notifikasi dengan label Critical yang langsung bikin saya agak panik:
Publicly accessible config, backup, or log file found: .user.ini

Jujur, awalnya saya tidak tahu file .user.ini itu apa. Yang saya tahu, label “Critical” di Wordfence bukan sesuatu yang bisa diabaikan begitu saja. Maka saya langsung lakukan troubleshoot peringatan ini. Pertama-tama kita cari tahu dan dalami file ini.
Apa Itu File .user.ini?
File .user.ini adalah file konfigurasi PHP yang bekerja di level direktori. Fungsinya mirip seperti php.ini, tapi hanya berlaku untuk folder tempat file itu berada, dalam hal ini, folder root WordPress.
File ini bukan file bawaan WordPress. Dalam kasus saya, file ini dibuat secara otomatis oleh plugin Wordfence sendiri saat mengaktifkan fitur Web Application Firewall (WAF).
Isi File .user.ini Saya
Setelah saya buka file tersebut, isinya hanya ini:
; Wordfence WAF
auto_prepend_file = '/var/www/xxxxx/wordfence-waf.php'
; END Wordfence WAF
Penjelasan singkat:
Baris auto_prepend_file memerintahkan PHP untuk menjalankan file wordfence-waf.php sebelum file PHP manapun dieksekusi. Inilah cara Wordfence WAF “mencegat” request berbahaya sebelum sampai ke WordPress.
Apa Bahayanya Jika File Ini Bisa Diakses Publik?
Meski isi file saya tidak mengandung password atau kredensial, ada dua informasi yang tidak seharusnya diketahui orang lain:
1. Path direktori server terekspos
/var/www/xxxxx/
Penyerang bisa mengetahui struktur folder server saya. Informasi ini berguna untuk serangan seperti path traversal atau local file inclusion.
2. Plugin keamanan yang digunakan diketahui
Penyerang tahu saya menggunakan Wordfence. Dengan informasi ini, mereka bisa mencari exploit atau teknik bypass yang spesifik menargetkan Wordfence.
File ini tidak boleh bisa diakses publik, meskipun isinya tidak terlalu berbahaya.
Cara Mengatasinya
Solusinya adalah memblokir akses publik ke file .user.ini. File ini tidak perlu dihapus karena masih dibutuhkan oleh Wordfence WAF. Cara pemblokirannya berbeda tergantung web server yang kamu gunakan, pada kasus saya, saya menggunakan web server Nginx.
Langkah 1 — Masuk ke konfigurasi Nginx
Akses via SSH:
# nano /etc/nginx/sites-available/fileconfanda.conf
Langkah 2 — Tambahkan rule berikut di dalam blok server {}
// Blokir akses ke file konfigurasi sensitif
location ~ /\.(user\.ini|htaccess|htpasswd|git) {
deny all;
return 404;
}

Penjelasan:
| Bagian | Keterangan |
|---|---|
location ~ | Mencocokkan URL menggunakan regex (case-sensitive) |
/\. | Menargetkan semua file yang diawali titik (dotfiles) |
deny all | Menolak semua request ke file tersebut |
return 404 | Mengembalikan 404 agar penyerang tidak tahu file itu ada |
Saya gunakan
return 404bukanreturn 403, ini teknik agar penyerang tidak bisa memastikan apakah file tersebut benar-benar ada di server.
Langkah 3 — Test konfigurasi Nginx
Sebelum reload, selalu test dulu untuk memastikan tidak ada syntax error:
# nginx -t

Jika ada error, troubleshoot dulu sebelum lanjut ke langkah berikutnya.
Langkah 4 — Reload Nginx
# systemctl reload nginx
Langkah 5 — Verifikasi dari browser
Akses langsung dari browser:
https://rafiharlianto.web.id/.user.ini
Kalau sudah muncul 404, berarti file sudah berhasil disembunyikan dari publik.

Langkah 6 – Verifikasi di Wordfence
Setelah memblokir file, saya kembali ke dashboard Wordfence dan menjalankan ulang scan:
Wordfence → Scan → Start New Scan
Hasilnya? No new issues have been found.

Akhir Kata Rafi…
Rutin cek Wordfence Scanner, banyak masalah keamanan yang tidak terlihat secara kasat mata tapi bisa ditemukan lewat scanner.
File yang dibuat plugin pun bisa jadi celah, kesalahan terbesar kasus ini adalah file yang bocor justru dibuat oleh plugin keamanan saya sendiri.
Blokir akses ke file konfigurasi sejak awal, jangan tunggu ada temuan baru menambahkan proteksi di konfigurasi Nginx.
Tidak semua temuan “Critical” berbahaya, tapi tetap harus ditangani sesegera mungkin.
Semoga artikel ini membantu, apalagi kalau kamu menemukan temuan serupa di Wordfence Scanner pada situsmu. Jika ada pertanyaan, tulis di kolom komentar ya!


Leave a Reply