保障CentOS上Hadoop的安全可从系统基础、认证授权、数据保护、监控审计等方面入手,具体措施如下:
-
系统基础安全
- 禁用非必要超级用户,删除冗余账号,设置强密码策略并定期更新。
- 配置防火墙(firewalld/iptables),限制仅允许必要IP访问Hadoop关键端口(如NameNode、DataNode端口)。
- 禁用不必要的服务,减少攻击面。
- 启用SELinux,根据业务需求定制安全策略。
-
认证与授权管理
- Kerberos认证:集成Kerberos实现强身份验证,配置服务主体(如hdfs/_HOST@REALM)和密钥分发中心(KDC),确保节点间通信可信。
- 访问控制:
- 使用POSIX权限控制文件/目录访问(
hdfs dfs -chmod/chown
)。 - 启用ACL(访问控制列表)实现细粒度权限管理(如
hdfs dfs -setfacl
)。 - 基于角色的访问控制(RBAC),通过Hadoop Ranger/Sentry限制用户对资源的操作权限。
-
数据安全保护
- 传输加密:启用SSL/TLS协议加密节点间数据传输(如配置
hdfs-site.xml
中dfs.encrypt.data.transfer
参数)。 - 存储加密:使用透明数据加密(TDE)保护HDFS静态数据,或通过HDFS加密区(Encryption Zone)对敏感数据加密。
- 数据备份与恢复:定期备份HDFS数据到异地,配置多副本存储(默认3副本)提升容灾能力。
-
审计与监控
- 启用Hadoop审计日志,记录用户操作、服务访问等安全事件,定期分析日志以发现异常。
- 部署监控系统(如Prometheus+Grafana),实时监控集群状态、资源使用及安全告警。
-
其他高级措施
- 配置SSH密钥认证,禁用密码登录,限制root用户远程访问。
- 定期更新系统和Hadoop组件补丁,修复已知漏洞。
参考来源:[1,2,3,4,5,6,7,8,9,10]