10 最佳秘密管理软件的应用安全

保护您业务的重要事项。

在使用容器、kubernetes、云和密钥等方面有很多需要考虑的事项。您需要应用和关联身份和访问管理的最佳实践,并选择和执行各种工具。

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

别告诉我您仍然在github中保留着机密信息。

嗯,如果您正在构建可靠的应用程序,那么您的功能很有可能需要访问密钥或其他类型的敏感信息。

这些机密信息可能包括:

  • api密钥
  • 数据库凭据
  • 加密密钥
  • 敏感配置设置(电子邮件地址、用户名、调试标志等)
  • 密码

然而,安全地处理这些密钥可能会变得困难。因此,这里有一些开发人员和系统管理员的技巧:

修补函数依赖关系

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

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

不要将功能直接暴露给用户交互。利用您的云提供商的api网关功能,在您的功能之上添加另一层安全性。

安全验证传输中的数据

确保利用https进行安全通信通道,并验证ssl证书以保护远程身份。

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

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

在安全存储中管理密钥

敏感信息可能会被泄露,如果您忽视采用适当的密钥管理解决方案,则过时的凭据可能会受到彩虹表攻击。请记住不要将密钥存储在应用程序系统、环境变量或源代码管理系统中。

由于缺乏成熟的现成解决方案,许多公司选择构建自己的密钥管理工具。以下是一些您可以利用的解决方案。

vault

hashicorp vault是一个安全存储和访问密钥的工具。

它提供了一个统一的界面来管理密钥,同时保持严格的访问控制和记录全面的审计日志。它是一个保护用户应用程序和基础设施的工具,以减少攻击面和攻击时间。

它提供了一个api,根据策略允许访问密钥。api的任何用户都需要进行验证,并只能查看他们被授权查看的密钥。

vault使用256位aes加密数据,并使用gcm模式。

它可以将数据积累在不同的后端,如amazon dynamodb、consul等等。vault支持将日志记录到本地文件进行审计服务,syslog服务器或直接到套接字。vault记录有关执行操作的客户端、客户端的ip地址、操作和执行操作的时间的信息。

启动/重启始终需要一个或多个操作员来解封vault。它主要使用令牌来工作。每个令牌都分配给可能限制操作和路径的策略。vault的主要特点包括:

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

aws secrets manager

你预计在这个列表中会看到aws。是吧?

aws对每个问题都有解决方案。

aws secrets manager让您快速轮换、管理和检索数据库凭据、api密钥和其他密码。使用secrets manager,您可以安全地分析和管理访问aws云功能、第三方服务以及本地资源所需的秘密。

secrets manager允许您使用细粒度权限管理对秘密进行访问控制。aws secrets manager的主要特点包括:

  • 使用加密密钥在休息时加密秘密。
  • 此外,它会解密秘密,然后通过tls安全传输。
  • 提供调用secrets manager api的代码示例。
  • 具有客户端缓存库,以提高使用您的秘密的可用性并降低延迟。
  • 配置amazon vpc(虚拟专用云)终端点,以使流量保持在aws网络内。

akeyless vault

akeyless vault是一个统一的、端到端的基于saas的秘密管理平台,可以保护所有类型的凭据,包括静态和动态凭据,包括证书自动化和加密密钥。此外,它提供了一种独特的解决方案,用于在遗留、多云和混合环境中安全地访问所有资源(零信任)。

akeyless使用内置的fips 140-2认证和专利技术来保护秘密和密钥;它对客户的秘密和密钥毫无了解。

主要特点包括:

  • 全球可用的基于saas的平台,通过在多个区域和多个云服务之上利用云原生架构,提供内置的高可用性(ha)和灾难恢复(dr)。
  • 先进的秘密管理为静态和动态秘密(如密码、凭据、api密钥、令牌等)提供安全的保险库。
  • akeyless vault可以为所有服务器、应用程序和工作负载提供所有类型的秘密的预配和注入,提供各种插件,允许您连接到所有的devops和it平台,如ci/cd、配置管理和编排工具,如kubernetes和docker。

最快投产时间,因为:

  • saas – 不需要部署、安装或维护
  • 自动迁移已知现有机密存储库中的机密,快速上手

该平台支持另外两个支柱:

  • 零信任应用访问(也称为远程访问),通过提供统一的身份验证和实时访问凭据,使您能够保护无边界应用程序和基础设施。
  • 作为服务的加密,允许客户通过应用级高级fips 140-2认证的加密来保护敏感的个人和商业数据。

keywhiz

square keywhiz有助于处理基础设施机密、gpg密钥环和数据库凭据,包括tls证书和密钥、对称密钥、api令牌和外部服务的ssh密钥。keywhiz是一个处理和共享机密的工具。

