安全审查(2)安全战略

学习目标

完成本单元后,您将能够:

  • 确定你的团队中谁负责安全。
  • 列出将帮助您学习开发安全软件的资源。
  • 描述在开发产品时何时考虑安全性。

安全需要所有权

贵公司有关谁可以访问哪些信息的规则。当你今天来工作时,也许你使用钥匙或徽章进入办公室。您可能知道邀请家人和供应商参观的程序。希望你不会经常目睹整个陌生人在周围徘徊,但如果发生了,你就知道该怎么办了!

具体人员负责制定和执行这些规则。有时候甚至有一位负责人像首席安全官那样拥有一个特别的头衔。那个人一直在想你公司信息的安全性。

谁拥有产品的安全性?

您的应用或组件中的客户数据也需要保护,就像公司中的信息一样。你的开发团队是否有首席安全官?

诚然,安全是每个人的责任,但开发人员是忙碌的人,事情可能会因为准备好产品市场而忙碌。为确保安全仍然是重中之重,请考虑为您的团队任命安全倡导者。安全倡导者是您的团队的首席安全官,他们始终都在考虑产品的安全性。

学习编写安全代码

在让团队考虑安全性之后,下一步就是要了解有关构建安全软件的更多信息。有几种可用的资源,其中一些我们在最后一个单元中提到过:

资源 它提供什么
开放Web应用安全项目(OWASP)前10名列表 最常见的网络应用程序漏洞列表
CRUD和字段级安全 Salesforce中的记录级别和字段级别权限
Salesforce安全编码指南 安全审计中常见的一系列网络安全缺陷
Salesforce安全要求清单 技术和产品类型解释的问题

弄脏你的手

如果您真的想要安全编码的全面培训,请查看Develop Secure Web Apps踪迹。它提供了各种Web应用程序漏洞的详细说明和交互式示例。您还可以实时利用每个漏洞并修改源代码以防止它受到影响。

每个人都有责任

您的安全倡导者可以成为您团队的资源,但请记住,安全是每个人的责任。您的开发人员对这些问题越熟悉,他们在解决这些问题时就越好。

安全是关键功能,而不是附加组件

嘿,你正在编写的应用听起来很棒!尽管如此,世界在它启动之前不会看到它。什么时候准备好了?

没有人希望成为产品与其发布之间的一员。你的销售和营销团队不喜欢意外的延迟,他们不会让你忘记它。所以想象一下,如果您的发布日期因为Salesforce产品安全团队发现漏洞而被推回,那么情况会如何紧张。如果这是一个小问题,很容易解决。但是,如果由于基本的安全漏洞而必须回去改变设计,那么您将面临额外的工作,并可能导致很长的延迟。

考虑每个发展阶段的安全性

无论您使用什么方法编写软件,都要确保您的团队从一开始就考虑安全问题。在开发的每个阶段应用安全设计模式和编程实践,并测试您的应用程序是否受到攻击。在整个开发过程中,您可以采取以下几项措施来提高安全性:

  • 设计:最好的错误是你不必修复的错误。没有好的软件设计的替代品,安全的设计每天都会打败不安全的设计。请注意您希望用户如何与功能交互,并确保识别相关的漏洞。然后定义突出显示这些漏洞的特定用例。
  • 实施:如果您每天都有Scrum,请让您的安全倡导者与团队成员一起参与安全的编码策略。代码评论是讨论安全问题的另一个重要论坛。将安全编码指南纳入您的编码风格指南。 (你有一个风格指南,是吗?)
  • 测试:您需要一个特定的计划来测试您的产品的攻击漏洞。设计测试,以便它们具有可重复性,并在应用程序的整个开发过程中一致地应用它们。

要全面了解网络安全和测试,请查看OWASP测试指南。它可以帮助你把自己的计划放在一起。

保护整个产品

当我们谈论构建安全产品时,我们的意思是整个事情。 这包括生活在我们平台之外的部分,比如您在Salesforce之外托管的组件或服务。 别忘了将您可爱的原生移动应用包含在您的安全计划中。 他们也需要保护。

记得:

  • 攻击者只需要一个无人防守的入口点就可以毁掉你的一天。 还是一个月。 一致的安全策略可帮助您创建防弹产品。
  • 安全是每个人的责任,但您可以通过拥有安全拥护者来帮助您的团队记住它。
  • 您的团队可以使用我们提供的交互资源了解安全软件开发。
  • 每个发展阶段都有自己的安全考虑。