Регестрирую сильное увеличение атак на asterisk сервера последние месяцы. И это при внесении в firewall подсетей всех стран с котороми мы не работаем (США, Китай, ...). Так блин атакуют даже с hetzner сетей. Когда-то взломали мой web сервер в USA и разместили там какого-то робота который куда-то там конектился по ФТП. Через какое-то время мой провайдер получил жалобу и сразу же перенаправил ее мне с условием, что если я ничего не сделалаю, то - гудбай мой аккаунт. Ну и пришлось искать проблему менять пароли и т.д.
Есть идея прикрутить к Fail2Ban скрипт, чтобы слал не только предупреждение хозяину сервера, а и на abuse владельца сети с которой идут атаки с кусками логов и т.д.
Что скажете? Есть смысл? Есть ли у кого-то шаблон (форма) для правильной abuse жалобы?
"правильная" abuse жалоба выглядит так
Hi
we just noticed DoS atack from you ip IP_HERE.
Type of atack:
UDP SIP, port 5060.
log of attack:
тут должен быть лог пакетов. да. в логе должно хорошо просматриваться время, ваш адрес и адрес с которого идет атака.
В инструментарии fail2ban есть папка action.d , где Вы можете описывать свои действия на появления событий. Для примера посмотрите на action.d/sendmail-whois.conf , чтобы понять как добавлять свои собственные механизмы.
Собственно говоря в папке action.d уже был файл complain.conf который нужно было только подправить. Получился вот такой вот новый файл, который называем complain-asterisk.conf. Меняем переменную sender (последняя строчка) на тот мэйл от которого вы хотите отправлять это письмо. Добавляем в файл jail.conf в раздел который контролирует лог астериска в action = complain-conf, перегружаем fail2ban и смотрим как реагируют провайдеры которые начнут получать ваши письма. Рекомендую, для начала, потестировать на себе, заменить $ADDRESSES на свой mail.
[Definition]
actionban = ADDRESSES=`whois <ip> | perl -e 'while (<STDIN>) { next if /^changed|@(ripe|apnic)\.net/io; $m += (/abuse|trouble:|report|spam|security/io?3:0); if (/([a-z0-9_\-\.+]+@[a-z0-9\-]+(\.[[a-z0-9\-]+)+)/io) { while (s/([a-z0-9_\-\.+]+@[a-z0-9\-]+(\.[[a-z0-9\-]+)+)//io) { if ($m) { $a{lc($1)}=$m } else { $b{lc($1)}=$m } } $m=0 } else { $m && --$m } } if (%%a) {print join(",",keys(%%a))} else {print join(",",keys(%%b))}'`
IP=<ip>
if [ ! -z "$ADDRESSES" ]; then
(printf %%b "<message>\n"; date '+Note: Local timezone is %%z (%%Z)'; grep '<ip>' <logpath>) | <mailcmd> "Abuse from <ip>" -r <sender> $ADDRESSES <sender>
fi
[Init]
message = Dear Sir/Madam,\n\nWe have detected abuse DoS atack (UDP SIP, port 5060) from the IP address $IP to our server XXX.XXX.XXX.XXX, which according to a whois lookup is on your network. We would appreciate if you would investigate and take action as appropriate.\n(If you are not the correct person to contact about this please accept our apologies - your e-mail address ($ADDRESSES) was extracted from the whois record by an automated process.)\n\nThanks & Best Regard\n\nLog lines are given below, but please ask i you require any further information.
logpath = /var/log/asterisk/messages
mailcmd = mail -s
sender = YourOrganization<aaa@bbb.tld>
Письмо отсылается на ящикб который фигирируется как abuse той сети откуда пришла атака. Если меня атакуют с сети hetzner то это письмо получит abuse@hetzner.de
alphil (May 23 '12)editЗадан: May 21 '12
Просмотрен: 5,697 раз
Обновлен: May 23 '12
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.