1. 启用Kerberos认证(身份验证核心)
Kerberos是HDFS安全的基础,通过第三方认证确保用户身份合法性。配置步骤包括:安装Kerberos客户端并配置krb5.conf文件;在Hadoop集群中配置core-site.xml,设置hadoop.security.authentication=kerberos;获取并分发Kerberos票据(使用kinit命令)。启用后,所有访问HDFS的用户必须先通过Kerberos认证。
2. 配置细粒度访问控制
chmod(设置权限,如755)、chown(更改所有者,如hdfs dfs -chown user:group /path)命令管理。需开启dfs.permissions.enabled=true(hdfs-site.xml)以激活权限检查。dfs.namenode.acls.enabled=true(hdfs-site.xml),使用hdfs dfs -setfacl -m user:alice:rwx /path添加权限,hdfs dfs -getfacl /path查看权限。3. 强化数据加密
ssl-server.xml、ssl-client.xml)。hdfs crypto -createZone -keyName myKey -path /encrypted_zone)。4. 审计与监控(安全追溯)
启用审计日志记录所有HDFS操作(如读、写、删除),便于后续审计和追踪。配置core-site.xml中的hadoop.security.audit.log.path(指定日志路径,如/var/log/hadoop-hdfs/audit.log)、hadoop.security.audit.log.maxsize(单日志文件最大大小,如10MB)、hadoop.security.audit.log.maxbackupindex(日志保留份数,如10)。同时,使用监控工具(如Prometheus+Grafana)实时跟踪集群状态,设置告警规则(如异常登录、大量删除操作)。
5. 用户与组管理(权限基础)
sudo adduser hadoop),并通过hdfs dfs -mkdir /user/hadoop、hdfs dfs -chown hadoop:hadoop /user/hadoop设置HDFS目录权限。r-x权限访问公共目录,管理员拥有rwx权限。6. 配置安全参数(基础防护)
hdfs-site.xml中设置dfs.permissions.enabled=true,强制启用权限检查。fs.permissions.umask-mode参数设置新生成文件/目录的默认权限(如022,文件权限为644,目录权限为755),减少未授权访问风险。hdfs dfsadmin -safemode leave)。7. 防火墙与网络隔离(外部防护)
使用防火墙(如iptables)或云安全组限制对HDFS服务的访问,仅允许信任的IP地址访问HDFS端口(如NameNode的8020端口、DataNode的50010端口)。例如,iptables规则:iptables -A INPUT -p tcp --dport 8020 -s trusted_ip -j ACCEPT。
8. 定期维护与更新
/user目录),并将副本存放在异地位置。制定数据恢复流程,确保故障时快速复原。hdfs dfs -ls -R /path),确保权限符合当前业务需求,删除闲置用户和组。