Учитывая нашу предыдущую беседу о важности паролей и логинов, предлагаю рассмотреть еще один способ усилить защиту нашего открыто доступного RDP в сети Интернет за минимальное время, не более полутора часов.
Для достижения этой цели, предлагаю рассмотреть возможность внедрения широко известной программы IPBAN от Jeff Johnson: https://github.com/jjxtra. Основное преимущество - она бесплатная (или, по максимуму, имеет небольшие затраты), а её использование весьма просто.
Единственное, на что стоит обратить внимание - при моих наблюдениях, вне зависимости от того, указываю ли 3 попытки для блокировки или 5, блокировка начинается уже после пятой попытки (возможно, это связано с версией, которую использовал - 1.8.0). Однако, возможно, это даже лучше: если предположить, что пользователю предоставляется 3 попытки, а оставшиеся 2 могут быть использованы для обращения к системному администратору с запросом на сброс пароля.
Для начала необходимо скачать программу в соответствии с операционной системой:
https://github.com/DigitalRuby/IPBan/releases
Пока архив загружается, настраиваем локальную политику безопасности. Для этого можно воспользоваться поиском в панели задач, введя "локаль..." или "secpol.msc" (если поиск недоступен, можно воспользоваться сочетанием клавиш WIN+R, затем ввести secpol.msc и нажать Enter). Затем переходим во вкладку "Локальная политика" и выбираем "Политика аудита". В локальных политиках включаем аудит входа в систему и аудит событий входа в систему, отмечая "Успех" и "Отказ" для обеих политик, после чего нажимаем "ОК":
Скачанный архив уже должен быть доступен. Распакуйте его на любом диске, предпочтительно в корневой директории, чтобы упростить путь к установке. Предпочел извлечь его в папку с именем "ipb" на диске C:
Теперь запускаем командную строку от имени администратора вставляем команду:
sc.exe create IPBAN type=own start=delayed-auto binPath=c:\ipb\DigitalRuby.IPBan.exe DisplayName=IPBAN
Важно! Обратите внимание, что процесс настройки описан для Windows Server 2019, но IPBAN также должен корректно работать на Server 2012 и более поздних версиях. Если у вас установлена версия 2008/2008R2, то процесс может быть сложнее, и на старых версиях IPBAN может не работать так адекватно. Пожалуйста, учитывайте, что у меня нет возможности проверить настройку на версии 2008, так как самый старый сервер у меня на 2012. Применяйте эти инструкции на свой страх и риск.
Ещё раз подчеркиваю, что нижеприведенные действия применимы ТОЛЬКО к версиям 2008/2008R2, и не рекомендуется запрещать NTLM на более новых версиях ОС Windows Server.
Перед началом внесения изменений, настоятельно рекомендую убедиться, что у вас есть физический доступ к серверу или проверьте работоспособность сторонних программ для удаленного подключения, таких как Anydesk, TeamViewer или аналоги.
В командной строке с правами администратора, введите следующую команду:
sc create IPBAN binPath= c:\ipb\DigitalRuby.IPBan.exe DisplayName= "IPBAN"
Далее, необходимо запретить использование протокола NTLM и ограничить доступ к общим папкам на сервере для систем Windows XP и Windows 7.
Откройте редактор групповых политик, набрав в командной строке gpedit.msc, и перейдите по следующему пути:
Конфигурация компьютера > Конфигурация Windows > Политики безопасности > Локальные политики > Параметры безопасности > Сетевая безопасность: ограничения NTLM: входящий трафик
Выбираем опцию "Запретить все учетные записи" и надеемся, что это не вызовет неполадок.
Теперь можно вернуться к более новым операционным системам или продолжить настройку на "старом" сервере.
После ввода команды и нажатия Enter, результат должен быть следующим (не забудьте заменить путь на ваш, у меня C:\ipb):
Теперь необходимо настроить параметры IPBAN в соответствии с нашими потребностями. Для этого открываем файл ipban.config (находится по пути C:\ipb\ipban.config) в текстовом редакторе и последовательно выполняем следующие шаги.
1. Добавим исключение для нашей локальной сети (например, сеть 192.168.1.*). Найдем строку, содержащую <add key="Whitelist" value= и добавим следующее:
<add key="Whitelist" value="192.168.1.0/24"/>2. Укажем количество попыток для входа в систему. В данном случае , устанавливаем 3 попытки (обратите внимание, что в реальности у меня работает 6 попыток, но для более точной и надежной работы можно воспользоваться платными программами с хорошей поддержкой). Найдем строку FailedLoginAttemptsBeforeBan и укажем количество попыток перед блокировкой:
<add key="FailedLoginAttemptsBeforeBanUserNameWhitelist" value="3"/>
3. По умолчанию бан длится сутки, но если вы хотите изменить это, найдите параметр ExpireTime и установите нужный период блокировки. В данном примере, установлю 10 часов:
<add key="ExpireTime" value="00:10:00:00"/>
Сохраните внесенные изменения в файл ipban.config. Теперь осталось запустить созданную службу и, при необходимости, добавить ее в автозапуск. Перед запуском убедитесь, что активен брандмауэр Windows. Если используется сторонний брандмауэр, например, встроенный в антивирусное программное обеспечение, IPBan может не работать.
Для этого выполните следующие шаги:
1. Откройте "Службы" (Services). Найдите в списке службу "IPBan". Если вы видите ее в списке, выполните следующий шаг. Если нет, убедитесь, что вы правильно создали службу и указали правильный путь к исполняемому файлу.
2. Для первого запуска рекомендуется просто запустить службу IPBan. После запуска следите за ее работой и убедитесь, что она функционирует корректно. Если в течение нескольких дней не возникнет проблем, можно решить добавить службу в автозапуск.
Выберите соответствующий пункт автозапуска в зависимости от вашей операционной системы и настроек.
Как только служба успешно запущена, автоматически будут созданы соответствующие правила в брандмауэре Windows. Вы сможете просматривать список заблокированных IP-адресов и при необходимости удалить ненужные записи. Это полезно в случае, если возникнет ситуация с "особым сотрудником", и вы захотите снять блокировку с его IP-адреса, не ожидая окончания заданного периода блокировки.
Данная заметка, является переосмыслением, переработкой и систематизацией статьи-оригинал, которая также попала на Хабр в полностью переработанном виде.
Дополнительный материал по теме, с которым стоит ознакомиться: