Bergantung pada distribusi Anda, edit /etc/fail2ban/jail.conf
Perbarui [ssh]
bagian untuk menampilkan sesuatu seperti ini
[ssh]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
bantime = 3600
maxretry = 3
Ubah parameter sesuai kebutuhan. Ini tidak akan secara khusus memblokir root, tetapi setiap upaya gagal. Hati-hati dengan maxretry
dan bantime
. Jika Anda gagal dengan kata sandi Anda sendiri, ketika maxtretry
disetel ke rendah, Anda memblokir diri Anda untuk bantime
. Mulai kembali fail2ban.
Saya tidak akan mencoba untuk memblokir IP selamanya karena banyak upaya datang dari IP dinamis yang dapat memblokir beberapa pengguna yang sah di kemudian hari.
(Beberapa distribusi menawarkan file jail.options untuk modifikasi Anda. Ini adalah tempat yang disukai untuk melakukan perubahan karena tidak boleh terpengaruh oleh pembaruan yang menimpa conf.)
Salin kode ini ke file baru /etc/fail2ban/filter.d/sshd-root.conf:
HARAP Sadarilah bahwa Anda mungkin harus mengedit failregex untuk mengidentifikasi secara akurat upaya login root yang gagal - gunakan:
untuk menguji apakah itu mengidentifikasi entri log yang benar.
Maka Anda perlu mengedit jail.local Anda untuk menggunakan filter baru - tambahkan sesuatu seperti:
Jelas Anda harus menyesuaikan nilai-nilai ini sesuai dengan kebutuhan Anda. Pengaturan di atas akan menghapus semua paket yang masuk dari alamat IP yang menyinggung setelah tiga upaya untuk login sebagai root, dan akan melepaskan IP lagi setelah satu minggu.
sumber
Karena defaultnya
/etc/fail2ban/filter.d/sshd.conf
sudah memiliki regex untuk AllowUsers dan DenyUsers ...Berikut ini akan:
exampleusername
IP eksternalroot
atau koneksi apa pun di jaringan lokal (192.168.0. *)Baris `/ etc / ssh / sshd_config ':
Dan di
/etc/fail2ban/jail.conf
:sumber
Bagaimana Anda memblokir login ssh? / bin / false atau opsi sshd_config DenyUsers?
Saya tidak bisa memikirkan jawaban yang keluar dari kepala saya, tetapi IIRC menyangkal mem-parsing file log, jadi lihat saja apakah Anda mendapatkan entri yang gagal dalam file log setelah seseorang mencoba untuk masuk log ke root dengan itu dinonaktifkan
sumber
/etc/ssh/sshd_config
,, dan berubahPermitRootLogin
dari ya menjadi tidak. Saya tidak tahu apakah ini relevan, tetapi saya telah menginstal rssh untuk hanya mengizinkan pengguna tertentu untuk masuk menggunakan sftp tetapi tidak mengizinkan ssh.