![根据 LDAP / Active Directory 组成员身份限制对网站的访问](https://linux22.com/image/528496/%E6%A0%B9%E6%8D%AE%20LDAP%20%2F%20Active%20Directory%20%E7%BB%84%E6%88%90%E5%91%98%E8%BA%AB%E4%BB%BD%E9%99%90%E5%88%B6%E5%AF%B9%E7%BD%91%E7%AB%99%E7%9A%84%E8%AE%BF%E9%97%AE.png)
我正在尝试根据我们的用户和计算机的 AD 组成员身份设置对外部网站的细粒度控制。
通常,我们会屏蔽 YouTube、Facebook、MySpace 等网站 - 但我们的视频部门需要访问 YouTube;营销部门需要访问 Facebook,等等。我们还有许多 PC 应该可以不受限制地访问 Web。目前,这是使用输入到我们的防火墙配置中的静态 IP 来管理的 - 这很耗时且容易出错,通过 AD 组成员身份来做到这一点要容易得多,而且事实证明我们现有的硬件防火墙不支持这种情况 :(
因此,我们的要求是:
通过 Active Directory 组成员身份控制对特定网站的用户级访问。Active Directory 中“Facebook 用户”组的成员用户可以在办公时间访问 Facebook,无论他们使用哪台计算机,而不属于“Facebook 用户”组成员的用户在办公时间不应访问此网站。我们希望对 5-6 个不同的网站重复此操作,并完全通过 AD 组成员身份管理访问权限。
控制对特定网站的计算机级别访问 - 例如,我想能够使特定域中的计算机成为“Facebook 用户”组的成员,以便使用该计算机的任何用户都可以访问 Facebook,无论该用户的 AD 组成员身份如何。
理想情况下,这一切对最终用户来说都是完全透明的 - 他们不需要再次输入网络凭据。此外,只要可以通过组策略进行管理,设置本地代理等也是可以的。
谢谢,
迪伦
答案1
我们这样做Barracuda Network 的 Web 过滤器,它可以与 Active Directory 集成。您还可以为某些 IP 地址分配特定权限 - 通过 DHCP 或普通的静态配置,可以很容易地确保同一台计算机在您的网络上始终具有相同的 IP 地址。我们之所以选择它,是因为我们喜欢它的报告功能,而且我们得到了一笔好交易。
有许多竞争性的网络过滤解决方案、硬件、软件、开源,甚至基于云的软件即服务解决方案,它们与 Active Directory 集成 - 如果它们这样做,那么它们几乎 100% 可以满足您的需要。
答案2
MIcrosoft ForeFront TMG 可以使用本地安装的防火墙客户端或透明代理来实现这一点。由于客户端知道计算机身份和(!)用户身份,因此可以为它们定义规则。
答案3
看看Palo Alto Networks。
我们有一个他们的盒子,它几乎可以完成您刚才描述的操作,并且它会在应用程序级别执行此操作,而不必为每个网站指定 URL。
答案4
来自开源人群的一句话:我会大声呼喊使用 Squid Cache 来做你想做的事情。
您可以在此处看到一些有关设置和旧版本 Squid 的文档(仍然适用于 Win32 的最新版本的 Squid):http://www.papercut.com/kb/Main/InstallingAndConfiguringSquidNTProxy
实际上,在 Windows 上设置 Squid 以使用 AD 域进行身份验证相当容易。之后,只需设置一个带有所需访问控制的 squid.conf 文件。一开始理解起来有点令人困惑,但一旦你理解了 Squid ACL 模型,你就会发现你可以用它做一些非常疯狂的事情。将基于源 IP 地址(或 DNS 名称)的 ACL 与基于用户和基于时间的 ACL 混合是可能的。ACL 系统确实非常强大。
Internet Explorer 支持对 Squid 进行透明的 NTLM 身份验证(我相信 Chrome 也支持)。我认为 Firefox 或 Safari 尚未成功集成该功能。但是,对于使用 IE 的加入域的 Windows 客户端,它“只是透明地工作”。
我会用代理自动配置脚本而不是尝试使用组策略、脚本等推出代理设置。代理自动配置脚本非常方便。