HDFS在CentOS上的安全配置策略
usermod -L)或刪除多余超級用戶賬戶,減少潛在攻擊面。/etc/login.defs文件,設置密碼復雜度要求(如最小長度10位、包含大小寫字母、數字和特殊字符),并啟用密碼過期機制(PASS_MAX_DAYS、PASS_MIN_DAYS)。chattr +i命令將/etc/passwd、/etc/shadow、/etc/group、/etc/gshadow設置為不可修改,防止未授權篡改。su命令使用:編輯/etc/pam.d/su文件,添加auth required pam_wheel.so use_uid,僅允許wheel組用戶使用su切換至root。/etc/profile中添加TMOUT=300(5分鐘無操作自動登出),降低root賬戶長期暴露風險。krb5-workstation(客戶端)和krb5-server(KDC服務器),配置/etc/krb5.conf文件,指定領域(default_realm)、KDC服務器地址(kdc)和管理員服務器地址(admin_server)。kadmin.local命令為HDFS組件(NameNode、DataNode)創建主體(如nn/_HOST@YOUR.REALM.COM、dn/_HOST@YOUR.REALM.COM),并生成密鑰表文件(如hdfs.headless.keytab),存儲于安全路徑(如/etc/security/keytabs/)。core-site.xml,設置hadoop.security.authentication=kerberos(啟用Kerberos認證)和hadoop.security.authorization=true(啟用訪問授權);編輯hdfs-site.xml,配置NameNode和DataNode的主體及密鑰表路徑(如dfs.namenode.kerberos.principal、dfs.namenode.keytab.file)。ssl-server.xml和ssl-client.xml配置文件,啟用客戶端與服務器之間的SSL/TLS加密,保護數據在傳輸過程中不被竊取。hdfs crypto命令創建加密區域(如hdfs crypto -createZone -keyName myKey -path /secure_data),并對現有數據加密(如hdfs crypto -encrypt -path /old_data -keyName myKey),即使磁盤丟失,數據仍保持加密狀態。hdfs dfs -chmod(如700限制目錄僅所有者訪問)、hdfs dfs -chown(如hadoop:hadoop設置所有者)命令設置基本權限;通過hdfs dfs -setfacl命令添加ACL規則(如hdfs dfs -setfacl -m user:user1:rwx /shared_dir),允許特定用戶或組訪問特定資源。dfs.permissions.enabled=true,默認開啟),確保只有經過身份驗證且具備相應權限的用戶才能修改數據,防止未授權篡改。ls、put、delete)和系統事件(如節點啟動/停止),通過log4j.properties文件調整日志級別(如INFO或DEBUG),將日志存儲于安全位置(如遠程服務器),便于后續審計和事件調查。firewall-cmd命令開放HDFS所需端口(如NameNode的8020、DataNode的50010、Web UI的50070),并限制訪問源IP(如僅允許集群內部節點訪問),防止非法訪問。systemctl list-unit-files --type=service查看系統服務,禁用未使用的服務(如telnet、ftp),減少攻擊向量。yum update命令更新CentOS系統和Hadoop組件,修補已知安全漏洞,保持系統安全性。ssh-keygen生成密鑰對,將公鑰(id_rsa.pub)復制到集群所有節點的~/.ssh/authorized_keys文件中,配置SSH無密碼登錄,確保節點間通信安全。