Keamanan WordPress Sebagai Proses

Diterbitkan: 2022-03-10
Ringkasan cepat Tahun lalu, WordPress bertanggung jawab atas 83% situs manajemen konten yang terinfeksi. Pastikan Anda tidak berkontribusi terhadap infeksi tersebut dan pelajari cara mengelola WordPress dengan aman.

( Artikel ini disponsori oleh Sucuri .) Keamanan WordPress tidak memiliki reputasi yang baik. Lebih dari 70% dari semua situs WordPress membawa beberapa jenis kerentanan menurut penelitian yang dilakukan di +40.000 situs WordPress oleh Alexa. Jika Anda mengembangkan tema atau plugin WordPress — atau menggunakan WordPress untuk situs web Anda — angka itu akan membuat Anda takut.

Ada banyak hal yang dapat Anda lakukan untuk memastikan Anda tidak menjadi bagian dari 70%, tetapi dibutuhkan lebih banyak pekerjaan daripada hanya menginstal plugin atau keluar dari string. Banyak saran dalam artikel ini berasal dari panduan Sucuri tentang keamanan WordPress dan pengalaman pribadi selama bertahun-tahun.

Apakah WordPress Tidak Aman?

WordPress memiliki pangsa pasar terbesar di antara sistem manajemen konten dan pangsa pasar 30% di antara 10 juta situs paling populer di web. Keberhasilan semacam itu menjadikannya target besar untuk peretasan. WordPress tidak kalah amannya dengan sistem manajemen konten lainnya — hanya saja lebih sukses.

Kerentanan di inti WordPress bertanggung jawab atas kurang dari 10% dari semua peretasan WordPress. Sebagian besar dari itu berasal dari instalasi WordPress yang kedaluwarsa. Jumlah peretasan yang terjadi pada lubang keamanan aktual dalam versi terbaru (juga dikenal sebagai eksploitasi zero-day) di akun inti WordPress untuk persentase kecil dari semua peretasan.

Sisa situs yang terinfeksi disebabkan oleh plugin, tema, hosting, dan pengguna. Dan Anda, sebagai pengembang situs WordPress, memiliki kendali atas semua itu. Jika ini tampak seperti masalah besar bagi Anda, maka saya dapat merekomendasikan rencana agensi Sucuri. Jika tidak, mari kita cari tahu sendiri bagaimana menangani keamanan WordPress!

Siapa yang Menyerang Anda Dan Mengapa?

Mari kita pecahkan mitos terlebih dahulu: Situs web WordPress kecil masih menjadi target yang menarik bagi peretas. Serangan secara pribadi sangat jarang terjadi. Sebagian besar situs web WordPress yang diretas dikompromikan secara otomatis oleh bot atau botnet.

Bot adalah program komputer yang terus-menerus mencari situs web untuk diretas. Mereka tidak peduli siapa Anda; mereka hanya mencari kelemahan dalam pertahanan Anda. Botnet menggabungkan kekuatan komputasi dari banyak bot untuk menangani tugas yang lebih besar.

Peretas terutama mencari cara untuk masuk ke server Anda sehingga mereka dapat menggunakan kekuatan komputasi server Anda dan mengubahnya menjadi sasaran atau target lain. Peretas menginginkan server Anda karena alasan berikut.

Mengirim Spam

Spam menyumbang sekitar 60% dari semua email, dan harus dikirim dari suatu tempat. Banyak peretas ingin masuk ke server Anda melalui plugin yang salah atau versi lama dari inti WordPress sehingga mereka dapat mengubah server Anda menjadi mesin spam.

Menyerang Situs Web Lain

Serangan penolakan layanan terdistribusi menggunakan banyak komputer untuk membanjiri situs web dengan begitu banyak lalu lintas sehingga mereka tidak dapat mengikutinya. Serangan-serangan ini sangat sulit untuk dimitigasi, terutama jika dilakukan dengan benar. Peretas yang membobol server Anda dapat menambahkannya ke kumpulan server untuk menyerang situs web.

Mencuri Sumber Daya

Menambang cryptocurrency sangat populer sekarang, tetapi membutuhkan banyak daya komputasi. Peretas yang tidak ingin menghabiskan banyak uang untuk server farm akan membobol situs WordPress yang tidak terlindungi dan mendapatkan akses ke server atau pengunjung situs web Anda dan mencuri daya komputasi.

