Bagaimana cara mengamankan instalasi Joomla baru?


34

Apa tindakan yang harus dilakukan setelah instalasi Joomla baru agar tetap aman? Baik di server hosting bersama dan yang khusus.


1
@ Admin: bagaimana dengan wiki komunitas untuk pertanyaan ini ??
MattAllegro

Jawaban:


36

Menjaga Situs Web Joomla Aman

  1. Gunakan kata sandi yang kuat.
  2. Minimalkan jumlah akun administrator.
  3. Nonaktifkan atau hapus akun pengguna yang tidak digunakan.
  4. Minimalkan jumlah ekstensi pihak ketiga dan jika ekstensi pihak ketiga diperlukan, gunakan ekstensi yang didukung dengan baik dari pengembang yang Anda percayai.
  5. Secara teratur terapkan pembaruan terbaru untuk Joomla dan ekstensi pihak ketiga termasuk perbaikan terbaru keamanan untuk versi Joomla EOL jika berlaku.
  6. Berlangganan umpan Berita Keamanan Joomla sehingga Anda selalu mendapat informasi tentang pembaruan keamanan inti Joomla
  7. Berlangganan Daftar Ekstensi Rentan Joomla (VEL) agar kerentanan baru dapat dengan cepat diperhatikan. Gulir ke bagian bawah halaman untuk tautan berlangganan - Anda juga dapat mengikuti VEL di Twitter .
  8. Gunakan hosting web aman berkualitas baik termasuk file handler PHP yang sesuai seperti suPHP atau FastCGI dan ekstensi keamanan seperti mod_security. Gunakan versi PHP yang didukung .
  9. Alih-alih hanya mengandalkan cadangan perusahaan hosting web Anda, secara teratur lakukan backup situs web Anda sendiri, salin file cadangan di luar situs, dan secara teratur jalankan tes pemulihan ke lokasi pengujian untuk memeriksa kualitas cadangan Anda.
  10. Aktifkan https.
  11. Terapkan firewall aplikasi web seperti yang disediakan dengan versi profesional Alat Admin Akeeba.
  12. Jangan gunakan awalan tabel standar.
  13. Ubah nama pengguna dan ID Administrator Super default ke yang lain. Versi profesional Alat Admin Akeeba memiliki alat untuk mengubah Super Administrator ID.
  14. Batasi akses ke Admin Joomla oleh IP. Hanya izinkan IP tepercaya.
  15. Aktifkan otentikasi 2 faktor untuk akun administrator (berlaku untuk Joomla 3.2 dan yang lebih baru).
  16. Ulangi langkah-langkah di atas untuk situs web lain yang memiliki akun hosting yang sama atau idealnya, pisahkan situs web dengan akun hosting web mereka sendiri untuk mencegah kontaminasi silang.
  17. Pastikan komputer pribadi dari administrator situs web diamankan dengan cara yang sama. Misalnya, menerapkan pemindai virus dan malware yang berkualitas baik. Ini membantu melindungi kredensial situs web apa pun yang disimpan di komputer pribadi. Idealnya menggunakan alat enkripsi atau aplikasi untuk menyimpan situs web dan kredensial lainnya.
  18. Baca 10 trik administrator paling bodoh untuk informasi tentang apa yang tidak boleh dilakukan.

Untuk instruksi lebih rinci, lihat Daftar Periksa Keamanan resmi .


Daftar ini mungkin dapat ditambahkan (jangan ragu untuk mengedit). :)
Neil Robertson

2
Mungkin Anda dapat menautkan ke "Daftar Ekstensi Rentan"? (Sepertinya saya tidak bisa mengedit jawaban Anda karena alasan tertentu; saya bisa mengedit yang lain?)
MrWhite

Terima kasih @ w3d - Saya telah menambahkan tautan ke halaman berlangganan VEL dan juga ke umpan Berita Keamanan Joomla.
Neil Robertson

14

Sangat penting untuk menyimpan cadangan di server terpisah. Saya melihat banyak orang yang menjalankan Akeeba Backups dengan setia ... dan mereka disimpan di server yang sama di direktori root yang sama. Tidak begitu membantu jika Anda diretas secara serius, dan tentu saja tidak membantu untuk pulih dari kegagalan hosting.

Akeeba Backup Pro memungkinkan Anda untuk menyimpan dan mengelola file cadangan di penyimpanan eksternal seperti cloud Amazon.


4
Penting juga untuk memeriksa cadangan Anda untuk kompresi yang rusak setelah transfer dari direktori hosting Anda. Cadangan yang rusak bukan cadangan. Ini berlaku untuk semua sistem cadangan, Akeeba, CPanel, dan sebagainya.
UhlBelk

