一、身份认证:确保访问合法性
core-site.xml配置hadoop.security.authentication=kerberos,并在hdfs-site.xml中启用授权hadoop.security.authorization=true;同时配置KDC(密钥分发中心)、realm信息及客户端票据(kinit命令获取),确保只有通过身份验证的合法用户能访问集群。二、权限管理:精细化控制数据访问
dfs.permissions.enabled=true(默认开启),通过chmod(设置文件/目录权限,如755)、chown(更改所有者,如hdfs dfs -chown user:group /path)、chgrp(更改组,如hdfs dfs -chgrp hbase /path)命令管理基础权限;建议使用umask(如022)限制默认权限,避免过度开放。dfs.namenode.acls.enabled=true,使用hdfs dfs -setfacl命令为特定用户/组添加额外权限(如hdfs dfs -setfacl -m user:hue:rwx /data),解决UGO模型无法满足的细粒度需求(如允许某用户对某目录有写权限但不允许删除)。hdfs,通过dfs.permissions.superusergroup配置超级用户组(如hadoop),限制超级用户数量(移除不必要的超级用户),避免权限滥用。三、数据加密:保障数据传输与存储安全
core-site.xml中的hadoop.ssl.enabled=true及证书路径(如hadoop.ssl.keystore.file),防止数据在传输中被窃取或篡改。hdfs-site.xml配置加密算法(如AES-256)、密钥提供者(如KMS),数据在写入磁盘时自动加密,读取时自动解密,即使磁盘丢失也无法获取明文数据。四、审计与监控:追踪安全事件
core-site.xml中设置审计日志路径(如hadoop.security.audit.log.path=/var/log/hadoop/hdfs/audit.log)、最大大小(如1000000字节)及备份数量(如10),记录用户操作(如read、write、delete)、时间、IP等关键信息,便于事后追溯。五、其他关键措施
firewalld或iptables限制HDFS关键端口(如NameNode的8020、DataNode的50010)的访问,仅允许受信任的IP地址(如运维服务器、客户端IP)接入;云环境中通过安全组实现同样效果。/etc/login.defs中设置PASS_MIN_LEN=10、PASS_REQUIRE_MIXED_CASE=true等),使用chattr +i锁定关键配置文件(如/etc/passwd、/etc/shadow、core-site.xml),防止未授权修改。