Menabrak Skor SEO

Peretasan yang sangat populer untuk WordPress adalah mendapatkan akses ke basis datanya dan menambahkan banyak teks (tersembunyi) di bawah setiap posting, yang menautkan ke situs web lain. Ini adalah cara yang sangat cepat untuk meningkatkan skor SEO seseorang, meskipun Google semakin waspada tentang perilaku ini, dan daftar hitam meningkat.

### Mencuri Data

Data sangat berharga, terutama jika ditautkan ke profil pengguna dan informasi e-niaga. Mendapatkan data ini dan menjualnya dapat membuat penyerang mendapat untung besar.

Mengapa Keamanan Penting?

Selain tidak memberikan kepuasan kepada penjahat, ada banyak alasan mengapa situs web Anda harus aman secara default. Setelah membersihkan dan menangani sendiri banyak peretasan WordPress, saya pasti dapat mengatakan bahwa itu tidak pernah terjadi pada waktu yang tepat. Membersihkan bisa memakan waktu berjam-jam dan akan menghabiskan uang Anda atau klien Anda.

Untuk mengaktifkan dan menjalankan kembali situs web WordPress yang diretas, Anda harus menghapus dan mengganti setiap bit kode pihak ketiga (termasuk inti WordPress); menyisir kode Anda sendiri baris demi baris dan semua folder lain di server untuk memastikan semuanya masih bersih; memeriksa apakah pengguna yang tidak sah telah memperoleh akses; dan ganti semua kata sandi di WordPress, di server Anda dan di database Anda.

Banyak layanan dapat membersihkan situs WordPress untuk Anda, tetapi pencegahan jauh lebih baik dalam jangka panjang.

Terlepas dari biaya pembersihan, peretasan juga dapat menghabiskan banyak biaya untuk penjualan atau prospek yang terlewatkan. Peretasan menurunkan peringkat pencarian Anda, menghasilkan lebih sedikit pengunjung dan lebih sedikit konversi.

Lebih dari biaya finansial, diretas merusak reputasi Anda. Pengunjung datang ke situs web Anda karena mereka mempercayai Anda. Diretas merusak reputasi Anda, dan itu membutuhkan waktu lama untuk diperbaiki.

Ada juga kemungkinan masalah hukum yang nyata, terutama jika Anda memiliki pelanggan di UE, di mana undang-undang GDPR akan mulai berlaku pada musim panas 2018. Undang-undang baru itu mencakup denda yang besar untuk pelanggaran data yang tidak ditangani dengan benar.

Masalah uang, reputasi, dan hukum: Keamanan yang buruk dapat merugikan Anda. Menginvestasikan waktu untuk menyiapkan situs web, kode, dan tim Anda dengan pola pikir keamanan pasti akan membuahkan hasil.

Mari kita cari tahu bagaimana kita dapat mencegah semua keburukan ini.

Triad CIA

Triad CIA adalah kerangka kerja dasar untuk setiap proyek keamanan digital. Itu singkatan dari kerahasiaan, integritas dan ketersediaan. CIA adalah seperangkat aturan yang membatasi akses informasi ke pihak yang tepat, memastikan informasi tersebut dapat dipercaya dan akurat, dan menjamin akses yang dapat diandalkan ke informasi tersebut.

Untuk WordPress, kerangka kerja CIA bermuara pada hal berikut.

Kerahasiaan

Pastikan pengguna yang masuk memiliki peran yang tepat yang ditetapkan dan kemampuan mereka tetap terkendali. Berikan pengguna akses minimum yang mereka butuhkan saja, dan pastikan informasi administrator tidak bocor ke pihak yang salah. Anda dapat melakukannya dengan mengeraskan area admin WordPress dan berhati-hati dengan nama pengguna dan kredensial.

Integritas

Tampilkan informasi akurat di situs web Anda, dan pastikan interaksi pengguna di situs web Anda terjadi dengan benar.

Saat menerima permintaan di bagian depan dan belakang, selalu periksa apakah maksud tersebut cocok dengan tindakan yang sebenarnya. Saat data diposting, selalu filter data dalam kode Anda untuk konten berbahaya dengan menggunakan sanitasi dan meloloskan diri. Pastikan spam dihapus dengan menggunakan layanan perlindungan spam seperti Akismet.

Ketersediaan

