Daftar Periksa Keamanan PHP Terbaik dari Praktik Terbaik WordPress

Diterbitkan: 2017-11-03

mirsad / stock.adobe.com

Proses keamanan situs web Anda kemungkinan besar menangani cara mengamankan situs WordPress Anda di tingkat server serta melindungi situs Anda di tingkat file. Tapi apakah Anda perlu melindungi bahasa pemrograman Anda? Apakah ada praktik terbaik keamanan PHP yang perlu Anda ikuti? Apakah PHP perlu diamankan?

Ya, ya dan ya.

Jika Anda menjalankan situs WordPress tetapi tidak fokus menjaga keamanan kode PHP, Anda bisa rentan terhadap insiden besar.

Oh Tidak Ya Tuhan GIF oleh Teman

Ada banyak manfaat menggunakan PHP untuk mengembangkan situs WordPress Anda:

  • Cukup mudah untuk digunakan oleh pemula dan cukup fleksibel untuk profesional pemrograman.
  • Ia bekerja dengan baik di semua platform (misalnya Linux, Windows, dll.).
  • Ini juga sangat ramah WordPress.
  • Ini dapat meningkatkan kecepatan situs.

Meski begitu, PHP bukannya tanpa kekurangan. Aplikasi yang diprogram PHP dapat berisiko terhadap:

  • Suntikan SQL
  • Skrip lintas situs
  • Kredensial login terbuka
  • Pembajakan sesi
  • Formulir palsu
  • Dan risiko keamanan buruk lainnya

Terkait: Cara Memeriksa Versi PHP Situs WordPress Anda (Dan Meningkatkan Kompatibilitas)

Tentu saja, ini tidak dimaksudkan untuk menghentikan keinginan Anda menggunakan PHP untuk memprogram situs WordPress Anda. Ini adalah bahasa yang sangat andal dan fleksibel dan, jika diamankan dengan benar, dapat menjadi alat yang sangat ampuh yang juga membantu menyederhanakan proses Anda.

Daftar periksa keamanan PHP berikut ini akan mengajarkan Anda semua praktik terbaik keamanan PHP yang perlu Anda ketahui untuk menjaga bahasa pemrograman dan aplikasi buatan PHP Anda tetap aman di masa mendatang.

Tim kami di WP Buffs membantu pemilik situs web, mitra agensi, dan mitra pekerja lepas mengikuti praktik terbaik keamanan PHP. Apakah Anda membutuhkan kami untuk mengelola 1 situs web atau mendukung 1000 situs klien, kami siap membantu Anda.

Daftar Periksa Keamanan PHP Terbaik untuk WordPress

Ingin memastikan situs WordPress Anda tetap aman dari peretas? Selanjutnya terserah Anda untuk memastikan bahwa semua alat yang Anda gunakan untuk membangunnya (termasuk bahasa pemrograman Anda) mematuhi praktik keamanan terbaik. Khususnya jika berkaitan dengan PHP, Anda harus memperhatikan hal-hal berikut:

  • Praktik terbaik pengkodean PHP
  • Pembatasan akses di bagian belakang situs Anda
  • Manajemen dan pemantauan akun pengguna
  • Validasi, sanitasi, dan pelepasan data
  • Pengiriman data oleh pengguna dan pemantauan unggahan
  • Keandalan host web

Jika Anda ingin informasi lebih lanjut tentang pos pemeriksaan keamanan PHP di atas dan cara menggunakannya dalam pengembangan WordPress, teruslah membaca daftar periksa keamanan PHP terbaik

Praktik Terbaik PHP

  • Gunakan PHP7 : Selalu gunakan PHP versi terbaru. Hal yang sama berlaku untuk semua perpustakaan dan aplikasi pihak ketiga yang Anda gunakan bersamanya.
  • Sembunyikan Versi : Versi PHP yang Anda gunakan saat ini dapat memberi tahu peretas jenis kerentanan apa yang Anda biarkan terbuka pada situs Anda, jadi matikan pengaturan ini di header Anda menggunakan mengekspos_php.
  • Ganti nama phpinfo : Informasi tambahan tentang instalasi Anda juga perlu disembunyikan, jadi pastikan untuk mengubah nama file phpinfo.php.
  • Ubah Kode Kesalahan : Mengubah pesan kesalahan default yang ditampilkan kepada pengguna ketika koneksi ke situs Anda gagal. Ini akan mencegah mereka melihat informasi tentang IP atau jalur file Anda. Sebaliknya, catat saja kesalahan tersebut di pihak Anda.
  • Batasi Perintah Sistem : Konsensus umum adalah Anda tidak boleh menggunakan fungsi shell di PHP. Namun jika perlu, jangan sertakan data pengguna.

