7 Kerentanan Plugin Keamanan WordPress Anda tidak dapat melindungi Anda dari (dan cara memperbaikinya secara manual)

Diterbitkan: 2025-01-27

Jika Anda seperti kebanyakan pengguna WordPress maka Anda mungkin menginstal plugin keamanan untuk membantu menjaga situs web Anda tetap aman. Ini adalah langkah pertama yang sangat baik dan akan menangani banyak perlindungan Anda-terutama jika Anda telah mengaktifkan otentikasi dua faktor.

Tetapi perhatikan bahwa saya menekankan langkah pertama . Saya melakukan itu dengan sengaja karena banyak orang berpikir itu satu -satunya langkah yang perlu mereka ambil. Jika Anda benar -benar peduli dengan keamanan situs Anda, maka seharusnya tidak.

Berita baiknya adalah bahwa dengan beberapa konfigurasi manual ringan, Anda dapat meningkatkan keamanan WordPress Anda di tingkat server dan membuat situs Anda secara signifikan lebih tahan terhadap serangan. Sebagai bonus tambahan, Anda akan merasa seperti pakar keamanan WordPress saat melakukannya - bisa dibilang bagian terpenting dari seluruh proses. 😉

Jadi, jika Anda siap bertransformasi dari pengguna WordPress biasa menjadi pro dan membuat situs web Anda anti peluru, maka mari kita mulai.

Daftar isi

Kotak alat

Percaya atau tidak, untuk melakukan ini, Anda hanya akan membutuhkan tiga (mungkin empat) alat.

  • SUCURI SITUS CHECK : Alat gratis untuk menjalankan pemindaian awal Anda dan untuk memverifikasi perubahan Anda.
  • Header Keamanan : Alat gratis lain yang memberikan umpan balik terperinci tentang konfigurasi keamanan situs web.
  • Akses ke panel kontrol hosting Anda : Saya menggunakan cpanel, tetapi saya akan membahas apa yang harus dilakukan jika Anda memiliki sesuatu yang lain.
  • Editor teks (mungkin): Panel kontrol hosting Anda mungkin memiliki satu bawaan sehingga ini mungkin tidak diperlukan, tapi saya mendaftarkannya di sini untuk berjaga -jaga.

Hal yang paling rumit dari daftar di atas adalah mengakses cpanel. Ini tidak sulit, tetapi setiap perusahaan hosting memiliki cara mereka sendiri untuk melakukannya dan jika Anda belum pernah melakukannya sebelumnya maka Anda perlu mengetahuinya.

Cara termudah untuk mendekatinya (jika Anda tidak yakin) adalah pergi ke basis pengetahuan situs web perusahaan hosting Anda dan mencari "cpanel." Jika itu tidak membawa Anda ke mana pun maka jangkau dukungan pelanggan mereka.

Menjalankan cek keamanan awal Anda

Sebelum Anda mulai bermain -main dengan kode situs Anda, Anda pertama -tama ingin memeriksa bagaimana saat ini menangani keamanan. Perubahan yang akan saya tunjukkan bahwa Anda sangat spesifik sehingga Anda ingin memastikan bahwa mereka sebenarnya diperlukan untuk situs Anda.

Dalam kebanyakan kasus - terutama jika Anda mengandalkan hosting bersama - Anda harus membuatnya. Namun, pada beberapa rencana hosting WordPress yang dikelola tingkat lebih tinggi, ada kemungkinan bahwa tuan rumah Anda mungkin membuat tweak atas nama Anda. Karenanya mengapa menjalankan pemindaian ini sebelumnya adalah penting.

Pemeriksaan Situs Sucuri

Untuk memulai, pergilah ke alat pemeriksaan situs Sucuri dan tempel alamat situs web Anda ke pemindai:

Halaman pemeriksaan situs Sucuri.

Klik Kirim dan biarkan Sucuri mengerjakan keajaibannya.

Untuk keperluan tutorial ini, saya sengaja tidak terlindungi situs pribadi saya untuk menunjukkan kepada Anda seperti apa konfigurasi WordPress standar (sebelum Anda melakukan pengeditan):

Hasil pemindaian Sucuri awal yang menunjukkan kerentanan keamanan.

