cossacklabs/acra
GitHub: cossacklabs/acra
一款数据库安全防护套件,提供字段级加密、可搜索加密、SQL防火墙和入侵检测功能,帮助企业在存储层保护敏感数据并满足隐私合规要求。
Stars: 1475 | Forks: 136
Database protection suite with field level encryption and intrusion detection.
| [Acra 工程示例](https://github.com/cossacklabs/acra-engineering-demo) | [文档和教程](https://docs.cossacklabs.com/acra/) | [安装说明](https://github.com/cossacklabs/acra#installation-and-launch) | [Acra 反馈](#acra-feedback) | | ---- | ---- | ---- | ---- | ## 什么是 Acra Acra —— 用于保护敏感和个人数据的数据库安全套件。 Acra 在一个套件中提供了数据字段的[应用层加密](https://www.infoq.com/articles/ale-software-architects/)、多层访问控制、数据库防泄漏以及入侵检测功能。Acra 专为将数据存储在一个或多个数据库/数据存储中的分布式应用(Web、服务器端和移动端)而设计。
| 完美兼容 Acra 的应用 | 典型行业 |
|---|---|
| 将数据存储在中央数据库或对象存储中的 Web 和移动应用 |
|
| 在云端收集遥测数据并进行数据处理的物联网 (IoT) 应用 | |
| 高负载数据处理应用 |
| 在客户端和/或 Acra 端进行加密——每个数据字段都使用唯一的加密密钥进行加密。 | |
| 您可以选择要加密的列,以平衡安全性和性能。 | |
| 两种加密信封:AcraBlocks 和 AcraStructs。 AcraBlocks 是快速的对称容器,建议默认使用。 AcraStructs 是非对称容器,用于客户端加密。 |
|
| 无需解密即可搜索加密数据。专为精确查询而设计,基于 AES-GCM 和盲索引。 | |
| 使用完全或部分掩码来移除或遮蔽敏感数据。 | |
| 用令牌替换敏感数据,并仅在需要时将其与原始数据匹配。 | |
| 内置的密钥生成、导出、备份、轮换等工具。 | |
| 通过内置的 SQL 防火墙实现。 | |
| 使用毒药记录(蜜罐)来警告可疑行为。 | |
| Acra 企业版用户可用。 | |
| 所有 Acra 功能被打包进一个数据库代理中,该代理解析应用程序与数据库之间的流量,并在适当时应用安全功能。 | |
| API 服务器,通过流量保护将 Acra 的大部分功能作为 HTTP / gRPC API 公开。 | |
| 可选的客户端服务,用于身份验证和传输加密。 | |
| Acra 企业版用户可用。 | |
| 您的基础设施从一开始就是安全的,无需额外配置。 | |
| 没有选择错误密钥长度或算法填充的风险。 | |
| 易于配置和自动化。 | |
| 可通过二进制包或 Docker 镜像集成。 | |
| 只需对应用程序代码进行最少的更改。 | |
| 贯穿所有 Acra 组件; 兼容 ELK stack、Datadog、Graylog、Prometheus、Grafana、Jaeger。 | |
| 提供回滚工具可将数据库解密为明文。 | |
| 提供大量基于 Web 和 Docker 的示例项目。 | |
| 在您的 DigitalOcean 云端运行 AcraServer。 | |
| 我们可以为您设置和管理 Acra。 |
| 默认加密原语来源 | OpenSSL |
| 支持的加密原语来源 ᵉ | BoringSSL、LibreSSL、符合 FIPS、符合 GOST、HSM |
| 存储加密 (AcraBlocks) | AES-256-GCM + AES-256-GCM |
| 存储加密 (AcraStructs) | AES-256-GCM + ECDH |
| 传输加密 | TLS v1.2+ 或 Themis Secure Session |
| KMS 集成 ᵉ | Amazon KMS、Google Cloud Platform KMS、HashiCorp Vault、Keywhiz 等 |


| 云平台 | DigitalOcean、AWS、GCP、Heroku、任何平台 |
| 关系型数据库 (RDBMS) | MySQL v5.7+、PosgtreSQL v9.4-v11、MariaDB v10.3; Google Cloud SQL、Amazon RDS |
| 对象存储 | 文件系统、键值数据库、Amazon S3、Google Cloud DataStore |
| 负载均衡 | HAProxy、云负载均衡器 |
| 服务器端平台 | Ubuntu、Debian、CentOS、RHEL; Docker |
| 客户端应用语言 | 任何语言 :) |
对开发者和运维人员友好:
* 运行单个命令即可部署应用程序、数据库、Acra 组件、日志和仪表板;
* 阅读代码更改,看看将加密集成到客户端应用程序中需要多少精力;
* 通过阅读日志、在 Prometheus 中监控指标、在 Jaeger 中检查链路追踪以及查看 Grafana 仪表板来了解 Acra 是如何工作的;
* 检查 Docker-compose 文件、架构图、数据库表等等。
要求:安装了 Docker 的 Linux 或 macOS。
| ⚙️ [运行 Acra 示例项目](https://github.com/cossacklabs/acra-engineering-demo) ⚙️ |
|---|
## 文档和教程
有关 Acra 的最新版本文档、教程和演示可在官方 [Cossack Labs 文档服务器](https://docs.cossacklabs.com/acra/)上获取。
为了初步了解 Acra,您可能需要:
- [什么是 Acra](https://docs.cossacklabs.com/acra/what-is-acra/) 以获取事物的概述。
- Acra 的[安全控制](https://docs.cossacklabs.com/acra/security-controls/)以了解更多关于加密、掩码、令牌化、SQL 防火墙、入侵检测等的信息。
- 典型的[数据流](https://docs.cossacklabs.com/acra/acra-in-depth/data-flow/),展示了您需要哪些 Acra 组件以及每种组合的优缺点。
- 阅读关于 Acra [架构](https://docs.cossacklabs.com/acra/acra-in-depth/architecture/)和[安全设计](https://docs.cossacklabs.com/acra/acra-in-depth/security-design/)的说明,以更好地了解使用 Acra 时会得到什么,以及 Acra 运行在何种威胁模型中。
您还可以查看 Cossack Labs 工程师在以下演讲中的幻灯片:
- Anastasiia Voitova 的 [“无魔法加密,无痛苦风险管理”](https://speakerdeck.com/vixentael/encryption-without-magic-risk-management-without-pain)。
- Dmytro Shapovalov 的 [“Ruby Web 应用程序的数据加密”](https://speakerdeck.com/shad/data-encryption-for-ruby-web-applications)。
- Artem Storozhuk 的 [“构建 SQL 防火墙:来自开发者的见解”](https://speakerdeck.com/storojs72/building-sql-firewall-insights-from-developers)。
## 示例项目
| ⚙️ [运行 Acra 示例项目](https://github.com/cossacklabs/acra-engineering-demo) ⚙️ |
|---|
## GDPR、HIPAA、CCPA
Acra 可以帮助您遵守现行的隐私法规,例如:
* [通用数据保护条例 (GDPR)](https://gdpr-info.eu/)
* [HIPAA(健康保险流通与责任法案)](https://en.wikipedia.org/wiki/Health_Insurance_Portability_and_Accountability_Act)
* [DPA(数据保护法)](http://www.legislation.gov.uk/ukpga/2018/12/contents/enacted)
* [CCPA(加州消费者隐私法)](https://en.wikipedia.org/wiki/California_Consumer_Privacy_Act)
以指定形式配置和使用 Acra 将涵盖 GDPR 第 25、32、33 和 34 条中描述的大部分要求,以及 HIPAA 的 PII 数据保护要求。阅读更多关于 [Acra 与法规](https://docs.cossacklabs.com/acra/regulations/)的信息。
## 开源版与企业版
这是 Acra 社区版,即 Acra 的开源版本,对商业和非商业使用 💯 永久免费。如果您发现了错误、看到了可能的改进或对安全设计有意见,请在 [Issues](https://www.github.com/cossacklabs/acra/issues) 中告诉我们。
此外还有 [Acra 企业版](https://www.cossacklabs.com/acra/#pricing)。它提供了更好的性能、冗余/负载均衡,预配置了您选择的加密原语(FIPS、GOST),与您技术栈中的密钥/机密管理工具相集成,包含策略管理、客户端 SDK,并为您的运维和 SRE 提供了大量方便操作的实用工具。[联系我们](mailto:sales@cossacklabs.com)以获取完整的功能列表和报价。
## 安全咨询
保护敏感数据需要的不仅仅是让加密代码成功编译。Acra 不会让您“开箱即符合”所有现代安全法规,其他任何工具也不会。
[我们帮助公司](https://www.cossacklabs.com/solutions/security-strategy-advisory/)规划其数据安全战略,通过审计、评估数据流、对数据进行分类以及枚举风险。我们致力于达成合规中最艰难、最不受关注的部分——将其从经营成本”转变为“预防风险的安全框架”。
## Acra 反馈
如果您是 Acra 用户,请留下[简短反馈](https://forms.gle/1pVtknvvRcDpiZYQ8)。
## 许可证
Acra 社区版作为 Apache 2 开源软件授权。
## 联系方式
如果您想提出技术问题,请随时提交 [Issue](https://github.com/cossacklabs/acra/issues) 或发送邮件至 [dev@cossacklabs.com](mailto:dev@cossacklabs.com)。
若要联系 Cossack Labs Limited 的业务部门,请发送电子邮件至 [info@cossacklabs.com](mailto:info@cossacklabs.com)。
[](https://cossacklabs.com/) [](https://twitter.com/cossacklabs) [](https://dev.to/cossacklabs/) [](https://medium.com/@cossacklabs/)标签:CISA项目, DevSecOps, Go语言, ProjectDiscovery, Python工具, SQL, 上游代理, 加密, 合规, 字段级加密, 安全测试工具, 搜索引擎查询, 数据保护, 数据库代理, 数据泄露, 日志审计, 测试用例, 漏洞扫描器, 程序破解, 系统审计, 网络安全, 网络安全, 蜜罐, 证书利用, 请求拦截, 透明加密, 防SQL注入, 隐私保护, 隐私保护