温馨提示×

centos hbase安全设置要点

小樊
35
2025-12-25 15:34:33
栏目: 智能运维

CentOS 上部署 HBase 的安全设置要点

一 身份鉴别与 Kerberos

  • 在所有节点安装并同步 Kerberos 客户端,统一 /etc/krb5.conf:设置 default_realmKDCadmin_server,保证节点时间一致(建议 NTP)。
  • 在 KDC 创建服务主体并导出 keytab:例如创建 hbase/_HOST@YOUR-REALM.COM,导出到 /etc/security/keytabs/hbase.service.keytab,权限设为 400,属主为 hbase
  • hbase-site.xml 启用安全参数:
    • hbase.security.authentication=kerberos
    • hbase.security.authorization=true
    • hbase.master.kerberos.principal=hbase/_HOST@YOUR-REALM
    • hbase.regionserver.kerberos.principal=hbase/_HOST@YOUR-REALM
    • 建议将 hbase.rpc.protection=privacy(或至少 authentication)以启用 RPC 加密/完整性。
  • 分发 keytab 到各节点相同路径,使用 kinit -kt 验证票据获取,再以 hbase shell 测试访问。

二 授权与访问控制

  • 启用 Access Control List(ACL) 后,按“最小权限”原则授予:
    • 常用权限集合:R(读)、W(写)、X(协处理器)、C(建/删表)、A(集群管理)。
    • 作用域层级:GlobalNamespaceTableColumnFamilyCell(细粒度从 CDH 5.2 起支持)。
  • HBase Shell 示例:
    • 授予用户对某表的读写:grant ‘user1’,‘RW’,‘namespace:table1’
    • 授予命名空间级权限:grant ‘user2’,‘R’,‘@ns1’
    • 撤销:revoke ‘user1’,‘RW’,‘namespace:table1’
  • 建议仅将 hbase 用户或配置在 hbase.superuser 中的主体赋予 A 权限,日常业务最小到 R/W/X/C

三 传输与存储加密

  • 传输加密:
    • RPC/客户端通道建议启用 SASL/SSL;在 hbase.rpc.protection 设为 privacy/authentication 并结合 Kerberos 使用。
    • 管理界面与 REST/Thrift(如使用)启用 TLS/SSL,证书由受信 CA 签发并校验证书链。
  • 存储加密:
    • 启用 HDFS 透明数据加密(TDE) 保护落盘数据,密钥由 Hadoop KMS 集中管理。
    • 定期轮换密钥并验证加解密流程对读写延迟与吞吐的影响。

四 网络安全与主机加固

  • 防火墙与端口:
    • 仅开放必要端口(示例):HBase Master Web UI 16010/TCPRegionServer Web UI 16030/TCPHBase RPC 16020/TCPZooKeeper 2181/TCP
    • 使用 firewall-cmd 持久化放行并定期审计规则。
  • 主机与系统:
    • 保持 CentOS 与依赖组件 yum update 到安全修复版本。
    • 强化口令策略(如 /etc/login.defs 中设置 PASS_MIN_LEN)、限制 root 远程登录、启用 SELinux 或最小化策略。
    • 关键文件权限最小化:如 /etc/shadow 600/etc/gshadow 600、HBase 配置与 keytab 400/600 且属主正确。

五 审计监控与合规

  • 启用 HBase 与 HDFS 审计日志,集中到 rsyslog/ELK,对 grant/revoke、DDL、权限异常、越权访问进行告警。
  • 启用 JMX 与监控(如 Prometheus JMX Exporter),关注 RPC 延迟、请求失败率、Region 分布与均衡 等安全相关指标。
  • 定期执行 漏洞扫描、配置基线检查与渗透测试,并保留审计报告与变更记录。

0