Lindungi Bagian Belakang

  • Gunakan SFTP : Saat mentransfer file di backend, selalu gunakan SFTP.
  • Batasi Akses ke Direktori : Ubah nama direktori default untuk aplikasi PHP Anda.
  • Konfigurasikan Jalur Sesi : Jika Anda menggunakan hosting bersama untuk situs Anda, pengguna lain di server mungkin dapat melihat data sesi Anda. Anda dapat menghentikannya dengan menyimpan jalur sesi baru di bawah direktori root.
  • Buat Admin Terpisah : Jika Anda menjalankan lebih dari satu situs web berbasis PHP di satu server, pastikan Anda menggunakan admin terpisah dengan kredensial login yang sangat berbeda untuk masing-masing server. Ini akan mencegah infeksi lintas lokasi.
  • Jadikan Direktori Hanya-Baca : Lindungi direktori Anda yang dapat diakses web dengan mengaturnya menjadi hanya-baca.
  • Simpan File Sensitif di Luar Direktori : File aplikasi sensitif (seperti file konfigurasi) perlu ditempatkan di direktori yang tidak dapat diakses web. Anda kemudian dapat merutekannya menggunakan skrip PHP.

Mengamankan Informasi Pengguna

  • Enkripsi Semua Kata Sandi : Yang ini sudah jelas, tetapi pastikan Anda menerapkannya secara menyeluruh–untuk kata sandi Anda serta semua pengguna yang masuk.
  • Sesi Aman : Cegah pembajakan sesi dengan membuat ID sesi yang kompleks. Anda juga dapat menambahkan token khusus ke setiap URL.
  • Hancurkan Sesi Lama : Ketika seseorang telah logout atau jika hak aksesnya telah berubah, selalu hapus cookie dari sesinya dan paksakan ID sesi baru.
  • Verifikasi Pengguna Baru : Selalu verifikasi identitas pengguna baru dan berikan mereka hak akses yang sesuai. Hal ini sangat penting terutama jika mereka mencoba mengakses halaman yang dibatasi.
  • Gunakan Pembatas : Terlalu banyak login yang gagal harus diblokir dengan pembatasan kata sandi.

Validasi Input dan Output dari Pengguna

  • Validasi dan Sanitasi Masukan : Setiap data, file, URL, konten tersemat, CSS, atau HTML yang dikirim melalui situs Anda oleh pengguna – dikenal atau tidak dikenal – perlu ditinjau dan dibersihkan. Ini berarti hanya data yang Anda harapkan untuk diterima (misalnya nama pengguna untuk nama pengguna, alamat email untuk alamat email, dll.) yang boleh masuk. Gunakan kata-kata yang “buruk” seperti “FROM” atau “WHERE” atau tanda baca seperti tanda kutip tunggal ada di radar Anda karena ini bisa menjadi tanda bahwa seseorang mencoba menyelundupkan kode berbahaya ke situs Anda .
  • Escape Output : Sebelum memublikasikan data atau file pengguna apa pun ke situs Anda, pastikan data atau file tersebut juga telah di-escape agar karakter dan kode yang berpotensi berbahaya tidak dapat masuk (seperti tanda kutip tunggal atau <script>).
  • Batasi data POST : Jika peretas ingin menyerang situs Anda dengan jumlah data yang sangat banyak, Anda dapat mencegahnya dengan menetapkan batasan berapa banyak data POST yang dapat dikirim. Anda juga dapat membatasi waktu masukan.
  • Nonaktifkan Register_Globals : Tidak boleh ada kelonggaran dalam jenis informasi apa yang dapat dikirimkan dalam formulir situs Anda. Sayangnya, Register_globals membuka peluang itu bagi para peretas.
  • Nonaktifkan Magic_Quotes : Magic_quotes dengan sendirinya tidak akan membahayakan situs Anda, namun orang yang menggunakannya untuk menghindari data keluaran Anda dapat secara tidak sengaja menimbulkan kerentanan.

