▼Прихований текст
На одному російському ресурсі знайшов код для утиліти fail2ban
failregex = ^%(pid)s %(host_info)ssender verify fail for <\S+>: (?:Unknown user|Unrouteable address|all relevant MX records point to non-existent hosts)\s*$
^%(pid)s \w+ authenticator failed for (\S+ )?\(\S+\) \[<HOST>\](:\d+)?( I=\[\S+\](:\d+)?)?: 535 Incorrect authentication data( \(set_id=.*\)|: \d+ Time\(s$
^%(pid)s %(host_info)sF=(<>|[^@]+@\S+) rejected RCPT [^@]+@\S+: (relay not permitted|Sender verify failed|Unknown user)\s*$
^%(pid)s SMTP protocol synchronization error \([^)]*\): rejected (connection from|"\S+") %(host_info)s(next )?input=".*"\s*$
^%(pid)s SMTP call from \S+ \[<HOST>\](:\d+)? (I=\[\S+\](:\d+)? )?dropped: too many nonmail commands \(last was "\S+"\)\s*$
ignoreregex =
на іншому знайшов логи, подібні до тих шо дав пан
2010-03-09 08:17:06 H=localhost (92.243.84.201) [127.0.0.1] sender verify fail for <admin@tuniga.ru>: Unrouteable address
2010-03-09 08:17:06 H=localhost (92.243.84.201) [127.0.0.1] F=<admin@tuniga.ru> rejected RCPT <admin@tuniga.ru>: Sender verify failed
2010-03-09 08:17:06 unexpected disconnection while reading SMTP command from localhost (92.243.84.201) [127.0.0.1]
2010-03-09 08:45:39 Start queue run: pid=30439
2010-03-09 08:45:39 End queue run: pid=30439
2010-03-09 08:59:36 H=localhost (92.243.84.201) [127.0.0.1] sender verify fail for <admin@tuniga.ru>: Unrouteable address
2010-03-09 08:59:36 H=localhost (92.243.84.201) [127.0.0.1] F=<admin@tuniga.ru> rejected RCPT <admin@tuniga.ru>: Sender verify failed
2010-03-09 08:59:36 unexpected disconnection while reading SMTP command from localhost (92.243.84.201) [127.0.0.1]
2010-03-09 09:10:47 H=smtp-out.wplus.net (relay2.wplus.net) [195.131.104.143] F=<lex@2-park.ru> rejected RCPT <admin@tuniga.ru>: Unrouteable address
2010-03-09 09:15:39 Start queue run: pid=30617
2010-03-09 09:15:39 End queue run: pid=30617
2010-03-09 09:45:39 Start queue run: pid=30673
2010-03-09 09:45:39 End queue run: pid=30673
2010-03-09 10:15:39 Start queue run: pid=30710
2010-03-09 10:15:39 End queue run: pid=30710
Пан сказав мені, шо я маю якось так зробити regexp, шоби реагував на "rejected RCPT" чи "Unrouteable address" без іншого.
Чи правильно я розумію, що знайдене мною НЕ вирішить цю проблему?
-------
Питання
1)
failregex = ^%(pid)s %(host_info)ssender verify fail for <\S+>: (?:Unknown user|Unrouteable address|all relevant MX records point to non-existent hosts)\s*$
цікавить чому
а не
ця зайва "s" означає множину (не інфо одного хоста а кількох) чи що?
2) Така переробка піде? "всліпу"
failregex = ^%(pid)s %(host_info)s <\S+>: (?:rejected RCPT)\s*$
^%<\S+>: (?:Unrouteable address)\s*$
--------
Результат має реагувати на типу:
<admin@tuniga.ru>: Unrouteable address
2010-03-09 08:59:36 H=localhost (92.243.84.201) [127.0.0.1] F=<admin@tuniga.ru> rejected RCPT <admin@tuniga.ru>:
тобто без "sender verify fail for" чи "Sender verify failed"
--------
І чи правильно я розумію, що таким чином можна забанити всі IP, якщо досити серв із піднімінами IP??? (IP-forwarding Attack), адже адреса типу "92.243.84.201" береться із надісланих клієнтом даних?
Тобто, що fail2ban насправді допомагає хакерам, а не жертвам?