Pastikan WordPress, plugin, dan tema Anda mutakhir dan dihosting di host WordPress yang andal (sebaiknya dikelola). Pencadangan otomatis harian juga membantu memastikan bahwa situs web Anda tetap tersedia untuk umum.

Ketiga elemen tersebut saling bersandar untuk mendukung. Integritas kode tidak akan bekerja dengan sendirinya jika sandi rahasia pengguna mudah dicuri atau ditebak. Semua aspek penting untuk platform yang solid dan aman.

Keamanan adalah banyak kerja keras. Terlepas dari pekerjaan yang dapat dilakukan dalam kode, ada elemen manusia yang sangat besar dalam kerangka kerja ini. Keamanan adalah proses yang konstan; itu tidak dapat diselesaikan dengan satu plugin.

Bagian 1: Integritas — Jangan Percaya

Verifikasi maksud tindakan pengguna dan integritas data yang Anda tangani. Lemparkan hippie batin Anda keluar dari pintu. Tidak ada yang bisa dipercaya secara online, jadi periksa kembali semua yang Anda lakukan untuk kemungkinan niat jahat.

Validasi dan Sanitasi Data

WordPress sangat baik dalam menangani data. Itu memastikan bahwa setiap interaksi divalidasi dan bahwa setiap bit data dibersihkan, tetapi itu hanya di inti WordPress. Jika Anda sedang membangun plugin atau tema Anda sendiri atau bahkan hanya memeriksa sepotong kode pihak ketiga, mengetahui cara melakukannya sangat penting.

 //Cast our variable to a string, and sanitize it. update_post_meta( $post->ID, 'some-meta', sanitize_text_field( (string)$_POST['some-meta'] ) ); //Make sure our variable is an absolute integer. update_post_meta( $post->ID, 'some-int', absint( $_POST['int'] ) );

Dalam contoh ini, kami telah menambahkan dua bagian data ke posting WordPress menggunakan update_post_meta. Yang pertama adalah string; jadi, kami memasukkannya sebagai string dalam PHP dan menghapus karakter dan tag yang tidak diinginkan dengan sanitize_text_field , salah satu dari banyak fungsi sanitasi WordPress.

Kami juga telah menambahkan bilangan bulat ke pos itu dan menggunakan absint untuk memastikan ini adalah bilangan bulat absolut (dan non-negatif).

Menggunakan fungsi inti WordPress seperti update_post_meta adalah ide yang lebih baik daripada menggunakan database WordPress secara langsung. Ini karena WordPress memeriksa semua yang perlu disimpan dalam database untuk apa yang disebut injeksi SQL. Serangan injeksi SQL menjalankan kode SQL berbahaya melalui formulir di situs web Anda. Kode ini memanipulasi database untuk, misalnya, menghancurkan segalanya, membocorkan data pengguna atau membuat akun administrator palsu.

Jika Anda perlu bekerja dengan tabel khusus atau melakukan kueri rumit di WordPress, gunakan kelas WPDB asli, dan gunakan fungsi prepare pada semua kueri Anda untuk mencegah serangan injeksi SQL:

 $tableName = $wpdb->prefix . “my_table”; $sql = $wpdb->prepare( “SELECT * FROM %s”, $tableName ); $results = $wpdb->get_results( $sql );

$wpdb->prepare menelusuri setiap variabel untuk memastikan tidak ada kemungkinan serangan injeksi SQL.

melarikan diri

Keluar dari keluaran sama pentingnya dengan membersihkan masukan. Memvalidasi data sebelum Anda menyimpannya penting, tetapi Anda tidak bisa 100% yakin itu masih aman. Percaya apa-apa. WordPress menggunakan banyak filter untuk mengaktifkan plugin dan tema untuk mengubah data dengan cepat, jadi ada kemungkinan besar data Anda akan diurai melalui plugin lain juga. Melarikan diri dari data sebelum menambahkannya ke tema atau plugin Anda adalah hal yang cerdas untuk dilakukan.

Melarikan diri terutama dimaksudkan untuk mencegah serangan skrip lintas situs (XSS). Serangan XSS menyuntikkan kode berbahaya ke ujung depan situs web Anda. Bonus tambahan dari melarikan diri data adalah Anda dapat yakin bahwa markup Anda masih valid setelahnya.

WordPress memiliki banyak fungsi melarikan diri. Berikut ini contoh sederhana:

 <a href=“<?php echo esc_url( $url );?>” title=“<?php echo esc_attr( $title );?>”><?php echo esc_html( $title );?></a>

