小型办公室VPN:让它远离域控制器
唯一的服务器承载着目录的信任,而VPN面向互联网。当暴露或恢复使这种组合成为糟糕的交易时,请分离这两个角色。
三个条件决定办公室唯一的Windows服务器是否也应终止VPN:你愿意在目录上运行多少面向互联网的软件、能否在没有该角色的情况下验证远程用户,以及主机重启时你的管理访问会发生什么。只要三者中有一个答案不佳,就应分离角色。办公室规模小改变的是预算,而不是风险。
域内每台机器都信任域控制器;而互联网上的任何人都能访问VPN网关。这种不对称正是全部论点。
两项工作,两种不同的暴露画像
网关接受来自外部的连接,因此它的监听器、TLS栈和身份验证面都可从不可信网络访问。目录持有其他机器所信任的权威,因此Microsoft的加固指南将域控制器角色及其托管环境视为特别敏感。添加到该主机的每项服务都继承目录的信任位置,同时增加自身的攻击面。安装便利不是信任边界。
分离角色并不能消除依赖。远程用户仍然需要身份验证、路由、DNS和访问规则,而跳过这些的网关并非更安全,只是更没用。
没有目录角色也能完成身份验证
网关可以通过受支持的外部集成验证凭据,而无需自行托管目录。无论该集成是什么,都给它一个权限与目的相符的账户:读取身份验证所需的属性,仅此而已。接纳VPN用户从不需要把他们的普通账户变成域管理员,也从不要求网关保存一份目录副本。
然后限定远程客户端真正需要的网络路径。访问一个内部文件服务,加上该工作流所依赖的名称解析和身份服务,是一组明确的路径。这不是允许从VPN地址池访问域控制器的每个端口或每个管理界面的理由。
一台主机仍然是一个故障域
同一台虚拟机管理程序上的两个来宾会分开各自的操作系统配置,却分不开命运。管理程序的管理员、虚拟交换、存储和备份仍是设计的一部分,而主机重启会同时移除两项服务。因为图上画了两台VM就称之为高可用,是常见且昂贵的错误。如果唯一的回程要经过该主机上的VPN,一次故障就会夺走修复它所需的连接。
因此,要规划一条不依赖隧道的独立管理路径,并写明维护期间哪些仍可用。分别安排网关更新和目录维护,并注明每次中断会影响哪些用户或应用。
需要VPN保持在线才能修复VPN的维护窗口,不是维护窗口。
迁移时不要把自己锁在门外
如果两个角色已经共用一套安装,避免仓促进行远程迁移。清点网关今天拥有的东西:地址、转发规则、NAT、DNS设置、身份验证配置以及任何已发布的服务。在移动监听器或更改默认路由之前,同时准备好替换方案和回退路径。然后通过新的边界测试普通远程用户的真实工作,并确认不必要的管理访问仍然失败。
目标不是更漂亮的图。目标是能够在不碰那台为整个办公室锚定目录信任的机器的情况下,修复或重建VPN。这是两个不同的目标,而只有其中一个需要第二台服务器。
无论选择哪条路,都记录决定,包括会重新开启该决定的条件。小办公室会成长,适合一台服务器的答案未必适合下一台。