5 celah keamanan teratas di Instalasi WordPress

Instalasi WordPress Anda dapat seaman atau tidak aman seperti yang Anda inginkan. Pelajari lima hal mana yang paling penting dalam hal keamanan.


Kekhawatiran dan keluhan tentang keamanan WordPress bukanlah hal baru.

Jika Anda memerlukan CMS dan kebetulan berkonsultasi dengan penyedia layanan yang tidak ke WordPress, keamanan adalah hal nomor satu yang akan Anda dengar. Apakah itu berarti semua orang harus meninggalkan WordPress dan beralih ke generator situs statis atau CMS tanpa kepala?

Tidak, karena sama seperti setiap kebenaran dalam hidup, yang satu ini juga memiliki banyak sisi.

Apakah WordPress sangat tidak aman?

Mari kita lihat beberapa situs web besar yang dibangun di WordPress:

  • TechCrunch
  • New Yorker
  • BBC Amerika
  • Bloomberg
  • Berita MTV
  • PlayStation Blog

Jadi, apa yang membuat perusahaan-perusahaan ini – dengan kantong sangat dalam dan tenaga kerja yang membingungkan – tidak beralih dari WordPress? Jika Anda berpikir jawabannya adalah kode lama, pikirkan lagi: untuk nama-nama ini, keamanan data dan citra publik jauh lebih penting daripada migrasi sederhana yang biayanya (perkiraan saya) kurang dari $ 200.000.

Tentunya teknisi mereka tahu apa yang mereka lakukan dan tidak melihat masalah keamanan mendasar dan tak terpecahkan dengan WordPress?

Bahkan saya memiliki nasib baik mengelola instalasi WordPress yang melihat 3,5-4 juta pengunjung sebulan. Jumlah total pelanggaran keamanan dalam delapan tahun terakhir? Nol!

Jadi . . adalah WordPress aman?

Saya minta maaf jika sepertinya suka troll, tapi inilah jawaban saya:

Saya katakan demikian karena, seperti setiap kebenaran dalam hidup, ini rumit. Untuk sampai pada jawaban yang sah, pertama-tama kita harus memahami bahwa WordPress (atau CMS prebuilt, dalam hal ini) tidak seperti lemari yang Anda tempel di suatu tempat secara permanen dan dilakukan dengan itu.

Ini adalah perangkat lunak yang kompleks dengan banyak dependensi:

  • PHP, yang merupakan bahasa yang dibangunnya
  • Mesin yang dapat dilihat secara publik yang meng-host instalasi
  • Server web yang digunakan untuk menangani pengunjung (Apache, Nginx, dll.)
  • Basis data yang digunakan (MySQL / MariaDB)
  • Tema (bundel file PHP, CS dan JS)
  • Plugin (bundel file PHP, CS dan JS)
  • Dan masih banyak lagi, tergantung pada seberapa banyak tujuan instalasi Anda

Dengan kata lain, pelanggaran keamanan di salah satu lapisan ini akan disebut sebagai pelanggaran WordPress.

Jika kata sandi root server adalah admin123 dan dikompromikan, apakah itu cacat keamanan WordPress?

Jika versi PHP memiliki kerentanan keamanan; atau jika plugin baru yang Anda beli dan instal berisi lubang keamanan yang mencolok; dan seterusnya. Untuk meringkas: Subsistem gagal, dan itu adalah kegagalan keamanan WordPress.

Selain itu, jangan biarkan hal ini memberi Anda kesan bahwa PHP, MySQL, dan Apache tidak aman. Setiap bagian dari perangkat lunak memiliki kerentanan, yang jumlahnya mengejutkan dalam hal open-source (karena tersedia untuk semua orang untuk melihat dan menganalisis).

Apakah ada yang mengatakan “aman”? ��

Untuk sumber data ini dan statistik demoralisasi lainnya, lihat ini.

Apa yang kita pelajari dari semua latihan ini adalah ini:

Tidak ada yang aman atau tidak aman dengan sendirinya. Komponen berbeda yang digunakan yang membentuk tautan di rantai, rantai, tentu saja, sekuat yang terlemah dari mereka. Secara historis, label “tidak aman” dari WordPress adalah kombinasi dari versi PHP lama, shared hosting, dan menambahkan plugin / tema dari sumber yang tidak terpercaya.