Melarikan diri selambat mungkin. Ini memastikan bahwa Anda memiliki keputusan akhir atas data Anda.

Mengamankan Permintaan

Permintaan admin WordPress sudah cukup aman jika Anda mengaktifkan SSL dan jika Anda memiliki host yang layak, tetapi beberapa kerentanan masih ada. Anda perlu memeriksa maksud pengguna dan memvalidasi bahwa permintaan yang masuk adalah sesuatu yang dilakukan oleh pengguna yang sebenarnya masuk.

WordPress memvalidasi maksud dengan nonce.. Nonce (atau "nomor yang digunakan hanya sekali") sebenarnya bukan deskripsi akurat dari API ini di WordPress. Itu tidak hanya menggunakan angka, dan ini lebih seperti token pemalsuan permintaan lintas situs (CSRF) yang akan Anda temukan di setiap kerangka kerja web modern. Token ini memastikan peretas tidak dapat mengulangi permintaan. Ini lebih dari sekadar nonce, tetapi WordPress menyukai kompatibilitas mundur, jadi namanya macet.

Nonces dikirim bersama dengan setiap permintaan rentan yang dibuat pengguna. Mereka dilampirkan ke URL dan formulir, dan mereka selalu perlu diperiksa di pihak penerima sebelum melakukan permintaan. Anda dapat menambahkan nonce ke formulir atau URL. Berikut ini contoh yang digunakan dalam formulir:

 <form method= “post”> <!-- Add a nonce field: --> <?php wp_nonce_field( 'post_custom_form' );?> <!-- other fields: → ... </form>

Dalam hal ini, kami hanya menggunakan fungsi pembantu sederhana wp_nonce_field() , yang menghasilkan dua bidang tersembunyi untuk kami yang akan terlihat seperti ini:

 <input type="hidden" name="_wpnonce" value="e558d2674e" /> <input type="hidden" name="_wp_http_referer" value="/wp-admin/post.php?post=2&action=edit" />

Bidang pertama memeriksa maksud dengan menggunakan kode yang dihasilkan dengan string 'post_custom_form' yang telah kita teruskan ke fungsi. Bidang kedua menambahkan perujuk untuk memvalidasi apakah permintaan dibuat dari dalam instalasi WordPress.

