预算有限初创企业的十大实用安全建议

本文为初创企业提供十项经济高效的安全实践,涵盖密码管理、现代框架开发、边缘安全服务配置、HTTP安全头设置、安全补丁应用、数据备份、集中日志管理、漏洞披露政策、服务容器化和蜜罐令牌部署等关键领域。

预算有限初创企业的实用安全建议

作者:Alex Chapman,自2007年起从事IT安全专业,近期创立bughuntr.io安全培训平台

在安全评估工作中,我经常发现安全措施往往是在产品发布前作为合规要求"临时添加",或是在安全事件发生后才补救。初创企业拥有在项目初期就"内置"安全措施的独特机会,但这常被视为昂贵投入。本文旨在消除这种顾虑,为希望从一开始就发布更安全产品的初创企业提供实用且低成本的建议。

需要明确的是:没有产品是绝对"安全"的,安全不是状态而是过程。但通过以下十个措施,初创企业可以显著降低被黑客攻击的可能性并减轻潜在影响:

1. 使用密码管理器和双因素认证

技术难度:低 | 影响程度:高

新项目需要注册各种在线服务,创建邮箱、SaaS免费账户、服务器凭证等。使用相同密码虽然方便,但会导致账户简单沦陷。黑客经常使用从一个服务窃取的密码尝试登录其他服务。如果你在多服务中使用相同密码,就面临风险。

此外,能记住的密码通常复杂度不足。比较"Start-up Fall2021"和"^zf%Mm3Gxs5BZF!NRhNE5v@oUh6@VBHn",哪个更容易被猜到?密码管理器可帮助维护所有在线服务的安全唯一密码。

同时应启用双因素认证(2FA),要求在正确密码基础上提供第二认证令牌:硬件安全密钥(最安全)、基于时间的动态密码(中等安全)或发送到移动设备的一次性密码(最不安全)。

免费密码管理器:

  • BitWarden
  • KeePass

额外建议:通过免费服务Have I Been Pwned监控账户是否出现在第三方数据泄露中。

2. 采用现代框架开发

技术难度:中 | 影响程度:中

相比已有成熟产品的公司,初创企业可以选择当前最佳软件框架进行开发。现代框架能显著降低引入跨站脚本(XSS)和SQL注入等漏洞的可能性。某些现代框架甚至将可能引入漏洞的函数命名为"dangerous"以示警告。

选择框架时应关注其安全抽象能力和安全实践历史。

3. 配置边缘安全服务

技术难度:低/中 | 影响程度:中

边缘安全服务有多重好处:防护机器人、黑客和DDoS攻击。正确配置后,所有流量都通过边缘服务路由,提供最佳保护。许多边缘安全服务还兼具内容分发网络(CDN)功能,可减轻后端基础设施负载。

对于需要有限支持人员访问的管理、报告或诊断功能,边缘服务可限制仅允许预批准IP地址或提供特定令牌的浏览器访问。这些额外访问限制有助于缓解框架中可能发现的软件漏洞和管理登录页面的密码猜测攻击。

免费安全CDN服务:

  • Cloudflare

4. 启用HTTP安全头

技术难度:低/中 | 影响程度:中

现代浏览器包含众多客户端安全功能,但仅在服务器表明支持时才启用。这些功能通过服务器发送特定HTTP头启用,可(非穷举)阻止用户通过未加密连接加载服务、防止用户浏览器将数据从你的服务泄漏到第三方网站,或阻止你的服务被其他网站框架化。

特别值得关注的是内容安全策略(CSP)头。CSP定义了网站可以加载和执行内容(如脚本、视频和图像)的来源。强大的CSP虽然配置稍复杂,但能完全缓解客户端攻击(如XSS)的风险。

免费配置工具:

  • OWASP安全头项目
  • Security Headers

免费CSP构建评估工具:

  • Report URI CSP生成器
  • Google CSP评估器

5. 应用安全补丁

技术难度:中 | 影响程度:高

