防止没有活跃的virusscanner的客户端的VPN连接

有没有办法根据某些安全相关的标准来防止VPN连接,如存在virusscanner和病毒定义?

在我们的例子中,我们有一个Windows Server 2008充当域控制器和RRAS服务器。 我们还在每个客户端上运行ESET NOD32 Business,安装由服务器推送。

你所问的是许多“networking访问保护”(NAP)产品的关键。 就个人而言,我不认为NAP这样的努力,除了“保持诚实的电脑诚实”之外,确实做了任何有用的事情。

从根本上说,您要依靠客户端计算机的可靠性来“真实地”了解您的NAP服务器计算机提出的问题。 您的服务器无法“certificate”远程计算机正在运行给定的程序。 你真的只是采取远程计算机的“好词”。 这是NAP背后的理念中的致命缺陷 – 信任错位。

在保证networking安全方面,我认为最小特权原则是最重要的指导原则。 认识和监控“瓶颈”和攻击媒介,保持操作系统和应用程序的更新,只安装所有计算机(服务器,客户端等)所需的软件,并跟上安全公告。

NAP没有帮助,如果一台机器得到一个rootkit,它可以“说服”本地防病毒等,它没有被感染。 我认为通过最小化攻击面并根据stream量和行为监控来检测攻击还有更多的收获。

就VPN用户而言,我将使用一种VPN,将来自客户端的入站协议限制在一个已知的“允许的设置” – 用于Outlook客户端的RPC-over-HTTP(尽pipe您可以轻松地做到这一点) ,RDP到达固定的台式机或terminal服务器机器,WebDAV获取通过HTTP导出的文件共享等。给VPN客户端不受限制的第三层访问networking肯定暴露了广泛的攻击面。

我会考虑使用VPN技术,部分基于客户端设备身份validation,如果你打算允许更多的无拘无束的第三层访问(即使你不是,如果你担心未经授权的设备连接到VPN)。 假设你的用户在他们的客户端计算机上没有“pipe理员”权限,并且不能从设备中撬出证书并将其安装在任意设备上,那么使用诸如L2TP / IPsec和基于计算机的身份validation之类的东西会花费很长时间防止未经授权的设备连接到VPN。

这可能不是最好的,而是做一些简单的事情的最复杂的方法。

如果您正在使用w2008服务器处理VPN,则可以执行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 

然后你可以适当地比较

威胁pipe理网关与MS Forefront和斯特灵波一起应该为您提供这种function。 听起来非常令人兴奋,但是我只是在微软技术研讨会上听到过这个简短的提及,所以我不能给出进一步的build议。

Symantec Endpoint Protection还可以检测客户端计算机的修补程序级别以及防病毒是否是最新的。 但是它运行在客户端上,用于保护客户端而不是服务器 – 如果客户端上没有安装Endpoint Protection,那么您无法做任何事情。