Seperti yang Anda lihat, pemindaian mengungkapkan lima celah keamanan yang akan Anda lihat dalam pengaturan WordPress yang khas. Saya akan menjelaskan apa yang mereka maksud dalam sesaat.

Header keamanan

Sementara Sucuri memberi kami pandangan mata yang bagus, mari kita benar-benar kutu buku dan periksa apa yang dikatakan header keamanan. Langkah pertama persis sama dengan Sucuri - cukup ketik atau tempel alamat situs web Anda ke alat dan klik pemindaian .

Bergantung pada seberapa besar situs Anda, hasilnya bisa memakan waktu dari satu detik hingga ... yah, lebih lama. 😅 Hasil awal saya terlihat seperti ini:

SecurityHeaders.com Gagal Keamanan Pemindaian.

Semua warna merah dan F raksasa mungkin terlihat agak menakutkan, tetapi sebenarnya memberi kita beberapa informasi yang sangat berguna. Masing -masing tanda merah menunjukkan header keamanan yang hilang yang membuat situs Anda lebih rentan.

Saya juga ingin menekankan kembali bahwa Anda akan melihat hasil ini bahkan dengan memiliki Wordfence atau plugin keamanan lain yang diinstal di situs Anda. Pengecualian adalah jika perusahaan hosting Anda atau orang lain melakukan pengeditan yang akan kami lakukan sebelum Anda.

Memahami semua bendera merah

Sekarang mari kita atur semua yang ditemukan pemindaian kami - ada beberapa tumpang tindih di antara alat -alat tersebut, tetapi masing -masing juga menangkap beberapa masalah unik.

Masalah kedua alat yang ditangkap 🤝

  • Konten-keamanan-kebijakan hilang sepenuhnya-artinya tidak ada yang mengendalikan skrip dan konten apa yang dapat dimuat di situs. ℹ️ Mengapa itu buruk? Tanpa kontrol ini, kode berbahaya dapat disuntikkan dan dijalankan di halaman Anda, berpotensi mengkompromikan situs dan pengunjung Anda.
  • X-frame-options tidak ada, yang membuat situs rentan terhadap upaya klik-klik melalui embedding yang tidak sah. ℹ️ Mengapa itu buruk? Clickjacking adalah ketika penyerang menipu pengguna untuk mengklik sesuatu yang berbeda dari apa yang mereka lihat, seringkali dengan meletakkan situs Anda yang sah di bawah konten berbahaya.
  • Opsi-tipe konten tidak diatur, yang dapat memungkinkan serangan kebingungan tipe MIME. ℹ️ Mengapa itu buruk? Kebingungan tipe-mime terjadi ketika browser ditipu untuk memperlakukan satu jenis file sebagai yang lain, berpotensi menjalankan kode berbahaya.

Temuan unik Sucuri 🔍

  • Versi PHP terlihat di header HTTP. ℹ️ Mengapa itu buruk? Ketika penyerang dapat melihat versi PHP Anda, mereka tahu persis kerentanan mana yang mungkin bekerja terhadap situs Anda - seperti memiliki cetak biru sistem keamanan Anda.

Wawasan ekstra header keamanan 🔬

  • Tidak ada kebijakan pengirim . ℹ️ Mengapa itu buruk? Tanpa kebijakan ini, situs Anda mungkin membocorkan informasi sensitif tentang pola penelusuran pengguna Anda ke situs web lain.
  • Kebijakan izin belum dikonfigurasi. ℹ️ Mengapa itu buruk? Ini berarti setiap halaman di situs Anda berpotensi meminta akses ke kamera, mikrofon, atau data lokasi pengunjung tanpa batasan.
  • Kurin ketat-transport tidak ada. ℹ️ Mengapa itu buruk? Tanpa header ini, koneksi ke situs Anda mungkin menurunkan peringkat dari HTTPS ke HTTP, membuat mereka rentan terhadap intersepsi.

Keindahan memperbaiki masalah ini adalah Anda tidak perlu memahami setiap detail teknis - Anda hanya perlu menerapkan solusi dengan benar. Yang, dengan nyaman, persis seperti yang akan kita lakukan.

Menemukan jalan Anda ke file server

Dengan asumsi Anda memiliki cpanel seperti saya, klik Manajer File di Dasbor Anda:

Mengakses File Manager melalui CPANEL.