自托管应用时(如Digital Ocean),需要确保操作系统和库安全补丁及时应用。这是一个持续过程,因为操作系统和库中的安全漏洞不断被发现和修复。使用DevOps实践和临时基础设施有助于确保每次发布都部署到完全修补的系统。

作为自托管替代方案,有无服务器和平台即服务(PaaS)产品在容器中运行应用,负责操作系统修补。但你仍需确保服务使用的库保持最新安全补丁。

免费无服务器/PaaS服务:

  • Fly.io

6. 备份用户数据和源代码

技术难度:中 | 影响程度:中

面对日益严重的勒索软件威胁,拥有经过验证的用户数据和源代码备份可在攻击或意外中断时节省大量时间和金钱。存储用户数据备份时,确保使用安全存储的密钥加密,防止恶意黑客获取备份文件时泄露。

源代码通常保存在代码仓库中,这些仓库不仅便于多远程开发者协作开发,还提供完整的服务源代码历史。在线代码仓库可为代码提供充分备份。

备份的一个重要因素是必须能够恢复,这只能通过定期测试备份和恢复流程来确认。无法恢复的备份与没有备份几乎一样无用。

免费代码仓库:

  • GitLab
  • GitHub

7. 集中所有日志记录

技术难度:低 | 影响程度:中

成功攻击(或任何其他严重中断)发生时,访问应用和系统日志的区别在于:是能够快速修复情况,还是在黑暗中戴着墨镜、头上套着纸袋盲目拼凑发生了什么。存储在受损系统上的日志不再可信。使用集中日志服务,除了聚合多源日志外,还能提供直到成功攻击发生时的"可信"日志活动源。

免费集中日志服务:

  • Solarwinds Loggly
  • Logz.io

8. 招募白帽黑客

技术难度:低 | 影响程度:高

所有软件都有可能被恶意黑客利用的漏洞,只需查看微软或苹果的月度补丁说明就能发现,即使大公司也不能始终正确。比初创产品存在漏洞更糟糕的是不知道存在漏洞!通过实施漏洞披露政策(VDP),可以为白帽黑客发现影响你产品的安全漏洞时提供沟通渠道。

资金充足时,可考虑进行渗透测试,即聘请专业安全人员主动查找产品中的漏洞。此外,可以启动漏洞赏金计划,激励白帽黑客寻找和报告影响你产品的漏洞。这些都不是廉价选择。

免费VDP工具和指南:

  • Disclose.io政策生成器
  • NCSC漏洞披露工具包

9. 服务容器化

技术难度:高 | 影响程度:高

容器化是在限制性执行环境中运行软件的行为。虽然安全实现容器化所需的技术能力相当高,但实施后可以缓解整类攻击和漏洞(如命令注入)的风险,并严重阻碍权限提升或持久化等利用后攻击。

10. 部署蜜罐令牌

技术难度:低 | 影响程度:高

即使实施了以上所有措施,初创企业仍不能免疫攻击(不幸的是)。虽然你已经做了所有合理(甚至更多!)的安全措施,但社会工程、0day、供应链攻击等仍可能被利用来破坏你的服务。如果攻击成功,你希望尽快知道!攻击者喜欢尽可能长时间隐藏存在,他们通常不想广告自己的存在。蜜罐令牌通过创建诱人目标(文档、配置文件、服务)并在被访问时创建警报,帮助你发现这些恶意黑客。这些可作为攻击正在发生的可靠指示,你应该开始调查。

免费蜜罐令牌生成工具:

  • Canary Tokens

结论

能够应用所有十项建议的初创企业在安全方面将远胜同行,即使只应用少数几项也能显著降低成功攻击的可能性并减轻潜在影响。安全作为过程对早期初创企业来说在时间和金钱上可能看似成本高昂,但从一开始就纳入安全流程的成本要低得多,而拥有这些措施的成本比从攻击中恢复的成本低数个数量级。

附言

如需帮助实施这些策略、讨论初创企业安全或邀请我作为活动演讲嘉宾,我可提供自由职业咨询。欢迎联系讨论需求、可用性和费率。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计