У меня новая установка Windows Server 2012 на виртуальной машине, и я собираюсь использовать Wail2ban (https://github.com/glasnt/wail2ban), чтобы попытаться заблокировать людей, атакующих сервер.
Я успешно добавил Wail2ban, и теперь у меня это работает, но это, конечно, было непросто. Вот несколько настроек, которые мне нужно было изменить в gpedit.msc, чтобы IP-адрес атакующего хоста действительно отображался в средстве просмотра событий. Первоначально в мероприятии не был указан адрес источника.
Изменив около трех параметров, я заработал, но теперь я не могу получить доступ к общим файлам на сервере.
Мне пришлось изменить один параметр: gpedit.msc-> Конфигурация компьютера-> Параметры Windows-> Параметры безопасности-> Локальные политики-> Параметры безопасности-> Сетевая безопасность: ограничить NTLM: входящий трафик NTLM. Я установил для него значение «Запретить все учетные записи». "и я получаю IP-адрес атакующего в средстве просмотра событий, но не могу получить доступ к общим файлам. С другими настройками «Разрешить все» / «Запретить все домены» я не получаю IP-адрес в средстве просмотра событий, но могу получить доступ к общим файлам.
Есть ли у кого-нибудь идеи, как я могу заставить оба работать, или это просто не работает?
Теперь у меня это работает с небольшими изменениями.
Я изменил настройки NTLM на значения по умолчанию, это необязательно, если вы не читали другие статьи и не изменяли эти настройки.
Комментатор указал мне в сторону Идентификатор события 4625 без IP-адреса источника. Похоже, что в расширенных журналах регистрируется IP, но не в событии 4625.
Я подписался на следующую статью Доступ к расширенным журналам и добавил ключ реестра для Microsoft-Windows-RemoteDesktopServices-RdpCoreTS/Operational
Затем я изменил одну строку в wail2ban.ps1
файл, чтобы разрешить использование этих журналов
$EventTypes = "Application,Security,System,Microsoft-Windows-RemoteDesktopServices-RdpCoreTS/Operational" #Event logs we allow to be processed
Мне также пришлось изменить wail2ban_config, чтобы также добавить файл журнала и указать идентификатор типа события
# Wail2ban Configuration
[Events]
#[Security]
#4625=RDP Logins
#[Application]
#18456=MSSQL Logins
[Microsoft-Windows-RemoteDesktopServices-RdpCoreTS/Operational]
140=RDP Logins
[Whitelist]
# Add your whitelist here, in the format `IP = Comment`
# Supports plain IPs , e.g. `12.34.56.78 = My Machine`
# Also, ranges, e.g. `11.22.33.0/24 = My Company Range`
Добавление [Microsoft-Windows-RemoteDesktopServices-RdpCoreTS/Operational]
здесь важен раздел.
После того, как я перезагрузился, чтобы изменения реестра вступили в силу, wail2ban начал работать, как ожидалось.
я нашел wbemtest
(запустить), чтобы быть полезным здесь, поскольку вы можете запрашивать журналы и проверять, есть ли Microsoft-Windows-RemoteDesktopServices-RdpCoreTS/Operational
это часть Win32_NTLogEvent
Хотя сейчас у меня это работает, я буду рассматривать решение, предложенное @moteus, поскольку оно выглядит интересным решением, которое можно было бы легко переместить и установить.
Я не думаю, что можно использовать Wail2Ban без изменения источника. Вот как я решаю эту проблему с nxlog и мой SpyLog служба. 1. Я перенаправляю с Microsoft-Windows-RemoteDesktopServices-RdpCoreTS/Operational
событие 140. Это событие имеет IP-адрес. Я нашел это событие в этом ответ
<Input eventlog>
Module im_msvistalog
SavePos TRUE
ReadFromLast TRUE
Channel "Microsoft-Windows-RemoteDesktopServices-RdpCoreTS/Operational"
<QueryXML>
<QueryList>
<Query Id="0" Path="Microsoft-Windows-RemoteDesktopServices-RdpCoreTS/Operational">
<Select Path="Microsoft-Windows-RemoteDesktopServices-RdpCoreTS/Operational">*[System[(EventID=140)]]</Select>
</Query>
</QueryList>
</QueryXML>
</Input>
<Output spylog>
Module om_udp
Host 127.0.0.1
Port 614
Exec $raw_event = "EventID: " + $EventID + "; " + $Message;
</Output>
<Route 1>
Path eventlog => spylog
</Route>
FILTER{ "nxlog-rdp"; enabled = true; source = "net:udp://127.0.0.1:614"; exclude = WHITE_IP; hint = "EventID: 140"; failregex = { "^EventID: 140; A connection from the client computer with an IP address of ([%d%.:]+)"; -- UTF8 "^EventID: 140; Не удалось подключить клиентский компьютер с IP%-адресом ([%d%.:]+)"; }; };