OWASP——谁?

2025-06-08

OWASP——谁?

我最近写了一篇简短的文章,推荐了五个适合所有开发人员的播客,无论他们的技术栈是什么;您可以通过以下链接阅读:

在该帖子的评论中,我的好朋友 Sung Kim 这样说道:

哇,杰米,谢谢你提供的每个播客的列表和概要💃。

首先,居然有专门讲 Git 的播客,真是太棒了。
我之前完全不知道 Shawn Wildermuth 有这个播客。

令人惊讶的是,您在播客上投入了大量的时间和精力,并通过OwaspHeaders.Core库帮助其他人关注 OWASP 的安全性

看来你和马丁都对安全很感兴趣。
他有一整套关于信息安全(InfoSec)的播客。

我很想看看你是否可以稍后发布关于 OWASP 是什么以及为什么我们应该更加关注安全性的帖子 😉

基于此,我想写一篇有关 OWASP 的文章,介绍它是什么以及他们的目标是什么。

OWASP

你听说过NIST吧?英国国家网络安全中心呢?这些机构的目标是概述最佳实践和建议,以提高应用程序的安全性。

然而,他们给出的大多数建议通常都很模糊,不适用于大多数服务,或不适用于特定的服务

但是,对于我们所有想要提高应用程序安全性的开发人员来说,该怎么办呢?这就是 OWASP 的作用所在。

OWASP,即开放 Web 应用程序安全项目,是一个非营利组织,其目标可以用他们自己的话来描述:

OWASP 是一个开放社区,致力于帮助组织构思、开发、获取、运行和维护值得信赖的应用程序。OWASP 的所有工具、文档、论坛和章节均免费向所有致力于提升应用程序安全性的人士开放。我们提倡将应用程序安全视为人员、流程和技术问题,因为最有效的应用程序安全方法包括改进所有这些方面。

来源

但这对我有什么帮助呢?

我们都想打造尽可能安全的应用程序,对吧?当然,但入侵你自己的应用程序(或你组织开发的应用程序)可能有点儿像个灰色地带。

这就是创建 OWASP 的原因之一:汇总所有技术堆栈的最佳安全建议。

我通常使用 .NET 技术套件(您可能从我的一些项目中看到这一点),当需要提交我的一个项目进行代码审查和笔测试时,我不知道该去哪里(快速)学习如何保护应用程序。

幸运的是,OWASP 提供了一系列速查表,帮助开发人员快速掌握应用程序的安全,无论他们使用哪种技术栈。其中大部分建议都一目了然(例如,通过参数化 SQL 输入或使用对象关系管理器(例如 Entity Framework)来避免 SQL 注入攻击),但有些建议无法轻易在代码中实现(例如 IIS 设置)。

实施 OWASP 建议

就像单元测试或行为测试一样,将安全性设计到应用中比事后再实现要容易得多。这并不是说无法在现有的代码库中实现,只是实施起来需要付出更多努力和考量。这是因为,从本质上讲,实施安全最佳实践会破坏您当前的代码——尤其是在您匆忙构建应用程序且没有进行正确思考的情况下。

因此,最好尽早掌握他们的建议并将其纳入代码库。物理架构也是如此——在建筑物建成之前,更容易提高其安全性。

如何具体实施 OWASP 建议取决于您用于构建应用程序的框架、技术和语言。我通常使用 .NET(.NET Framework、.NET Core),因此OWASP 推荐的 HTTP 标头列表的实现方式大致如下:

httpContext.Response.Headers.Add("X-XSS-Protection", "1; mode=block");
Enter fullscreen mode Exit fullscreen mode

事实上,上面的代码块添加了X-XSS-Protection标头,其值告诉浏览器在检测到可能的跨站点脚本攻击时停止呈现页面

对于 HTTP 标头,有两种方法可以确保它们被添加到您的网站生成的所有响应中:

  • 在代码中(如上)
  • 在 Web 服务器/反向代理级别

我更喜欢用代码来实现,这样你的应用程序就与 Web 服务器/反向代理无关了。但是,假设你想用 nginx 实现相同的头文件,代码如下:

add_header X-XSS-Protection "1; mode=block";
Enter fullscreen mode Exit fullscreen mode

附注:如果像我一样,使用 ASP.NET Core 进行大量开发,那么您可能需要查看我的OwaspHeaders.Core 项目,或者它的NuGet 包

结论

现在您应该对 OWASP 是谁、是什么以及他们的工作和建议如何帮助您的应用程序更加安全有了更好的了解。

向您展示如何实施所有 OWASP 建议和最佳实践超出了本文的范围,但希望您现在应该掌握足够的信息来度过“未知的未知数”阶段。

让我们使互联网变得更加安全。

鏂囩珷鏉ユ簮锛�https://dev.to/dotnetcoreblog/owasp---who-jck
PREV
顶级 .NET Core 资源
NEXT
我的播客订阅