Pada saat yang sama, beberapa pengawasan yang cukup umum membuat instalasi WordPress Anda rentan terhadap mereka yang tahu bagaimana cara mengeksploitasinya dan ditentukan. Dan itulah maksud dari posting ini. Jadi tanpa basa-basi (dan argumen melingkar), mari kita mulai.

Lubang WordPress teratas yang bisa dieksploitasi oleh peretas

Awalan tabel WordPress

Instalasi 5 menit yang terkenal adalah hal terbaik untuk terjadi pada WordPress, tetapi seperti semua penyihir penginstalan, itu membuat kita malas dan membiarkan semuanya secara default.

Ini berarti awalan default untuk tabel WordPress Anda adalah wp_, menghasilkan nama tabel yang dapat ditebak siapa pun:

  • pengguna-wp
  • opsi-wp
  • wp-postingan

Sekarang, pertimbangkan serangan yang dikenal sebagai SQL Injection, di mana kueri basis data berbahaya dimasukkan secara cerdik dan dijalankan di WordPress (harap dicatat – ini bukan serangan khusus WordPress / PHP).

Meskipun WordPress memiliki mekanisme bawaan untuk menangani jenis serangan ini, tidak ada yang dapat menjamin bahwa itu tidak akan terjadi.

Jadi, jika entah bagaimana, dengan cara tertentu, penyerang berhasil menjalankan kueri seperti DROP TABLE wp_users; DROP TABLE wp_posts ;, semua akun, profil, dan posting Anda akan dihapus dalam sekejap tanpa ada peluang untuk pemulihan (kecuali Anda memiliki skema cadangan, tetapi bahkan kemudian, Anda pasti akan kehilangan data sejak cadangan terakhir ).

Cukup mengubah awalan selama instalasi adalah masalah besar (yang perlu dilakukan tanpa usaha).

Sesuatu yang acak seperti sdg21g34_ direkomendasikan karena itu omong kosong dan sulit ditebak (semakin lama awalan, semakin baik). Bagian terbaiknya adalah awalan ini tidak perlu diingat; awalan adalah sesuatu yang akan disimpan WordPress, dan Anda tidak perlu khawatir tentang hal itu lagi (sama seperti Anda tidak khawatir tentang awalan wp_ default!).

URL login default

Bagaimana Anda tahu situs web berjalan di WordPress? Salah satu tanda yang menunjukkan bahwa Anda melihat halaman login WordPress ketika Anda menambahkan “/wp-login.php” ke alamat situs web.

