我按照此处的说明加密 MariaDB 中的数据库: https://mariadb.com/kb/en/mariadb/data-at-rest-encryption/
显然,它要求我们生成一个用于加密数据库的密钥。我们可以简单地向它提供密钥,但它还允许我们使用如下密码进一步加密密钥:
openssl enc -aes-256-cbc -md sha1 -k secret -in keys.txt -out keys.enc
my.cnf
[mysqld]
file_key_management_encryption_algorithm=aes_cbc
file_key_management_filename = /home/mdb/keys.enc
file_key_management_filekey = secret
但是加密密钥如何能进一步提高安全级别?想象一下硬盘驱动器被盗的情况,加密密钥如何能使攻击者更难解密数据库数据?
答案1
仅当密钥的密码为不是存储在服务器上。将密钥和密文放在一起是完全没有意义的。
如果您能够在启动时手动输入密钥或者让系统使用 Hashicorp 的 Vault 之类的程序获取并将其存储在 RAM 中,那么肯定会增加一些安全性。