Jika Anda menggunakan sesuatu selain cPanel maka Anda dapat mengunduh FileZilla (gratis dan inilah panduan singkat tentang cara menggunakannya). Setelah Anda menginstalnya, gunakan detail FTP Anda dari dasbor hosting Anda untuk terhubung ke server Anda:

  • Host: ftp.yoursite.com - periksa kembali apakah itu alamat yang benar di bagian ftp cpanel
  • Nama Pengguna: your-username
  • Kata Sandi: your-password
  • Port: 21 - Juga periksa apakah ini adalah port yang digunakan pengaturan Anda (FTP di cpanel)

Beberapa host juga akan memberi Anda alternatif cpanel mereka sendiri yang mungkin berfungsi sama. Dengan kata lain, Anda mungkin tidak harus menggunakan FileZilla. Jika Anda tidak yakin, tanyakan dukungan pelanggan.

Menemukan file .htaccess

Setelah Anda masuk, Anda akan melihat sesuatu yang terlihat seperti browser file komputer Anda. Kami perlu menemukan file tertentu yang disebut .htaccess - ini mengontrol bagaimana server Anda menangani berbagai pengaturan keamanan. Cara termudah untuk menemukannya adalah dengan menggunakan fungsi pencarian file cpanel di kanan atas. Pengguna FileZilla dapat mengandalkan fitur serupa.

Ketik .htaccess di jendela dan klik pergi .

Mencari file .htaccess di CPanel File Manager.

Jika Anda hanya memiliki satu situs web yang ditautkan ke akun hosting Anda maka ini harus cukup mudah. Jika Anda memiliki beberapa situs maka pastikan Anda mengklik file .htaccess yang terkait dengan situs yang akan Anda edit ini.

Detail tripwire potensial lain yang harus diperhatikan adalah fakta bahwa bahkan pada satu pengaturan situs, Anda mungkin masih memiliki file .htaccess -ish lainnya. Pada dasarnya file yang memiliki .htaccess dalam nama mereka tetapi kemudian juga kata atau karakter lain.

Anda tidak menginginkan semua itu. Anda hanya menginginkan yang disebut .htaccess dan tidak ada yang lain.

Menambahkan kode ke file .htaccess untuk memperbaiki masalah keamanan

Setelah Anda menemukan file, Anda ingin mengunduhnya sebelum melakukan pengeditan. Dengan cara ini jika ada yang salah, Anda memiliki cadangan yang dapat Anda unggah kembali ke folder.

Unduh file .htaccess sebelum membuat pengeditan.

Tidak ada yang salah, tetapi lebih baik aman daripada Anda-tahu-apa .

Setelah cadangan Anda diunduh dengan aman, Anda dapat melanjutkan dengan mengedit file .htaccess . Di CPanel's File Manager, klik kanan file dan pilih Edit . Jika Anda menggunakan FileZilla, klik kanan dan pilih Lihat/Edit -Ini akan membuka file di editor teks default Anda.

Bagian selanjutnya adalah puncak dari seluruh misi ini. Di sinilah Anda merasa seperti pakar keamanan WordPress untuk sesaat. Nikmati saat berlangsung.

Di mana harus memasukkan kode di file .htaccess Anda 👨🏻‍💻

Instalasi WordPress biasanya memiliki beberapa bagian di sini, ditandai dengan komentar yang dimulai dengan # BEGIN dan # END .

Cari garis yang mengatakan ini:

 # END WordPress

Pendekatan teraman adalah menambahkan header keamanan setelah ini . Jika Anda tidak melihat garis yang tepat, atau jika Anda tidak yakin, Anda dapat menambahkan header di ujung file - pastikan untuk meninggalkan garis kosong antara kode yang ada dan tambahan baru.

Inilah kodenya:

 # BEGIN Security Headers Header unset X-Powered-By php_flag expose_php Off Header set X-Frame-Options "SAMEORIGIN" Header set X-Content-Type-Options "nosniff" Header set Strict-Transport-Security "max-age=31536000; includeSubDomains" Header set Content-Security-Policy "default-src 'self' 'unsafe-inline' 'unsafe-eval' *; script-src 'self' 'unsafe-inline' 'unsafe-eval' * data: blob:; style-src 'self' 'unsafe-inline' *; img-src 'self' data: *; frame-src 'self' *; font-src 'self' data: *; media-src 'self' *;" Header set Referrer-Policy "strict-origin-when-cross-origin" Header set Permissions-Policy "camera=(), microphone=(), geolocation=(), payment=()" # END Security Headers

