hdfs在ubuntu上的安全性配置
小樊
41
2025-12-30 13:36:04
HDFS 在 Ubuntu 上的安全性配置
一 身份与访问控制
- 启用强认证:部署 Kerberos,在客户端与集群间建立可信身份。Ubuntu 节点安装 Kerberos 客户端并配置 /etc/krb5.conf(设置 default_realm、KDC 等),Hadoop 侧将 hadoop.security.authentication 设为 kerberos,为 NameNode/DataNode 等配置服务主体(principal)与 keytab。完成后使用 kinit 获取票据并用 klist 验证。
- 精细化授权:在 HDFS 启用 RBAC 与 ACL,对目录与文件设置最小权限;对跨用户/代理场景配置 hadoop.proxyuser 白名单,避免权限越权。
- 审计与合规:开启 审计日志,记录用户、操作类型与时间,便于追溯与合规检查。
二 加密与数据保护
- 传输加密:为客户端与 NameNode/DataNode 之间启用 SSL/TLS,防止链路窃听与篡改。
- 存储加密:启用 HDFS 透明加密(TDE),对落盘数据进行自动加解密,对用户透明。
- 完整性校验:启用 校验和(如 MD5/SHA-1) 校验,保障数据在传输与存储过程中的完整性。
三 网络安全与主机加固
- 边界防护:使用 UFW 仅开放必要端口(示例:NameNode 50070、DataNode 50075、YARN ResourceManager 8088、NodeManager 8042),并定期审计规则。
- 主机加固:强化 SSH(禁用 root 登录、限制可登录用户、修改默认端口),保持系统与 Hadoop 组件 及时更新/补丁(可使用 unattended-upgrades 自动更新),并启用 AppArmor(Ubuntu 默认)进行强制访问控制。
四 监控备份与恢复
- 实时监控与告警:对集群访问、异常行为与安全事件实施监控并配置告警,缩短响应时间。
- 数据备份与恢复:对关键数据定期备份并做 异地存放,制定并演练 恢复计划,确保在故障或攻击后能快速恢复业务。
五 快速落地清单
- 规划与准备:确定 realm 与 KDC,收集所有节点的 FQDN 与 IP,统一时间(建议 NTP)。
- 部署 Kerberos:在 Ubuntu 安装 krb5-user,配置 /etc/krb5.conf;在 KDC 上创建 HDFS 服务主体 与 keytab,分发到各节点并设置最小权限访问。
- 配置 Hadoop 安全:在 core-site.xml 设置 hadoop.security.authentication=kerberos;在 hdfs-site.xml 配置 dfs.namenode.kerberos.principal、dfs.datanode.kerberos.principal 等;按需设置 hadoop.proxyuser 白名单。
- 启用加密与 ACL:开启 TLS 与 透明加密;按业务划分目录并配置 ACL/RBAC,遵循最小权限原则。
- 加固网络与主机:用 UFW 开放必要端口;加固 SSH;启用 AppArmor;开启 自动更新。
- 验证与演练:使用 kinit/klist 验证票据;执行权限与加密验证;开展 备份恢复演练 与 安全事件演练。