ubuntu hdfs安全设置要点
导读:Ubuntu 上部署 HDFS 的安全设置要点 一 身份与访问控制 启用强认证:将 Hadoop 切换为 Kerberos,在 core-site.xml 设置 hadoop.security.authentication=kerbero...
Ubuntu 上部署 HDFS 的安全设置要点
一 身份与访问控制
- 启用强认证:将 Hadoop 切换为 Kerberos,在 core-site.xml 设置 hadoop.security.authentication=kerberos;在 hdfs-site.xml 为主机配置主体与 keytab,例如 dfs.namenode.kerberos.principal=nn/_HOST@EXAMPLE.COM 与 dfs.namenode.keytab.file=/path/to/nn.keytab,DataNode、JournalNode、ZK 等组件也需配置对应主体与 keytab。完成后用 kinit 获取票据验证。
- 启用权限模型:在 hdfs-site.xml 打开 dfs.permissions.enabled=true,确保基于用户/组/其他的 rwx 检查生效。
- 精细化授权:使用 ACL 补充 POSIX 权限,命令示例:为用户添加读写执行权限
hdfs dfs -setfacl -m user::rwx /path/to/dir;查看 ACL:hdfs dfs -getfacl /path/to/dir。 - 代理用户与委托:为需要代理提交作业的服务账号配置 hadoop.proxyuser..hosts 与 hadoop.proxyuser..groups(如 oozie、hive、spark),遵循最小权限原则。
- 统一用户/组映射:确保集群各节点 /etc/passwd 与 /etc/group 一致,或配置 Hadoop 的 用户-组映射 插件,避免因映射不一致导致权限错判。
二 加密与数据保护
- 传输加密:为 HDFS RPC、HTTP(WebHDFS/HTTPS)、DataTransfer 启用 SSL/TLS,配置 dfs.http.policy=HTTPS_ONLY 与相应的 keystore/truststore,防止链路窃听与篡改。
- 存储加密:启用 HDFS 透明数据加密(TDE),为加密区创建 Encryption Zone(EZ) 与 Key Provider(如内置或外部 KMS),对敏感目录(如 /user/hive/warehouse)启用 EZ,确保数据落盘即加密、读取即解密。
- 数据完整性:启用 HDFS 块校验(如 CRC32),并在应用侧结合 MD5/SHA-1 做端到端校验,防止传输/落盘损坏。
- 备份与恢复:对 NameNode 元数据(fsimage 与 edits)、关键配置与 EZ 密钥进行定期离线备份,并进行恢复演练,降低灾难恢复时间。
三 网络安全与主机加固
- 边界与端口:使用 ufw 或云安全组仅放通必要端口(如 8020/9000 RPC、50070/9870 HTTP、50470 HTTPS、50010/1004 DataNode 数据传输 等),默认拒绝。
- 主机加固:
- SSH:禁用 root 登录、更改默认端口、限制可登录用户、使用 密钥登录、开启 Fail2ban。
- 强制访问控制:启用 AppArmor(Ubuntu 默认),为 NameNode/DataNode 进程配置最小权限策略。
- 节点间通信:限制 DataNode 间数据复制 与 JournalNode 通信仅在可信网段内,避免横向渗透。
- 服务最小暴露:对 WebHDFS/REST 接口启用 HTTPS 与 鉴权代理,避免明文与匿名访问。
四 审计监控与补丁运维
- 审计日志:启用 NameNode 审计日志,并配置合理的 滚动与保留策略(如 dfs.namenode.audit.log.maxsize、dfs.namenode.audit.log.maxbackup),对关键目录与敏感操作设置告警。
- 监控与告警:对 NameNode/DataNode JMX、HTTP 端点、磁盘/网络、Kerberos 票据有效期 建立监控与阈值告警,异常行为(频繁 403/401、失败登录、异常流量)即时通知。
- 系统与组件更新:启用 unattended-upgrades 自动安全更新,定期升级 Hadoop、JDK、OpenSSL、KMS 等组件,修复已知漏洞。
- 安全模式与一致性:在变更窗口内管理 安全模式(只读、禁止删除/修改),变更前后执行 fsck 与 块报告 校验,确保元数据与数据块一致。
五 快速检查清单
| 检查项 | 期望状态/配置 | 验证命令/方法 |
|---|---|---|
| 身份认证 | Kerberos 启用,各组件 keytab 到位 | klist;各进程以 keytab 启动;日志无 SASL 失败 |
| 权限与 ACL | dfs.permissions.enabled=true;敏感目录最小权限 + ACL | hdfs dfs -ls -d /user/hive/warehouse;hdfs dfs -getfacl /path |
| 加密 | RPC/HTTP 启用 TLS;敏感目录为 EZ | 浏览器访问 9870/50470 为 HTTPS;hdfs crypto -listZones |
| 网络与防火墙 | 仅放通必要端口与网段 | ufw status;ss -lntp |
| 审计与监控 | 审计日志滚动保留;关键指标有告警 | 查看 NameNode 审计日志;监控平台告警面板 |
| 备份恢复 | 元数据与 EZ 密钥定期离线备份 | 定期恢复演练记录与校验报告 |
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: ubuntu hdfs安全设置要点
本文地址: https://pptw.com/jishu/789518.html
