Katakanlah saya sudah menginstal Ubuntu baru, langkah apa yang harus saya ambil untuk mengamankannya untuk digunakan sebagai server aplikasi Rails?
linux
ubuntu
security
application-server
Codebeef
sumber
sumber
Jawaban:
Saya tidak bisa memikirkan tweak khusus Ubuntu, tapi di sini ada beberapa yang berlaku untuk semua distribusi:
Tentu saja daftar ini tidak lengkap, dan Anda tidak akan pernah benar-benar aman, tetapi mencakup semua eksploitasi yang saya lihat dalam kehidupan nyata.
Juga, eksploitasi yang saya lihat hampir selalu terkait dengan kode pengguna tidak aman, bukan konfigurasi tidak aman. Konfigurasi default minimal, distribusi server cenderung cukup aman.
sumber
Satu hal cepat yang saya lakukan sejak awal adalah menginstal DenyHosts . Secara teratur akan melihat melalui / var / log / secure, mencari login yang gagal, dan setelah beberapa kegagalan, memblokir IP. Saya mengaturnya untuk diblokir setelah pengguna no-seperti-pertama, pada upaya kedua di root, dan setelah beberapa mencoba untuk pengguna nyata (jika Anda mengacaukan, tetapi Anda harus menggunakan kunci publik SSH untuk login).
sumber
Ubuntu didasarkan dari Debian dan saya telah menemukan Securing Debian Manual sangat berguna dalam distribusi berbasis Debian dalam memandu Anda sepenuhnya melalui sistem Anda dan memeriksa setiap bagian. Ini pada dasarnya jawaban yang sangat, sangat komprehensif untuk pertanyaan Anda.
sumber
Saya biasanya menginstal RKHunter, yang memindai rootkit dan melakukan pemeriksaan integritas berbagai biner sistem penting. Ada dalam repo standar, dan akan berjalan setiap hari dari cron. Ini tidak sempurna, karena keamanannya, tetapi ini merupakan item yang mudah diusahakan untuk ditambahkan, dan memberikan ukuran perlindungan.
sumber
Instal logcheck, tetapi ubah sehingga Anda tidak pernah menerima pesan dari acara biasa, jika tidak, Anda akan terbiasa mengabaikan email.
Periksa proses mana yang mendengarkan menggunakan netstat, dan pastikan tidak ada yang berjalan yang tidak perlu dijalankan. Banyak daemon yang dapat dikonfigurasi hanya untuk mendengarkan pada IP internal (atau localhost) alih-alih semua antarmuka.
sumber
Lakukan apa yang disarankan oleh ...
Nmap host dan nonaktifkan semua layanan yang tidak penting. Gunakan iptables jika perlu.
sumber
Jika Anda pergi ke dekat Internet dengan server, instal sistem deteksi intrusi seperti dengusan.
sumber
Gunakan partisi terpisah untuk berbagai direktori seperti
/tmp
atau/var
dan mount dengan merekanosuid
,nodev
dannoexec
jika memungkinkan.sumber
Beberapa saran firewall.
Pelajari cara menggunakan firewall dan konsep mengunci kotak dengan benar. Mengubah port default sebagian besar adalah hal yang tidak berguna; aplikasi yang tepat dan konfigurasi firewall jauh lebih penting.
Keduanya ada di repo Ubuntu:
FireHOL
memiliki dokumentasi yang hebat dan sintaks yang sangat mudah dipelajari. Saya dapat mengatur gateway / firewall dalam dua puluh menit. Satu-satunya alasan saya pindah dari ini adalah karena sepertinya tidak dipertahankan (rilis terakhir 2 tahun yang lalu). Bukan berarti itu tidak berfungsi, tapi ...
Ferm
satu lagi. Lebih banyak sintaks seperti iptables, tetapi konsep yang sama. Lebih banyak komunitas yang dikelola daripada FireHOL, tetapi membutuhkan waktu lebih lama untuk dijemput.
Shorewall
adalah apa yang saya gunakan saat ini. Dokumentasinya luas, dan format konfigurasinya tabular. Butuh waktu sekitar satu setengah jam untuk memahami semua file yang diperlukan (6) untuk menjalankan konfigurasi firewall / gateway. Cukup kuat. TIP: Halaman manual untuk file konfigurasi yang berbeda BENAR-BENAR membantu!
Semua ini memuat konfigurasi firewall dari file konfigurasi. Sangat efektif, lebih mudah digunakan daripada iptables, dan (menurut saya) lebih mudah digunakan dan dikelola daripada ufw.
Lain:
Saya kedua rekomendasi untuk penggunaan kunci SSH.
Siapkan IDS.
Pelajari tentang AppArmor. Ini membatasi akses file yang dapat dieksekusi ke hanya direktori tertentu dan file yang dibutuhkan. Mirip dengan SELinux di dunia RHEL. Ini diinstal dan diaktifkan dengan 'profil' yang telah dikonfigurasi sebelumnya untuk banyak program yang digunakan dengan baik.
sumber
Serta saran lain di sini saya akan menyebutkan tiga yang jelas tapi mungkin layak disebut untuk kelengkapan:
sumber