温馨提示×

HBase安全设置如何在CentOS上配置

小樊
31
2025-12-09 21:48:43
栏目: 智能运维

在 CentOS 上配置 HBase 安全设置

一 环境准备与系统加固

  • 保持系统与依赖更新:执行 sudo yum update -y,及时修补已知漏洞。
  • 启用并配置防火墙(firewalld):仅放行必要端口(示例见下文),执行 sudo firewall-cmd --reload 使策略生效。
  • 强化账户与口令策略:设置最小口令长度(如 PASS_MIN_LEN 10),并对关键账户口令进行复杂度与周期管理。
  • 最小权限运行:HBase 进程以专用系统用户(如 hbase)运行,目录与文件权限最小化,禁用不必要的系统服务与端口。
    以上为后续开启 Kerberos、ACL、加密等安全措施的基础。

二 启用 Kerberos 身份认证

  • 安装与配置 KDC(示例):
    • 安装软件包:sudo yum install -y krb5-server krb5-workstation krb5-libs
    • 编辑 /etc/krb5.conf,配置默认域与 KDC/管理服务器:
      [libdefaults]
      default_realm = YOUR-REALM.COM
      [realms]
      YOUR-REALM.COM = {
      kdc = kdc.your-realm.com
      admin_server = admin.your-realm.com
      }
      [domain_realm]
      .your-realm.com = YOUR-REALM.COM
      your-realm.com = YOUR-REALM.COM
  • 创建 HBase 服务主体与 keytab(在所有节点执行):
    • 进入 kadmin(本地或远程):kadmin.localkadmin
    • 添加主体:addprinc -randkey hbase/_HOST@YOUR-REALM.COM
    • 导出 keytab:xst -k /etc/security/keytabs/hbase.service.keytab hbase/_HOST@YOUR-REALM.COM
    • 设置权限:chown hbase:hbase /etc/security/keytabs/hbase.service.keytab; chmod 400 /etc/security/keytabs/hbase.service.keytab
  • 在 HBase 启用 Kerberos(hbase-site.xml):
    • 核心开关:
      hbase.security.authenticationkerberos
      hbase.security.authorizationtrue
      hbase.rpc.protectionprivacy
    • 服务主体(注意将 YOUR-REALM.COM 替换为实际域名,且 _HOST 会自动替换为实际主机名):
      hbase.master.kerberos.principalhbase/_HOST@YOUR-REALM.COM
      hbase.regionserver.kerberos.principalhbase/_HOST@YOUR-REALM.COM
    • 登录配置(用于服务进程):
      hbase.security.kerberos.login.use-ticket-cachefalse
      hbase.security.kerberos.login.keytab/etc/security/keytabs/hbase.service.keytab
      hbase.security.kerberos.login.principalhbase/_HOST@YOUR-REALM.COM
  • 重启集群:按顺序重启 HMasterRegionServer,使安全配置生效。

三 配置访问控制与细粒度授权

  • 启用 HBase ACL(hbase-site.xml):
    hbase.security.authorizationtrue
    hbase.acl.defaultActionDENY
  • 使用 HBase Shell 管理权限(示例):
    • 授予用户对表的读写权限:grant ‘user1’, ‘RW’, ‘table1’
    • 撤销权限:revoke ‘user2’, ‘W’, ‘table1’
    • 查看权限:user_permission ‘table1’
  • 建议做法:按业务划分命名空间/表,按“最小权限”原则分配 R/W/CA(读/写/创建/管理)等权限,定期审计与回收过期授权。

四 加密与网络防护

  • 传输加密:
    • 启用 RPC/Thrift/REST 的 SSL/TLS,为 HMaster、RegionServer、Thrift、REST 配置证书与信任库,强制客户端使用 HTTPS/TLS
  • 存储加密:
    • 启用 透明数据加密(TDE),对 HFilesWAL 进行加密,保护静态数据。
  • 网络安全:
    • 仅开放必要端口,并限制来源网段。常见端口示例(按实际组件启用):
      • HBase Master Web UI:16010/TCP
      • HBase RegionServer Web UI:16030/TCP
      • HBase Master RPC:16000/TCP
      • HBase RegionServer RPC:16020/TCP
      • ZooKeeper:2181/TCP
    • firewalld 放行示例:
      sudo firewall-cmd --permanent --zone=public --add-port=16000/tcp
      sudo firewall-cmd --permanent --zone=public --add-port=16010/tcp
      sudo firewall-cmd --permanent --zone=public --add-port=16020/tcp
      sudo firewall-cmd --permanent --zone=public --add-port=16030/tcp
      sudo firewall-cmd --permanent --zone=public --add-port=2181/tcp
      sudo firewall-cmd --reload
    • 云环境需同步配置安全组入站规则,仅允许受控网段访问上述端口。

五 审计与运维

  • 启用与集中审计:开启 HBase 审计日志,将访问与授权事件集中到 Ranger 或外部 SIEM,用于合规与异常检测。
  • 插件与策略管理:可集成 Apache Ranger(或 Apache Sentry)实现细粒度策略、统一授权与审计。
  • 例行维护:
    • 定期更新 HBase/Hadoop/Kerberos 与相关依赖,及时打补丁。
    • 监控与告警:对 认证失败权限拒绝异常扫描 等事件设置阈值告警。
    • 备份与演练:制定 备份/恢复 策略并定期演练,确保事件可快速恢复。

0