WordPress menjadi salah satu sistem manajemen konten (CMS) paling populer secara global. Saat ini, 4.5% dari seluruh situs web di dunia menggunakan mesin WordPress, dengan lebih dari 76,5 juta instalasi. Sayangnya, popularitas WordPress tidak lepas dari beberapa kontradiksi.
Menurut laporan peretasan yang dirilis oleh Sucuri, perusahaan keamanan situs web khusus, WordPress termasuk dalam CMS yang paling sering dijebol secara global.
Meskipun demikian, mengamankan WordPress cukup mudah jika Anda mengikuti praktik terbaik dan menerapkan beberapa trik yang dijelaskan dalam tutorial ini.
Langkah 1 – Pastikan WordPress Anda Selalu Diperbarui ke Versi Terbaru
Ini adalah tip utama dan sangat penting. Jika Anda ingin menjaga situs web Anda tetap bersih dari malware, penting untuk selalu memperbarui WordPress ke versi terbaru.
Meskipun pembaruan otomatis sudah ada sejak versi 3.7, namun sebagian besar hanya pembaruan keamanan minor. Oleh karena itu, pembaruan core memerlukan eksekusi manual.
Langkah 2 – Gunakan Detail Login yang Jarang Digunakan
Apakah Anda terbiasa menggunakan ‘admin’ sebagai nama pengguna akun administrator Anda? Jika ya, Anda secara tidak sengaja memberikan akses lebih mudah kepada peretas ke situs web Anda.
Pendekatan yang direkomendasikan melibatkan mengubah nama pengguna akun admin (lihat panduan ini jika Anda tidak yakin) atau membuat akun Administrator baru dengan nama pengguna yang berbeda, dan kemudian menghapus yang lama.
Ikuti langkah-langkah ini jika Anda memilih metode terakhir:
- Akses Dasbor WordPress Anda.
- Buka bagian Pengguna dalam menu dan pilih Tambahkan Baru.
- Buat pengguna baru dan beri peran Administrator.
- Keluar dan masuk kembali dengan nama pengguna yang baru dibuat.
- Kembali ke menu Pengguna dan hapus pengguna Admin yang lama.
Ingatlah, kata sandi yang kuat memainkan peran penting dalam keamanan WordPress. Alat seperti 1Password membantu menghasilkan dan menyimpan kombinasi kata sandi yang rumit.
Selain itu, saat mengakses dasbor WordPress di koneksi yang tidak aman (misalnya, di kafe, perpustakaan umum), ingatlah untuk mengaktifkan layanan VPN yang aman untuk melindungi informasi login Anda.
Langkah 3 – Aktifkan Otentikasi 2-Langkah
Verifikasi dua langkah menambahkan lapisan keamanan tambahan pada halaman login Anda. Seperti namanya, fitur ini memperkenalkan langkah tambahan yang harus diselesaikan sebelum login.
Meskipun umum digunakan untuk mengakses email, perbankan internet, atau akun sensitif lainnya, menerapkan verifikasi 2-langkah untuk WordPress sangat mungkin dan sangat dianjurkan.
Meskipun mungkin terlihat rumit, cara mengatur verifikasi 2-langkah di blog WordPress cukup sederhana. Anda hanya perlu menginstal aplikasi verifikasi 2-langkah tambahan dan mengonfigurasikannya di dalam WordPress. Lihat panduan lengkap tentang cara menerapkan verifikasi 2-langkah di WordPress.
Langkah 4 – Nonaktifkan Pelaporan Kesalahan PHP
Pelaporan kesalahan PHP bermanfaat saat membangun situs web untuk memastikan operasi yang lancar. Namun, menyiarkan kesalahan kepada semua orang adalah tindakan yang tidak bijaksana.
Perbaiki ini segera. Jika penyedia hosting Anda tidak menyediakan opsi untuk menonaktifkan pelaporan kesalahan di panel kontrol mereka, tambahan sederhana ke file wp-config.php akan cukup.
error_reporting(0);
@ini_set('display_errors', 0);
Sekarang, pelaporan kesalahan dinonaktifkan.
Langkah 5 – Hindari Menggunakan Tema dan Plugin WordPress yang Dicuri
Ingat pepatah, “Tidak ada makan siang gratis”? Ini berlaku untuk tema dan plugin WordPress yang dicuri.
Banyak tema dan plugin bajakan beredar online, dapat diunduh melalui berbagai sumber seperti Warez/torrents. Yang sering diabaikan oleh pengguna adalah bahwa banyak dari plugin dan tema ini sudah terinfeksi malware atau tautan SEO hitam.
Saran ini jelas: hindari menggunakan plugin dan tema bajakan. Tidak hanya tidak etis, tetapi juga membahayakan keamanan WordPress Anda. Biaya membersihkan situs web yang terinfeksi mungkin jauh lebih besar daripada membayar pengembang untuk solusi yang sah.
Langkah 6 – Lakukan Pemindaian Malware pada WordPress Anda
Peretas mengeksploitasi kerentanan dalam tema dan plugin untuk menginfeksi WordPress dengan malware. Oleh karena itu, pemindaian berkala pada blog Anda sangat penting. Banyak plugin keamanan melayani tujuan ini.
WordFence, plugin yang terkenal, menawarkan pemindaian otomatis dan manual, bersama dengan pengaturan keamanan tambahan. Ini bahkan memungkinkan Anda mengembalikan file yang terinfeksi atau dimodifikasi dengan beberapa klik.
Jelajahi plugin keamanan populer lainnya seperti BulletProof Security dan Sucuri Security, masing-masing menawarkan fitur yang berbeda untuk memperkuat pertahanan WordPress Anda.
Jangan ragu untuk mencoba plugin-plugin ini, ikuti panduan instalasi yang komprehensif yang tersedia di sini.
Langkah 7 – Pindahkan Situs Web WordPress Anda ke Layanan Hosting yang Lebih Aman
Terlepas dari terdengarnya aneh, statistik menunjukkan bahwa lebih dari 40% kompromi situs web WordPress terjadi karena kerentanan keamanan di akun hosting.
Pertimbangan saat memilih layanan baru termasuk:
- Isolasi akun Anda dari pengguna lain dalam hosting bersama untuk menghilangkan risiko satu situs web menginfeksi yang lain.
- Pastikan layanan hosting menawarkan fitur pencadangan.
- Verifikasi keberadaan firewall dan pemindaian virus di tingkat server.
Langkah 8 – Cadangkan Situs Web Anda Secara Berkala
Bahkan situs web besar menjadi korban upaya peretasan harian, meskipun investasi substansial dalam keamanan WordPress.
Mengikuti semua tips dalam artikel ini tidak mengesampingkan Anda dari cadangan situs web secara berkala. Berbagai metode, seperti mengunduh manual file WordPress dan ekspor database atau menggunakan fitur pencadangan yang disediakan oleh penyedia hosting, memastikan jaring pengaman situs web Anda.
Jelajahi plugin pencadangan khusus seperti UpdraftPlus untuk pencadangan otomatis langsung ke Dropbox.
Langkah 9 – Nonaktifkan Fitur Pengeditan File
Meskipun editor file WordPress bawaan berguna, itu menyimpan bahaya potensial. Jika peretas mendapatkan akses ke halaman admin Anda, editor file kemungkinan besar menjadi titik pertama mereka.
Banyak pengguna WordPress memilih untuk menonaktifkan fitur ini. Capai ini dengan menambahkan baris berikut ke file wp-config.php Anda:
define('DISALLOW_FILE_EDIT', true);
Untuk mengaktifkan fitur kembali, gunakan klien FTP atau File Manager penyedia hosting Anda untuk menghapus kode ini dari wp-config.php.
Langkah 10 – Hapus Tema dan Plugin yang Tidak Digunakan
Bersihkan situs web WordPress Anda dengan menghapus plugin dan tema yang tidak lagi digunakan. Peretas sering memindai plugin/tema yang tidak aktif atau tidak digunakan (bahkan versi WordPress resmi) untuk mengeksploitasi kerentanan, mendapatkan akses ke dasbor atau mengunggah file berbahaya ke server Anda.
Dengan membuang plugin dan tema yang tidak digunakan, Anda mengurangi risiko potensial, memperkuat keamanan situs web Anda.
Langkah 11 – Manfaatkan .htaccess untuk Keamanan yang Ditingkatkan
File .htaccess sangat penting untuk memastikan tautan WordPress berfungsi dengan benar. Namun, sedikit pengguna menyadari potensinya dalam meningkatkan keamanan WordPress. Sebagai contoh, Anda dapat memblokir akses atau menonaktifkan eksekusi PHP di folder tertentu menggunakan .htaccess.
Sebelum melakukan perubahan, cadangkan file .htaccess yang ada melalui klien FTP atau File Manager.
Blokir Akses ke Halaman Admin
Kode berikut membatasi akses ke halaman admin WordPress hanya untuk alamat IP tertentu:
AuthUserFile /dev/null
AuthGroupFile /dev/null
AuthName "Kontrol Akses Admin WordPress"
AuthType Basic
<LIMIT GET>
order deny,allow
deny from all
allow from xx.xx.xx.xxx
allow from xx.xx.xx.xxx
</LIMIT>
Gantilah xx.xx.xx.xxx dengan alamat IP Anda. Pastikan untuk menyertakan alamat IP lain jika mengelola WordPress dari beberapa koneksi. Perlu dicatat bahwa metode ini tidak disarankan untuk alamat IP dinamis.
Nonaktifkan Eksekusi PHP di Folder Tertentu
Karena peretas sering mengunggah skrip backdoor ke folder upload WordPress, cegah eksekusi PHP di direktori ini dengan membuat file .htaccess baru di /wp-content/uploads dengan menggunakan script berikut:
<Files *.php>
deny from all
</Files>
Lindungi Berkas wp-config
Berkas wp-config berisi pengaturan WordPress yang penting dan detail database MySQL, menjadikannya target utama bagi peretas. Meskipun demikian, melindungi berkas ini cukup mudah dengan aturan berikut dalam .htaccess:
<files wp-config.php>
order allow,deny
deny from all
</files>
Langkah 12 – Ubah Awalan Database WordPress untuk Mencegah Serangan SQL Injection
Database WordPress menyimpan informasi kritis yang sangat penting untuk fungsionalitas situs web Anda. Oleh karena itu, database ini sering menjadi target utama bagi peretas dan spammer yang menggunakan kode otomatis untuk SQL Injection.
Sebagian besar pengguna mengabaikan mengubah awalan default ‘wp_’ selama instalasi WordPress, meninggalkannya rentan terhadap eksploitasi. Pada langkah ini, kita akan menjelajahi cara mengamankan situs WordPress Anda dari serangan semacam itu.
Mengubah Awalan Tabel Database Saat Ini
PENTING: Prioritaskan keamanan. Pastikan Anda mencadangkan database MySQL WordPress Anda sebelum melanjutkan.
Bagian 1 – Ubah Awalan di Berkas wp-config.php
Gunakan klien FTP atau File Manager untuk menemukan berkas wp-config.php Anda dan identifikasi nilai $table_prefix
.
Anda dapat menambahkan angka, huruf, atau garis bawah. Simpan perubahan Anda dan lanjutkan ke langkah berikutnya. Dalam tutorial ini, kita akan menggunakan ‘wp_1secure1_’ sebagai awalan tabel baru.
Bagian 2 – Perbarui Semua Tabel Database
Akses antarmuka phpMyAdmin Anda untuk memperbarui semua entri di database WordPress Anda. Temukan database dari Bagian 1 dan akseslah.
Melaksanakan proses ini secara lebih efisien melibatkan menggunakan bagian SQL di phpMyAdmin.
Gunakan sintaks SQL berikut untuk memperbarui semua tabel:
RENAME table `wp_commentmeta` TO `wp_1secure1_commentmeta`;
RENAME table `wp_comments` TO `wp_1secure1_comments`;
RENAME table `wp_links` TO `wp_1secure1_links`;
RENAME table `wp_options` TO `wp_1secure1_options`;
RENAME table `wp_postmeta` TO `wp_1secure1_postmeta`;
RENAME table `wp_posts` TO `wp_1secure1_posts`;
RENAME table `wp_terms` TO `wp_1secure1_terms`;
RENAME table `wp_termmeta` TO `wp_1secure1_termmeta`;
RENAME table `wp_term_relationships` TO `wp_1secure1_term_relationships`;
RENAME table `wp_term_taxonomy` TO `wp_1secure1_term_taxonomy`;
RENAME table `wp_usermeta` TO `wp_1secure1_usermeta`;
RENAME table `wp_users` TO `wp_1secure1_users`;
Untuk situs web dengan tabel tambahan dari plugin atau tema, tambahkan secara manual ke kueri.
Bagian 3 – Periksa Tabel Option dan Usermeta
Tergantung pada plugin yang diinstal, beberapa nilai di database Anda mungkin memerlukan pembaruan manual. Jalankan kueri SQL terpisah pada tabel option dan usermeta.
Untuk tabel option:
SELECT * FROM `wp_1secure1_options` WHERE `option_name` LIKE '%wp_%'
Untuk tabel usermeta:
SELECT * FROM `wp_1secure1_usermeta` WHERE `meta_key` LIKE '%wp_%'
Jika Anda memperoleh hasil kueri SQL, lanjutkan untuk memperbarui semua kejadian ‘wp_’ ke awalan baru yang Anda tetapkan. Pada tabel usermeta, sunting kolom meta_key, dan untuk tabel opsi, gantilah nilai option_name.
Meningkatkan Keamanan Instalasi WordPress Baru
Apabila Anda menginstal situs web WordPress baru, Anda dapat langsung mengubah awalan tabel selama proses instalasi.
Selamat! Situs web WordPress Anda kini telah diperkuat terhadap serangan SQL injection.
Kesimpulan
Meskipun menjadi salah satu platform CMS yang paling menjadi target secara global, meningkatkan keamanan WordPress bukanlah tugas yang tak teratasi. Tutorial ini telah menyajikan sepuluh tips untuk memperkuat pertahanan WordPress Anda. Dengan mengikuti langkah-langkah ini, Anda dapat menjamin bahwa situs web Anda terlindungi dengan baik dan mampu mengatasi potensi serangan dengan efektif.