Saya telah melakukan penelitian "ekstensif" tentang pengamanan server web linux. Di atas apa yang dianggap sebagai "dasar-dasar" (menghapus layanan yang tidak digunakan, pengerasan ssh, iptables, dll.) Apakah bijaksana untuk memasukkan anti-rootkit (Tripwire) dan anti-virus (ClamAV)? Apakah ini hanya berlebihan untuk server web? Saya tahu ini adalah pertanyaan yang sangat samar, tetapi saya ingin tahu tentang pendapat orang lain.
Lingkungan masa depan saya: - ubuntu 10.04 - fail2ban - nginx 0.8.x - php 5.3.x (suhosin, apc, memcached) - mongodb 1.6.x
Kemungkinan aplikasi: - layanan web - aplikasi web dengan unggahan pengguna (gambar, pdf, dll.) - situs web biasa (formulir, dll.)
Jika Anda memiliki tips lain, silakan tambahkan!
Terima kasih
Tidak, kamu tidak cukup jauh.
1) Anda memerlukan firewall aplikasi web seperti mod_security dan pastikan dikonfigurasi untuk memblokir serangan, bukan hanya mencatatnya.
2) Kunci php dengan phpsecinfo .
3) Kunci akun MySQL aplikasi web Anda, pastikan aplikasi Anda tidak memiliki
FILE
hak istimewa, yang sejauh ini yang paling berbahaya di MySQL.4) Matikan semua UDP, dan semua TCP yang tidak Anda butuhkan. Pertimbangkan untuk menggunakan port knocking untuk ssh. Gagal mencekal tidak sebagus upaya nol .
sumber
Anda mungkin dapat menginstal AIDE dengan aman di server web - menambah dan menghapus pelanggan tidak mengubah terlalu banyak file konfigurasi, dan Anda mungkin bisa menyaring obrolan normal dengan cukup mudah.
Tetapi sesuatu yang tidak disebutkan oleh banyak panduan keamanan server web adalah Anda harus mengaktifkan noexec di partisi / tmp Anda di / etc / fstab. Jika Anda menawarkan hosting kepada publik, banyak orang akan menginstal aplikasi web tidak aman tanpa sepengetahuan Anda (dan tidak memiliki pengetahuan sendiri untuk memperbarui aplikasi mereka), dan Anda pada dasarnya mengejar bug ini selamanya. Jika Anda memastikan bahwa satu-satunya tempat penyerang dapat menyimpan perangkat lunak adalah direktori home pelanggan dan direktori / tmp, maka penyerang berisiko menunjukkan kepada Anda di mana mereka menerobos masuk jika mereka tidak dapat menggunakan direktori / tmp. Mereka tidak suka melakukan itu.
Melakukan hal ini telah memecahkan sebagian besar masalah keamanan di server hosting web kami.
sumber
"Selamat datang di atas kapal! Di atas pesawat baru kami, Anda dapat menikmati restoran, bioskop, gym, sauna, dan kolam renang. Sekarang kencangkan sabuk pengaman Anda, kapten kami akan mencoba untuk mendapatkan semua ini di udara."
mod_security sangat merepotkan bagi Anda dan server. Sumberdaya haus dan aturannya perlu dipelihara secara serius dan ini akan menjadi tugas yang tidak pernah berakhir. Dan tidak, itu tidak berfungsi sendiri atau dengan Nginx. Jika Anda merasa benar-benar membutuhkannya, atur server proxy yang terpisah (Apache, mod_proxy, mod_security). Ini juga berfungsi sebagai DMZ, server Anda yang sebenarnya dapat ditutup ke dunia luar sepenuhnya, dan jika proxy dilanggar, tidak ada apa-apa.
ClamAV juga sangat berat, jika dijalankan sebagai daemon. Lebih baik menjalankan clamscan secara berkala selama jam tidak aktif dari Cron.
Tripwire berlebihan, IMHO. Tapi sesuatu yang bisa memburu rootkit akan berguna, ada banyak skrip (rkhunter, chkrootkit).
Saya percaya setidaknya 90% rootkit dll bisa masuk ke server melalui unggahan dari mesin Windows devs. Tidak ada cara yang sangat baik untuk mencegah hal ini kecuali mungkin memaksa devs untuk tidak pernah menggunakan Windows. Sebagian besar trojan mencari kredensial FTP, jadi jangan pernah gunakan FTP.
sumber
Apakah menggunakan perlindungan bentuk captcha di mesin CMS populer (Wordpress, Jomlaa, Drupal) dianggap sebagai praktik keamanan? Jika ya, maka Anda dapat menggunakan ini:
sumber