Charles Plessy a écrit : > Le Thu, Apr 30, 2020 at 12:01:36PM +0200, BERTRAND Joël a écrit : >> >> Parce que le type est borné, que ça fait des jours que ça dure et que >> l'IP change régulièrement. Par ailleurs, fail2ban est fait pour cela et >> j'ai autre chose à faire que de surveiller /var/log/syslog. > > Bonjour Joël, > > as-tu essayé la cellule "récidive" de fail2ban ? > > Amicalement,
Bonjour, Oui, naturellement. Sauf que dans mon cas, ça ne fonctionne pas parce que le filtre sur TLS ne fonctionne pas. Aujourd'hui, mon filtre est le suivant : _daemon = (?:courier)?(?:imapd?|pop3d?)-ssl? failregex = ^%(__prefix_line)s.*ip=\[<HOST>\], An unexpected TLS packet was received.$ qui ne fonctionne pas. La partie failregex toute seule donne quelque chose si je retire "^%(__prefix_line)s.*" : fail2ban-regex /var/log/syslog "ip=\[<HOST>\], An unexpected TLS packet was received.$" ... Lines: 73005 lines, 0 ignored, 6 matched, 72999 missed [processed in 2.80 sec] Mais fail2ban rajoute une en-tête :fail2ban-client get courier-tls failregex The following regular expression are defined: `- [0]: ip=\[(?:(?:::f{4,6}:)?(?P<ip4>(?:\d{1,3}\.){3}\d{1,3})|\[?(?P<ip6>(?:[0-9a-fA-F]{1,4}::?|::){1,7}(?:[0-9a-fA-F]{1,4}|(?<=:):))\]?|(?P<dns>[\w\-.^_]*\w))\], An unexpected TLS packet was received.$ et là, ça ne fonctionne plus. Mais sans le retrait de ^%(__prefix_line)s.*, cela ne donne strictement rien : Root rayleigh:[/var/lib/iptables] > fail2ban-client get courier-tls failregex The following regular expression are defined: `- [0]: ^(?:\[\])?\s*(?:<[^.]+\.[^.]+>\s+)?(?:\S+\s+)?(?:kernel: \[ *\d+\.\d+\]\s+)?(?:@vserver_\S+\s+)?(?:(?:(?:\[\d+\])?:\s+[\[\(]?(?:courier)?(?:imapd?|pop3d?)-ssl?(?:\(\S+\))?[\]\)]?:?|[\[\(]?(?:courier)?(?:imapd?|pop3d?)-ssl?(?:\(\S+\))?[\]\)]?:?(?:\[\d+\])?:?)\s+)?(?:\[ID \d+ \S+\]\s+)?.*ip=\[(?:(?:::f{4,6}:)?(?P<ip4>(?:\d{1,3}\.){3}\d{1,3})|\[?(?P<ip6>(?:[0-9a-fA-F]{1,4}::?|::){1,7}(?:[0-9a-fA-F]{1,4}|(?<=:):))\]?|(?P<dns>[\w\-.^_]*\w))\], An unexpected TLS packet was received.$ Root rayleigh:[/var/lib/iptables] > fail2ban-regex /var/log/syslog "[0]: ^(?:\[\])?\s*(?:<[^.]+\.[^.]+>\s+)?(?:\S+\s+)?(?:kernel: \[ *\d+\.\d+\]\s+)?(?:@vserver_\S+\s+)?(?:(?:(?:\[\d+\])?:\s+[\[\(]?(?:courier)?(?:imapd?|pop3d?)-ssl?(?:\(\S+\))?[\]\)]?:?|[\[\(]?(?:courier)?(?:imapd?|pop3d?)-ssl?(?:\(\S+\))?[\]\)]?:?(?:\[\d+\])?:?)\s+)?(?:\[ID \d+ \S+\]\s+)?.*ip=\[(?:(?:::f{4,6}:)?(?P<ip4>(?:\d{1,3}\.){3}\d{1,3})|\[?(?P<ip6>(?:[0-9a-fA-F]{1,4}::?|::){1,7}(?:[0-9a-fA-F]{1,4}|(?<=:):))\]?|(?P<dns>[\w\-.^_]*\w))\], An unexpected TLS packet was received.$" Running tests ============= Use failregex line : [0]: ^(?:\[\])?\s*(?:<[^.]+\.[^.]+>\s+)?(?:\S+\s+)... Use log file : /var/log/syslog Use encoding : UTF-8 Results ======= Failregex: 0 total Ignoreregex: 0 total Date template hits: |- [# of hits] date format | [72942] {^LN-BEG}(?:DAY )?MON Day %k:Minute:Second(?:\.Microseconds)?(?: ExYear)? `- Lines: 72942 lines, 0 ignored, 0 matched, 72942 missed [processed in 2.80 sec] Missed line(s): too many to print. Use --print-all-missed to print all 72942 lines