7

Sebagai alternatif untuk file .htaccess atau menguncinya dengan IP, Anda juga dapat menggunakan jSecure untuk mengamankan login admin Anda.

Satu hal yang belum disebutkan adalah menggunakan penyedia hosting terkemuka. Anda ingin satu yang tidak hanya mengikuti keamanan tetapi juga akan bekerja dengan Anda jika Anda diretas atau ada masalah (misalnya, database rusak). Idenya adalah untuk membatasi kerusakan yang dilakukan situs Anda sementara memungkinkan Anda untuk membersihkannya.

Ide dasarnya, Anda menginginkan seseorang yang ..

  • akan ada di sekitar
  • bukan operasi fly-by-night
  • akan bekerja dengan Anda
  • dan menyediakan lingkungan yang solid.

Jika Anda ingin daftar pertanyaan untuk diajukan kepada tuan rumah untuk mendapatkan perasaan yang lebih baik, beri tahu saya.

Semoga ini membantu.


6

Coba ini juga,

  • Tetap up-to-date dengan ekstensi Joomla Anda.
  • Simpan cadangan situs Anda secara teratur di cloud .
  • Jangan buka robots.txtfolder aman.
  • Untuk versi Joomla terbaru, memanfaatkan otentikasi dua faktor akan lebih aman.
  • Pastikan folder dan file memiliki izin yang tepat diizinkan.
  • Gunakan Cloudfare untuk Joomla .

Semoga ini bisa membantu ..


5

Pada dasarnya dalam pengalaman saya, dengan ukuran Joomla tidak ada cara untuk benar-benar mengamankannya sepenuhnya. Jadi alih-alih kebijakan keamanan yang sempurna yang menghentikan semuanya, yang terbaik untuk menurunkan harapan Anda untuk mencoba dan menurunkan keseluruhan kerusakan.

Ini dapat dilakukan dengan kebijakan cadangan yang sangat sering sehingga pada gangguan apa pun situs dapat dibatalkan, serta pemindaian malware. Sejauh ini, tidak ada satu pun retasan yang kami lakukan karena panel admin kami dipaksa.

Kebanyakan peretasan yang kami lihat berasal dari komponen pihak ketiga atau inti Joomla, kami bahkan melihat peretasan berhasil masuk ke versi terbaru Joomla juga. Ini karena peretasan biasanya dapat terlihat seperti permintaan normal, menggunakan penyaringan yang buruk untuk mendorong file ke server. Setelah file di server semuanya adalah permainan yang adil, itu bisa berada di situs APA SAJA di seluruh server bersama dan masih mempengaruhi Anda, jadi jika satu orang di server bersama tidak tetap up to date, itu dapat mempengaruhi Anda.

Ini mungkin sedikit ekstrem, tetapi berdasarkan pengalaman pribadi yang terbaik untuk dipersiapkan untuk yang terburuk, maka terlalu percaya diri bahwa kebijakan Anda akan mencegah semuanya.

Jadi cara terbaik untuk mengamankan pemasangan Joomla baru adalah dengan mencadangkan sering dan mengaktifkan pemindaian malware, jika pemindai malware dapat mengirim email kepada Anda segera setelah menemukan sesuatu, maka Anda dapat memutar kembali ke cadangan terbaru dalam jangka waktu yang sangat singkat.


"Turunkan standarmu" ??? Haruskah itu mungkin "meningkatkan standar Anda?
chesedo

Mengira ini akan mendapatkan suara turun, saya hanya tidak ingin ada yang berpikir bahwa jika mereka mengikuti pedoman mereka aman. Dimaksudkan untuk menurunkan standar Anda karena jangan berharap tidak diretas, tetapi bersiaplah untuk itu terjadi. Kebanyakan orang yang saya kenal mungkin membuat cadangan seminggu sekali atau sebulan sekali karena mereka merasa diretas jarang terjadi, tetapi tidak.
Jordan Ramstad

Maka Anda mungkin harus menggunakan " jatuhkan harapan Anda " (tidak diretas) :)
chesedo

Catatan bagus, edit itu, terima kasih. Tidak mencoba mengatakan hal buruk tentang Joomla, saya menyukainya, hanya berkelahi dengan peretasan tidak akan pernah hilang, jadi yang terbaik harus disiapkan :).
Jordan Ramstad

Cukup benar - terkadang cara terbaik untuk membantu adalah dengan menjadi jujur ​​:).
chesedo


