溫馨提示×

HDFS在CentOS上的安全配置策略

小樊
42
2025-10-11 10:41:31
欄目: 智能運維

HDFS在CentOS上的安全配置策略

1. 系統基礎安全加固

  • 禁用非必要超級用戶:檢查并鎖定(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。
  • 設置root自動登出:在/etc/profile中添加TMOUT=300(5分鐘無操作自動登出),降低root賬戶長期暴露風險。

2. Kerberos身份認證配置

  • 部署Kerberos服務:在集群所有節點安裝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/)。
  • 配置HDFS使用Kerberos:編輯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)。

3. 數據加密策略

  • 傳輸層加密(SSL/TLS):通過Hadoop的ssl-server.xmlssl-client.xml配置文件,啟用客戶端與服務器之間的SSL/TLS加密,保護數據在傳輸過程中不被竊取。
  • 存儲層加密(透明數據加密,TDE):使用HDFS TDE功能,通過hdfs crypto命令創建加密區域(如hdfs crypto -createZone -keyName myKey -path /secure_data),并對現有數據加密(如hdfs crypto -encrypt -path /old_data -keyName myKey),即使磁盤丟失,數據仍保持加密狀態。

4. 訪問控制機制

  • 基于ACL和POSIX權限的細粒度控制:使用hdfs dfs -chmod(如700限制目錄僅所有者訪問)、hdfs dfs -chown(如hadoop:hadoop設置所有者)命令設置基本權限;通過hdfs dfs -setfacl命令添加ACL規則(如hdfs dfs -setfacl -m user:user1:rwx /shared_dir),允許特定用戶或組訪問特定資源。
  • 強一致性訪問策略:啟用HDFS權限校驗(dfs.permissions.enabled=true,默認開啟),確保只有經過身份驗證且具備相應權限的用戶才能修改數據,防止未授權篡改。

5. 安全審計與監控

  • 啟用安全日志審計:配置HDFS日志記錄所有用戶操作(如ls、put、delete)和系統事件(如節點啟動/停止),通過log4j.properties文件調整日志級別(如INFODEBUG),將日志存儲于安全位置(如遠程服務器),便于后續審計和事件調查。
  • 實時監控與告警:使用Prometheus+Grafana等工具監控HDFS集群狀態(如節點存活、磁盤空間、請求延遲),配置閾值告警(如磁盤空間超過80%觸發郵件通知),及時發現并響應潛在安全威脅。

6. 集群與其他安全措施

  • 防火墻規則配置:使用firewall-cmd命令開放HDFS所需端口(如NameNode的8020、DataNode的50010、Web UI的50070),并限制訪問源IP(如僅允許集群內部節點訪問),防止非法訪問。
  • 禁用不必要服務:通過systemctl list-unit-files --type=service查看系統服務,禁用未使用的服務(如telnet、ftp),減少攻擊向量。
  • 更新系統與軟件:定期使用yum update命令更新CentOS系統和Hadoop組件,修補已知安全漏洞,保持系統安全性。
  • SSH無密碼登錄:使用ssh-keygen生成密鑰對,將公鑰(id_rsa.pub)復制到集群所有節點的~/.ssh/authorized_keys文件中,配置SSH無密碼登錄,確保節點間通信安全。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女