Alat atau teknik apa yang Anda gunakan untuk mencegah serangan brute force terhadap port ssh Anda. Saya perhatikan di log Keamanan saya, bahwa saya memiliki jutaan upaya untuk masuk sebagai berbagai pengguna melalui ssh.
Ini ada pada kotak FreeBSD, tapi saya bayangkan itu akan berlaku di mana saja.
security
ssh
brute-force-attacks
bersedih hati
sumber
sumber
TARPIT
target, jika Anda merasa tidak enak (dari xtables-addons).Satu hal kecil yang dapat Anda lakukan adalah menggunakan sesuatu seperti DenyHosts:
http://denyhosts.sourceforge.net/
Ia menggunakan hosts.allow / hosts.deny bawaan untuk memblokir pengguna SSH.
sumber
sumber
Salah satu cara termudah untuk menghindari serangan ini adalah dengan mengubah port yang didengarkan sshd
sumber
Seperti yang ditunjukkan Chris, gunakan kunci enkripsi dan bukan kata sandi.
Tambahkan itu:
Berapa banyak orang atau lokasi (dengan IP publik mengambang) yang Anda perlukan untuk mengakses koneksi ssh publik Anda?
Bergantung pada jumlah host ssh publik yang Anda pertahankan dan apakah Anda dapat mempersempit kriteria koneksi umum Anda, maka itu mungkin konfigurasi yang lebih sederhana dan dapat dikelola untuk membatasi akses ke beberapa host eksternal.
Jika ini cocok untuk Anda, ini benar-benar dapat menyederhanakan overhead administrasi Anda.
sumber
Selain saran bagus lainnya, satu hal yang sangat mudah dilakukan adalah batas koneksi masuk. Batasi hingga 3 koneksi per menit per IP:
sumber
Gunakan opsi "AllowUsers" di sshd_config untuk memastikan hanya sekelompok kecil pengguna yang bisa masuk sama sekali. Semua yang lain akan ditolak, bahkan jika nama pengguna dan kata sandi mereka benar.
Anda bahkan dapat membatasi pengguna untuk login dari host tertentu.
misalnya,
Ini akan mengurangi ruang pencarian dan menghindari pengguna lama yang secara tidak sengaja dibiarkan bertelur atau diaktifkan (meskipun ini tentu saja harus dinonaktifkan, ini adalah cara mudah untuk menghentikan mereka digunakan untuk entri berbasis SSH).
Ini tidak sepenuhnya menghentikan serangan brute-force, tetapi membantu mengurangi risiko.
sumber
Gunakan sesuatu seperti itu dengan PF:
tabel <ssh-brute> bertahan
di blok log cepat dari label ssh_brute,
lewati $ ext_if proto tcp ke ($ ext_if) port ssh modate state \
(max-src-conn-rate 3/10, kelebihan flush global)
sumber
Mengetuk port adalah cara yang cukup solid untuk mencegah hal seperti ini terjadi. Sedikit cerewet, kadang-kadang menjengkelkan, tapi itu pasti membuat masalah itu hilang.
sumber
Konteks itu penting, tetapi saya akan merekomendasikan sesuatu seperti ini:
sumber
Lebih lanjut untuk saran membatasi laju sherbang ini , panjang penundaan itu penting. Dengan meningkatkan penundaan antar kelompok dari 3 upaya login dari 2 menit menjadi 20 menit, jumlah alamat IP yang berbeda yang membuat lebih dari tiga upaya untuk login turun, membandingkan dua periode selama seminggu di satu mesin tambang, dari 44 upaya menjadi 3 Tidak satu pun dari ketiga alamat itu yang terus mencoba selama lebih dari 11 jam.
Sangat anekdotal, tetapi auth.log menjadi jauh lebih mudah dibaca bagi saya ...
sumber
Aku hanya tidak peduli tentang itu. Biarkan mereka sabuk di pelabuhan, mereka tidak akan memaksa paksa kunci.
sumber
instal OSSEC. tidak hanya memonitor untuk login berulang, itu akan memasuki blok sementara dengan iptables untuk ip yang menyinggung. Dan pada akhirnya akan mengirimkan Anda laporan yang menyatakan detailnya. itu mencatat semuanya, yang bagus. Seseorang pernah mencoba lebih dari 8000 nama login untuk masuk. saya pars log dan mendapat daftar pengguna yang bagus dari kesepakatan;)
sumber