温馨提示×

HBase在Ubuntu下的安全性如何保障

小樊
41
2025-12-28 11:39:02
栏目: 智能运维

Ubuntu下保障HBase安全性的要点

一 身份与访问控制

  • 启用 Kerberos 强认证:在 hbase-site.xmlhbase.security.authenticationhadoop.security.authentication 设为 kerberos,为 HMaster/RegionServer 配置主体(principal)与 keytab,例如:hbase/_HOST@YOUR_REALM.COM;用户访问前执行 kinit 获取票据。
  • 启用 ACL/RBAC:在 hbase-site.xml 开启 hbase.security.authorization=true,并加载 AccessController 协处理器(master 与 region 级),通过 HBase Shell 执行细粒度授权:
    • 创建用户:create_user ‘user1’, ‘ComplexPassword123!’
    • 授予权限:grant ‘user1’, ‘RWCA’, ‘my_namespace:my_table’(读、写、创建、删除)
    • 回收权限:revoke ‘user1’, ‘W’, ‘my_namespace:my_table:cf1’
  • 集中式策略管理(可选):结合 Apache Ranger(或 Sentry)实现跨服务统一授权、策略下发与审计联动。

二 加密与审计

  • 传输加密(RPC/客户端与服务端):启用 SSL/TLS,在 hbase-site.xml 设置 hbase.rpc.engine=org.apache.hadoop.hbase.ipc.SecureRpcEnginehbase.security.ssl.enabled=true,并配置 keystore/truststore 路径与口令,确保 RegionServer 与 Master、客户端与服务端之间的通信加密。
  • 存储加密(可选):启用 透明数据加密(TDE) 保护 HFiles 等持久化数据,满足静态数据机密性要求。
  • 审计日志:开启 hbase.security.audit.log=true,指定 hbase.security.audit.log.file(如 /var/log/hbase/audit.log),记录 GET/PUT/CREATE 等操作的时间、用户、表/列族与结果,便于合规与异常追踪。

三 系统与网络安全

  • 基础环境加固:
    • 使用 SSH 免密 仅限运维通道,限制可登录用户与来源网段,禁用 root 直登。
    • 保证 DNS 正反向解析一致,多网卡环境显式设置 hbase.regionserver.dns.interface/nameserver,避免 RegionServer 解析异常。
    • 集群 NTP 时间同步,避免 Kerberos 票据与分布式协调异常。
    • 提升 ulimit -n / nproc(如 nofile 32768、nproc 32000),并在 /etc/pam.d/common-session 加入 session required pam_limits.so 使配置生效,防止 “Too many open files” 与进程数受限。
  • 网络与端口:最小化开放端口,仅暴露 HMaster UI/RPC、RegionServer RPC、ZooKeeper 等必要端口;与业务网/管理网 VLAN/ACL 隔离;开启 防火墙(UFW/iptables) 并仅允许受控来源访问。

四 运维与持续合规

  • 凭据与文件保护:
    • keytab 仅对运行用户可读,权限 600;与 hbase-site.xml 纳入配置管理并定期备份。
    • 启用 hbase.data.umask.enable=truehbase.data.umask=007,使数据目录(含 HDFS /hbase 与本地 WAL)默认权限为 770,仅属主与属组可访问。
  • 审计与监控:持续 tail -f /var/log/hbase/audit.log 或使用 ELK 等集中分析;对异常访问、权限变更、失败登录设置告警。
  • 生命周期管理:定期 轮换密码/密钥审查与回收权限(如每 90 天 改密、月度权限盘点)、备份关键配置与审计日志,并进行 最小权限离职账号 清理。

五 快速检查清单

控制项 关键配置/动作 验证方式
身份认证 Kerberos 启用;principal/keytab 部署;kinit 可获票据 klist;HBase Shell 登录与简单读写
授权 hbase.security.authorization=true;AccessController 加载;grant/revoke 生效 以不同用户执行受限操作验证拒绝/允许
传输加密 SSL/TLS 开启;keystore/truststore 配置正确 抓包(如 tcpdump/wireshark)确认 TLS 握手
审计 audit.log 开启;日志滚动与落盘 查看 /var/log/hbase/audit.log 是否记录操作
文件与目录 umask=007;keytab 600;配置备份 ls -l 权限核对;备份清单与恢复演练
系统与网络 ulimit/nproc 提升;NTP 同步;DNS 一致;防火墙策略 ulimit -n/nproc;ntpq -p;nslookup 正反解析;nmap 端口扫描

0