История изменений
Исправление svk28, (текущая версия) :
Одна часть анализирует логи почтовой системы в ElasticSearch, попадающие туда разными путями =) со всех почтовых узлов, и выдергивает разные аномалии (множественные попытки авторизации, авторизации в один аккаунт с разных адресов, с одного адреса в разные аккаунты, с адресов неразрешенных по GeoIP и т.д.) и складывает в БД. Агенты на узлах, которые торчат в интернет, берут данные из БД и по заданным критериям блочат нежелательные адреса через iptables. О чём делают запись в БД, дабы исключить потворные блокировки. Собственно лог работы агентов на картинке:
- Проверяет наличие новых записей для данного узла
- Проверяет тип аномалии
- Проверяет не входит-ли блокируемый IP в исключения
- Блокирует если надо.
Комбайн жуткий, эдакое подобие fail2ban, но попроще и распределенный. Ботнеты нынче хитрые, атаки распределены как географически так и по времени - больше одного раза в один аккаунт не лезут (могут через неделю повторить а то и дольше) и определить нормальный это юзер или жулик стало трудно. Потому и запилил эдакое чудовище. Но по результатам эксплуатации получилось действенно.
Исходная версия svk28, :
Одна часть анализирует логи почтовой системы в ElasticSearch, попадающие туда разными путями =) со всех почтовых узлов, и выдергивает разные аномалии (множественные попытки авторизации, авторизации в один аккаунт с разных адресов, с одного адреса в разные аккаунты, с адресов неразрешенных по GeoIP и т.д.) и складывает в БД. Агенты на узлах, которые торчат в интернет, берут данные из БД и по заданным критериям блочат нежелательные адреса через iptables. О чём делают запись в БД, дабы исключить потворные блокировки. Собственно лог работы агентов на картинке:
- Проверяет наличие новых записей для данного узла
- Проверяет тип аномалии
- Проверяет не входит-ли блокируемый IP в исключения
- Блокирует если надо.
Комбайн жуткий, эдакое подобие fail2ban, но попроще и распределенный. Ботнеты нынче хитрые, атаки распределены как географически так и по времени - больше одного раза в один аккаунт не лезут (могут через неделю повторить а то и дольше) и определить нормальный это юзер или жулик стало трудно. Потому и запилил эдакое чудовище. Но по результатам эксплатации получилось действенно.