2014-11-27 3 views
0

Я пытаюсь создать условие регулярного выражения для exim-фильтра Fail2Ban. В моем журнале Exim, у меня есть записи, как это:Регулярное выражение Fail2Ban для EXIM (количество соединений TCP/IP)

2014-11-27 17:09:05 SMTP соединение с [42.117.255.244] (количество TCP соединение/IP = 1)

2014-11- 27 17:09:14 SMTP-соединение из [118.68.249.18] (количество соединений TCP/IP = 2)

2014-11-27 17:09:15 SMTP-соединение из [113.188.85.220] (соединение TCP/IP count = 3)

Так что мне нужен фильтр регулярных выражений, который анализирует журнал exim, а если количество соединений TCP/IP> 3, то fail2ban блокирует этот ip за время, указанное в конфигурации fail2ban.

То, что я пытался до сих пор что-то вроде этого:

failregex = ^% (ИДП) s SMTP соединение с \ S + [] (: \ d +)? (I = [\ S +]: \ d +)? (TCP/IP connection count = "\ S +") \ s * $

, но он терпит неудачу ... Я не очень хорошо разбираюсь в регулярном выражении, поэтому мне нужна ваша помощь ,

Спасибо!

+0

Кто-нибудь? Любые идеи? Я действительно не понимаю, почему это не работает, хотя на этом веб-сайте regex101.com выражение регулярного выражения кажется хорошим. –

ответ

0
[ \S]+?SMTP connection from \S+? \(TCP\/IP connection count = (?!\b1\b|\b2\b|\b3\b)\d+\) 

Try this.See demo.

http://regex101.com/r/hQ9xT1/10

+0

спасибо, но не работает! Вот что я получаю: root @ zira in/etc/fail2ban (8 записей, 0 скрытых) 88/25083 # fail2ban-regex/var/log/exim_mainlog "SMTP-соединение из \ S +? \ (TCP \/IP (0) root @ zira in/etc/fail2ban (8 записей, 0 скрытых) –

+0

Поддерживает ли ваша поддержка fail2ban? – vks

+0

хотя на этом сайте регулярное выражение работает отлично, оно не работает. Я даже попробовал просто так: SMTP-соединение из \ S +? \ (TCP \/IP connection count = просто попытаться обнаружить все соединения, но он по-прежнему не работает ... –

Смежные вопросы