Sebagai contoh, mari ambil situs web saya (http://ankushthakur.com). Apakah itu di WordPress? Baiklah, silakan dan tambahkan bagian login. Jika Anda merasa terlalu malas, inilah yang terjadi:

¯ \ _ (ツ) _ / ¯

WordPress, benar?

Setelah sebanyak ini diketahui, penyerang dapat menggosok tangan mereka dengan gembira dan mulai menerapkan trik jahat dari Bag-O-Doom mereka berdasarkan abjad. Kasihan aku!

Solusinya adalah mengubah URL login default dan memberikannya hanya kepada orang-orang yang dipercaya.

Misalnya, situs web ini juga ada di WordPress, tetapi jika Anda mengunjungi http://geekflare.com/wp-login.php, yang Anda dapatkan adalah kekecewaan yang mendalam dan mendalam. URL login disembunyikan dan hanya diketahui oleh admin ?.

Mengubah URL login juga bukan ilmu roket. Ambil ini plugin.

Selamat, Anda baru saja menambahkan lapisan keamanan frustasi terhadap serangan brute force.

Versi PHP dan server web

Kami sudah membahas bahwa setiap perangkat lunak yang pernah ditulis (dan sedang ditulis) penuh dengan bug yang menunggu untuk dieksploitasi.

Hal yang sama berlaku untuk PHP.

Bahkan jika Anda menggunakan versi terbaru PHP, Anda tidak bisa memastikan kerentanan apa yang ada dan mungkin ditemukan dalam semalam. Solusinya adalah menyembunyikan tajuk tertentu yang dikirim oleh server web Anda (tidak pernah mendengar tajuk? Baca ini!) ketika browser terhubung dengannya: x-powered-by.

Ini seperti apa rasanya jika Anda memeriksa alat pengembang peramban favorit Anda:

Seperti yang bisa kita lihat di sini, situs web memberitahu kita bahwa itu berjalan di Apache 2.4 dan menggunakan PHP versi 5.4.16.

Sekarang, itu sudah banyak informasi yang kami sampaikan tanpa alasan, membantu penyerang mempersempit pilihan alat mereka.

Header ini (dan sejenisnya) perlu disembunyikan.

Untungnya, itu bisa dilakukan dengan cepat; sayangnya, pengetahuan teknis yang canggih diperlukan karena Anda harus menyelami isi sistem dan mengacaukan file-file penting. Oleh karena itu, saran saya adalah meminta penyedia hosting situs web Anda untuk melakukan ini untuk Anda; jika mereka tidak melihat apakah konsultan dapat menyelesaikannya, meskipun ini akan sangat tergantung pada host situs web Anda apakah pengaturan mereka memiliki kemungkinan seperti itu atau tidak.

Jika tidak berhasil, mungkin sudah saatnya untuk beralih penyedia hosting atau pindah ke VPS dan menyewa konsultan untuk masalah keamanan dan administrasi.

Apakah itu layak? Hanya Anda yang bisa memutuskan itu. ��

Oh, dan jika Anda ingin menemukan header keamanan, inilah perbaikannya!

Jumlah upaya login

Salah satu trik tertua dalam buku pegangan peretas adalah yang disebut Kamus Attack.

Idenya adalah Anda mencoba jumlah yang sangat besar (jutaan, jika mungkin) kombinasi untuk kata sandi kecuali salah satu di antaranya berhasil. Karena komputer cepat kilat pada apa yang mereka lakukan, skema bodoh seperti itu masuk akal dan dapat menghasilkan hasil dalam waktu yang wajar.

Satu pertahanan umum (dan sangat efektif) adalah menambahkan penundaan sebelum menunjukkan kesalahan. Ini membuat penerima menunggu, yang artinya jika skrip ini digunakan oleh peretas, akan terlalu lama untuk diselesaikan. Itulah alasan mengapa komputer atau aplikasi favorit Anda sedikit memantul dan kemudian berkata, “Ups, kata sandi yang salah!”.

Pokoknya, intinya adalah, Anda harus membatasi jumlah upaya login untuk situs WordPress Anda.

Di luar sejumlah percobaan (mis. Lima), akun harus dikunci dan hanya dapat dipulihkan melalui email pemegang akun.

Untungnya, menyelesaikan ini adalah cakewalk jika Anda menemukan yang bagus plugin.

HTTP vs. HTTPS

Sertifikat SSL yang telah diganggu oleh vendor Anda lebih penting daripada yang Anda kira.

Ini bukan sekadar alat reputasi untuk menampilkan ikon kunci hijau di peramban yang bertuliskan “Aman”; alih-alih, memasang sertifikat SSL dan memaksa semua URL untuk bekerja di “https” cukup sendiri untuk membuat situs web Anda dari menjadi buku terbuka menjadi gulungan samar.

Jika Anda tidak mengerti bagaimana ini terjadi, harap baca tentang sesuatu yang dikenal sebagai a serangan man-in-the-middle.

Cara lain untuk mencegat lalu lintas yang mengalir dari komputer Anda ke server adalah packet sniffing, yang merupakan bentuk pengumpulan data pasif dan bahkan tidak perlu bersusah payah memposisikan dirinya di tengah..

Untuk situs yang menggunakan “HTTP” biasa, orang yang menghadang lalu lintas jaringan, kata sandi dan nomor kartu kredit Anda tampak jelas, teks biasa.

Sumber: comparitech.com

Mengerikan? Sangat!

Tetapi begitu Anda menginstal sertifikat SSL dan semua URL dikonversi menjadi “https,” informasi sensitif ini muncul sebagai omong kosong bahwa hanya server yang dapat mendekripsi. Dengan kata lain, jangan berkeringat beberapa dolar setahun. ��

Kesimpulan

Akan mendapatkan kelima hal ini di bawah kontrol mengamankan situs web Anda dengan baik?

Tidak, tidak sama sekali. Seperti yang dikatakan oleh banyak artikel keamanan, Anda tidak pernah 100% aman, tetapi mungkin untuk menghilangkan sejumlah besar masalah ini dengan upaya yang masuk akal. Anda dapat mempertimbangkan menggunakan SUCURI cloud WAF untuk melindungi situs Anda secara holistik.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map