3

Meminjam daftar ini dari kertas putih "Pena-menguji situs Joomla" ditemukan di blog. Saya pikir daftar ini adalah pedoman menyeluruh untuk dasar-dasar keamanan Joomla.

  1. Selalu perbarui Joomla untuk Anda. Instal pemutakhiran terbaru segera setelah pemutakhiran dirilis.
  2. Apa pun ekstensi yang digunakan, ekstensi itu harus ditambal dengan benar dengan rilis pemutakhiran terbaru. Setiap ekstensi lama dapat memberi penyerang cara untuk kompromi situs.
  3. Jangan gunakan ekstensi yang belum digunakan oleh, atau yang belum diuji dengan benar.
  4. Semua input pengguna harus divalidasi dengan benar. Input ini dapat berupa input dalam bentuk, URI, upload gambar, dll. Misalkan jika tombol BROWSE memungkinkan pengguna untuk mengunggah gambar, itu hanya harus memungkinkannya untuk mengunggah gambar dan bukan shell PHP yang nantinya dapat berfungsi seperti backdoor on. server.
  5. Gunakan kata sandi yang kuat untuk semua login. Setidaknya 8 karakter, satu karakter khusus, satu angka, dan satu huruf sensitif huruf. Ini akan melindungi instalasi Anda dari kekuatan kasar.

  6. Selalu melacak "Pengunjung Terbaru" di file log Server Web untuk menangkap kemungkinan serangan. Jangan pernah menganggap file log Anda hanya sepotong informasi. Ini sangat berguna dalam melacak dan memantau pengguna.

  7. Beri tekanan untuk menerapkan keamanan lebih ke seluruh server tempat Anda menjalankan situs berbasis Joomla; di-host di server bersama atau yang khusus.

  8. Buat daftar semua ekstensi yang Anda gunakan dan terus pantau mereka.

  9. Dapatkan informasi terbaru tentang kerentanan dan pengungkapan terbaru di berbagai penasihat keamanan. Exploit-db, osvdb, CVE, dll. Adalah beberapa sumber yang bagus.

  10. Ubah izin pada file .htaccess Anda karena secara default menggunakan izin tulis (karena Joomla harus memperbaruinya). Praktik terbaik adalah menggunakan 444 (r-xr-xr-x).

  11. Izin file yang tepat pada direktori publik harus diberikan sehingga file jahat apa pun tidak boleh diunggah atau dieksekusi. Praktik terbaik dalam konteks ini adalah 766 (rwxrw-rw-), yaitu hanya Pemilik yang dapat membaca, menulis, dan mengeksekusi. Yang lain hanya bisa membaca dan menulis.

  12. Tidak seorang pun harus memiliki izin untuk menulis ke file PHP di server. Semuanya harus diatur dengan 444 (r — r — r--), semua orang hanya bisa membaca.

  13. Delegasikan peran. Itu membuat akun Administrator Anda berjalan aman. Jika seseorang meretas mesin Anda, itu harus memiliki akses ke masing-masing pengguna, dan bukan akun administrator.

  14. Pengguna database hanya boleh memiliki izin untuk memberikan perintah seperti INSERT, UPDATE, dan DELETE rows. Mereka tidak boleh diijinkan untuk DROP tabel.

  15. Ubah nama folder backend, misalnya Anda dapat mengubah / administrator ke / admin12345. 16. Terakhir tetapi tidak sedikit, terus diperbarui dengan kerentanan terbaru.


Saran iklan selanjutnya 12: tidak seorang pun kecuali server Web harus memiliki izin untuk membaca file PHP di server juga. Atur pengguna ke pengguna server Web (www-data atau http) dan atur menjadi 400, atau 600 untuk file yang dapat diedit melalui backend (css, ...).
Tom Kuschel

3

Garis pertahanan pertama Anda adalah layanan hosting Anda

  • Sewa server khusus dari layanan hosting yang andal
  • Pastikan Anda mengaktifkan 2FA di server Anda dan menggunakan kata sandi 'SANGAT KUAT'
  • Instal firewall yang dapat diandalkan di server Anda - Saya menggunakan ConfigServer
  • Instal / Konfigurasikan program anti-virus, saya menggunakan ClamAV
  • Pastikan setiap nama pengguna situs web TIDAK menggunakan 8 karakter pertama dari nama domain dan menggunakan kata sandi 'SANGAT KUAT'
  • Pastikan setiap situs web memiliki sertifikat SSL yang diinstal
  • Pastikan setiap situs web adalah 'Di Penjara' yang berarti mereka tidak memiliki akses root kecuali Anda memerlukan akses ke root server. Dalam hal ini, pastikan Anda telah menginstal dan mengonfigurasi Secure Shell (SSH). Saya menggunakan situs web domain server saya tetapi memiliki semua situs web lain 'Di Penjara'.
  • Pastikan semua pembaruan server diinstal segera !!!!

