Защита сервиса RDP - Windows 2016 от подбора пароля.

Подбор паролей для RDP сервиса стал в наши дни обычным делом.

Штатные средства Windows Server позволяют только блокировать сеанс пользователя при неправильном вводе пароля, но такой способ как минимум странный.  Почему мы мешаем работе нашего пользователя а не взломщика ?

Конечно когда идет взлом у нас срабатывает рефлекс - защитить сервер и данные, но разве не логичнее будет блокировать злоумышленника, а не мешать работе наших сотрудников?

Вот на этой философии предупреждения проблемы а не решение ее (проблемы) последствий и была разработана защита сервера удаленного рабочего стола.

Где можно применить?

На любой Windows машине с доступом по RDP 

Использовано и проверенно на Windows 2008, Windows 2016, Windows 10

Принцип работы.

Мы не стали изобретать велосипед и просто использовали встроенные возможности ОС Windows

1
4625 - аудит отказа
При неправильном вводе пароля или логина в журнале безопасности Windows
создается событие с номером 4625 - аудит отказа
2
создание задачи в планировщике задач Windows server 2016
На основе событие с номером 4625 - аудит отказа создаем задачу в планировщике
3
установка приоритета выполнения задачи
Устанавливаем для задачи наивысший приоритет

Далее необходимо экспортировать задачу в файл и внести вручную правки в файл, после исправления - созданную задачу удалить и импортировать измененную.

  •  В блоке -EventTrigger-

Добавим передачу переменных Имя пользователя и IP адрес машины

-ValueQueries-
-Value name="IpAddress"-Event/EventData/Data[@Name='IpAddress']-/Value-
-Value name="TargetUserName"-Event/EventData/Data[@Name='TargetUserName']-/Value-
-/ValueQueries-
  • В блоке -Exec-

добавим передачу наших переменных во внешний исполняемый файл

-Arguments-$(TargetUserName) $(IpAddress)-/Arguments-
добавим передачу наших переменных во внешний исполняемый файл
добавим передачу наших переменных во внешний исполняемый файл

Остается только написать BAT или CMD ( конечно лучше PowerShel ) скриптик для сохранения данных в текст и создания правила в wipfw

Вот такой скриптик:

echo %1 >>attack.txt
echo %2 >>attack.txt
echo %2 >>ipblock.txt
netsh advfirewall firewall add rule name="Block IP %2 in Teksol" dir=in interface=any action=block remoteip=%2/32 

Вот собственно и вся защита, 

в результате любого неправильного ввода пароля или логина IP клиентской машины мгновенно блокируется FW 

Конечно это довольно грубо, да и себя можно ненароком заблокировать, но тут вопрос легко решается доработкой исполняемого скрипта, это уже другая тема.

Надеюсь информация была полезна начинающим админам ))

если ван нужна помощь в настройке или просто возникли вопросы по теме - обращайтесь - мы всегда рады помочь !!

Back to top