Войти

Показать полную графическую версию : Запрет RDP к серверам, кроме как с определённых IP.


glukin
14-12-2017, 19:39
Подскажите, может быть было тут уже. Как реализовать скриптом запрет коннекта по RDP к серверам (разные ОС, от 2003 до 2012), кроме как с определенных IP, взятых из текстового файла?

Iska
14-12-2017, 21:34
glukin, расскажите, как это реализовать не скриптом.

glukin
14-12-2017, 21:38
Iska, Вариантов, у меня, собственно, три.
1. Как хотелось бы. Через файрволл винды. Предвижу проблемы, так как реализация в разных версиях винды разная.
2. Через файрволл Касперского, не хотелось бы, так как периодически происходит смена вендора.
3. Через ACL на устройствах СПД. Не хотелось бы, так как придётся подключать к реализации другой отдел, а у них и своих задач хватает.

Iska
15-12-2017, 11:00
1. Как хотелось бы. Через файрволл винды. Предвижу проблемы, так как реализация в разных версиях винды разная. »
А подробнее? Вот буквально, в деталях.

Можете посмотреть готовые примеры управления: https://msdn.microsoft.com/en-us/library/windows/desktop/aa366418(v=vs.85).aspx (последний раздел — «Using the Windows Firewall with Advanced Security scripting API and VBScript»).

lD1PS1l
15-12-2017, 11:32
vpn?

Опиум
15-12-2017, 11:37
glukin,
я сегодня телепат, предположу что вас интересует единовременный или периодический скрипт, исполняемый на серверах, который берет список ip из файла и применяет их на фаервол?

glukin
15-12-2017, 13:36
Опиум, именно так.

glukin
15-12-2017, 16:44
Iska, Вот это то, что нужно, похоже.
Но как туда прикрутить список IP из файла?
' This VBScript file includes sample code that adds a
' Generic Routing Encapsulation (GRE) protocol rule
' using the Microsoft Windows Firewall APIs.


option explicit

Dim CurrentProfiles

'Action
Const NET_FW_ACTION_ALLOW = 1

' Create the FwPolicy2 object.
Dim fwPolicy2
Set fwPolicy2 = CreateObject("HNetCfg.FwPolicy2")

' Get the Rules object
Dim RulesObject
Set RulesObject = fwPolicy2.Rules

CurrentProfiles = fwPolicy2.CurrentProfileTypes

'Create a Rule Object.
Dim NewRule
Set NewRule = CreateObject("HNetCfg.FWRule")

NewRule.Name = "GRE_RULE"
NewRule.Description = "Allow GRE Traffic"
NewRule.Protocol = 47
NewRule.Enabled = TRUE
NewRule.Grouping = "@firewallapi.dll,-23255"
NewRule.Profiles = CurrentProfiles
NewRule.Action = NET_FW_ACTION_ALLOW

'Add a new rule
RulesObject.Add NewRule

Iska
15-12-2017, 17:03
Iska, Вот это то, что нужно, похоже. »
Я тут не специалист, мне не на чем нынче проверять, смотрите сами внимательно, чтоб без «похоже», наверняка.

Но как туда прикрутить список IP из файла? »
А я в этом коде что-то не вижу вообще ни одного IP. Вижу пример добавления протокола, добавления IP не вижу.

Вы ж поймите, в том же классе HNetCfg.FWRule есть свойства LocalAddresses, LocalPorts, RemoteAddresses, RemotePorts, но я тупо не знаю, что именно требуется и в каком виде для описанного Вами. Вы же, полагаю, знаете и можете создать правило «ручками», а потом показать все его характеристики и свойства.

glukin
15-12-2017, 17:13
Iska, ясно, спасибо. Будет возможность проверить в воскресенье, отпишусь.
ПС: теоретически - это будет работать для всех версий, начиная с 2003?

Iska
15-12-2017, 17:25
ПС: теоретически - это будет работать для всех версий, начиная с 2003? »
Можете тупо проверить:
Option Explicit

On Error Resume Next

WScript.Echo TypeName(WScript.CreateObject("HNetCfg.FwPolicy2"))
WScript.Echo TypeName(WScript.CreateObject("HNetCfg.FWRule"))

WScript.Quit
Если на любой из версий увидите две строчки (под cscript.exe) или два сообщения (под умолчальным wscript.exe) — то, вероятнее всего, будет.




© OSzone.net 2001-2012