Некоторые картинки не загружаются из РФ и РК, используйте VPN.
Показаны сообщения с ярлыком WindowsServer. Показать все сообщения
Показаны сообщения с ярлыком WindowsServer. Показать все сообщения

среда, 13 сентября 2023 г.

Add remote app registry

Создать RemoteApp без установки оснастки и дополнительных приложений можно прописав в реестре

Пример на Google Chrome

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList\Applications\Chrome]
"RequiredCommandLine"=""
"Name"="Google"
"SecurityDescriptor"=""
"Path"="C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe"
"ShortPath"="C:\\PROGRA~2\\Google\\Chrome\\Application\\chrome.exe"
"ShowInTSWA"=dword:00000000
"CommandLineSetting"=dword:00000000
"VPath"="%SYSTEMDRIVE%\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe"

И файл RDP

allow desktop composition:i:1
allow font smoothing:i:1
alternate full address:s:SERVER_ADDRESS
alternate shell:s:rdpinit.exe
devicestoredirect:s:*
disableremoteappcapscheck:i:1
drivestoredirect:s:*
full address:s:SERVER_ADDRESS
prompt for credentials on client:i:1
promptcredentialonce:i:0
redirectcomports:i:1
redirectdrives:i:1
remoteapplicationmode:i:1
remoteapplicationname:s:Google
remoteapplicationprogram:s:||Chrome
span monitors:i:1
use multimon:i:1

Powershell Fail2ban for RDP

 Да, можно использовать VPN, разрешенные списки IP адресов и прочее, но бывают случаи, когда требуется прямой доступ к машине без всего этого. Тогда встает вопрос о хотя бы защите от грубого перебора паролей? Есть некоторое количество программ, которые позволяют это сделать, но к сожалению они не являются частью ОС Windows. На просторах интернета был найден скрипт и слегка доработан, можно его использовать повесив в планировщике на событие 4625 журнала безопасность.



Также для работы нужно правило в firewall с именем BlockRDP (читай комментарии к скрипту)


# After first run you need to create firewall rule
# New-NetFirewallRule -DisplayName "BlockRDPBruteForce" –RemoteAddress 1.1.1.1 -Direction Inbound -Protocol TCP –LocalPort 3389 -Action Block
# In action task scheduler. Check name script file 
# %systemroot%\WindowsPowerShell\v1.0\powershell.exe -NoProfile -ExecutionPolicy Bypass -File "C:\ps\ban_rdp_brutfors.ps1"

$log = "C:\ps\blocked_ip.txt"
$interval = 600000; #600000ms = 10min
$count_fail = 5
# фильтр событий в журнале
$XPath = "*[System[Provider[@Name=""Microsoft-Windows-Security-Auditing""]
and Task = 12544
and (band(Keywords,4503599627370496))
and (EventID=4625)
and TimeCreated[timediff(@SystemTime) >= $interval]]]";

$list_IP =@();
$Events = @();
# выбираем события
try { $Events = Get-WinEvent -Logname "security" -FilterXPath $XPath -ErrorAction Stop
}
catch [Exception] {
    if ($_.Exception -match "Не удалось найти события, соответствующие указанному условию выбора.") {
        Write-Host "Не найдены события перебора паролей за последние $($interval/60000) мин.";
        exit;
    }
}
# выбираем IP адреса
$list_IP = $Events | ForEach-Object {
([xml]$_.ToXML()).Event.EventData.Data | Where-Object {$_.Name -eq "IpAddress"} | ForEach-Object {$_."#text"}} | Where-Object {$_ -ne "-" };

$current_ips = @((Get-NetFirewallRule -DisplayName "BlockRDP" | Get-NetFirewallAddressFilter ).RemoteAddress)

foreach ($ip in $list_IP) {
    if ( $((($list_IP | where {$_ -eq $ip}).count) -gt $count_fail) -AND $(($current_ips | where {$_ -eq $ip}).count -eq 0)) {
        (Get-Date).ToString() + " " + $ip + " IP заблокирован за " +  $cnt_try + " попыток за $($interval/60000) мин.">> $log # запись события блокировки IP адреса в лог файл
        $current_ips += $ip
    }
}
$current_ips = $current_ips | gu
if ($current_ips.Length -gt 0) {
    Set-NetFirewallRule -DisplayName "BlockRDP" -RemoteAddress $current_ips
}


вторник, 27 декабря 2022 г.

Windows Port forwarding силами ОС

Появилась задача - перебросить пакеты с порта на VPN интерфейсе сервера на другой VPN интерфейс, при этом на сервере работает RRAS. Силами RRAS не получилось, так интерфейс "внутренний" не имеет такой возможности, а вот netsh portproxy справился на ура:

netsh interface portproxy add v4tov4 listenaddress=10.10.10.2 listenport=6604 connectaddress=192.168.80.1 connectport=6604

А вот так можно удалить проброс:

netsh interface portproxy delete v4tov4 listenaddress=10.10.10.2 listenport=6604

А вот так можно проверить список пробросов:

netsh interface portproxy show all

Контроль:

netstat -ano | findstr :6604

Обязательно должна быть включена служба IP Helper:

sc query iphlpsvc

Отметил, что после перезагрузки правило остается, но не работает (порт не слушается). Может быть это связано с тем, что интерфейс, а соответственно и маршрут, появляются позже. В следующий раз проверю, может достаточно перезагрузить службу, тогда накинем отложенный шедуллер, а может вообще if up для службы OpenVPN бахнем

Источник

Второй источник

Так, перезапуск службы iphlpsvc восстанавливает прослушивание, надо подумать, что с ней делать.

ПыСы, оказывается в виндовом брандмауере можно включить логирование, но перенаправленные пакеты туда не попадают.



А теперь самое веселое, эта плюшка не нужна, если SMART карта поддерживается определенными криптопровайдерами, тогда можно использовать SMART карту сразу на RDP сервере

Версия 5.0.12600 - не сертифицирована, поэтому я использовал вариант с донастройкой и у меня реально заработало О_О