温馨提示×

centos hdfs安全如何配

小樊
47
2026-10-03 11:30:42
栏目: 智能运维

下面按“由浅入深”给你一套 CentOS 上 HDFS 安全配置 的实用方案,涵盖 认证、授权、加密、审计 四个方面,适合生产环境参考。


一、基础安全(必须先做)

1. 系统层安全

# 关闭不必要的端口
firewall-cmd --permanent --add-port=8020/tcp
firewall-cmd --permanent --add-port=50070/tcp
firewall-cmd --reload

# 禁用 root 登录
sed -i 's/^PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config

2. 创建专用用户

useradd -m hdfs
useradd -m yarn

二、HDFS 认证(Kerberos)

1. 安装 Kerberos

yum install -y krb5-server krb5-workstation

2. 配置 krb5.conf

/etc/krb5.conf

[realms]
  EXAMPLE.COM = {
    kdc = centos01
    admin_server = centos01
  }

3. 创建 HDFS 主体

kadmin.local
addprinc -randkey hdfs/centos01@EXAMPLE.COM
ktadd -k /etc/security/keytabs/hdfs.keytab hdfs/centos01@EXAMPLE.COM

4. Hadoop 配置

core-site.xml

<property>
  <name>hadoop.security.authentication</name>
  <value>kerberos</value>
</property>

hdfs-site.xml

<property>
  <name>dfs.namenode.kerberos.principal</name>
  <value>hdfs/_HOST@EXAMPLE.COM</value>
</property>
<property>
  <name>dfs.namenode.keytab.file</name>
  <value>/etc/security/keytabs/hdfs.keytab</value>
</property>

三、HDFS 授权(ACL + 权限)

1. 开启 ACL

hdfs-site.xml

<property>
  <name>dfs.namenode.acls.enabled</name>
  <value>true</value>
</property>

2. 使用示例

hdfs dfs -setfacl -m user:alice:rwx /data
hdfs dfs -getfacl /data

四、数据加密(传输 + 存储)

1. 传输加密(RPC + HTTPS)

<property>
  <name>dfs.http.policy</name>
  <value>HTTPS_ONLY</value>
</property>

2. 存储加密(透明加密)

hdfs crypto -createZone -keyName hdfskey -path /secure

五、审计与日志

1. 开启审计日志

log4j.properties

log4j.logger.org.apache.hadoop.hdfs.server.namenode.FSNamesystem.audit=INFO

2. 定期审查

tail -f /var/log/hadoop-hdfs/hdfs-audit.log

六、生产建议清单

✅ Kerberos 强制认证
✅ HDFS ACL 控制
✅ 数据传输 HTTPS
✅ 静态数据加密
✅ 最小权限原则
✅ 定期 keytab 轮换


如果你愿意,我可以:

  • 给你一套 最简 Kerberos 实操脚本
  • 或针对 CDH / HDP / 原生 Hadoop 分别说明
  • 或帮你 画一张 HDFS 安全架构图

你现在是 测试环境还是生产环境?

0 踩