Есть ли способ предотвратить VPN-соединения на основе определенных критериев безопасности, таких как наличие антивирусного сканера и определений вирусов?
В нашем случае у нас есть Windows Server 2008, действующий как контроллер домена и сервер RRAS. У нас также есть ESET NOD32 Business, работающий на каждом клиенте, а установки выполняются сервером.
То, о чем вы спрашиваете, - это суть многих продуктов «защиты доступа к сети» (NAP). Лично я не думаю, что такие усилия, как NAP, действительно приносят что-то полезное, кроме «поддержания честности компьютеров».
По сути, вы полагаетесь на надежность клиентского компьютера, чтобы «действовать правдиво» в отношении того, что ваш компьютер-сервер NAP просит его. Ваш сервер не может «доказать», что на удаленном компьютере запущена данная программа. Вы действительно просто принимаете «доброе слово» этого удаленного компьютера. Это фатальный недостаток идеи, лежащей в основе NAP - доверие неуместно.
Что касается обеспечения безопасности вашей сети, я бы сказал, что принцип наименьших привилегий является наиболее важным руководящим принципом. Знайте и отслеживайте «узкие места» и векторы атак, обновляйте ОС и приложения, устанавливайте только необходимое программное обеспечение на все компьютеры (серверы, клиенты и т. Д.) И следите за бюллетенями по безопасности.
NAP не помогает, если на машине установлен руткит, который может «убедить» локальный антивирус и т. Д., Что он не заражен. Я думаю, что можно добиться большего, минимизируя поверхность атаки и обнаруживая атаки на основе мониторинга трафика и поведения.
Что касается пользователей VPN, я бы использовал VPN, которая ограничивает входящие протоколы от клиентов известным «разрешенным набором» - RPC-over-HTTP для клиентов Outlook (хотя вы можете сделать это без VPN так же легко) , RDP для доступа к стационарным настольным компьютерам или машинам с терминальными серверами, WebDAV для получения общих файловых ресурсов, экспортированных через HTTP, и т. Д. Предоставление VPN-клиентам неограниченного доступа уровня 3 к сети, безусловно, открывает широкую поверхность для атак.
Я бы подумал об использовании технологии VPN, частично основанной на аутентификации клиентских устройств, если вы собираетесь разрешить более неограниченный доступ уровня 3 (и даже если вы этого не сделаете, если вас беспокоят неавторизованные устройства, подключающиеся к VPN). Предполагая, что ваши пользователи не имеют прав администратора на своих клиентских компьютерах и не могут иначе извлечь сертификат с устройства и установить его на произвольное устройство, использование чего-то вроде L2TP / IPsec и компьютерной аутентификации потребует много времени. способ предотвратить подключение неавторизованных устройств к VPN.
Это может быть не лучший, а, скорее, самый сложный способ сделать что-то, что может быть несколько простым.
Если ваша VPN обрабатывается сервером w2008, вы можете выполнить запрос WMI
strComputer = OnConnectEvent(APPROPRIATE VPN INFO)
Set oWMI = GetObject( _
"winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\SecurityCenter")
Set colItems = oWMI.ExecQuery("Select * from AntiVirusProduct")
For Each objItem in colItems
With objItem
WScript.Echo .companyName
WScript.Echo .onAccessScanningEnabled
WScript.Echo .pathToSignedProductExe
WScript.Echo .productState
WScript.Echo .productUptoDate
WScript.Echo .versionNumber
End With
И тогда вы можете соответственно сравнить
Вы можете посмотреть NAP на W2K8:
Threat Management Gateway вместе с MS Forefront и Stirling Wave должны предоставить вам такую функциональность. Это звучало очень захватывающе, но я слышал об этом только краткое упоминание на семинаре по технологиям Microsoft, поэтому я не мог дать никаких дополнительных советов.
Symantec Endpoint Protection также может определять уровни исправлений на клиентских машинах и актуальность антивируса. Но он работает на клиенте и используется для защиты клиентов, а не серверов - если Endpoint Protection не установлен на клиенте, вы ничего не сможете с ним сделать.