在Log4Shell和Spring4Shell网络攻击之后,企业必须吸取三个关键教训以在使用开源软件时保持安全:1.识别风险以开发安全地管理、管理和维护软件供应链,企业必须了解所有环节。为了确保安全,企业需要清楚的清单并真正了解所有正在使用的开源组件。不能盲目信任开源软件组件的出处和安全性。如果像Log4Shell、Spring4Shell和SolarWinds这样的事件教会了人们任何东西,那就是需要更多地了解企业内使用的所有不同软件。这包括它们的开发方式和位置,以及它们在企业中的使用位置,以便在发现漏洞时可以快速解决它们以限制损害。2.不要搞得太复杂第二个问题是企业需要保护自己。在开发框架或库时做好这一点很重要。采用更简单的方法也很重要,这样您就不会在不知不觉中引入漏洞。最好专注于一些事情,而不是糟糕地介绍许多功能。功能越多,出现严重漏洞的可能性就越大。因此,在考虑要为您的产品和服务添加哪些新功能时,请仔细考虑您是否需要它们,并仅使用必要的功能。尽管需要快速行动,但企业需要确保他们花时间真正思考他们需要什么功能以及为什么需要,因为任何超出要求的功能都可能为漏洞打开大门。3.外部化第三,企业在设计和开发不同的应用程序时需要意识到交叉关注点。无论是日志记录、指标、加密通信还是缓存,重要的是要考虑这些持续关注的问题是需要在应用程序内部处理,还是可以在应用程序外部处理。以日志记录为例,许多框架可以将日志发送到不同的位置,包括称为标准输出的输出文件和企业应用程序负责的警报服务。有更好、更安全的方法。相反,请考虑让您的应用程序将日志发送到标准输出,然后利用日志收集器服务将日志发送到所有需要的终端位置。通过将这些问题外部化,开发人员可以减少需要担心的代码和配置,从而减少潜在的漏洞。采取主动措施Log4Shell和Spring4Shell漏洞仅强调组织需要采取主动措施来保护其环境。然而,随着创新的加速,这只会变得更加困难,为企业创造越来越多的机器身份。试图监控和管理所有这些机器身份,同时维护所有软件组件的清单并确保开发保持简单并非易事。今天的企业可能缺乏技能和资源。他们应该利用自动化和安全工具来确保减少漏洞数量,这样它们就不会像Log4j网络攻击那样受到广泛影响。
