Ada banyak alasan mengapa WordPress adalah salah satu sistem manajemen konten (CMS) yang paling banyak digunakan saat ini. Sangat mudah untuk menginstal dan memelihara, sangat user friendly dan berisi banyak tema dan plugin gratis yang dapat diinstal dengan beberapa klik tombol mouse. Namun, ini juga cenderung diretas jika situs web Anda menjalankan versi WordPress atau plugin yang kedaluwarsa. Sekitar setahun yang lalu, kerentanan telah ditemukan dalam skrip PHP TimThumb yang populer yang banyak digunakan untuk secara otomatis mengubah ukuran gambar. Para peretas mendapatkan akses ke banyak situs web yang menjalankan WordPress dengan TimThumb dan menginfeksi semua file PHP dengan eval (kode base64_decode untuk mengarahkan ulang setiap pengunjung yang datang dari mesin pencari ke situs web pilihan mereka.
Anda dapat dengan mudah membersihkan gzinflate / eval berbahaya (kode base64_decode dari semua file PHP dengan menggunakan skrip pembersih ini untuk mendapatkan kembali lalu lintas dari mesin pencari tetapi sayangnya menggunakan skrip saja tidak cukup. Anda mungkin melihat bahwa situs web Anda diretas lagi dan lagi bahkan jika Anda telah memperbarui ke versi terbaru TimThumb karena peretas telah menanam beberapa pintu belakang. Satu-satunya cara untuk mencegah situs web Anda terus-menerus diretas adalah dengan menemukan pintu belakang dan menghapusnya dari server Anda. menjadi file independen dengan sendirinya atau hanya sepotong kode yang disematkan ke file PHP yang sah. Saya telah mencoba beberapa plugin keamanan untuk WordPress dan menemukan bahwa plugin Wordfence untuk WordPress adalah salah satu yang terbaik di luar sana karena dapat memeriksa integritas inti WordPress, plugin, dan file tema. Jika file tersebut tampak berbeda dari versi aslinya, itu akan ditampilkan dalam hasil pemindaian dan Anda dapat melihat bagaimana file telah berubah. Selain itu, Wordfence juga dapat mengetahui apakah ada file mencurigakan yang tidak dikenal yang terletak di direktori instalasi WordPress.
Perhatikan bahwa versi gratis Wordfence hanya memindai file inti WordPress. Jika Anda ingin memindai file tema dan plugin, Anda harus berlangganan setidaknya keanggotaan Pro yang berharga $ 17, 95 per tahun. Meskipun keanggotaan Pro hanya memberi Anda 1 kunci API premium, Anda sebenarnya dapat menggunakannya untuk memindai beberapa situs web satu per satu setelah menyelesaikan pemindaian dengan menghapus kunci kunci premium dan membuat ulang yang baru dari area Kelola Kata Kunci API untuk menggunakannya di situs web yang berbeda.
Setelah menghapus 2 file backdoor yang ditemukan oleh Wordfence, semua situs web WordPress yang dihosting di bawah akun hosting bersama saya masih terinfeksi oleh kode PHP berbahaya setelah beberapa hari. Saya menjadi sangat frustrasi dan memutuskan untuk secara manual memeriksa Raw Access Logs yang ditemukan di cPanel meskipun saya tidak yakin apa yang saya cari. Log akses mentah berisi ribuan baris dan melalui setiap baris tunggal untuk 6 situs web adalah mustahil. Jadi saya melakukan beberapa penyaringan dan file log menjadi lebih kecil. Lihat tutorial video di bawah ini tentang cara memfilter garis menggunakan Notepad ++.
Memfilter log akses mentah
1. Saring permintaan GET. Pada dasarnya permintaan GET hanya untuk mengambil data dan mereka tidak dapat melakukan kerusakan. Filter ini harus mengurangi file log Anda hingga 80%.
2. Saring permintaan POST untuk wp-cron.php yang diminta oleh situs web Anda. Itu terlihat seperti contoh di bawah ini:
111.222.333.444 - - [25 / Jul / 2012: 01: 42: 14 +0800] “POST /wp-cron.php?doing_wp_cron=1343151734.5347619056701660156250 HTTP / 1.0” 200 - “-” “WordPress / 3.4.1; http://www.yourwebsite.com ”
3. Lanjutkan memfilter permintaan POST yang aman untuk lebih mengurangi ukuran file log untuk analisis yang lebih mudah.
Saat menganalisis file log, saya melihat permintaan yang mencurigakan di mana alamat IP Rusia tanpa rujukan dan informasi agen pengguna melakukan permintaan POST setiap 10 detik pada file 404.php sebanyak 3 kali.
Saya membandingkan file tema 404.php dengan versi asli dan melihat baris kode tambahan di bagian atas file.
Saya menghubungi dukungan Wordfence dan mendapat konfirmasi dari Mark Maunder bahwa kode ini memang berbahaya dan mereka telah memperbarui Wordfence untuk mendeteksi hal ini. Setelah menghapus pintu belakang ini, semua 6 situs web wordpress yang dihosting di bawah akun hosting yang sama tetap bersih selama berminggu-minggu tanpa diretas. Seperti yang Anda lihat, kehilangan hanya satu pintu belakang dapat menyebabkan semua situs WordPress Anda di bawah akun hosting yang sama diretas dan sangat penting untuk memastikan bahwa setiap pintu belakang tunggal dihapus.
Meskipun Wordfence gagal untuk sepenuhnya membersihkan semua backdoors di situs web yang di-hosting di bawah akun hosting saya, saya masih berpikir bahwa itu adalah salah satu plugin keamanan WordPress terbaik karena itu lebih dari sekadar memeriksa integritas file WordPress. Wordfence sangat sering diperbarui dan mereka memberikan dukungan yang sangat hebat.
Catatan penting : Pastikan Anda mengubah semua kata sandi Anda yang mencakup akun pengguna WordPress, FTP, cPanel dan database setelah membersihkan pintu belakang. Ingat juga untuk selalu memperbarui plugin, tema, dan versi WordPress.