Sebelum memproses tugas Anda di ujung lain formulir atau URL, Anda akan memeriksa nonce dan validitasnya dengan wp_verify_nonce :

 if( wp_verify_nonce( $_REQUEST['_wpnonce'], 'post_custom_form' ) == false ){ wp_die( “Nonce isn\'t valid” ); }

Di sini, kami memeriksa nonce dengan nama tindakan kami, dan jika tidak cocok, kami berhenti memproses formulir.

Kode Pihak Ketiga

Plugin dan tema pihak ketiga adalah sarang peretasan. Mereka juga kacang yang paling sulit untuk dipecahkan saat memastikan keamanan situs web Anda.

Sebagian besar peretasan WordPress disebabkan oleh plugin, tema, dan salinan WordPress yang kedaluwarsa . Tidak ada perangkat lunak yang 100% aman, tetapi banyak plugin dan tema di luar sana yang belum diperbarui untuk sementara waktu oleh pengembangnya atau awalnya tidak aman.

Lebih sedikit kode berarti lebih sedikit untuk diretas. Jadi, sebelum menginstal plugin lain, tanyakan pada diri Anda apakah Anda benar-benar membutuhkannya. Apakah ada cara lain untuk menyelesaikan masalah ini?

Jika Anda yakin membutuhkan plugin atau tema, nilailah dengan cermat. Lihat peringkat, tanggal “terakhir diperbarui” dan versi PHP yang diperlukan saat menelusuri direktori plugin WordPress. Jika Anda telah menemukan apa yang Anda cari dan semuanya tampak berfungsi, cari penyebutan apa pun di blog keamanan tepercaya, seperti Sucuri atau WordFence.

Pilihan lainnya adalah memindai kode dan memastikan kode tersebut berisi nonces yang tepat, sanitasi, dan meloloskan diri; ini biasanya merupakan tanda kode yang ditulis dengan baik dan aman. Anda tidak perlu tahu PHP atau melakukan review kode lengkap. Cara sederhana dan cepat untuk memverifikasi penggunaan yang tepat dari fungsi keamanan WordPress adalah dengan mencari kode plugin untuk string ini:

  • esc_attr
  • esc_html
  • wp_nonce_field
  • wp_nonce_url
  • sanitize_text_field
  • $wpdb->prepare

Sebuah plugin masih bisa aman jika tidak menyertakan semua string ini, tetapi jika tidak ada atau sedikit string ini ditemukan, itu adalah tanda bahaya. Jika Anda menemukan kerentanan, silakan bagikan dengan pembuatnya secara pribadi, dan beri mereka waktu untuk memperbaikinya.

Melacak kerentanan di ruang plugin WordPress semakin mudah dengan inisiatif seperti wpvulndb.

Catatan: Beberapa tema di luar sana menggabungkan versi plugin dengan kodenya. Ini adalah gejala dari WordPress yang tidak memiliki manajemen ketergantungan out-of-the-box yang hebat, tetapi ini juga merupakan tanda dari tema yang ditulis dengan sangat buruk. Selalu hindari tema-tema ini karena mereka menyertakan basis kode yang tidak dapat diperbarui.

Tema dan plugin jarang berisi kode yang ditulis hanya oleh satu pengembang. Komposer dan NPM telah membuatnya lebih mudah untuk bergantung pada perpustakaan lain sehingga menjadi vektor serangan yang populer. Jika Anda mengunduh tema atau plugin WordPress cut-and-dry, ini sebenarnya bukan masalah, tetapi jika Anda bekerja dengan alat yang menggunakan Komposer atau NPM, maka tidak ada salahnya untuk memeriksa dependensinya. Anda dapat memeriksa dependensi Composer dengan alat antarmuka baris perintah (CLI) gratis oleh SensioLabs. Layanan seperti Snyk (yang dapat Anda gunakan secara gratis tetapi juga memiliki opsi premium) memungkinkan Anda untuk memeriksa setiap ketergantungan dalam proyek Anda.

Bagian 2: Ketersediaan: Tetap Sederhana

Tujuan utama Anda adalah menjaga situs web Anda tetap online tanpa gangguan. Bahkan dengan keamanan terbaik, Anda masih bisa mendapat masalah. Ketika itu terjadi, cadangan yang bagus akan menyelamatkan Anda dari sakit kepala yang besar.

Pembaruan

Sumber terbuka tidak akan ada tanpa pembaruan. Sebagian besar serangan di situs WordPress terjadi pada versi lama dari perangkat lunak inti atau plugin. Pembaruan keamanan untuk inti WordPress sekarang ditangani secara otomatis (kecuali Anda telah menonaktifkan ini, Anda monster!), Tetapi pembaruan keamanan di plugin adalah cerita yang berbeda.

Pembaruan biasanya aman dengan plugin yang populer dan tepercaya, tetapi semua plugin harus diuji sebelum ditayangkan di situs web Anda. Alat seperti WP CLI membuat pembaruan semuanya menjadi lebih mudah. Pengembang utama WordPress Mark Jaquith memiliki posting blog yang sangat baik tentang memperbarui semua plugin secara otomatis namun bertahap, sehingga Anda dapat menyaring kemungkinan kesalahan.

Pengguna, Peran, dan Kemampuan

"Ketersediaan" di triad CIA berkaitan dengan mendapatkan informasi di tangan yang tepat. Prioritas utama kami dengan ini adalah membatasi kemampuan pengguna back-end Anda. Jangan beri semua orang akun admin.

Akun admin di WordPress sangat kuat. Bahkan ada opsi di vanilla WordPress untuk mengubah basis kode lengkap Anda dari dalam akun admin WordPress. (Jika ini baru bagi Anda dan Anda belum menonaktifkannya, silakan lakukan.)

Peran dan sistem kemampuan di WordPress sangat kuat dan sangat mudah untuk diubah dalam kode. Saya membuat banyak peran baru saat bekerja dengan WordPress. Manfaat utama dari ini adalah Anda mendapatkan kontrol penuh atas bagian mana dari sistem yang dapat diakses oleh berbagai pengguna, tetapi manfaat besar lainnya adalah mencegah kode pihak ketiga mengubah kemampuan standar inti WordPress.

Surel

WordPress biasanya menangani email melalui server yang aktif, tetapi ini membuat semua email Anda sepenuhnya bergantung pada server yang menjalankannya. Cegah email Anda agar tidak disadap dan dilihat sebagai spam dengan menggunakan layanan SMTP. Banyak opsi plugin tersedia untuk memastikan bahwa semua email Anda dikirim melalui koneksi SMTP yang aman.

Namun, Anda akan memerlukan akses ke pengaturan DNS nama domain untuk menambahkan catatan Sender Policy Framework (SPF). Semua layanan SMTP yang baik akan memberikan catatan tepat yang perlu ditambahkan. Data SPF memastikan bahwa layanan SMTP Anda diotorisasi oleh domain untuk mengirim email atas namanya.

Pemantauan

Memantau situs web Anda secara online adalah tugas 24/7 yang dapat sepenuhnya otomatis. Dalam kasus WordPress, kami tertarik pada waktu aktif dan integritas file.

Memantau waktu aktif biasanya merupakan sesuatu yang akan dilakukan oleh tuan rumah yang baik untuk Anda. Alat-alat seperti Robot Uptime menambahkan lebih banyak keamanan. 50 situs web pertama Anda sepenuhnya gratis.

Mengenai integritas file , jika peretas mendapatkan akses ke server Anda, mereka dapat mengubah kode Anda.

Dalam hal ini, plugin adalah jawaban untuk masalah Anda. Sucuri memiliki plugin audit yang bagus. Ini memeriksa semua file dalam instalasi Anda terhadap database besar kode berbahaya yang diketahui. Itu juga memeriksa apakah inti WordPress masih 100% inti WordPress, dan memberi Anda peringatan jika ada pelanggaran, sehingga Anda dapat memperbaikinya sesegera mungkin.

Cadangan

Gagal-aman utama dari setiap proses keamanan adalah pencadangan otomatis. Sebagian besar host yang baik akan melakukan ini untuk Anda, tetapi ada opsi bagus lainnya jika host Anda tidak menawarkan cadangan. Automattic membuat satu bernama VaultPress, dan alat seperti BackupBuddy mencadangkan ke akun Dropbox atau ember Amazon S3.

Sebagian besar layanan yang dapat diandalkan di ruang cadangan WordPress adalah layanan premium atau plugin premium. Bergantung pada apakah Anda perlu mengontrol data sepenuhnya, Anda mungkin lebih memilih plugin yang disertakan dengan host cloud, daripada layanan. Namun, salah satu bernilai setiap sen.

Hosting

WordPress bukan satu-satunya perangkat lunak yang berjalan di server Anda. Banyak vektor serangan terbuka saat Anda menggunakan hosting yang jelek. Faktanya, hosting yang buruk adalah alasan utama mengapa WordPress masih mendukung versi PHP yang sudah ketinggalan zaman. Pada saat penulisan, halaman statistik WordPress sendiri melaporkan bahwa 32,5% dari semua instalasi WordPress berjalan pada versi PHP yang tidak menerima pembaruan keamanan lagi.

Versi PHP di WordPress pada 10 Mei 2018. (Lihat versi besar)

Perhatikan bahwa hampir 60% instalasi berjalan pada PHP 5.6 dan 7.0, yang hanya akan menerima patch keamanan hingga akhir tahun ini.

Hosting penting tidak hanya untuk menjaga perangkat lunak server Anda tetap mutakhir. Host yang baik akan menawarkan lebih banyak layanan, seperti pencadangan harian otomatis, pembaruan otomatis, pemantauan integritas file, dan keamanan email. Ada perbedaan besar antara host WordPress terkelola dan host yang memberi Anda folder online dengan akses database.

Saran terbaik adalah menemukan host WordPress terkelola yang layak. Harganya sedikit lebih mahal, tetapi mereka memberikan tulang punggung yang bagus untuk situs web WordPress Anda.

Bagian 3: Kerahasiaan

Jika Anda telah memastikan bahwa basis kode Anda seaman mungkin dan Anda menggunakan host WordPress yang hebat, dikelilingi oleh pemindai dan cadangan malware, maka Anda masih akan mengalami masalah keamanan, karena orang adalah yang terburuk … di keamanan Internet.

Kerahasiaan adalah tentang mendidik diri sendiri, klien Anda, dan pengguna situs web.

Data Rahasia

Anda mungkin tidak mengetahuinya, tetapi plugin dan tema Anda mungkin menampilkan data rahasia yang berharga. Jika, misalnya, Anda memiliki WP_DEBUG yang disetel ke true , maka Anda menunjukkan kepada setiap peretas jalur root situs web Anda di server. Data debug seharusnya tidak memiliki tempat di situs web produksi Anda.

Sumber data berharga lainnya adalah komentar dan halaman penulis. Ini diisi dengan nama pengguna dan bahkan alamat email. Seorang peretas dapat menggunakan ini dalam kombinasi dengan kata sandi yang lemah untuk masuk ke situs web Anda. Berhati-hatilah dengan apa yang Anda tunjukkan kepada dunia luar.

Juga, periksa kembali apakah Anda telah meletakkan wp-config.php di .gitignore Anda.

Jangan Kode Sendiri

Cara untuk mencegah banyak kesalahan menyelinap ke basis kode Anda adalah dengan berlatih pemrograman berpasangan. Jika Anda sendirian, ini jauh lebih sulit, tetapi banyak komunitas online tersedia yang bersedia melakukan audit kode cepat. WordPress misalnya, menggunakan Slack untuk mengomunikasikan segala sesuatu tentang pengembangan platformnya. Anda akan menemukan banyak orang di sana yang bersedia membantu. Alternatif yang lebih lambat tetapi lebih baik adalah forum WordPress, StackOverflow, dan GitHub Issues, tempat pertanyaan Anda (dan jawaban mereka!) disimpan sehingga orang lain dapat mengambil manfaat darinya.

Meminta masukan bisa jadi sulit, tetapi orang senang menunjukkan keahlian mereka, dan WordPress pada umumnya memiliki komunitas yang sangat terbuka dan ramah. Intinya adalah jika Anda tidak pernah meminta masukan tentang kualitas kode Anda, maka Anda tidak akan tahu apakah kode Anda aman.

Login dan Kata Sandi

Klien Anda harus masuk ke WordPress untuk mengelola konten mereka. Inti WordPress melakukan apa yang bisa dilakukan untuk mencegah kata sandi yang lemah masuk, tetapi ini biasanya tidak cukup.

Saya akan merekomendasikan menambahkan plugin untuk otentikasi dua faktor ke situs web Anda, bersama dengan batas upaya login. Lebih baik lagi, singkirkan kata sandi sepenuhnya dan gunakan tautan ajaib.

Percaya Tapi Verifikasi

Sejauh ini dalam artikel ini, kita belum membicarakan rekayasa sosial sama sekali. Ini adalah bentuk peretasan yang mendapatkan momentum, tetapi umumnya tidak digunakan untuk meretas situs web WordPress. Namun, ini adalah cara terbaik untuk mengatur budaya di sekitar situs web Anda dengan mempertimbangkan keamanan. Itu karena pertahanan terbaik melawan rekayasa sosial adalah "Percaya tapi verifikasi".

Setiap kali klien, pengguna, atau atasan Anda meminta sesuatu yang berkaitan dengan keamanan, cara terbaik untuk menghadapinya adalah dengan memercayai tetapi pertama-tama memverifikasi apakah yang mereka katakan itu benar.

Seorang klien dapat mengklaim bahwa mereka memerlukan akses administrator ke WordPress, tetapi tugas Anda adalah memverifikasi apakah ini benar. Apakah mereka benar-benar membutuhkan akses, atau mereka hanya kehilangan satu kemampuan dalam peran mereka? Apakah ada cara untuk mengatasi masalah ini tanpa menambahkan kemungkinan vektor serangan baru?

“Percayai tetapi verifikasi” adalah mantra sederhana namun efektif dalam hal pertanyaan keamanan, dan itu benar-benar dapat membantu mempercepat orang.

Kesimpulan

Apakah WordPress tidak aman? Tidak. Inti WordPress terus diperbarui dan diperbaiki, dan sebagian besar peretasan WordPress yang dilaporkan bukan dari WordPress itu sendiri. Apakah budaya di sekitar WordPress tidak aman? Anda betcha!

Tetapi dengan mempertimbangkan keamanan dengan setiap baris kode yang Anda tulis, setiap pengguna yang Anda tambahkan, setiap plugin yang Anda aktifkan dan setiap tagihan hosting yang Anda bayar, Anda setidaknya dapat memastikan bahwa Anda menjalankan situs web aman yang menjaga reputasi Anda tetap utuh dan datanya aman.