1. 系统基础安全加固
sudo apt update && sudo apt upgrade,修补Debian系统和Hadoop相关软件包的安全漏洞。/etc/ssh/sshd_config中的PermitRootLogin no),创建普通用户并加入sudo组(useradd -m username && usermod -aG sudo username);通过useradd/groupadd管理HDFS用户和组,使用hdfs dfs -mkdir /user/username创建用户目录并设置所有权(hdfs dfs -chown username:groupname /user/username)。2. SSH安全配置
ssh-keygen -t rsa生成密钥对,将公钥(id_rsa.pub)复制到目标服务器的~/.ssh/authorized_keys文件中,实现无密码登录。/etc/ssh/sshd_config中的Port参数,降低自动化暴力破解风险。sshd_config中设置PasswordAuthentication no,强制使用密钥认证。3. 防火墙规则配置
ufw(推荐)或iptables仅允许必要端口(SSH:22/2222、HDFS NameNode:50070、DataNode:50010、YARN ResourceManager:8088)的入站连接。例如:sudo ufw allow 2222/tcp && sudo ufw allow 50070/tcp && sudo ufw enable。4. Hadoop核心配置安全
hadoop-env.sh中设置JAVA_HOME(指向Debian系统安装的Java路径,如export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64),确保Hadoop运行环境稳定。core-site.xml中配置默认文件系统(fs.defaultFS,如hdfs://namenode:9000)和Hadoop临时目录权限(hadoop.tmp.dir,设置为700)。hdfs-site.xml中启用数据块访问权限检查(dfs.permissions.enabled=true)、设置数据目录权限(dfs.datanode.data.dir.perm=700)、配置NameNode和DataNode存储路径(dfs.namenode.name.dir、dfs.datanode.data.dir)。5. 数据加密保护
core-site.xml中启用SSL/TLS(hadoop.ssl.enabled=true),配置证书路径(hadoop.ssl.keystores.factory.class);在hdfs-site.xml中设置dfs.encrypt.data.transfer=true,加密NameNode与DataNode之间的数据传输。hdfs crypto -createKey -provider URI -keyalg AES -keysize 256),配置core-site.xml中的dfs.encryption.key.provider.path(如hdfs:///encryption_keys.jceks)和hdfs-site.xml中的dfs.encrypt.data.transfer(true),加密HDFS中的敏感数据。6. 权限与访问控制
hdfs dfs -chmod(设置权限,如755)、hdfs dfs -chown(设置所有者,如hdfs dfs -chown user:group /path)管理HDFS文件和目录权限;通过fs.permissions.umask-mode(如0022)设置新创建文件的默认权限。dfs.namenode.acls.enabled=true),使用hdfs dfs -setfacl命令为特定用户或组设置额外权限(如hdfs dfs -setfacl -m user:admin:rwx /data),实现细粒度访问控制。core-site.xml中配置dfs.permissions.superusergroup(如hadoop-admins),指定超级用户组,允许组成员执行管理操作(如修改权限、删除文件)。7. 集中权限管理(可选但推荐)
8. 认证增强(高安全需求)
sudo apt install krb5-user),配置krb5.conf文件(设置KDC服务器、领域等信息);获取Kerberos票据(kinit username);在core-site.xml中启用Kerberos认证(hadoop.security.authentication=kerberos)和授权(hadoop.security.authorization=true),确保只有经过身份验证的用户才能访问HDFS资源。9. 日志与监控
core-site.xml中设置审计日志参数(hadoop.security.audit.log.maxsize=1000000、hadoop.security.audit.log.maxbackupindex=10),记录用户对HDFS的操作(如读、写、删除)。