安全的网络应用程序顶级提示

12

我希望您能提供简单有效的步骤来使Web应用程序更加安全。

请分享您的保护Web应用程序的顶级技巧,以及它们可以防止哪种攻击?

6个回答

10

Microsoft Technet有一篇优秀文章:

Ten Tips for Designing, Building, and Deploying More Secure Web Applications(十个设计、构建和部署更安全的Web应用程序的技巧)

以下是该文章回答的提示主题:

  1. 永远不要直接信任用户输入
  2. 服务不应具有系统或管理员访问权限
  3. 遵循SQL Server最佳实践
  4. 保护资产
  5. 包括审计、日志记录和报告功能
  6. 分析源代码
  7. 使用防御深度部署组件
  8. 关闭面向终端用户的详细错误消息
  9. 了解安全管理的10条准则
  10. 拥有安全事件响应计划

我特别喜欢第10条建议!诚然,以前从未想过。 - Filip Dupanović

6

不要相信用户的输入。

验证预期数据类型和格式对于避免SQL注入和跨站点脚本(XSS)攻击至关重要。


4
  1. 转义用户提供的内容以避免XSS攻击。
  2. 使用参数化SQL或存储过程以避免SQL注入攻击。
  3. 将Web服务器作为非特权帐户运行,以最小化对操作系统的攻击。
  4. 将Web服务器目录设置为非特权帐户,同样可最小化对操作系统的攻击。
  5. 在SQL服务器上设置非特权帐户并将其用于应用程序,以最小化对数据库的攻击。

有关更详细信息,请参阅OWASP构建安全Web应用程序和Web服务指南


1

我的一些喜爱:

  1. 过滤输入,转义输出以帮助防范XSS或SQL注入攻击
  2. 使用预处理语句进行数据库查询(防止SQL注入攻击)
  3. 禁用未使用的用户帐户以防止暴力密码攻击
  4. 从HTTP头中删除Apache版本信息(ServerSignature=Off,ServerTokens=ProductOnly)
  5. 在chroot监狱中运行您的Web服务器以限制被攻击时的损害

将“过滤输入”加1,而不是转义。永远不要试图修改用户的无效输入。 - n0rm1e

1

OWASP是你的好朋友。他们的十大网络应用安全漏洞列表包含了每个问题的描述以及如何进行防御。该网站是学习更多关于网络应用程序安全性的良好资源,提供了丰富的工具和测试技术。


0

为 SSL 应用程序的 cookie 设置安全标志。否则,始终存在一种比破解加密更容易进行的劫持攻击。这是 CVE-2002-1152 的核心。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接