去年秋天,当 Jeff 和 StackOverflow 团队接受 Hanselminutes 采访时,Scott 对一些有关保护 StackOverflow 服务器安全的决定提出了批评。
我的问题是,保护网站安全的推荐方法是什么?假设我在单独的物理机器上开发带有 SQL Server 数据库的 ASP.Net 应用程序,我需要采取哪些步骤来保护我的环境免受攻击?
答案1
我想到了一些事情:
- 硬件防火墙后面的 DMZ 中的 Web 服务器
- SQL Server 位于单独的 DMZ/专用网络中,通过硬件防火墙与 Web 服务器隔开
- 卸载/禁用网络服务器上所有不必要的服务。
- Web 服务器不在域中。
- 最小化网络服务器上的本地帐户。
- 由于 Web 服务器指纹识别,请使用 URLScan(即使在 IIS 6.0 上)
- 在 Web 服务器上使用 IPSEC 策略来阻止所有入站/绑定到 SQL Server 的流量仅到必要的端口。
- 使用具有最小权限(无论应用程序需要什么权限来访问数据库)的非特权 SQL Server 登录名作为连接回 SQL Server 的登录名。
- 禁用默认用户帐户。使用非标准名称创建新帐户。使用这些帐户运行服务等。