This is an old revision of the document!
Защита от перебора паролей. IPBan
Как защитить Exchange от перебора паролей?
Существует решение IPBan, позволяющее мониторить логи различных программных продуктов систем Windows и Linux, в том числе и Exchange. Страница IPBan на github: https://github.com/DigitalRuby/IPBan/
В бесплатной версии IPBan позволяет мониторить различные системы изолированно: на каждой свой инстанс программы. Версия PRO имеет GUI для настройки и позволяет осуществлять бан централизованно, логически объединяя системы для настройки. Здесь будет использоваться бесплатная версия, которая настраивается правкой конфигурационного файла.
Скачать можно по ссылке: https://github.com/DigitalRuby/IPBan/releases
В Exchange мы имеем, как минимум, две точки входа для перебора паролей: OWA и SMTP.
IPBan будет отслеживать события в event-логе Windows и транспортных логах Exchange.
Перед настройкой самого IPBan для Exchange нам требуется в первую очередь включить все нужные логи.
Включение аудита событий входа
Для включения событий аудита нам требуется в GPO, которая применяется к серверам Exchange - выставить значение параметров Audit Logon и Other Logon/Logoff Events в success and failure.
Перед включением аудита большого количества событий - неплохим решением станет расширение объема хранимого лога для журнала security.
В GPO есть два места, в которых настраивается аудит. Первое находится в Local Policies → Audit Policy. В даном разделе находится классическая, более старая политика аудита. В современных системах принято настраивать параметры аудита в расширенной политике аудита, в которой параметры настраиваются более гибко. (Advanced Audit Policy Configuration). Нас интересуют два параметра:
Computer Configuration >> Windows Settings >> Security Settings >> Advanced Audit Policy Configuration >> Audit Policies >> Logon/Logoff >> "Audit Other Logon/Logoff Events"
Computer Configuration >> Windows Settings >> Security Settings >> Advanced Audit Policy Configuration >> System Audit Policies >> Logon/Logoff >> "Audit Logon"
После применения политики, при неудачных логинах - мы увидим события с кодом 4625.
Включение транспортных логов
Если на нашем сервере не включено ведение логов на коннекторах приёма почты - необходимо это сделать. Пример для коннектора сервера Edge Transport, принимиающего почту непосредственно из внешнего мира.
Узнаем Identity коннектора командой:
Get-ReceiveConnector
Set-ReceiveConnector -Identity "MX1\Default internal receive connector MX1" -ProtocolLoggingLevel Verbose
Для mailbox серверов транспортные логи коннекторов будут находиться здесь:
C:\Program Files\Microsoft\Exchange Server\V15\TransportRoles\Logs\FrontEnd\ProtocolLog
Для серверов edge-transport путь немного другой:
C:\Program Files\Microsoft\Exchange Server\V15\TransportRoles\Logs\Edge\ProtocolLog
Правка конфигурационного файла IPBan
Все настройки содержатся в конфигурационном файле ipban.config, который можно править после распаковки архива с дистрибутивом.
Первая часть файла содержит секции, в которых IPBan ищет логи различных событий в разных системах. Если мы настраиваем IPBan на Edge серверах, то путь к логу в секции MSExchange необходимо поправить, прописав:
C:/Program Files/Microsoft/Exchange Server/*/TransportRoles/Logs/Edge/ProtocolLog/**.log
В конце файла, в секции <appSettings> задаются параметры программы, довольно подробно прокомментированные. Здесь можно задать время бана, количество провальных логинов, после которых IP будет заблокирован, параметры белого и черного списка адресов, принципы разблокировки, можно задать параметр, позволяющий сбрасывать списки после перезапуска сервиса и многое другое. Пример задания белого списка адресов:
<add key="Whitelist" value="8.8.8.8, 1.1.1.1, 2.2.2.2"/>