本文概述
- 保护应用程序免受常见和意外的攻击
- 保护用户帐户和应用程序资源
- 扫描应用程序中的安全漏洞
- 测试并修复依赖项中的安全性问题
- 执行渗透测试和威胁建模
- 监控活动和文件访问
- 保护静态数据和传输中的数据
- 始终验证数据
- 代码安全
- 实施多因素身份验证
- 实施严格的密码策略
- 使用标准的身份验证和授权
- 关键管理流程
- 管理对应用程序和数据的访问
- 进行中
- 自动收集和分析日志
- 保留并审查审核记录
你是否正在为应用程序使用PaaS, 但不确定如何保护它们?
平台即服务(PaaS)是一种云计算模型, 它提供了一个平台, 客户可以在该平台上开发, 保护, 运行和管理Web应用程序。它提供了一个优化的环境, 使团队可以开发和部署应用程序而无需购买和管理基础IT基础架构和相关服务。
通常, 该平台提供必要的资源和基础架构, 以支持软件开发和部署的整个生命周期, 同时允许开发人员和用户从Internet上的任何位置进行访问。 PaaS的好处包括但不限于简单性, 便利性, 较低的成本, 灵活性和可伸缩性。
通常, 保护PaaS与我们将要看到的传统本地数据中心有所不同。
PaaS环境依赖于共享的安全模型。提供者保护基础架构, 而PaaS客户则负责保护其托管在平台上的帐户, 应用程序和数据。理想情况下, 安全性从内部部署转移到身份边界安全性模型。
这意味着PaaS客户必须更多地关注作为主要安全边界的身份。需要关注的问题包括保护, 测试, 代码, 数据和配置, 员工, 用户, 身份验证, 操作, 监视和日志。
有很多事情要做。是不是
不用担心让我逐步指导你。
保护应用程序免受常见和意外的攻击
最好的方法之一是部署实时自动保护解决方案, 该解决方案具有快速, 自动检测和阻止任何攻击的能力。 PaaS订户可以使用平台上提供的安全工具, 也可以寻找满足其要求的第三方选项。
理想的工具应提供实时保护, 同时自动检测和阻止未经授权的访问, 攻击或破坏。
资料来源:comodo.com
它应具有检查异常活动, 恶意用户, 可疑登录名, 不良机器人, 帐户接管以及任何其他可能导致折衷的异常情况的能力。除了使用工具外, 还需要在应用程序中内置安全性, 以便对其进行保护。
保护用户帐户和应用程序资源
每个交互点通常都是一个潜在的攻击面。防止攻击的最佳方法是减少或限制不受信任用户可以访问的应用程序漏洞和资源的暴露。定期自动修补和更新安全系统以减少漏洞也很重要。
尽管服务提供商保护平台安全, 但客户仍然负有保护帐户和应用程序的更大责任。这意味着使用一组安全策略, 例如内置平台安全功能, 附加组件和第三方工具的组合, 可以增强对帐户, 应用程序和数据的保护。而且, 它确保只有授权的用户或雇员才能访问系统。
另一措施是在建立审核机制以识别内部团队和授权外部用户的风险活动的同时, 将具有管理权限的员工人数降至最低。
管理员还应强制执行最少的用户特权。使用此方法, 用户应仅具有使他们能够正常运行应用程序或正确执行其他角色的最少特权。这样可以减少攻击面, 滥用访问权限以及特权资源的暴露。
扫描应用程序中的安全漏洞
执行风险评估, 以识别应用程序及其库中是否存在任何安全威胁或漏洞。利用调查结果来改善对所有组件的保护。理想情况下, 根据应用程序的敏感性和潜在的安全威胁, 定期进行扫描并将其安排为每天自动运行或以任何其他间隔运行。
如果可能, 请使用可与其他工具(例如通信软件)集成或具有内置功能的解决方案, 以在发现安全威胁或攻击时提醒相关人员。
测试并修复依赖项中的安全性问题
通常, 应用程序将同时依赖于直接和间接依赖关系, 这些依赖关系大多是开源的。如果未解决, 这些组件中的任何缺陷都有可能在应用程序中引入安全漏洞。
一个好的做法是分析应用程序的所有内部和外部组件, 执行API渗透测试, 检查第三方网络等等。修复漏洞的一些有效方法包括使用安全版本升级或替换依赖关系, 打补丁等。
Snyk值得尝试监视依赖项中的安全漏洞。
执行渗透测试和威胁建模
渗透测试有助于在攻击者发现和利用安全漏洞之前, 识别并解决安全漏洞。由于渗透测试通常具有攻击性, 因此可能会表现为DDoS攻击, 因此与其他安全团队进行协调以免产生虚假警报非常重要。
威胁建模包括模拟可能来自可信边界的攻击。这有助于验证攻击者是否可以利用设计缺陷。该模型为IT团队提供了威胁情报, 他们可以使用该情报来增强安全性并制定对策以解决任何已发现的弱点或威胁。
监控活动和文件访问
监视特权帐户可以使安全团队获得可见性并了解用户如何使用该平台。它使安全团队可以确定特权用户的活动是否存在潜在的安全风险或合规性问题。
监视并记录用户使用其权限以及文件活动进行的操作。这将查找诸如可疑访问, 修改, 异常下载或上传等问题。文件活动监视还应提供所有访问文件的用户的列表, 以防需要调查漏洞。
正确的解决方案应该能够通过查找并发登录, 可疑活动以及许多失败的登录尝试等问题来识别内部威胁和高风险用户。其他指标包括在异常时间登录, 可疑文件和数据下载或上传等。在可能的情况下, 自动缓解措施将阻止任何可疑活动, 并警告安全团队调查漏洞并解决任何安全漏洞。
保护静态数据和传输中的数据
最佳实践是在存储过程中和传输过程中对数据进行加密。确保通信通道的安全, 可以防止数据通过Internet传输时可能出现的中间人攻击。
如果尚未实现, 请通过启用TLS证书来加密和保护通信通道以及因此传输中的数据, 来实现HTTPS。
始终验证数据
这样可以确保输入数据的格式正确, 有效且安全。
所有数据, 无论来自内部用户还是来自外部受信任和不受信任来源的安全团队, 都需要将数据视为高风险组件。理想情况下, 在上传数据之前, 先在客户端进行安全性验证并进行检查, 以确保只有完整数据才能通过, 同时阻止受感染或感染了病毒的文件。
代码安全
在开发生命周期中分析代码中的漏洞。这从初始阶段开始, 开发人员应在确认代码安全之后才将应用程序部署到生产环境中。
实施多因素身份验证
启用多因素身份验证会添加额外的保护层, 从而提高安全性并确保只有授权用户才能访问应用程序, 数据和系统。这可以是密码, OTP, SMS, 移动应用程序等的组合。
实施严格的密码策略
大多数人使用容易记住的弱密码, 除非强行使用, 否则永远不会更改它们。这是管理员可以通过强制使用强密码策略来最大程度地降低安全风险。
这应该要求使用强密码, 该密码将在设定的时间后过期。另一个相关的安全措施是停止存储和发送纯文本凭据。理想情况下, 对身份验证令牌, 凭据和密码进行加密。
使用标准的身份验证和授权
最佳实践是使用标准, 可靠且经过测试的身份验证和授权机制以及协议, 例如OAuth2和Kerberos。尽管你可以开发自定义身份验证代码, 但它们容易出错和出现漏洞, 因此可能会使系统受到攻击者的攻击。
关键管理流程
使用强加密密钥, 并避免攻击者可以预测的短密钥或弱密钥。另外, 使用安全的密钥分发机制, 定期旋转密钥, 始终按时更新密钥, 在必要时将其吊销, 并避免将其硬编码到应用程序中。
使用自动的和定期的密钥轮换可提高安全性和合规性, 同时限制有风险的加密数据量。
管理对应用程序和数据的访问
使用严格的访问规则来制定和实施可管理且可审核的安全策略。最好的方法是仅向授权员工和用户授予必要的访问权限, 而不再授予其他权限。
这意味着只为执行任务所需的应用程序和数据分配正确的访问级别。另外, 应该定期监视人们如何使用分配的权利, 并撤销他们滥用或不需要的权利。
进行中
有几件事要做。
- 执行连续测试, 定期维护, 修补和更新应用程序, 以识别和修复新出现的安全漏洞和合规性问题。
- 建立资产, 用户和特权的审核机制。然后, 安全小组应定期检查这些内容, 以确认并解决所有问题, 除了撤销用户滥用或不需要的访问权限。
- 制定和部署事件响应计划, 以显示如何解决威胁和漏洞。理想情况下, 计划应包括技术, 流程和人员。
自动收集和分析日志
应用程序, API和系统日志提供了大量信息。部署自动工具来收集和分析日志可提供有用的洞察力, 以了解正在发生的情况。通常, 作为内置功能或第三方附件提供的日志记录服务非常适合验证是否符合安全策略和其他法规以及进行审核。
使用与警报系统集成, 支持你的应用程序技术堆栈并提供仪表板等的日志分析器。
保留并审查审核记录
最佳做法是存储对用户和开发人员活动(例如成功和失败的登录尝试, 密码更改以及其他与帐户相关的事件)的审核跟踪。自动功能可以使用计数器来防止可疑和不安全的活动。
审核线索对于调查是否有漏洞或怀疑攻击有帮助。
总结
PaaS模型消除了购买, 管理和维护硬件和软件的复杂性和成本, 但是将保护帐户, 应用程序和数据的责任交给了客户或订户。这就需要以身份为中心的安全方法, 该方法不同于公司在传统的本地数据中心中使用的策略。
有效的措施包括在应用程序中内置安全性, 提供足够的内部和外部保护以及监视和审核活动。评估日志有助于识别安全漏洞和改进机会。理想情况下, 安全团队必须在攻击者发现和利用威胁之前尽早解决所有威胁或漏洞。
评论前必须登录!
注册