Fail2Ban dengan Benar Mencoba untuk Melarang IP tetapi IP tidak dapat diblokir - rantai iptables ada tetapi tidak berfungsi

12

Berjalan di Ubuntu 14.04 Server.

Jadi saya memiliki fail2ban yang dikonfigurasi dengan benar untuk memproses /var/log/auth.logupaya login SSH.

Setelah 3 upaya gagal saya melihat ini di log fail2ban:

2014-11-19 15:22:56,822 fail2ban.actions: WARNING [ssh] Ban BANNED_IP_ADDY

iptables -L menunjukkan rantai ini:

Chain fail2ban-ssh (1 references)
target     prot opt source               destination         
REJECT     all  --  BANNED_IP_ADDY  anywhere             reject-with icmp-port-unreachable
RETURN     all  --  anywhere             anywhere

Namun dari IP itu saya masih bisa masuk melalui SSH tanpa masalah.

Kisah yang sama berlaku untuk semua penjara fail2ban saya. Apache misalnya, saya dapat melihat fail2ban dengan benar mendeteksi log dan mengklaim itu melarang IP. IP berakhir di rantai iptables tetapi IP tidak benar-benar ditolak.

Saya punya perasaan dalam kasus ini adalah karena SSH tidak pada port standar. Itu di port yang berbeda.

Jadi jika saya memaksakan aturan ssh jail untuk menggunakan port baru:

[ssh]

enabled  = true
port     = 32323
filter   = sshd
logpath  = /var/log/auth.log
maxretry = 5

Lalu saya melihat kesalahan ini:

2014-11-19 15:30:06,775 fail2ban.actions.action: ERROR  iptables -D INPUT -p tcp -m multiport --dports 32323 -j fail2ban-ssh
iptables -F fail2ban-ssh
iptables -X fail2ban-ssh returned 400
2014-11-19 15:30:06,778 fail2ban.actions.action: ERROR  iptables -N fail2ban-ssh
iptables -A fail2ban-ssh -j RETURN
iptables -I INPUT -p tcp -m multiport --dports 32323 -j fail2ban-ssh returned 400
2014-11-19 15:30:06,779 fail2ban.actions.action: ERROR  iptables -n -L INPUT | grep -q 'fail2ban-ssh[ \t]' returned 100
2014-11-19 15:30:06,780 fail2ban.actions.action: CRITICAL Unable to restore environment

Jika saya biarkan begitu

 port = ssh

Kemudian masuk ke iptables dengan benar tetapi rantai tidak berfungsi untuk REJECTlalu lintas (seperti yang disebutkan di atas).

MEMPERBARUI:

Jika saya berubah:

banaction = iptables-multiport

Untuk:

banaction = iptables-allports

Kemudian tampaknya berhasil. Apa dampak dari perubahan ini?

Tampaknya menyebabkan fail2banpelarangan IP karena SSH dengan ini allportsmelarang setiap port untuk IP itu. Sengaja diblokir karena login ssh berulang gagal. Juga dilarang di setiap layanan lainnya.

Halsafar
sumber
Ive tidak pernah mengalami masalah dengan fail2ban. Jika Anda ingin kembali memblokir port tunggal, Anda dapat mencoba solusi ini: oschgan.com/drupal/index.php?q=node/52 . Atau fail2ban dapat menggunakan mekanisme lain seperti hosts.deny atau null rute jika iptables menyebabkan kesedihan.
digitaladdictions
Lihat /etc/fail2ban/actions.d, ia memiliki file yang sesuai dengan masing-masing tindakan larangan itu. Di dalam Anda akan melihat perintah mana yang digunakan untuk mencekal, batalkan, mulai dan berhenti fail2ban. Anda bisa mencoba menjalankan perintah actionban secara manual dan melihat apa yang terjadi. I
Michael
1
Apa lagi yang ada di iptables Anda? Harap berikan hasil lengkap iptables -L -n -v(redacting alamat IP jika perlu). Secara khusus, perhatikan -v, yang akan memberikan byte dan penghitung paket untuk setiap rantai dan aturan, memudahkan debugging.
jplitza
Saya memiliki masalah yang sama persis. Fail2Ban melarang IP, saya dapat melihat alamat di rantai fail2ban, saya mendapat email itu diblokir tetapi alamat ip masih memiliki akses. Mengubah pemblokiran ke allports berhasil tetapi tidak tahu mengapa!
Ergec

Jawaban:

2

Rantai fail2ban tidak ditautkan dengan benar ke rantai INPUT dan OUTPUT Anda. Harap edit pertanyaan Anda dan berikan hasil:

iptables -n -L INPUT
iptables -n -L OUTPUT

dan semua rantai fail2ban juga, dan saya akan bisa lebih tepat.

Marco
sumber
0
INPUT -p tcp -m multiport --dports 22 -j fail2ban-ssh
Zareh Kasparian
sumber