1. 身份认证:Kerberos协议强制验证
Kerberos是HDFS核心的身份认证机制,通过票据机制确保只有合法用户能访问集群资源。配置步骤包括:安装Kerberos客户端(krb5-workstation)、编辑/etc/krb5.conf配置领域和KDC信息、为NameNode/DataNode创建Kerberos主体(如nn/_HOST@YOUR.REALM.COM)并生成keytab文件、在core-site.xml中启用Kerberos认证(hadoop.security.authentication=kerberos)、在hdfs-site.xml中配置NameNode/DataNode的principal和keytab路径。
2. 权限控制:细粒度访问管理
HDFS通过标准POSIX权限(用户/组/其他人的读写执行权限)和**ACL(访问控制列表)**实现细粒度访问控制。配置项包括:在hdfs-site.xml中启用权限检查(dfs.permissions.enabled=true,默认开启)和ACL支持(dfs.namenode.acls.enabled=true);使用hdfs dfs -chmod(修改权限)、hdfs dfs -chown(修改所有者)、hdfs dfs -setfacl(添加ACL条目,如-m user:user1:rwx /path)命令管理权限。
3. 数据加密:传输与存储全链路保护
core-site.xml中指定加密算法(如AES-256)和密钥提供者。4. 防火墙隔离:限制非法网络访问
通过firewalld或iptables配置防火墙规则,仅允许受信任的IP地址访问HDFS关键端口(如NameNode的8020/tcp、DataNode的50010/tcp、Web UI的50070/tcp),阻断未授权的网络连接。
5. 审计与监控:追踪安全事件
开启HDFS操作日志记录(通过log4j.properties配置),保存用户的所有操作(如读、写、删除)和系统事件(如权限变更、节点故障);部署专业监控系统(如Prometheus+Granafa),实时跟踪集群运行状态(如DataNode存活数、副本率),及时发现异常行为。
6. 安全加固:降低系统风险
hdfs),通过core-site.xml中的hadoop.security.authorization.superuser.group限制超级用户组;chattr +i命令锁定敏感配置文件(如/etc/shadow、core-site.xml、hdfs-site.xml),防止未经授权的修改。7. 安全模式:启动与维护期间的数据一致性保护
HDFS启动时会进入安全模式,检查数据块副本数量、可用DataNode数量等指标,确保数据完整性。相关配置在hdfs-site.xml中:dfs.namenode.replication.min(最小副本数,默认1)、dfs.namenode.safemode.threshold-pct(达到最小副本数的block占比,默认0.999,即99.9%)、dfs.namenode.safemode.min.datanodes(离开安全模式的最小可用DataNode数量,默认0)、dfs.namenode.safemode.extension(满足条件后维持的时间,默认1毫秒)。常用命令:hdfs dfsadmin -safemode get(查看状态)、hdfs dfsadmin -safemode leave(强制离开)。