Защита RDP от подбора паролей на Windows-сервере — IPBan ставится, обновляется и настраивается из одного меню, без ручной правки XML.
irm https://imiron.ru/IPBanManager/ipban.txt | iex
Вставить в PowerShell, запущенный от имени администратора. Сам IPBan ставится только по пункту «Установить».
IPBan Manager [установлен 4.1.0] 1) Установить 2) Обновить 3) Удалить > 4) Настройки 5) Состояние ───────────── 6) Забаненные адреса 7) Разбанить IP 0) Выход ↑↓ — выбор, Enter — выполнить, цифра — сразу пункт, Esc — назад
IPBan от DigitalRuby следит за неудачными входами и банит адреса брандмауэром Windows. Всё управление — правка XML-конфига руками, и несколько типовых ловушек легко пропустить.
Официальный установщик DigitalRuby, аудит входов, кавычки в пути службы, проверка конкурентов — RdpGuard, EvlWatcher, wail2ban и др.
Конфиг копируется перед обновлением, а настройки менеджера накатываются на новый конфиг после.
Список колонками по порядку. Разбан нескольких адресов с ожиданием, пока служба действительно снимет бан.
Частные сети сервера, активные RDP-сессии, свои IP, подсети, домены и URL списков.
да → нет, + добавится, - уйдёт. Подтверждение перед записью конфига.
↑/↓ и Enter, цифра — сразу пункт, Esc — назад. В ISE и PSSession — ввод номера.
| Источник | Что попадает |
|---|---|
| loopback | 127.0.0.1, ::1 |
| сети | Частные подсети сервера (RFC 1918, CGNAT). Публичный адрес — только сам /32, чтобы не открыть соседей по хостингу |
| RDP | Клиенты активных сессий с вошедшим пользователем — чтобы не забанить себя |
| ручной | IP, подсети, доменные имена, URL текстового списка адресов |
Перед применением менеджер показывает, что изменится в конфиге:
==> Что изменится в ipban.config: Попыток до бана: 5 → 3 Белый список: сейчас 5, станет 6 (+2 / -1) loopback = 127.0.0.1 = ::1 сети интерфейсов = 192.168.10.0/24 RDP-сессии + 203.0.113.7 (SRV01\admin) ручной список = wl.example.ru + 198.51.100.0/24 уйдут из списка - 192.0.2.44 + добавится - уйдёт = останется Применить? [y/N]: _
Домен для динамического IP. Заведите, например, wl.example.ru с A-записями на все свои адреса и добавьте имя в список. IPBan сам перечитывает имена и URL раз в 5 минут.
Но помните: белый список IPBan — это разрешающее правило брандмауэра на все порты. Кто может изменить DNS-запись из списка, тот может открыть себе сервер. Закройте DNS-аккаунт 2FA, а постоянный IP добавьте ещё и напрямую.
RDP-адреса берутся только у активных сессий, где пользователь вошёл. Просто открытые соединения на порт RDP не берутся: среди них боты, подбирающие пароль.
Для развёртывания на нескольких серверах — сразу нужное действие:
iex "& {$(irm https://imiron.ru/IPBanManager/ipban.txt)} -Action Status"
| -Action | Что делает |
|---|---|
| Install | Установить и применить сохранённые настройки |
| Update | Обновить до последнего релиза, настройки сохраняются |
| Uninstall | Удалить службу, правила брандмауэра, каталог |
| Apply | Применить сохранённые настройки и перезапустить службу |
| Status | Вывести состояние |
Старые системы (Server 2016 / 2012 R2) по умолчанию не включают TLS 1.2. Допишите в начало строки:
[Net.ServicePointManager]::SecurityProtocol=3072; irm https://imiron.ru/IPBanManager/ipban.txt | iex
Файл хранится в UTF-8 без BOM — иначе не работал бы irm | iex. Windows PowerShell 5.1 читает такие файлы как ANSI, поэтому локально запускайте так:
iex (Get-Content .\IPBan-Manager.ps1 -Raw -Encoding UTF8)
GitHub Pages отдаёт .ps1 без кодировки, и Windows PowerShell 5.1 прочитал бы русский текст как Latin-1. .txt приходит с charset=utf-8. Внутри — тот же IPBan-Manager.ps1, сайт собирается из репозитория при каждом изменении скрипта. Запасной вариант — напрямую с GitHub:
irm https://raw.githubusercontent.com/iMironRU/IPBanManager/main/IPBan-Manager.ps1 | iex
В PowerShell ISE и в удалённой сессии Enter-PSSession клавиши не перехватить — там пункт выбирается вводом номера. В обычной консоли и Windows Terminal работают стрелки.
Нет. Перед первым изменением он импортирует текущие значения как есть, а автоопределение сетей и RDP выключает, чтобы поведение не изменилось. Любое изменение конфига показывается заранее и требует подтверждения.
Настройки менеджера — %ProgramData%\IPBanManager\settings.json, там же копии конфига перед обновлением и при удалении. Перед каждым изменением рядом с ipban.config делается .bak_*, хранятся последние 5.