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
),確保權限符合當前業務需求,刪除閑置用戶和組。