Setelah selesai, klik Simpan Perubahan di kanan atas. Untuk pengguna non-cpanel, temukan apa pun tombol yang setara di antarmuka Anda sendiri.

Dengan itu, Anda dapat menjalankan pemindaian keamanan lagi untuk melihat dampak perubahan Anda.

Menjalankan kembali cek keamanan

Pertama, periksa header keamanan:

SecurityHeaders.com lulus pemindaian keamanan.

Tidak terlalu buruk, ya?

Kami beralih dari F ke A.

Bicara tentang cahaya!

Setiap header keamanan yang kami konfigurasi ditampilkan sebagai diterapkan dengan benar.

Selanjutnya, mari kita periksa Sucuri:

Sucuri scan setelah menambahkan kode header.

Jauh lebih baik tetapi anehnya masih ada dua peringatan.

Yang pertama sebenarnya adalah positif palsu karena saya tahu bahwa situs saya menjalankan Wordfence. Saya tidak punya penjelasan untuk ini selain mungkin Sucuri tidak mengenali Wordfence karena alasan apa pun. Jika Anda melihat peringatan yang sama dan Anda juga tahu bahwa Anda memiliki WAF yang diinstal maka abaikan saja.

Pesan kedua sedikit berbeda. Ini juga muncul dalam hasil header keamanan, di bawah laporan bintang yang saya tunjukkan sudah:

SecurityHeaders.com lulus pemindaian keamanan tetapi dengan peringatan.

Begini masalahnya:

Meskipun ditandai sebagai "berbahaya" oleh kedua alat, penggunaan inline yang tidak aman sebenarnya baik-baik saja.

WordPress membutuhkan kemampuan JavaScript dan CSS tertentu untuk berfungsi - terutama untuk editor blok dan plugin. Jadi, sementara ada cara yang lebih ketat secara teknis untuk menangani ini (itulah yang dimaksud dengan referensi nons ), melakukan hal itu akan merusak situs Anda. Secara harfiah.

Analogi terbaik di sini adalah memikirkan sebuah rumah. Anda secara teknis dapat membuat rumah Anda "lebih aman" dengan menyegel semua jendela dan pintu Anda dengan semen, tetapi itu akan membuat rumah Anda tidak berfungsi. Ini adalah ide yang sama.

Membungkus

Plugin keamanan WordPress adalah dasar dari strategi keamanan yang baik - tetapi mereka tidak dapat mencapai ke tingkat server di mana perlindungan kritis tertentu perlu ditetapkan.

7 Kerentanan Plugin #WordPress #Security Anda tidak dapat melindungi Anda dari 🔐
Klik untuk Tweet

Tangkapan layar sebelum dan sesudah dari pemindaian keamanan yang Anda lihat adalah bukti dari ini.

Dan sekarang setelah Anda membaca tutorial ini, Anda juga dapat mengambil keamanan WordPress Anda dari "plugin yang dilindungi" ke "tingkat server diamankan."

Pada catatan akhir, sebagai praktik terbaik keamanan, saya juga merekomendasikan melakukan hal berikut:

  • Jalankan pemindaian keamanan ini setiap bulan.
  • Simpan dokumentasi konfigurasi keamanan Anda.
  • Tes setelah pembaruan WordPress utama untuk memastikan semuanya masih berfungsi sebagaimana dimaksud.
  • Ubah alamat halaman login Anda.
  • Batasi upaya login.
  • Aktifkan otentikasi dua faktor (atau 2FA singkat).
  • Pertahankan plugin dan tema yang diperbarui dan hapus yang tidak Anda gunakan.

... dan banyak lagi. Keamanan WordPress dapat membawa Anda ke lubang kelinci yang dalam, tetapi apa yang Anda pelajari di sini sudah cukup untuk memulai dan akan melindungi situs Anda dari sebagian besar serangan.

Apakah Anda punya pertanyaan? Beri tahu saya di komentar. Saya akan dengan senang hati membantu Anda.

Yay! Anda berhasil sampai akhir artikel!