Garis pertahanan Anda berikutnya adalah cPanel Anda

  • Gunakan kata sandi "SANGAT KUAT"
  • Konfigurasikan kekuatan kata sandi pengguna untuk pengguna
  • Atur pekerjaan cron untuk melakukan cPanel full backup dan simpan ke sumber eksternal
  • Pastikan cPanel telah diatur untuk menggunakan SSL untuk akses
  • Jalankan 'Pemeriksaan Keamanan Situs' untuk melihat tweak apa yang mungkin diperlukan
  • Pastikan semua pembaruan cPanel diinstal segera !!!!

Garis pertahanan Anda berikutnya adalah panel administrator Anda

  • Edit persyaratan format kata sandi untuk memastikan kata sandi yang kuat (karakter huruf besar / kecil, angka, dan setidaknya 1 tanda baca dengan panjang minimum 18 karakter.
  • Aktifkan 2FA untuk pengguna - Gunakan untuk Pengguna Super dan akun Administrator
  • Batasi # akun Super User (sebaiknya hanya punya satu)
  • Batasi # akun Administrator (semakin sedikit semakin baik)
  • Batasi area yang dapat diakses oleh Administrator
  • Batasi area yang dapat diakses oleh Penerbit, Editor, dan Penulis
  • Instal dan konfigurasikan AdminTools
  • Siapkan kata sandi URL administrator melalui AdminTools
  • Pastikan bahwa file-file penting (HTACCESS, ROBOTS.TXT, WEBCONFIG, INDEX.PHP (keduanya root dan templat) diatur ke 444. Anda masih dapat mengedit file melalui cPanel pr Plesk manajer file panel kontrol panel Plesk
  • Instal dan konfigurasikan AkeebaBackup
  • Konfigurasikan AkeebaBackup untuk menyimpan cadangan secara eksternal, di luar kantor
  • Hanya instal add-on melalui halaman Ekstensi Joomla, jangan pernah instal add-on dari pihak ke-3 yang tidak terdaftar di halaman Ekstensi Joomla.
  • Nonaktifkan dan / atau hapus instalan add-on yang tidak digunakan dan tidak diperlukan untuk fungsionalitas Joomla
  • Instal Joomla dan pembaruan tambahan segera !!!

Saya yakin ada langkah-langkah lain tetapi ini adalah yang utama yang saya gunakan di server saya hosting lebih dari 70 situs web dari seluruh negeri. Saya baru-baru ini mengalami serangan besar-besaran mirip dengan serangan DDoS dan tidak ada satu situs web yang diakses. Saya merasa tinggi 10 kaki dan tahan peluru tetapi saya tahu saya tidak bisa berpuas diri karena besok adalah hari lain! LOL


-4
  1. Saya bukan penggemar otentikasi dua faktor

  2. Instal Akeeba Admin Tools, aktifkan htaccess tingkat lanjut, periksa opsi dan firewall perangkat lunak

https://www.akeebabackup.com/download/admin-tools.html

  1. Aktifkan kata sandi Url backend

1
Maukah Anda berbagi mengapa Anda bukan penggemar otentikasi dua faktor?
chesedo

2
Saya mengerti - itu masuk akal. Tetapi mengapa termasuk tidak menggunakannya di antara poin-poin untuk membantu keamanan? Jika Anda menginginkannya di posting Anda, mengapa tidak memilikinya sebagai catatan tambahan beserta alasannya?
chesedo

1
Kamu benar. Saya baru belajar bagaimana menjawab pertanyaan di sini ;-) BTW Jawaban ini diterima -2 :-(
Anibal

4
Mari kita tinggalkan ini sebagai jawaban naif pertama pada sistem penulis ini. Ini memiliki beberapa pesona dengan caranya sendiri.
Anibal

1
Hehe! Sungguh, inti dari sistem SE adalah 'dapatkan jawaban terbaik' atau membuat jawaban yang lebih baik - saya sarankan jawaban Anda, dengan penjelasannya dapat dihapus dan ditambahkan sebagai komentar, karena bersama dengan penjelasan itu memang meningkatkan pemahaman seseorang tentang dampak otentikasi 2 faktor saat menangani keamanan.
NivF007
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.