Консольное приложение, без интерфейса, написанное на Delphi. Программа на основании события вызванного АУДИТОМ ОТКАЗА windows добавляет в фаервол маршрутизатора Mikrotik адрес атакующего компьютера. Имеются настройки количества неудачных попыток входа до блокировки.
Механизм работы:
1) АУДИТ ОТКАЗА с кодом 4625 вызывает в планировщике программу с ключем — IP атакующего.
2) Программа сохраняет этот IP в файле и смотрит количество записей по этому IP
3) При достижении указанного в настройках количества записей IP по SSH отправляет на маршрутизатор Mikrotik/Брандмауэр Windows команду добавления IP в Адрес Лист.
Основано на //infostart.ru/public/238981/
Настройка:
1) Заполнить файл settings.ini информацией о маршрутизаторе и типу фаервола. Более подробная информация в файле Readme.txt
2) Создать в фаерволе Mikrotik правило блокировки с IP из группы указаной в п.1.
3) Создать вызываемую задачу для АУДИТА по руководству //infostart.ru/public/238981/
4) В задаче ОБЯЗАТЕЛЬНО указать «рабочую директорию» и параметр запуска программы $(IpAddress) (без кавычек и т.п.) и запуск с повышенными привилегиями.
5) В настройка Конфигурация узла Удаленных рабочих столов (настройки RDP) необходимо выбрать Безопастность — Уровень безопасности — «Уровень безопастности RDP»
2 недели работы приложениея показали 417 блокированных адресов и 129687 отраженных попыток ввода пароля (количество блокированных соединений в Mikrotik)
Скажите ваш ip адрес? Проверю как работает защита;)
Мне вполне достаточно перевесить порт RDP иhttp://nerderies.blogspot.ru/2012/12/automatically-banning-ips-with-windows.html для подстраховки
(1) kuzyara, 89.105.153.125 — можно насиловать 🙂
я только не понял откуда винда (в аудите отказа) возьмёт ip адрес атакующего, учитывая что rdp за NATom (за мироктиком), винда увидет только внутренний ip адрес роутера(НАТА) какой нибудь 192.168.0.1(пример). Можете пояснить?
как вариант:
http://www.admblog.ru/mikrotik-bruteforce-block/
/ip firewall filter
add action=reject chain=forward comment=»Block RDP bruteforce» log=yes \r
log-prefix=»Blocked — » reject-with=icmp-network-unreachable \r
src-address-list=»Blocked bruteforcers»
add action=add-src-to-address-list address-list=»Blocked bruteforcers» \r
address-list-timeout=60m chain=forward comment=»RDP bruteforce stage4″ \r
connection-state=new dst-port=3389 log=yes log-prefix=\r
«RDP BRUTEFORCE — » protocol=tcp src-address-list=rdp_bruteforce3
add action=add-src-to-address-list address-list=rdp_bruteforce3 \r
address-list-timeout=15m chain=forward comment=»RDP bruteforce stage3″ \r
connection-state=new dst-port=3389 log=yes log-prefix=\r
«RDP BRUTEFORCE — STAGE3 — » protocol=tcp src-address-list=rdp_bruteforce2
add action=add-src-to-address-list address-list=rdp_bruteforce2 \r
address-list-timeout=15m chain=forward comment=»RDP bruteforce stage2″ \r
connection-state=new dst-port=3389 log=yes log-prefix=\r
«RDP BRUTEFORCE — STAGE2 — » protocol=tcp src-address-list=rdp_bruteforce1
add action=add-src-to-address-list address-list=rdp_bruteforce1 \r
address-list-timeout=15m chain=forward comment=»RDP bruteforce stage1″ \r
connection-state=new dst-port=3389 log=yes log-prefix=\r
«RDP BRUTEFORCE — STAGE1 -» protocol=tcp