Saya mencoba untuk memblokir (memperlambat) serangan brute force di server sshd saya. Saya mengikuti panduan ini http://www.rackaid.com/resources/how-to-block-ssh-brute-force-attacks/ yang pada dasarnya mengatakan saya harus memasukkan 2 perintah di bawah ini.
sudo iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --set
sudo iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --update --seconds 60 --hitcount 4 -j DROP
Port sshd saya adalah 6622, jadi saya mengubah entri dari "22" menjadi "6622", dan memasukkan perintah-perintah itu. Kemudian saya mencoba untuk hanya menguji iptables yang baru. Saya pergi ke komputer lain dan sengaja memasukkan kata sandi login yang salah beberapa kali. Sayangnya, peraturan baru itu tampaknya tidak menghentikan saya untuk berusaha sebanyak yang saya inginkan. Di bawah ini tercantum aturan saya saat ini. Apa yang saya lakukan salah?
# iptables --list
Chain INPUT (policy ACCEPT)
target prot opt source destination
DROP tcp -- anywhere anywhere tcp dpt:6622 state NEW recent: UPDATE seconds: 60 hit_count: 4 name: DEFAULT side: source
tcp -- anywhere anywhere tcp dpt:6622 state NEW recent: SET name: DEFAULT side: source
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain LOGDROP (0 references)
target prot opt source destination
LOG all -- anywhere anywhere LOG level warning
DROP all -- anywhere anywhere
MaxStartups
dapat membantu di sisi daemon?Jawaban:
Seperti @banjer tunjukkan dalam komentarnya, Anda mencoba solusi yang salah untuk masalah Anda yang sebenarnya.
Yang perlu Anda lakukan adalah mengatur fail2ban . Ia menggunakan iptables di latar belakang untuk secara otomatis memblokir upaya koneksi dari host yang menghasilkan upaya akses yang gagal dari berbagai sumber. Ini sangat serbaguna dan memungkinkan Anda menambah dan memodifikasi berbagai treshold, pola untuk mencari dan melarang metode; Anda harus mengubah sedikit ssh jail default-nya untuk memperhitungkan port tidak standar yang Anda gunakan, tetapi itu seharusnya tidak sulit.
sumber
Saya menggunakan aturan seperti ini untuk memperlambat:
Di tempat lain saya membatasi hal-hal seperti ini:
sumber
Apakah Anda membaca halaman manual?
man sshd_config:
sumber
Saya baru saja mencoba solusi dua aturan dan saya memiliki masalah yang sama ketika saya memeriksanya. Kemudian, saya berkomentar bahwa aturan yang diterbitkan memiliki
-i eth0
opsi! Saya mengubahnya ke antarmuka jaringan yang baik dan akhirnya mulai berfungsi.sumber
Sebagian besar tutorial digunakan
-A
untuk menambahkan akhir aturan. OP digunakan-I
untuk memasukkan tetapi tanpa indeks, sehingga aturan berakhir dengan urutan yang salah.Alat yang berharga untuk men-debug aturan iptables adalah
iptables -vL
yang mencantumkan aturan dengan jumlah berapa kali setiap aturan telah diterapkan. Ketika Anda mendapatkan hitungan 0 yang tidak terduga, ini dapat membantu Anda melihat apa yang salah.sumber