数据库/ Web服务器和SQL Server安装程序 – 安全性?

这似乎很基本,但我找不到答案已经…我们正在寻找部署一个网站到IIS服务器,数据库到一个单独的服务器。 我们不确定如何最好地保护内部用户和互联网的访问。

IIS服务器没有连接到域,目前也没有数据库。 应该是吗? 另外,如果我们使用SQL Server身份validation而不是Windows身份validation,那么我们是否应该将用户/密码硬编码到我们的内部应用程序中?

我想这归结于如果你信任你的域pipe理员和域。 如果您怀疑域pipe理员是腐败的,并且最可能的黑客攻击您的系统,您可能不想join域,否则join域应该有安全好处,例如参与组策略。

当SQL和IIS位于不同的盒子上时,通常最好的办法就是使用SQL身份validation,因为设置委派是棘手的,许多服务器pipe理员不知道该怎么做。 如果你能弄明白,Windowsauthentication是最好的。

如果您无法避免使用密码,请尽可能encryption密码。

这里有几个问题:

  1. 问:面向公众网站的Web /数据库服务器应直接连接到您的内部networking吗?
    一个。

    一定不行!!

    这是2011年,我甚至会质疑为什么你的网站托pipe在同一处所作为你的内部用户。 除非你的处所实际上是在一个数据中心,然后你想确保面向互联网的箱子在DMZ或完全独立的networking中。 成本是没有借口的,有很多VPS可以做更好的便宜,然后在内部做什么。

    2. 问:如何最好地保护内部用户和互联网的访问?
    答:假设你的内部用户是你的系统pipe理员,只允许你的系统pipe理员通过rdp进行访问,阻止所有其他stream量进出你的内部networking和面向公众的盒子。 如果他们的需求比较复杂,可以考虑为他们设置一个非点对点的VPN。

    3. 问:如果我们使用SQL Server身份validation而不是Windows身份validation,那么我们是否应该将用户/密码硬编码到我们的内部应用程序中?
    答:这实际上是一个应用程序devise选项。 避免使用硬编码密码以明文forms存储连接string! 是的,避免它的最好方法是使用Windows身份validation。 假设你使用类似asp.net的东西,有些方法可以encryptionweb.config,即使应用程序不支持encryption。