Saya menginstal server Debian yang terhubung langsung ke Internet. Jelas saya ingin membuatnya seaman mungkin. Saya ingin kalian menambahkan ide-ide Anda untuk mengamankannya dan program apa yang Anda gunakan untuk itu.
Saya ingin sebagian dari pertanyaan ini mencakup apa yang Anda gunakan sebagai firewall? Hanya iptables yang dikonfigurasi secara manual atau Anda menggunakan beberapa jenis perangkat lunak untuk membantu Anda? Apa cara terbaik? Blokir semua dan hanya izinkan apa yang dibutuhkan? Apakah mungkin ada tutorial yang bagus untuk pemula untuk topik ini?
Apakah Anda mengubah port SSH Anda? Apakah Anda menggunakan perangkat lunak seperti Fail2Ban untuk mencegah serangan bruteforce?
Jawaban:
Wajib:
Tergantung pada tingkat paranoia juga:
integrit
untuk memeriksa apakah beberapa bagian dari sistem file tidak dimodifikasi [dengan checksum disimpan di luar mesin], misalnya Tripwire/etc/passwd
menambahkan pengguna baru sedikit lebih sulit-m state --satete ESTABLISHED
berhati-hatilah mengizinkan aliran paket selama Anda menggunakan satu sesi SSH]Hal-hal yang tidak saya lakukan sendiri tetapi masuk akal:
sumber
Hanya catatan tentang firewall perangkat Anda ...
amap
, dannmap
's-A
pilihan. Karena itu, Anda dapat (dan mungkin harus jika khawatir) memodifikasi layanan Anda untuk menyembunyikan diri dari mencongkel mata, misalnya, yang berikut ini akan membuat penyerang tahu versi persisOpenSSH
yang Anda jalankan, mereka kemudian dapat mencari exploit untuk versi yang tepat. Jika Anda menyembunyikan hal-hal seperti itu, Anda akan membuatnya lebih sulit untuk itu.Intinya adalah bahwa Anda tidak akan pernah berhasil membuat apa pun 100% aman - itu tidak mungkin - jadi tujuannya adalah untuk membuat seaman mungkin - jika terlalu banyak upaya untuk merusak sistem Anda, itu cukup baik, dan sebagian besar lamer script-kiddies akan pindah ke sistem selanjutnya.
iptables
adalah cara untuk menggunakan sistem Linux apa pun - tetapi konfigurasikan sendiri.Jangan pernah menggunakan "perangkat lunak keamanan" apa pun yang tidak didasarkan pada standar terbuka - mereka ditakdirkan untuk ditulis dengan buruk dan akan diretas (bukan soal "jika", tetapi "kapan"). Protokol open source dan terbuka terbuka untuk pengawasan publik dan menyatu untuk menjadi produk yang matang dan andal; perangkat lunak sumber tertutup sebagian besar bergantung pada kepercayaan diri penulis tentang seberapa hebat / mengamankan-produk yang mereka pikirkan - yaitu sejumlah kecil mata vs bumi yang penuh mata.
Semoga itu bisa membantu :)
sumber
gunakan denyhosts (atau serupa)
tulis skrip iptbles Anda sendiri (sehingga Anda mengontrol dengan tepat apa yang diizinkan dan dapat membatalkan yang lainnya)
memaksakan penggunaan komunikasi aman SSL / TLS dan memastikan memiliki sertifikat yang valid, tidak kedaluwarsa, dan ditandatangani
sumber
Mulai di sini:
http://www.debian.org/doc/manuals/securing-debian-howto/
sumber
Sebagai titik awal umum, saya mengikuti tolok ukur / panduan dari Pusat Keamanan Internet , yang merupakan kompilasi komprehensif praktik keamanan terbaik. Sepertinya benchmark Debian mereka tidak diperbarui dalam beberapa waktu, tetapi gambaran umum langkah-langkahnya adalah:
Ada banyak sumber daya di semua pengaturan yang beragam ini, termasuk perintah khusus dan file konfigurasi untuk diimplementasikan pada sistem dalam tolok ukur CISecurity.
sumber
Saya sarankan untuk tidak memasang mesin secara langsung ke Internet. Tempatkan semacam firewall antara mesin dan Internet. Ini memungkinkan Anda untuk melakukan pemantauan keamanan dan jaringan tanpa menempatkan lebih banyak beban di server. Secara pribadi, saya menemukan segmentasi fungsi dan jaringan sering menyederhanakan pemecahan masalah jaringan, meskipun kadang-kadang, kompleksitas tambahan membuat analisis lebih sulit.
Kebijakan firewall yang paling aman, tetapi paling menjengkelkan untuk dikelola, adalah menolak semua dan secara eksplisit hanya mengizinkan lalu lintas yang harus Anda izinkan. Ini menjengkelkan, karena orang sering perlu memperbarui kebijakan firewall karena jaringan perlu diubah.
Saya juga menyarankan menggunakan semacam antarmuka firewall di server - pertahanan mendalam adalah kuncinya. Menggunakan port non-standar untuk layanan terkait administrasi tidak ada salahnya. fail2ban baik-baik saja. Kejar pertanyaan yang lebih spesifik tentang aplikasi keamanan di Serverfault untuk menemukan lebih banyak ide.
Keamanan seperti lelucon tentang dua pejalan kaki dan beruang - sementara seseorang tidak pernah dapat mencapai keamanan yang sempurna, akan sangat membantu untuk menjadi target yang lebih sulit daripada yang lain.
sumber
Beberapa orang telah menunjuk pada Securing Debian Manual . Ini harus cukup memadai untuk semuanya kecuali persyaratan militer.
Banyak orang berpikir bahwa menjadi paranoid sangat keren atau profesional atau semacamnya. Ini tidak , itu hanya mengganggu untuk admin lain dan langsung represif bagi pengguna Anda. Sebagian besar dari hal-hal yang Anda lihat akan direkomendasikan hanyalah pekerjaan palsu untuk merasa berguna bagi admin paranoid, tetapi sebenarnya tidak membantu, karena pelanggaran keamanan nyata kemungkinan disebabkan oleh sistem yang tidak diperbarui dan / atau dari sumber dalam.
Yang mengatakan, saya menganggap itu salah satu prinsip saya untuk tidak mempercayai apa pun di jaringan lokal lebih dari apa pun dari Internet. Oleh karena itu, saya mengkonfigurasi semuanya untuk memerlukan otentikasi bahkan di jaringan lokal. Saya mengenkripsi dan mengautentikasi semua lalu lintas antara setiap komputer menggunakan IPsec.
Saya sedang dalam proses konversi ke enkripsi disk penuh untuk semua server saya.
Saya hanya menginstal layanan yang saya gunakan. Saya tidak punya firewall; Saya mengkonfigurasi layanan yang saya harus minta otentikasi atau membatasi mereka (dengan konfigurasi program sendiri atau oleh pembungkus TCP) untuk IP tertentu. Satu-satunya hal yang perlu saya blokir menggunakan iptables adalah
memcached
, karena tidak memiliki file konfigurasi, dan tidak menggunakan TCP-wrappers.Saya menggunakan kata sandi yang baik dan dibuat secara acak untuk akun saya dan mempercayai server SSH saya (dan semua layanan lainnya) untuk menjaga mereka yang tidak tahu kata sandinya.
fail2ban
hanya untuk mereka yang memiliki ruang terbatas untuk file log, IMO. (Anda harus memiliki kata sandi yang cukup baik untuk dapat memercayainya.)sumber
Pergi melalui cara-ke ini bagus di www.debian.org/doc/manuals/securing-debian-howto/
Saya pribadi mengubah port ssh dan menggunakan fail2ban + denyhosts. Dan saya memblokir semua yang tidak diperlukan. Semakin banyak Anda memblokir semakin sedikit Anda harus khawatir.
sumber