у меня есть fail2ban настроен на некоторых серверах CentOS 5 и 6, и он отправляет мне электронное письмо с whois IP всякий раз, когда IP заблокирован. Можно ли настроить fail2ban для отправки уведомления на электронную почту из отчета whois?
Вот моя конфигурация тюрьмы:
# /etc/fail2ban/jail.conf
[ssh-iptables]
enabled = true
filter = sshd
action = iptables-allports[name=SSH, protocol=all]
sendmail-whois[name=SSH, dest=root@mydomain.com, sender=fail2ban]
logpath = /var/log/secure
maxretry = 3
Есть ли какая-то переменная, которую я могу выразить? dest=
отправить на почту whois?
Похоже, есть действие, связанное с fail2ban, которое называется complain
. Обратите внимание на строку с complain[logpath=/var/log/secure]
:
# /etc/fail2ban/jail.conf
[ssh-iptables]
enabled = true
filter = sshd
action = iptables-allports[name=SSH, protocol=all]
sendmail-whois[name=SSH, dest=root@mydomain.com, sender=fail2ban]
complain[logpath=/var/log/secure]
logpath = /var/log/secure
maxretry = 3
Добавьте эту строку и перезапустите службу fail2ban. Файл конфигурации действий - /etc/fail2ban/action.d/complain.conf. Краткое описание:
Отправляет электронное письмо с жалобой на адреса, указанные в записи whois для оскорбительного IP-адреса.
Это возможно. (В зависимости от того, насколько строго вы определяете «пусть fail2ban сделает это».) Однако это не кажется мне особенно плодотворной тратой времени.
По сути, вы бы взяли свой whois
чтобы узнать владельца домена и отправить электронное письмо на адрес abuse @ [domain]. [tld], чтобы сообщить им, что кто-то на одном из их хостов пытается получить несанкционированный доступ к вашей системе, и, предположительно, прикрепите журналы. (Вы также можете отправить его по электронной почте в whois, как вы предлагаете, но это еще менее вероятно, чтобы добраться до тех, кто заботится или может что-то с этим сделать.) Вы должны надеяться, что:
abuse
является правильным адресом (вы можете попробовать другие, но это будет наиболее распространенным на сегодняшний день) и отслеживается. (То же, что и адрес электронной почты, указанный в whois - если он недействителен или не отслеживается, вы сразу тратите свое время.)Любое из этих условий является ложной гарантией того, что вы напрасно тратите свое время, и, по моему опыту, 2, 4, 5 и 6 почти всегда ложны, поэтому то, что вы ищете, - это пустая трата времени. если только вы не хотите использовать это как обучающий опыт, чтобы стать лучшим сценаристом.
Чтобы добавить к ответу @Banjer (что правильно): вам действительно не нужны оба действия «sendmail-whois» и «пожаловаться», если вы правильно настроили действие «пожаловаться»:
# /etc/fail2ban/jail.conf
[ssh-iptables]
enabled = true
filter = sshd
action = iptables-allports[name=SSH, protocol=all]
complain[logpath=/var/log/secure]
logpath = /var/log/secure
maxretry = 3
И:
# /etc/fail2ban/action.d/complain.conf
[Init]
message = <insert body-text here>\n\nWhois information about $IP:\n`/usr/bin/whois $IP`\n
logpath = /dev/null
mailcmd = mail -s
mailargs = -c <insert your e-mailaddress here> -- -f root@<insert your domain here>
Таким образом, с провайдером интернет-услуг, который администрирует оскорбительный IP-адрес, свяжутся автоматически, и вы получите копию электронного письма в cc: (параметр «-c» для переменной mailargs).
Я также добавил WHOIS-информацию в переменную сообщения, которая не является значением по умолчанию в конфигурации Debian, но является хорошим дополнением к сообщению по умолчанию imho.