【应用安全】8个最佳机密管理软件,提高应用程序安全性

确保对您的业务重要的东西。

当库伊特在那里工作的时候,想很多关于云的秘密。除了选择和执行各种工具外,您还必须采用和关联身份和访问管理方面的最佳实践。

无论您是开发人员还是系统管理员专业人员,您都需要明确指出,您有正确的选择工具来确保您的环境安全。应用程序需要访问适当的配置数据才能正确运行。虽然大多数配置数据是非敏感的,但有些数据需要保密。这些线被称为秘密。

好吧,如果您正在构建一个可靠的应用程序,那么您的函数很可能需要访问您保存的机密或任何其他类型的敏感信息。这些秘密包括:

  1. API密钥
  2. 数据库凭据
  3. 加密密钥
  4. 敏感配置设置(电子邮件地址、用户名、调试标志等)
  5. 密码

然而,安全地处理这些秘密可能会在以后被证明是一项艰巨的任务。因此,以下是对开发人员和系统管理员的一些提示:

修补功能依赖项

始终记住跟踪函数中使用的库,并通过持续监视来标记漏洞。

使用API网关作为安全缓冲区

不要将函数精确地暴露给用户交互。利用云提供商的API网关功能,在您的功能之上包含另一层安全性。

保护和验证传输中的数据

请确保利用HTTPS作为安全通信通道,并验证SSL证书以保护远程身份。

遵循应用程序代码的安全编码规则

由于没有服务器可攻击,攻击者会将注意力转向应用程序层,因此请格外小心保护您的代码。

在安全存储中管理机密

敏感信息很容易被泄露,如果您忽视采用适当的秘密管理解决方案,过期的凭证很容易受到彩虹表攻击。记住不要在应用程序系统、环境变量或源代码管理系统中存储机密。

由于缺乏知识和资源等原因,合作世界的关键管理非常痛苦。相反,一些公司将加密密钥和其他软件机密直接嵌入到使用它们的应用程序的源代码中,从而带来了泄露机密的风险。

由于缺乏太多现成的解决方案,许多公司都在寻求建立自己的机密管理工具。这里有一些,你可以利用你的需求。

Vault

HashiCorp Vault是一个安全存储和访问机密的工具。

它提供了一个统一的秘密接口,同时保持严格的访问控制和记录全面的审计日志。它是一种保护用户应用程序和基础的工具,在出现漏洞时限制表面空间和攻击时间。它提供了一个API,允许基于策略访问机密。API的任何用户都需要验证并且只查看他有权查看的机密。

使用256位AES加密保险库数据。

它可以在各种后端(如Amazon DynamoDB、Consult等)中积累数据。对于audit services,Vault支持记录到本地文件、Syslog服务器或直接记录到套接字。Vault将记录有关执行操作的客户端、客户端IP地址、操作以及执行操作的时间的信息

启动/重新启动总是需要一个或多个操作员打开保险库。它主要使用代币。每个令牌被赋予一个策略,该策略可以约束操作和路径。保险库的主要功能包括:

  • 它在不存储数据的情况下对数据进行加密和解密。
  • Vault可以根据需要为某些操作生成机密,例如AWS或SQL数据库。
  • 允许跨多个数据中心进行复制。
  • 保险库具有内置的秘密撤销保护。
  • 用作具有访问控制详细信息的机密存储库。

AWS机密管理者

你期望AWS出现在这个列表上。你不是吗?

AWS有解决所有问题的方法。

AWS Secrets Manager使您能够快速旋转、管理和检索数据库凭据、API密钥和其他密码。使用Secrets Manager,您可以保护、分析和管理访问AWS云、第三方服务和本地功能所需的机密。

机密管理器使您能够使用细粒度权限管理对机密的访问。AWS Secrets Manager的主要功能包括:

  1. 使用加密密钥加密静态机密。
  2. 然后通过TLS安全地传输秘密
  3. 提供有助于调用Secrets Manager API的代码示例
  4. 它有客户端缓存库来提高可用性并减少使用机密的延迟。
  5. 配置Amazon VPC(虚拟私有云)端点,以保持AWS网络内的流量。

Keywhiz

Square Keywhiz帮助处理基础设施机密、GPG密钥环、数据库凭据,包括TLS证书和密钥、对称密钥、API令牌和外部服务的SSH密钥。Keywhiz是一个处理和分享秘密的工具。

Keywhiz的自动化使我们能够无缝地分发和设置服务的基本机密,这需要一个一致和安全的环境。Keywhiz的主要特点是:

  • Keywhiz服务器提供用于收集和管理机密的JSON api。
  • 它只将所有秘密存储在内存中,从不重现到磁盘上
  • 用户界面是用AngularJS制作的,因此用户可以验证和使用UI。

Confidant

confident是一个开源的秘密管理工具,它可以安全地维护用户友好的存储和对机密的访问。confidentint在DynamoDB中以追加的方式存储秘密,并使用Fernet对称认证密码学为每一次修改生成一个唯一的KMS数据密钥。

它提供了一个AngularJS web界面,为最终用户提供了高效管理机密、服务机密形式和更改记录的功能。其中一些功能包括:

  • KMS身份验证
  • 静态加密版本化机密
  • 用于管理机密的用户友好的web界面
  • 生成可应用于服务到服务身份验证或在服务之间传递加密消息的令牌。

Strongbox

Strongbox是一个方便的工具,用于处理、存储和检索访问令牌、私有证书和加密密钥等机密。Strongbox是一个客户端便利层。它为您维护AWS资源,并安全地配置它们。

通过深度搜索,您可以快速有效地检查您的整套密码和机密。您可以选择在本地或云上存储凭据。如果选择云,则可以选择存储在iCloud、Dropbox、OneDrive、Google Drive、WebDAV等。

Strongbox与其他密码安全兼容。

Azure密钥库

在Azure上托管应用程序?如果是,那么这将是一个不错的选择。

Azure密钥保险库允许用户在特定位置管理其云应用程序的所有机密(密钥、证书、连接字符串、密码等)。它与Azure中秘密的来源和目标集成在一起。它可以被Azure之外的应用程序进一步利用。

您还可以通过将加密密钥存储在云中(而不是内部部署)来减少云应用程序的延迟,从而提高性能。

Azure可以帮助实现数据保护和法规遵从性要求。

Docker secrets

Docker secrets允许您轻松地将机密添加到集群中,并且它只在相互验证的TLS连接上共享。然后数据到达Docker secrets中的manager节点,并自动保存到内部Raft store中,保证数据加密。

Docker secrets可以很容易地应用于管理数据,从而将数据传输到有权访问数据的容器。它可以防止机密在应用程序用完时泄露。

Knox

由社交媒体平台Pinterest开发的Knox解决了他们手工管理密钥和保持审计跟踪的问题。Knox是用Go编写的,客户机使用restapi与Knox服务器通信。

Knox使用易失性临时数据库来存储密钥。它使用带有主加密密钥的AES-GCM对存储在数据库中的数据进行加密。Knox也可以作为Docker映像提供。

结论

我希望上面的内容能让您了解一些管理应用程序凭据的最佳软件。

 

原文:https://geekflare.com/secret-management-software/

本文:http://jiagoushi.pro/node/1085

讨论:请加入知识星球【首席架构师圈】或者小号【jiagoushi_pro】