14 Cara Mengamankan Situs WordPress Anda – Langkah demi Langkah
Diterbitkan: 2022-01-05Keamanan WordPress harus menjadi prioritas utama bagi pemilik situs. Mengapa? Karena ada hingga 90.000 serangan di situs WordPress setiap menitnya.
Jika itu tidak cukup mengkhawatirkan, setiap minggu Google membuat daftar hitam sekitar 20.000 situs web untuk malware dan 50.000 untuk phishing. Dan ketika sebuah situs web masuk daftar hitam – dan pengguna dipaksa untuk menyetujui risikonya – itu mengakibatkan hilangnya sekitar 95% lalu lintas.
Meskipun versi terbaru WordPress selalu merupakan rilis paling aman yang tersedia, ada lebih banyak yang dapat Anda lakukan untuk situs Anda untuk memastikannya tidak dapat ditembus oleh peretas dan bot.
Berikut adalah beberapa kiat praktik terbaik untuk membantu Anda mengamankan situs Anda.
- Gunakan Host Web yang Baik
- Hanya Gunakan Tema dan Plugin Berkualitas
- Tetap Perbarui Inti, Tema, dan Plugin WordPress
- Jangan Gunakan "Admin" Sebagai Nama Pengguna
- Gunakan Kata Sandi yang Kuat
- Gunakan Otentikasi Dua Faktor
- Batasi Upaya Masuk
- Instal sertifikat SSL
- Ubah Awalan Basis Data
- Melindungi File wp-config.php dan .htaccess
- Tambahkan Kunci Keamanan
- Nonaktifkan Pengeditan File
- Mencegah File PHP Dieksekusi
- Nonaktifkan XML-RPC Selektif
1. Gunakan Host Web yang Baik
Host web yang baik adalah garis pertahanan pertama Anda terhadap serangan di situs Anda. Jadi jangan otomatis memilih shared hosting murah. Sebaliknya, lakukan pekerjaan rumah Anda.
Pilih host yang memiliki reputasi baik yang mendukung versi terbaru dari teknologi web dasar, seperti PHP dan MySQL. Pastikan untuk memeriksa host Anda mendukung PHP 7 – ini adalah versi PHP resmi yang direkomendasikan untuk WordPress.
Pertimbangkan untuk memilih host WordPress yang dikelola. Layanan ini disiapkan khusus untuk WordPress dan menjaga semua aspek teknis penting dari hosting, termasuk keamanan, pencadangan, waktu aktif, dan kinerja.
2. Hanya Gunakan Tema dan Plugin Berkualitas
Menurut WPScan, 52% kerentanan situs web disebabkan oleh plugin sementara 11% disebabkan oleh tema. Gabungkan, itu lebih dari 60% keamanan WordPress
Cara termudah untuk memastikan plugin dan tema Anda tahan terhadap serangan adalah dengan hanya mengunduhnya dari sumber yang memiliki reputasi baik. Ini termasuk WordPress.org dan penyedia premium. Mengunduh dari pengembang cerdik yang menyembunyikan kode berbahaya di tema dan plugin mereka dapat membahayakan situs Anda.
Jika Anda tidak yakin apakah situs web yang ingin Anda unduh aman atau tidak, carilah testimonial dan ulasan untuk memastikan produk yang Anda inginkan berkualitas baik.
Selain itu, pastikan plugin dan tema yang Anda gunakan juga didukung dengan baik dan diperbarui secara berkala. Jika sebuah plugin atau tema sudah lama tidak diupdate, kemungkinan mengandung celah keamanan yang belum ditambal atau bahkan kode buruk yang bisa membuat Anda rentan diretas.
Terakhir, simpan hanya plugin dan tema yang benar-benar Anda butuhkan dan gunakan. Semakin banyak yang Anda miliki, semakin tinggi risiko diretas. Jadi, tinjau daftar plugin dan tema Anda secara teratur dan nonaktifkan serta hapus semua yang tidak Anda perlukan.
3. Tetap Perbarui Inti, Tema, dan Plugin WordPress
WordPress adalah perangkat lunak sumber terbuka dan dikembangkan serta dikelola oleh komunitas sukarelawan di seluruh dunia. Dengan setiap rilis baru, setiap kerentanan keamanan ditambal.
Secara default, WordPress secara otomatis menginstal pembaruan kecil (yaitu WordPress 4.9.4). Tetapi untuk rilis besar (yaitu WordPress 4.9), Anda bertanggung jawab untuk memperbarui secara manual ke versi terbaru.
Pembaruan inti ini sangat penting untuk keamanan dan kinerja situs Anda. Jadi pastikan untuk mencadangkan situs Anda dan menerapkan pembaruan inti apa pun saat tersedia.
Demikian juga, penting juga untuk memperbarui plugin dan tema secara teratur sehingga Anda selalu menggunakan versi perangkat lunak yang paling mutakhir dan aman.
4. Jangan Gunakan “Admin” Sebagai Nama Pengguna
Jangan gunakan "admin" sebagai nama pengguna untuk situs Anda. Versi WordPress sebelumnya menggunakan "admin" sebagai nama pengguna default, sehingga memudahkan peretas - satu bagian dari teka-teki untuk ditebak selama serangan brute force.
Tetapi rilis terbaru WordPress mengubah ini, memberi pengguna kesempatan untuk memasukkan nama pengguna mereka sendiri selama instalasi. Namun, beberapa orang masih memilih untuk menggunakan "admin" daripada menggunakan nama pengguna asli. Jangan.
Anda ingin mempersulit penyerang jahat untuk menembus situs Anda, sehingga serangan membutuhkan waktu lebih lama dan Anda atau penyedia hosting Anda dapat mengidentifikasi serangan apa pun sebelum berhasil dan menghentikannya.
5. Gunakan Kata Sandi yang Kuat
Selalu buat kata sandi yang kuat dan unik untuk akun admin WordPress, basis data, akun hosting, alamat email, dan akun FTP Anda. Seperti nama pengguna, kata sandi adalah bagian lain dari teka-teki bagi peretas untuk ditebak, dan semakin kuat kata sandi Anda, semakin sulit Anda membuat peretas berhasil masuk ke situs Anda.
Selama instalasi, WordPress akan mencoba memaksakan kata sandi yang kuat pada Anda dan meminta Anda untuk mencentang kotak jika Anda memasukkan kata sandi yang lemah. Meskipun Anda mungkin ingin membuat kata sandi Anda sendiri, alat seperti Secure Password Generator dapat membuat kata sandi yang kuat untuk Anda.
6. Gunakan Otentikasi Dua Faktor
Bahkan dengan nama pengguna dan kata sandi yang kuat, serangan brute force masih menjadi masalah bagi banyak situs web. Di sinilah otentikasi dua faktor dapat membantu.
Otentikasi dua faktor menambahkan langkah lain dalam proses login, memaksa pengguna untuk memasukkan kode yang dikirim ke ponsel mereka selain memasukkan kredensial login mereka yang biasa. Ini dapat menggagalkan serangan otomatis dan memastikan situs Anda tidak menjadi korban peretas.
Plugin seperti iThemes Security dapat menerapkan otentikasi dua faktor. Ada juga plugin gratis seperti Two Factor Authentication yang dapat menambahkan lapisan keamanan ekstra ini ke situs Anda.
7. Batasi Upaya Masuk
Secara default, Anda dapat mencoba masuk ke akun WordPress Anda sebanyak yang Anda inginkan. Meskipun ini mungkin nyaman bagi Anda jika Anda pelupa dan tidak selalu mendapatkan kata sandi Anda dengan benar pada langkah pertama atau bahkan ketiga, ini juga nyaman bagi peretas yang melakukan penyerang brute force - ini memberi mereka jumlah upaya yang tidak terbatas untuk memecahkan kombinasi nama pengguna dan kata sandi Anda.
Ini dapat dengan mudah diperbaiki dengan membatasi jumlah upaya login yang gagal yang dapat dilakukan pengguna di situs Anda. Plugin gratis seperti WP Limit Login Attempts memungkinkan Anda membatasi upaya login dan memblokir alamat IP untuk sementara.
8. Instal Sertifikat SSL
Memasang sertifikat SSL di situs Anda adalah suatu keharusan, terutama jika Anda memiliki toko eCommerce. Bukan hanya karena akan mempersulit peretas untuk mencegat informasi sensitif antara browser pengguna dan server Anda, tetapi karena Google sekarang bersikeras bahwa semua situs harus memilikinya.
Mulai Juli 2018 dengan rilis Chrome 68, halaman web yang dimuat tanpa HTTPS akan ditandai sebagai "tidak aman". Artinya, pengguna yang mencoba mengakses situs yang tidak memiliki sertifikat SSL akan mendapatkan peringatan bahwa situs tersebut tidak dapat dipercaya.
Pengumuman ini adalah masalah besar karena, menurut Cloudflare, lebih dari setengah pengunjung web akan melihat peringatan ini.
Mendapatkan sertifikat SSL menjadi semakin mudah dilakukan. Let's Encrypt menawarkan sertifikat open source gratis sementara perusahaan hosting umumnya akan menyediakannya secara gratis (dan terkadang bahkan gratis).
9. Ubah Awalan Basis Data
Secara default, WordPress menggunakan wp_ sebagai awalan untuk semua tabel di database situs Anda. Ini berarti bahwa jika Anda menggunakan default – yang merupakan pengetahuan umum WordPress – peretas dapat dengan mudah menebak nama tabel Anda, membuatnya rentan terhadap injeksi SQL.
Cara sederhana untuk memperbaikinya adalah dengan mengubah awalan menjadi sesuatu yang acak, seperti 5jiqtu69dg_
menggunakan generator string acak. Untuk memperbarui awalan tabel Anda, buka file wp-config.php di root direktori file situs Anda dan temukan baris ini:
$table_prefix = 'wp_';
Menggunakan contoh saya, Anda akan mengganti baris seperti ini:
$table_prefix = '5jiqtu69dg_';
Selanjutnya, Anda harus memperbarui awalan yang digunakan dalam database Anda. Meskipun plugin keamanan seperti iThemes Security dapat membantu Anda melakukannya dengan cepat dan mudah, Anda dapat mempelajari cara melakukannya secara manual melalui phpMyAdmin di sini.
10. Melindungi File wp-config.php dan .htaccess
File wp-config.php situs Anda, yang biasanya terletak di folder root situs web Anda, berisi informasi penting tentang instalasi WordPress Anda, termasuk nama, host, nama pengguna, dan kata sandi untuk database Anda. Sementara itu, .htaccess adalah file tersembunyi yang mengatur konfigurasi server tingkat direktori, mengaktifkan permalink cantik, dan memungkinkan pengalihan.
Mencegah akses ke file penting ini sangatlah mudah. Cukup tambahkan berikut ini ke file .htaccess Anda untuk melindungi wp-config.php:
<File wp-config.php> pesanan izinkan, tolak tolak dari semua </File>
Atau, Anda cukup memindahkan file wp-config.php Anda ke direktori yang lebih tinggi karena WordPress akan secara otomatis mencarinya di sana.
Untuk menghentikan akses yang tidak diinginkan ke .htaccess, yang perlu Anda lakukan hanyalah mengubah nama file dalam kode:
<File .htaccess> pesanan izinkan, tolak tolak dari semua </File>
11. Tambahkan Kunci Keamanan
Kunci keamanan dan garam WordPress mengenkripsi informasi yang disimpan dalam cookie browser, melindungi kata sandi dan informasi sensitif lainnya. Ada empat kunci keamanan secara total: AUTH_KEY
, SECURE_AUTH_KEY
, LOGGED_IN_KEY
, dan NONCE_KEY
.
Kunci otentikasi ini pada dasarnya adalah sekumpulan variabel acak dan mempersulit Anda untuk memecahkan kata sandi Anda. Kata sandi yang tidak dienkripsi seperti “wordpress” tidak membutuhkan banyak usaha untuk dibobol penyerang. Tetapi kata sandi yang panjang dan acak seperti “L2(Bpw 6#:S.}tjSKYnrR~.Dys5c>+>2l2YMMSVWno4`!%wz^GOBf};uj*>-tkye” jauh lebih sulit untuk dipecahkan.
Menambahkan kunci keamanan dan garam adalah proses manual dan mudah dilakukan. Berikut cara melakukannya:
- Dapatkan satu set kunci keamanan dan garam baru. Anda dapat membuatnya secara acak di sini.
- Selanjutnya, perbarui file wp-config.php Anda. Buka file Anda dan gulir ke bawah hingga Anda menemukan bagian di bawah dan ganti nilai lama dengan kunci dan garam baru Anda:
/**#@+ * Kunci dan Garam Unik Otentikasi. * * Ubah ini menjadi frasa unik yang berbeda! * Anda dapat membuat ini menggunakan {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service} * Anda dapat mengubahnya kapan saja untuk membatalkan semua cookie yang ada. Ini akan memaksa semua pengguna untuk masuk lagi. * * @sejak 2.6.0 */ define('AUTH_KEY', 'tambahkan variabel unik di sini'); define('SECURE_AUTH_KEY', 'tambahkan variabel unik di sini'); define('LOGGED_IN_KEY', 'tambahkan variabel unik di sini'); define('NONCE_KEY', 'tambahkan variabel unik di sini'); define('AUTH_SALT', 'tambahkan variabel unik di sini'); define('SECURE_AUTH_SALT', 'tambahkan variabel unik di sini'); define('LOGGED_IN_SALT', 'tambahkan variabel unik di sini'); define('NONCE_SALT', 'tambahkan variabel unik di sini'); /**#@-*/
- Simpan file wp-config.php Anda. Anda akan secara otomatis keluar dari situs WordPress dan harus masuk lagi.
12. Nonaktifkan Pengeditan File
WordPress memiliki editor kode internal untuk plugin dan file tema. Meskipun ini berguna bagi admin yang ingin membuat perubahan cepat pada file, ini juga berarti peretas dan pengguna tingkat tinggi juga dapat membuat perubahan file. Anda dapat menemukan fitur ini dengan membuka Appearance > Editor di admin WordPress Anda.
Anda dapat menonaktifkan pengeditan file di file wp-config.php Anda. Cukup buka file Anda dan tambahkan baris kode ini:
define('DISALLOW_FILE_EDIT', benar);
Anda masih dapat mengedit plugin dan tema melalui FTP atau cPanel, hanya saja tidak di admin WordPress.
13. Mencegah File PHP Dieksekusi
Folder umum bagi peretas untuk mengunggah malware di WordPress adalah wp-content/uploads, tetapi juga wp-include/ . Untuk mencegah file dieksekusi di folder ini, buat file teks baru di editor teks dan rekatkan kode ini:
<File *.php> tolak dari semua </File>
Selanjutnya, simpan file ini sebagai .htaccess dan unggah ke folder /wp-content/uploads dan wp-includes/ melalui FTP atau cPanel.
14. Nonaktifkan XML-RPC Selektif
XML-RPC, atau XML Remote Procedure Call, adalah API yang membantu menghubungkan aplikasi web dan seluler dengan situs WordPress Anda. Itu diaktifkan secara default di WordPress 3.5 tetapi sejak itu ditemukan untuk secara signifikan memperkuat serangan brute force.
Misalnya, jika seorang peretas ingin mencoba 500 kata sandi berbeda di situs Anda, biasanya mereka harus melakukan 500 upaya masuk terpisah. Tetapi dengan XML-RPC, peretas dapat menggunakan fungsi system.multicall
untuk mencoba sejumlah besar kombinasi nama pengguna dan kata sandi dalam satu permintaan HTTP.
Meskipun mudah untuk menonaktifkan fitur ini sama sekali untuk situs Anda, itu berarti kehilangan fungsionalitas untuk plugin seperti Jetpack. Sebaliknya, yang terbaik adalah selektif dalam cara Anda menerapkan dan menonaktifkan XML-RPC menggunakan plugin yang dirancang khusus.
Bonus: Cara Memeriksa Kerentanan
Ada beberapa cara berbeda untuk memeriksa kerentanan situs Anda: dengan pemindai situs online atau dengan plugin.
Dengan alat online gratis ini, yang perlu Anda lakukan hanyalah memasukkan URL situs Anda dan mereka akan mulai memindai situs Anda dari kerentanan yang diketahui:
Pemindaian Keamanan WordPress – Alat ini secara pasif memeriksa masalah keamanan dasar. Anda harus meningkatkan ke paket premium untuk pengujian lanjutan.
Sucuri SiteCheck – Periksa situs web Anda untuk mengetahui malware yang diketahui, status daftar hitam, kesalahan situs web, dan perangkat lunak yang kedaluwarsa. Dengan peningkatan premium, alat ini akan melakukan pembersihan malware, perlindungan DDoS/brute force, penghapusan daftar hitam, dan pemantauan keamanan.
WPScan – Pemindai kerentanan kotak hitam WordPress yang dihosting di GitHub ini memungkinkan Anda memindai situs Anda untuk mengetahui kerentanan dengan inti, plugin, dan tema. Anda harus menggunakan Terminal untuk menjalankan aplikasi ini. Ini gratis untuk penggunaan pribadi dan disponsori oleh Sucuri.
Bonus: Plugin Keamanan WordPress Terbaik
Memasang plugin keamanan di situs WordPress Anda menambahkan garis pertahanan lain terhadap kemungkinan serangan. Mereka menawarkan berbagai fitur untuk membantu mengamankan situs Anda – termasuk pemindaian situs – dan dapat memberi tahu Anda saat situs Anda telah disusupi.
Berikut adalah 3 plugin teratas:
pagar kata
WordFence adalah plugin keamanan gratis yang sangat populer dengan 2+ juta instalasi aktif dan tersedia opsi premium. Ini fitur "Umpan Pertahanan Ancaman" yang menarik aturan firewall terbaru, tanda tangan malware dan alamat IP berbahaya, menjaga situs situs web Anda.
Firewall aplikasi web mengidentifikasi dan memblokir lalu lintas berbahaya, sementara daftar hitam IP real-time memblokir semua permintaan dari IP berbahaya, melindungi situs Anda sekaligus mengurangi beban.
Plugin ini melindungi dari serangan brute force dengan membatasi upaya login, menerapkan kata sandi yang kuat, dan langkah-langkah keamanan login lainnya. Jika menemukan segala jenis infeksi di situs Anda, itu akan memberi tahu Anda melalui email. Anda juga dapat memantau lalu lintas ke situs Anda secara real-time untuk memeriksa apakah sedang diserang.
Sucuri
Untuk plugin keamanan gratis, plugin keamanan Sucuri menyediakan serangkaian fitur yang komprehensif, termasuk audit aktivitas keamanan sehingga Anda dapat mengawasi setiap perubahan yang dilakukan pada situs Anda, pemantauan integritas file, pemindaian malware jarak jauh, pemantauan daftar hitam, dan tindakan pengerasan keamanan.
Bagian "tindakan keamanan pasca-peretasan" dari plugin memandu Anda melalui tiga hal utama yang harus Anda lakukan setelah kompromi. Anda juga dapat mengaktifkan pemberitahuan keamanan sehingga ketika infeksi ditemukan di situs Anda atau disusupi, Anda akan segera diberi tahu.
Saat Anda meningkatkan ke versi premium, Anda mendapatkan akses ke firewall situs web untuk perlindungan tambahan.
Keamanan iThemes
Sementara versi gratis dari iThemes Security membantu mengunci WordPress, memperbaiki lubang umum dan memperkuat kredensial pengguna, versi pro menampilkan hampir semua tindakan keamanan yang Anda perlukan.
Ada autentikasi dua faktor, penjadwalan pemindaian malware, dan pencatatan tindakan pengguna sehingga Anda dapat melacak kapan pengguna menyunting konten, masuk atau keluar. Anda dapat memperbarui kunci keamanan dan garam, mengatur kedaluwarsa kata sandi, dan menambahkan Google reCAPTCHA ke situs Anda.
Fitur lain termasuk perbandingan file online, integrasi WP-CLI, dan eskalasi hak istimewa sementara sehingga Anda dapat memberikan akses admin atau editor sementara ke situs Anda.
Kesimpulan
Tidak ada cara yang tepat untuk melindungi situs WordPress Anda dari ancaman keamanan. Yang terbaik yang dapat Anda lakukan adalah menjaga inti, tema, dan plugin WordPress tetap mutakhir dan menerapkan sejumlah solusi berbeda yang menambal kerentanan, melindungi file penting, dan memaksa pengguna untuk memperkuat kredensial mereka.
Menjadwalkan pencadangan rutin juga merupakan keharusan. Anda tidak pernah tahu kapan situs Anda mungkin menyerah pada serangan, jadi penting bagi Anda untuk siap dan memiliki rencana untuk memulihkan situs dengan cepat jika terjadi keadaan darurat.
Berinvestasi dalam plugin keamanan yang solid yang memungkinkan Anda memindai situs Anda dari kerentanan, memantau tindakan, dan memperingatkan Anda ketika ada sesuatu yang tidak beres juga akan membantu memperkuat situs Anda dan memastikannya terlindungi dengan baik dari ancaman.