我们有几个 Web 服务器和几个数据库服务器。到目前为止,它们都是独立的机器,不属于域。Web 服务器之间不通信,Web 服务器通过 SQL Auth 与数据库服务器通信。
我对将机器放在一个域中担心的是
- 增加了复杂性 – 这是另一个正在运行的“东西”,并且所做的事情可能会出错。
- 风险——如果域控制器出现故障,我是否会将其他机器置于危险之中?
但是,在某些情况下,将它们放在域中并共享凭据似乎很方便。例如,如果我想将一台计算机上的“服务”控制权授予另一台计算机(因为远程桌面掷骰子)我需要进入并在多台机器上分配权限 - 我相信 Active Directory 和域帐户的设置可以简化这一点。
我的问题是:我确信这里有些事情我没有考虑到。有最佳实践吗?
答案1
当然,权威人士可以澄清一些事情,但整个 StackOverflow 网络都在 IIS 服务器上运行,并在 Active Directory 域中具有 SQL 后端。我认为它运行良好。
- 增加了复杂性 – 这是另一个正在运行的“东西”,并且所做的事情可能会出错。
有时增加复杂性可以让你减少一些复杂性。特别是如果你担心扩展,拥有一个域可以大大简化添加服务器、更改配置和任何其他事情的工作。组策略和集中管理的脚本可以做很多事情来减轻你的生活。
- 风险——如果域控制器出现故障,我是否会将其他机器置于危险之中?
这就是为什么你有两个域控制器,并且不要让它们从互联网上可访问。如果有人入侵你的网站,你无论如何都会被攻击。这就是为什么让你的 AD 域成为只是如果可能的话,适合你的应用环境。
最后,微软设计了其环境以在 AD 中工作。当 AD 参与仲裁身份验证并鼓励使用安全协议时,服务器间通信会更轻松、更安全。
答案2
不只是想想 AD 的成本,想想它增加了什么
- 集中账户管理
- 设定能力并执行一致的安全政策
- 集中软件部署的能力
- 自动化实际操作系统安装的能力
所有这些都可以降低复杂性并提高在线网站的安全性——通过集中化,您可以更轻松地进行一致部署。
当然,这与正确/安全部署不同,但这确实意味着,一旦您弄清楚了正确/安全部署的含义,您只需在集中式操作系统映像和设置上正确操作一次,就可以将其一致地推送到新服务器。这对于扩展系统(如果需要)和创建与生产网络相同的测试/开发环境都很有用。
如果您的大多数问题都是由于错误造成的(对于我们大多数人来说,确实如此),那么 AD 可以使自动化和共享资源变得更容易实现,从而减少犯这些错误的机会。
出于上述原因(与 LAN 端不同的域),我们将所有服务器都放在我工作所在的域中。当然,这种方法也有风险和成本。您需要考虑两方面并做出平衡的决定。