- 首页 >
- 问答 >
-
智能运维 >
- Ubuntu 上 Hadoop 安全性如何保障
Ubuntu 上 Hadoop 安全性如何保障
小樊
44
2025-12-20 18:59:29
Ubuntu 上 Hadoop 安全加固清单
一 身份与访问控制
- 启用强认证:将 Hadoop 切换到 Kerberos,设置核心参数 hadoop.security.authentication=kerberos,并按服务创建 principal 与 keytab(如 nn/_HOST@REALM、dn/_HOST@REALM),确保主机 DNS/反向解析正确,以便服务间相互认证。完成后使用 kinit 或服务 keytab 进行登录校验。
- 关闭匿名与弱访问:在 core-site.xml 将 hadoop.http.authentication.simple.anonymous.allowed=false,避免未授权 Web/REST 访问。
- 启用服务级授权:在 core-site.xml 打开 hadoop.security.authorization=true,仅允许白名单服务/用户访问关键组件。
- 细粒度授权与代理管控:结合 Apache Ranger/Sentry 实现 RBAC 与列/行级策略;审慎配置 hadoop.proxyuser.*.hosts/groups,仅授权受控主机与用户代理提交作业。
二 传输与存储加密
- 传输加密:为 RPC、HTTP/WebHDFS、HDFS 数据传输启用 SSL/TLS,在 core-site.xml 设置 hadoop.ssl.enabled=true,并按需配置 hadoop.ssl.require.client.cert、ssl-server.xml/ssl-client.xml;对 Web 控制台与 REST 接口强制 HTTPS。
- 存储加密:启用 HDFS 透明数据加密(TDE),对敏感目录/租户进行 at-rest 加密,密钥集中托管与轮换。
- 完整性校验:启用 HDFS 校验和(如 CRC32) 与块级校验,防止传输/落盘篡改。
三 网络安全与主机加固
- 边界与端口最小化:使用 ufw/iptables 仅放通必要端口(如 NameNode 9870/9871、DataNode 9866/9864/9865、ResourceManager 8088/8090、JobHistory 19888/10020 等),对管理口限制为 内网/跳板来源;必要时变更默认端口以降低暴露面。
- RPC 与 Web 隔离:将 RPC 端口与 HTTP/HTTPS WebUI 分别置于不同网卡/安全域,仅对受控网段开放。
- SSH 加固:禁用 root 登录与密码认证,仅允许 SSH 密钥;限制可登录用户与来源网段。
- 强制访问控制:启用 AppArmor(Ubuntu 默认),为 NameNode/DataNode/ResourceManager 等进程配置最小权限配置文件。
四 审计、监控与备份恢复
- 审计与日志:开启 Hadoop 审计日志与 HDFS 访问日志,集中到 syslog/ELK,记录用户、操作、时间、资源与结果,满足合规与溯源。
- 监控与告警:对 异常登录、权限变更、大量失败访问、NameNode/DataNode 健康异常设置阈值告警;对 WebHDFS、YARN API 进行基线行为监测。
- 备份与演练:制定 HDFS 元数据与关键数据的定期备份与异地容灾策略,定期验证 恢复流程与 RPO/RTO。
五 快速落地步骤
- 基线加固:升级 Ubuntu 与 Hadoop 至受支持版本;为所有节点配置 DNS/反向解析;创建 hdfs/yarn/mapred 等系统用户与专用服务账户。
- 部署 Kerberos:在 KDC 为各服务创建 principal/keytab,分发至对应节点并设置 权限 400;在 Hadoop 配置 hadoop.security.authentication=kerberos 与 hadoop.security.authorization=true 后滚动重启。
- 加密与端口:启用 SSL/TLS(RPC/HTTP/WebHDFS),按需开启 HDFS TDE;用 ufw 仅放通必要端口与来源网段,变更默认 Web 端口并限制访问。
- 授权与代理:上线 Ranger/Sentry 策略,最小化 hadoop.proxyuser 授权;对 HDFS ACL 与目录属主/属组进行梳理。
- 审计与监控:开启审计日志并接入 ELK,配置 告警规则;建立 备份与恢复演练计划。