mongoDB 安全架构
1.认证
1.1 用户名加密码---默认认证方式,scram-SHA-1 哈希算法,用户信息存储于mongoDB本地数据库
1.2证书方式--------X509标准---服务端需要提供证书文件启动--------客户端需要证书文件链接服务器---------证书由外部或内部CA颁发
1.3LDAP外部认证--------链接到外部LDAP服务器---------企业版功能
1.4Kerberos外部认证----------------链接到外部Kerberos服务器----企业版本功能
特别:集群认证---keyfile--将通一的keyfile(字符串)拷贝到不同的节点;X509----基于证书认证的模式,推荐不同的节点使用不同的证书
2.鉴权-----基于角色的权限制度
角色=actions*resources
3.审计
3.1记录格式:json文件
3.2记录方式:本地或者syslog
3.3记录内容:dml,ddl,用户认证
3.4配置审计:
企业版
审计到syslog --auditDestination syslog
审计记录写到指定文件---- --auditDestination file --auditFormat Json --auditPath /home/oracle/auditLog.json
--auditFile 针对什么操作
举例:对删除和创建表进行审计记录
--auditDestination file --auditFormat Json --auditPath /home/oracle/auditLog.json --auditFile ‘{atype: {in: ["createCollection","dropCollection"]}}}'
4.加密
加密-----通过TLS/SSL传输
罗盘加盘;
1.生成master key 用来加密每一个数据库的key
2.生成每一个数据库的key,用来加密各自的数据库
3.基于生成数据库key加密各个数据库中的数据
4.key管理(只针对master kEY ,数据库key保存在数据库内部)-----外部server KMIP
字段加密:
4.2新功能(字段加密)
加密字段流程:
客户端查询含有加密的字段
monogodb的驱动程序(链接密钥管理器拿来密钥)
密文发送mogodb
密文匹配
mongo驱动解密
明文返回客户端