题
我正在寻找简单有效的简单步骤来使 Web 应用程序更加安全。
您关于安全 Web 应用程序的重要技巧是什么?它们将阻止哪种类型的攻击?
解决方案
Microsoft Technet 有一篇精彩的文章:
以下是该文章中回答的提示主题:
- 永远不要直接信任用户输入
- 服务不应具有系统或管理员访问权限
- 遵循 SQL Server 最佳实践
- 保护资产
- 包括审核、日志记录和报告功能
- 分析源代码
- 使用纵深防御部署组件
- 关闭针对最终用户的深入错误消息
- 知道 10条安全管理法
- 制定安全事件响应计划
其他提示
不要相信用户输入。
验证预期数据类型和格式对于避免 SQL 注入和跨站脚本 (XSS) 攻击至关重要。
- 转义用户提供的内容以避免 跨站脚本攻击 攻击。
- 使用 参数化SQL 或存储过程来避免 SQL注入 攻击。
- 作为非特权帐户运行网络服务器,以最大限度地减少对操作系统的攻击。
- 再次将网络服务器目录设置为非特权帐户,以最大限度地减少对操作系统的攻击。
- 在 SQL Server 上设置非特权帐户并将其用于应用程序,以最大限度地减少对数据库的攻击。
如需更深入的信息,始终有 构建安全 Web 应用程序和 Web 服务的 OWASP 指南
我最喜欢的一些:
- 过滤器输入,转义输出 帮助防范 XSS 或 SQL 注入攻击
- 使用准备好的语句进行数据库查询(SQL注入攻击)
- 禁用服务器上未使用的用户帐户以防止暴力密码攻击
- 从 HTTP 标头中删除 Apache 版本信息(ServerSignature=Off、ServerTokens=ProductOnly)
- 在 chroot 监狱中运行您的 Web 服务器,以限制受到威胁时造成的损害
在 SSL 应用程序的 cookie 上设置安全标志。否则总会有劫持攻击 很多 比破解密码更容易进行。这就是 CVE-2002-1152 的本质。
不隶属于 StackOverflow