这似乎很基本,但我找不到答案已经…我们正在寻找部署一个网站到IIS服务器,数据库到一个单独的服务器。 我们不确定如何最好地保护内部用户和互联网的访问。
IIS服务器没有连接到域,目前也没有数据库。 应该是吗? 另外,如果我们使用SQL Server身份validation而不是Windows身份validation,那么我们是否应该将用户/密码硬编码到我们的内部应用程序中?
我想这归结于如果你信任你的域pipe理员和域。 如果您怀疑域pipe理员是腐败的,并且最可能的黑客攻击您的系统,您可能不想join域,否则join域应该有安全好处,例如参与组策略。
当SQL和IIS位于不同的盒子上时,通常最好的办法就是使用SQL身份validation,因为设置委派是棘手的,许多服务器pipe理员不知道该怎么做。 如果你能弄明白,Windowsauthentication是最好的。
如果您无法避免使用密码,请尽可能encryption密码。
这里有几个问题:
这是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。