Apa itu 'Ditemukan' di File Log Fail2Ban?


19

Saya memiliki beberapa contoh seperti berikut ini di /var/log/fail2ban.log:

2015-12-27 14:31:21,949 fail2ban.filter         [1020]: INFO    [sshd] Found ###.###.###.###

(Di mana # pengganti keragaman alamat IP.)

Apa sebenarnya arti dari entri log ini? Khususnya, apa yang Founddilambangkan?

Saya mencari di sini dan http://www.fail2ban.org untuk penjelasan tentang file log. Jika saya melewatkan sumber informasi yang jelas untuk pertanyaan ini, permintaan maaf saya - tolong tunjukkan saya ke arah yang benar.

Ini adalah konfigurasi untuk FailRegex di /etc/fail2ban/filter.d/sshd.config:

failregex = ^%(__prefix_line)s(?:error: PAM: )?[aA]uthentication (?:failure|error) for .* from <HOST>( via \S+)?\s*$
        ^%(__prefix_line)s(?:error: PAM: )?User not known to the underlying authentication module for .* from <HOST>\s*$
        ^%(__prefix_line)sFailed \S+ for .*? from <HOST>(?: port \d*)?(?: ssh\d*)?(: (ruser .*|(\S+ ID \S+ \(serial \d+\) CA )?\S+ %(__md5hex)s(,$
        ^%(__prefix_line)sROOT LOGIN REFUSED.* FROM <HOST>\s*$
        ^%(__prefix_line)s[iI](?:llegal|nvalid) user .* from <HOST>\s*$
        ^%(__prefix_line)sUser .+ from <HOST> not allowed because not listed in AllowUsers\s*$
        ^%(__prefix_line)sUser .+ from <HOST> not allowed because listed in DenyUsers\s*$
        ^%(__prefix_line)sUser .+ from <HOST> not allowed because not in any group\s*$
        ^%(__prefix_line)srefused connect from \S+ \(<HOST>\)\s*$
        ^%(__prefix_line)sReceived disconnect from <HOST>: 3: \S+: Auth fail$
        ^%(__prefix_line)sUser .+ from <HOST> not allowed because a group is listed in DenyGroups\s*$
        ^%(__prefix_line)sUser .+ from <HOST> not allowed because none of user's groups are listed in AllowGroups\s*$
        ^(?P<__prefix>%(__prefix_line)s)User .+ not allowed because account is locked<SKIPLINES>(?P=__prefix)(?:error: )?Received disconnect from$
        ^(?P<__prefix>%(__prefix_line)s)Disconnecting: Too many authentication failures for .+? \[preauth\]<SKIPLINES>(?P=__prefix)(?:error: )?Co$
        ^(?P<__prefix>%(__prefix_line)s)Connection from <HOST> port \d+(?: on \S+ port \d+)?<SKIPLINES>(?P=__prefix)Disconnecting: Too many authe$
        ^%(__prefix_line)spam_unix\(sshd:auth\):\s+authentication failure;\s*logname=\S*\s*uid=\d*\s*euid=\d*\s*tty=\S*\s*ruser=\S*\s*rhost=<HOST$

di filter.d / sshd.conf, apa FailRegex Anda? fail2ban.org/wiki/index.php/MANUAL_0_8#Filters
Frank Thomas

(Menambahkan FailRegex ke pos aslinya.)
nmax

ssh adalah pilihan pertama peretas, menurut log saya 10 banding 1. Kemungkinan salah satunya terhubung ke sistem Anda. Saya memiliki lebih dari 10.000+ ip hanya untuk ssh.
cybernard

apakah ada pola regex lain di filter.d / sshd.conf yang mengandung kata 'Ditemukan'?
Frank Thomas

Anehnya, string 'Ditemukan' tidak muncul di sshd.conf atau file apa pun di / etc / fail2ban. @cybernard saya pasti setuju; masalahnya adalah fail2ban sudah melarang upaya ssh, dan ssh berbasis kata sandi dinonaktifkan pada sistem (hanya ssh berbasis kunci).
nmax

Jawaban:


17

The Found xxx.xxx.xxx.xxxberarti pesan, bahwa filter fail2ban menemukan garis yang cocok failregex dalam logfile filter / penjara yang diberikan.

Misalnya jika log ditampilkan

2016-03-16 15:35:51,527 fail2ban.filter         [1986]: INFO    [sshd] Found 1.2.3.4
2016-03-16 15:35:51,817 fail2ban.filter         [1986]: INFO    [sshd] Found 1.2.3.4
2016-03-16 15:35:52,537 fail2ban.actions        [1986]: NOTICE  [sshd] Ban 1.2.3.4

Dua Foundmean pertama , bahwa alamat IP 1.2.3.4 ditemukan 2 kali dalam log sshd yang diberikan (mis. /Var/log/auth.log) dan bahwa entri dalam logfile cocok failregexdengan filter./etc/fail2ban/filter.d/sshd.conf

Seperti yang telah saya konfigurasikan untuk mencekal setelah 2 ssh-attemtps yang gagal, baris ke-3 menunjukkan, bahwa IP 1.2.3.4 telah diblokir setelah 2 hal tersebut ditemukan.

Bagaimana saya mengetahui tentang ini:

Dalam sumber python fail2ban (dalam bahasa Debian ini /usr/lib/python3/dist-packages/fail2ban/), lakukan ini:

cd /usr/lib/python3/dist-packages/fail2ban/

grep -r "\[%s\] Found" *

Dalam file python "server / filter.py" on line 937 Anda menemukan fungsi log yang sesuai:

def processLineAndAdd(self, line, date=None):
  [..]
  logSys.info("[%s] Found %s" % (self.jail.name, ip))
  [..]

Saya tahu ini sudah lama sejak balasan ini diposting, tetapi saya baru saja kembali lagi. Ini adalah respons yang jelas dan lengkap - terima kasih.
nmax
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.