
На всички, които се опитали да стартират виртуална машина в облака, им е известно, че стандартният RDP порт, ако остане отворен, веднага ще бъде атакуван от вълни от опити за подбиване на пароли от различни IP адреси по целия свят.
В тази статия ще покажа как в можете да настроите автоматичен отговор на опити за подбиване на пароли чрез добавяне на ново правило в защитната стена. InTrust е за събиране, анализ и съхранение на неструктурирани данни, в която вече има стотици предварително зададени реакции на различни типове атаки.
В Quest InTrust можете да настроите действия при задействане на правило. От агента за събиране на логове InTrust получава съобщение за неуспешен опит за авторизация на работна станция или сървър. За да настроите добавянето на нови IP адреси в защитната стена, трябва да копирате съществуващото специализирано правило за откриване на множество неуспешни авторизации и да отворите неговата копия за редактиране:

Събитията в Windows логовете използват така наречените InsertionString. (това е неуспешен логин в системата) и ще видите, че интересуващите ни полета се съхраняват в InsertionString14 (Име на работната станция) и InsertionString20 (Източник на мрежов адрес). При атака от интернет, полето с Име на работната станция вероятно ще бъде празно, затова е важно на това място да подставите стойността от Източник на мрежов адрес.
Приблизително така изглежда текстът на събитието 4625
Неуспешен опит за влизане в акаунт.
Предмет:
Идентификатор на сигурността: S-1-5-21-1135140816-2109348461-2107143693-500
Име на акаунта: ALebovsky
Домейн на акаунта: LOGISTICS
Идентификатор за влизане: 0x2a88a
Тип на влизането: 2
Акаунт, за който неуспешно е опитано влизане:
Идентификатор на сигурността: S-1-0-0
Име на акаунта: Paul
Домейн на акаунта: LOGISTICS
Информация за неуспех:
Причина за неуспех: Акаунтът е заключен.
Статус: 0xc0000234
Под статус: 0x0
Информация за процеса:
Идентификатор на извикващия процес: 0x3f8
Име на извикващия процес: C:WindowsSystem32svchost.exe
Информация за мрежата:
Име на работната станция: DCC1
Източен мрежов адрес: ::1
Източен порт: 0
Подробна информация за удостоверяване:
Процес на влизане: seclogo
Пакет за удостоверяване: Negotiate
Принадлежащи услуги: -
Име на пакета (само NTLM): -
Дължина на ключа: 0
Това събитие се генерира, когато опитът за влизане е неуспешен. То се генерира на компютъра, където е направен опит за достъп.
Полетата на предмета показват акаунта на локалната система, който е поискал влизането. Това най-често е услуга като услугата Server или локален процес като Winlogon.exe или Services.exe.
Полето за тип влизане показва вида на поисканото влизане. Най-често срещаните типове са 2 (интерактивно) и 3 (мрежово).
Полетата за информация за процеса показват кой акаунт и процес на системата е поискал влизането.
Полетата за информация за мрежата показват откъде произхожда отдалеченият опит за влизане. Името на работната станция не винаги е налично и в някои случаи може да бъде оставено празно.
Полетата за информация за удостоверяване предоставят подробна информация за конкретния опит за влизане.
- Принадлежащите услуги показват кои междинни услуги са участвали в този опит за влизане.
- Името на пакета показва кой подсет протокол е бил използван сред протоколите NTLM.
- Дължината на ключа показва дължината на генерирания сесионен ключ. Това ще бъде 0, ако не е поискан сесионен ключ.
Допълнително ще добавим стойността на източния мрежов адрес в текста на събитието.

След това е необходимо да добавим скрипт, който ще блокира IP адреса в брандмауера на Windows. По-долу е пример, който може да се използва за това.
Скрипт за настройка на брандмауера
param(
[Parameter(Mandatory = $true)]
[ValidateNotNullOrEmpty()]
[string]
$SourceAddress
)
$SourceAddress = $SourceAddress.Trim()
$ErrorActionPreference = 'Stop'
$ruleName = 'Quest-InTrust-Block-Failed-Logons'
$ruleDisplayName = 'Quest InTrust: Блокира IP адреси от неуспешни влизания'
function Get-BlockedIps {
(Get-NetFirewallRule -Name $ruleName -ErrorAction SilentlyContinue | get-netfirewalladdressfilter).RemoteAddress
}
$blockedIps = Get-BlockedIps
$allIps = [array]$SourceAddress + [array]$blockedIps | Select-Object -Unique | Sort-Object
if (Get-NetFirewallRule -Name $ruleName -ErrorAction SilentlyContinue) {
Set-NetFirewallRule -Name $ruleName -RemoteAddress $allIps
} else {
New-NetFirewallRule -Name $ruleName -DisplayName $ruleDisplayName -Direction Inbound -Action Block -RemoteAddress $allIps
}
Сега можем да променим името на правилото и неговото описание, за да не възникне объркване по-късно.

Сега е необходимо да добавим този скрипт като ответно действие към правилото, да активираме правилото и да се уверим, че съответното правило е включено в политиката за мониторинг за режим в реално време. На агента трябва да бъде активирана възможността за изпълнение на скрипта за ответно действие и да се посочи правилния параметър.

След като бяха извършени настройките, броят на неуспешните автентикации намаля с 80%. Печалба? О, да!

Понякога малък ръст отново се наблюдава, но това е поради появата на нови източници на атаки. След това всичко отново тръгва надолу.
През седмицата в правилото на защитната стена бяха включени 66 IP адреса.

По-долу е таблица с 10 често употребявани имена на потребители, които са били използвани за опити за автентикация.
Потребителско име
Брой
В проценти
administrator
1220235
40.78
админ
672109
22.46
user
219870
7.35
contoso
126088
4.21
contoso.com
73048
2.44
administrador
55319
1.85
сървер
39403
1.32
sgazlabdc01.contoso.com
32177
1.08
administrateur
32377
1.08
sgazlabdc01
31259
1.04
Споделете в коментарите как сте организирали реакцията на заплахи за информационната сигурност. Каква система използвате и колко е удобна.
Ако искате да видите InTrust в действие, в формата за обратна връзка на нашия сайт или ми пишете на лично съобщение.
Прочетете и другите ни статии по темата за информационната сигурност:
(популярна статия)
Източник: habr.com
