build立安全网站的最佳实践

去年秋天,当Jeff和StackOverflow团队在Hanselminutes进行了访谈时,Scott对于保护StackOverflow服务器的一些决定表示批评。

我的问题是,build议保护网站的方法是什么? 假设我正在单独的物理机器上开发一个带有SQL Server数据库的ASP.Net应用程序,我需要采取哪些步骤来保护我的环境免受攻击?

有些事情想到:

  • 硬件防火墙后的DMZ中的Web服务器
  • 单独的DMZ /专用networking中的SQL Server通过硬件防火墙与Web服务器分开
  • 在Web服务器上卸载/禁用所有不必要的服务。
  • Web服务器不在域上。
  • 最小化Web服务器上的本地帐户。
  • 由于Web服务器指纹,使用URLScan(即使在IIS 6.0上)
  • 在Web服务器上使用IPSEC策略将入站/绑定到SQL Server的所有stream量都阻止到只有必要的端口。
  • 使用具有最小权限(无论它需要访问应用程序的数据库)的非特权SQL Serverlogin名作为连接到SQL Server的login名。
  • 禁用默认用户帐户。 使用非标准名称创build新帐户。 使用这些来运行服务等