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无密码登录,确保节点间通信安全。