keywhiz中的自动化使我们能够无缝分发和设置我们服务所需的关键机密,这需要一个一致且安全的环境。keywhiz的主要功能包括:

  • keywhiz服务器提供用于收集和管理机密的json api。
  • 它仅在内存中存储所有机密,从不写入磁盘。
  • 用户界面采用angularjs制作,因此用户可以验证和使用该界面。

confidant

confidant是一个开源的机密管理工具,以用户友好的方式安全地存储和访问机密。confidant以追加方式将机密存储在dynamodb中,并为每个机密的所有修改生成唯一的kms数据密钥,使用fernet对称身份验证加密。

它提供了一个angularjs的web界面,供终端用户高效地管理机密、服务间的机密表单和变更记录。其中一些功能包括:

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

sops

让我向您介绍一下最近我发现的一个令人难以置信的工具:sops。它是一个支持yaml、json、env、ini和binary等格式的加密文件编辑器。最棒的部分是,它可以使用aws kms、gcp kms、azure key vault、age和pgp加密您的文件。

现在,让我们来看看有趣的地方。想象一下,您正在一台没有直接访问pgp密钥等加密密钥的机器上工作。别担心!sops通过其密钥服务功能来保护您。您可以通过转发套接字,将sops访问存储在远程机器上的加密密钥。这就像拥有您自己的便携式gpg代理一样!

sops采用客户端-服务器模型对数据密钥进行加密和解密。默认情况下,它在进程内运行一个本地密钥服务。客户端使用grpc和protocol buffers向密钥服务发送加密或解密请求。别担心,这些请求不包含任何加密密钥,无论是公钥还是私钥。

我必须强调,密钥服务连接目前缺乏身份验证或加密。强烈建议通过其他方式(如ssh隧道)对连接进行身份验证和加密,以确保安全性。

但是,请稍等!sops可以生成审计日志,以跟踪在受控环境中的文件访问。当启用时,它会记录解密活动在postgresql数据库中,包括时间戳、用户名和解密的文件。非常方便,对吧?

此外,sops还提供了两个便捷的命令,用于将解密的机密信息传递给新进程:exec-env和exec-file。前者将输出注入到子进程的环境中,而后者将其存储在临时文件中。

请记住,文件扩展名决定了sops使用的加密方法。如果您以特定格式加密文件,请务必保留解密时的原始文件扩展名。这是确保兼容性的最简单方法。

sops从工具如hiera-eyaml、credstash、sneaker和password store中汲取灵感。它是一个极好的解决方案,消除了手动管理pgp加密文件的麻烦。

azure key vault

在azure上托管您的应用程序吗?如果是的话,这将是一个很好的选择。

azure key vault使用户能够在一个特定位置管理其云应用程序的所有机密(密钥、证书、连接字符串、密码等)。它与azure中的机密源和目标直接集成。azure外部的应用程序还可以进一步利用它。

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

azure可以帮助实现数据保护和合规要求。

docker secrets

docker secrets允许您轻松将机密添加到集群中,并且仅在相互认证的tls连接上进行共享。然后,数据传达到docker secrets中的管理节点,并自动保存到内部raft存储中,确保数据经过加密。

可以轻松应用docker secrets来管理数据,并将其传输到具有访问权限的容器中。这样可以防止机密在应用程序使用它们时泄露。

knox

knox是社交媒体平台pinterest开发的,用于解决他们手动管理密钥和保持审计追踪的问题。knox使用go编写,并使用rest api与knox服务器进行通信。

knox使用易失性临时数据库存储密钥。它使用aes-gcm和主加密密钥加密存储在数据库中的数据。knox还作为一个docker镜像提供。

doppler

从初创公司到企业,成千上万的组织使用doppler来在不同环境、团队成员和设备之间同步保持其机密和应用程序配置。

无需通过电子邮件、压缩文件、git和slack共享机密;允许团队协作,以便在添加机密后立即获得。doppler通过自动化流程和节省时间为您提供放松的感觉。

您可以创建对常用机密的引用,这样在一些间隔内的单个更新将完成所有工作。在serverless、docker或任何地方使用机密,doppler与您携手合作。当您的技术栈发展时,它保持不变,可以让您在几分钟内上线。

doppler cli了解根据您的项目目录获取密钥的所有信息。如果有任何更改,不用担心,您可以通过单击一次或通过cli和api轻松回滚损坏的修改。

通过doppler,更聪明地工作而不是更辛苦,并免费获得您的秘密管理软件。如果您想要更多功能和好处,请选择每月6美元/席位的入门套餐。

结论

我希望以上内容能给您提供有关一些最佳应用程序凭据管理软件的想法。

接下来,探索数字资产清单和监控解决方案。

类似文章