Pantau Unggahan

  • Nonaktifkan Unggahan File : Ini mungkin tidak selalu dapat dilakukan. Namun jika Anda tidak perlu menerima file atau data dari pengguna, hilangkan fungsi ini.
  • Verifikasi File yang Diunggah : Jika Anda perlu mengizinkan pengguna mengunggah file ke situs Anda, Anda harus menganalisis konten file untuk mencari suntikan berbahaya. Sebagai jalan pintas, Anda dapat menyimpan ulang file dalam format berbeda. Jika masih valid, kecil kemungkinan terjadinya masalah.
  • Gunakan Pemindai Virus : Jika situs Anda menerima banyak file yang diunggah, Anda sebaiknya memasang pemindai virus.

Gunakan Hosting Web Aman

  • Gunakan Host yang Andal: Tidak peduli berapa banyak usaha yang Anda lakukan untuk mengamankan situs web, file, area login, atau bahasa pemrograman Anda, keamanan harus dimulai dari tingkat hosting. Itu sebabnya Anda harus bermitra dengan web host andal yang mengutamakan keamanan dan memberikan dukungan khusus untuk PHP7.
  • Dapatkan CDN: Cara lain untuk mengurangi ancaman keamanan di tingkat server adalah dengan mendapatkan jaringan pengiriman konten (CDN). Meskipun hal ini sering dikaitkan dengan peningkatan kinerja situs web yang menjelajahi dunia, CDN juga memberikan lapisan perlindungan tambahan.
  • Dapatkan Sertifikat SSL: Ini adalah praktik terbaik terlepas dari apakah Anda memprogram dengan PHP atau tidak. Sertifikat SSL menambahkan lapisan terenkripsi tambahan antara server Anda dan browser pengunjung Anda.

Meskipun setiap poin di atas benar, poin khusus ini perlu ditekankan karena kualitas web hosting yang Anda andalkan pada akhirnya dapat menentukan keberhasilan atau kegagalan strategi keamanan situs Anda.

Karena seringkali sulit untuk membedakan mana yang baik dan mana yang buruk – terutama ketika mencari sesuatu yang spesifik seperti dukungan PHP7 – kami menyarankan Anda memulai dengan host web seperti WP Engine dan Kinsta.

Terkait: Hosting WordPress yang Dikelola Sepenuhnya melalui WP Engine & Kinsta

WP Engine adalah penyedia hosting WordPress terkelola yang menyertakan dukungan PHP7 di setiap paket hostingnya. Selain itu, WP Engine secara teratur menangani subjek PHP7 di blognya dengan sapaan khusus ke plugin Pemeriksa Kompatibilitas PHP-nya. Mengatakan bahwa perusahaan ini didedikasikan untuk dukungan pengguna PHP7 adalah sebuah pernyataan yang meremehkan.

Perusahaan hosting WordPress terkelola lainnya, Kinsta menghosting semua situs web kliennya dengan PHP7. Hal ini untuk memastikan kinerja dan kecepatan tinggi secara keseluruhan. Kinsta juga menawarkan penggunanya kemampuan untuk memperbarui Mesin PHP mereka ke versi PHP terbaru.

Dan, tentu saja, ada hosting WordPress WP Buffs yang terkelola sepenuhnya untuk dipertimbangkan juga. WP Buffs selalu menjadi yang terdepan dengan selalu memperbarui server dan versi PHP-nya dengan yang terbaru dan terhebat, jadi Anda tidak perlu khawatir untuk mengelola sendiri peningkatan tersebut (yang merupakan bagian dari kegembiraan dalam melakukan outsourcing manajemen WordPress kepada orang lain, kan?)

Membungkus

Saat membangun situs WordPress, keamanan selalu menjadi perhatian utama. Itu sebabnya Anda menggunakan plugin dan tema yang dapat dipercaya dan selalu memperbarui inti Anda, di antara praktik terbaik keamanan lainnya. PHP tidak berbeda. Tangani seperti yang Anda lakukan pada alat WordPress lainnya: selalu perbarui dan selalu patuhi praktik terbaik keamanan, dan Anda (dan situs web Anda) dapat tidur lebih nyenyak di malam hari.

Ingin memberikan tanggapan Anda atau bergabung dalam percakapan?Tambahkan komentar Anda di Twitter.

Simpan Simpan