阅读量:2
CentOS 上 HDFS 安全配置指南
一 系统安全基线
- 账户与口令
- 排查并锁定不必要的 UID=0 账户:
cat /etc/passwd | awk -F ':' '{print $1,$3}' | grep ' 0$';锁定命令:passwd -l <用户>。 - 强化口令策略:在 /etc/login.defs 设置
PASS_MIN_LEN 10,要求包含大小写字母、数字与特殊字符。 - 保护关键文件:
chattr +i /etc/passwd /etc/shadow /etc/group /etc/gshadow。 - 限制 root 会话:
echo "TMOUT=600" >> /etc/profile(10 分钟自动注销);仅允许特定组使用 su:编辑 /etc/pam.d/su。
- 排查并锁定不必要的 UID=0 账户:
- 服务与网络
- 仅开放必要端口(如 8020/9000/50070/50075),其余默认拒绝;启用 firewalld 或 iptables 白名单策略。
- 节点间启用 SSH 互信(便于启动/运维),但限制私钥权限为 600,禁用口令登录。
- 全集群 NTP 时间同步,避免 Kerberos 票据异常。
- 加固提示
- 不建议直接关闭 SELinux 或防火墙;如必须临时关闭,应在变更窗口内完成并尽快恢复。
二 启用 Kerberos 强认证
- 安装与初始化
- 安装组件:
sudo yum install -y krb5-server krb5-admin-server krb5-workstation。 - 配置 /etc/krb5.conf:设置默认领域、KDC 与管理服务地址、票据生命周期等。
- 启动服务:
sudo systemctl start krb5kdc、sudo systemctl start kadmind。
- 安装组件:
- 创建主体与密钥表
- 新增主体:
sudo kadmin.local -q "addprinc -randkey hdfs/。@YOUR.REALM.COM" - 导出密钥表:
sudo kadmin.local -q "ktadd -k /etc/security/keytabs/hdfs.keytab hdfs/;设置权限:" chown hdfs:hadoop /etc/security/keytabs/hdfs.keytab && chmod 400 /etc/security/keytabs/hdfs.keytab。
- 新增主体:
- Hadoop 启用 Kerberos
- core-site.xml
hadoop.security.authentication kerberos hadoop.security.authorization true - hdfs-site.xml(示例)
dfs.namenode.kerberos.principal hdfs/ @YOUR.REALM.COM dfs.namenode.keytab.file /etc/security/keytabs/hdfs.keytab dfs.datanode.kerberos.principal hdfs/ @YOUR.REALM.COM dfs.datanode.keytab.file/etc/security/keytabs/hdfs.keytab dfs.namenode.http-authentication.kerberos.principal HTTP/ @YOUR.REALM.COM dfs.namenode.http-authentication.kerberos.keytab /etc/security/keytabs/spnego.keytab
- core-site.xml
- 验证
- 使用
kinit hdfs/获取票据后执行@YOUR.REALM.COM hdfs dfs -ls /验证访问;检查 NameNode/DataNode 日志是否出现 SASL/GSSAPI 认证成功信息。
- 使用
三 权限与 ACL 细粒度控制
- 启用权限与默认掩码
- hdfs-site.xml
dfs.permissions.enabled true fs.permissions.umask-mode 022
- hdfs-site.xml
- 基础权限与属主
- 目录基线:
hdfs dfs -chmod 755 /user、hdfs dfs -chown hadoop:hadoop /user(按实际业务调整属主/属组)。 - 共享目录可设置 粘滞位:
hdfs dfs -chmod 1777 /user/tmp,防止非属主删除他人文件。
- 目录基线:
- ACL 细粒度
- 授予额外用户/组:
hdfs dfs -setfacl -m user::r-x /user/project - 查看 ACL:
hdfs dfs -getfacl /user/project
- 授予额外用户/组:
- 审计与合规
- 启用 HDFS 审计日志(AccessAudit),集中采集并保留至少 90 天;结合 Ranger 实现基于策略的授权与审计。
四 加密与数据保护
- 传输加密
- 启用数据传输加密:
hdfs dfsadmin -setEncryptionPolicy -path /data -policy encrypted(需先创建加密区);或在 hdfs-site.xml 设置dfs.encrypt.data.transfer=true并在集群范围启用 TLS/SSL(如 HTTPS/WebHDFS)。
- 启用数据传输加密:
- 透明数据加密 TDE
- 创建密钥:
hdfs crypto -createZone -keyName zoneKey1 -path /user/secure - 加密目录:
hdfs crypto -encrypt -path /user/secure/data -keyName zoneKey1 - 注意:加密区仅对新写入数据生效,存量数据需迁移或重放写入以完成加密。
- 创建密钥:
- 完整性与备份
- HDFS 默认通过校验和(如 CRC32)保障数据完整性;关键数据实施 定期备份与异地容灾,并定期演练恢复流程。
五 运维与加固清单
- 安全模式与可用性
- 只读维护窗口可手动进入:
hdfs dfsadmin -safemode enter;恢复写入:hdfs dfsadmin -safemode leave;查看状态:hdfs dfsadmin -safemode get。
- 只读维护窗口可手动进入:
- 最小权限与分组治理
- 按业务划分 用户/用户组,遵循 最小权限原则;定期审计 /user、/tmp 等关键目录权限。
- 补丁与监控告警
- 全集群 及时打补丁;启用 主机与HDFS 监控/告警(异常登录、权限变更、NameNode/DataNode 异常、磁盘/副本告警等)。
- 服务最小化
- 关闭不必要的 Web 界面 或限制来源 IP;仅暴露必要端口;禁用未使用的 Hadoop 服务/协议。
以上就是关于“centos hdfs安全配置指南”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm