SuperAPI AI 工具集

ssl-tls-management

部署与运维

查看项目

更新于 10-28 04:52

技能介绍

用途

该技能用于管理 SSL/TLS 证书与安全通信配置,覆盖 Web 服务器、Kubernetes 集群以及内部服务三类场景。核心目标包括:为站点启用 HTTPS、自动化证书续期、在集群中集中签发与轮换证书、配置内部服务间 TLS,以及审计密码套件与协议版本。

前置条件

资料列出的前提包括:拥有域名及 DNS 控制权(用于公共证书);Web 服务器具备 root/sudo 权限;已安装 certbot(用于 Let's Encrypt);可用 openssl CLI(多数 Linux 发行版默认安装);Kubernetes 集群与 Helm(用于部署 cert-manager);并理解 X.509 证书信任链。

Let's Encrypt 与 Certbot

资料给出安装方式(如 Ubuntu/Debian 下安装 certbot 与 python3-certbot-nginx)以及多种签发模式:nginx 插件交互式签发、非交互自动化签发、无 Web 服务器时的 standalone 模式、用于通配符证书的 DNS 质询(manual 与 Cloudflare DNS 插件)。DNS 插件场景需安装 certbot-dns-cloudflare,并通过受控的密钥管理流程写入凭据文件(示例权限 600),明确要求不要把令牌粘进 shell 历史或提交到仓库。

续期自动化

提供 certbot renew --dry-run 测试方式;建议先检查发行版自带的 certbot 定时器,只配置一套续期计划。示例给出 systemd service 与 timer(每日 00:00 与 12:00 执行,带随机延迟与持久化),以及通过 renewal-hooks/deploy 脚本在续期后重载 nginx、haproxy 等服务。

Kubernetes cert-manager

使用 Helm 安装 cert-manager(示例版本 v1.14.0,创建命名空间、安装 CRD、启用 Prometheus),并给出验证命令。ClusterIssuer 示例涵盖 Let's Encrypt 测试环境与生产环境(HTTP-01)、Cloudflare DNS-01(通配符)、以及仅生成自签名叶证书的 selfSigned 颁发者;资料特别说明,受管的内部 CA 需要 CA 证书/私钥、CA issuer 及信任分发,selfSigned 并不等于内部 CA。Certificate 资源示例包含公共证书(90 天有效期、提前 30 天续期)、通配符证书,以及带自动 TLS 注解的 Ingress。

OpenSSL 命令参考

涵盖生成 RSA 与 ECDSA 私钥、生成 CSR(含 SAN 扩展)、生成自签名证书(开发/测试用)、查看证书详情与有效期、检查远程证书与证书链、校验证书链、PEM 与 PKCS12 互转,以及测试 TLS 版本与指定密码套件的连接。资料提醒:远程 s_client 展示仅用于查看对端证书,本身不完成主机名/信任/完整链校验,需配合显式校验选项与受信 CA 存储。

强 TLS 配置

给出 Nginx 与 Apache 示例:启用 TLSv1.2/1.3、限定 ECDHE 类密码套件、配置会话缓存与超时、关闭会话票据;HSTS 从较短 max-age(示例 300 秒)起步,确认所有必需主机支持 HTTPS 后再考虑延长、子域与 preload(这些设置可能造成持久性故障)。OCSP stapling 示例设为关闭,并说明 Let's Encrypt 已不再提供 OCSP 响应,仅对仍有可用 OCSP 响应者的颁发者启用。同时给出 HTTP 到 HTTPS 的 301 重定向与基础安全响应头。

适用场景

新 Web 应用启用 HTTPS;用 Let's Encrypt 自动化续期;在 Kubernetes 部署 cert-manager;为内部服务间通信配置 TLS;按合规要求审计密码套件与 TLS 版本;应对证书即将过期或被泄露的情况。

限制与安全边界

需在授权范围内应用,破坏性步骤先在非生产环境验证;该条目为纯文档导入,上游脚本与模板未随附;示例中的版本号、域名、邮箱等均为占位,需按实际环境替换;收费、价格与效果等信息资料未提供。