Ubuntu 24.04 LTS 证书体系架构及文件存储结构详细介绍
一、证书体系架构
Ubuntu 24.04 LTS 的证书体系以 系统信任库 为核心,结合 OpenSSL/GnuTLS 配置、APT 存储库签名验证和 AppArmor 安全策略,形成多层次的安全防护机制。
-
系统信任库
- 路径 :
/etc/ssl/certs/
该目录包含预装的根证书和中间证书,用于验证 TLS/SSL 连接(如 HTTPS 网站)。系统通过update-ca-certificates工具管理证书,支持从/usr/local/share/ca-certificates/自动加载用户或第三方证书。 - 配置文件 :
/etc/ca-certificates.conf
定义哪些证书被信任,可通过修改此文件禁用特定证书。
- 路径 :
-
OpenSSL 与 GnuTLS 配置
-
OpenSSL :
-
默认配置文件路径:
/etc/ssl/openssl.cnf
定义证书链验证规则、默认加密算法(如禁用 TLS 1.0/1.1,强制 RSA 密钥≥2048 位)。 -
关键参数:
ini[system_default_sect] MinProtocol = TLSv1.2 # 强制最低 TLS 版本 CipherString = DEFAULT:@SECLEVEL=2 # 加密套件安全级别
-
-
GnuTLS :
- 配置文件路径:
/etc/gnutls/config
与 OpenSSL 协同工作,确保系统范围配置一致性。例如,AppArmor 规则默认授予对其配置文件的访问权限,防止因权限问题导致配置失效。
- 配置文件路径:
-
-
APT 存储库签名验证
- 要求:APT 存储库必须使用≥2048 位的 RSA 密钥、Ed25519 或 Ed448 签名。
- 1024 位密钥处理 :
若检测到旧版 1024 位弱密钥,APT 会发出警告并阻止更新,直至用户迁移至强密钥(通过删除并重新添加 PPA 解决)。
-
AppArmor 安全策略
-
非特权用户命名空间限制 :
默认禁止非特权用户使用用户命名空间,但通过 AppArmor 配置文件为特定应用(如 Chrome 沙箱)开放例外,减少内核攻击面。 -
配置文件示例 :
/etc/apparmor.d/chrome { # 允许 Chrome 使用用户命名空间 flags=(unconfined) }
-
二、证书相关配置文件与工具
-
SSH 证书登录配置
-
生成密钥对 :
bashssh-keygen -t ed25519 -a 100 # 推荐 Ed25519 密钥 ssh-keygen -t rsa -b 4096 # 或 RSA 4096 位密钥 -
配置 SSH 服务端 :
修改/etc/ssh/sshd_config,启用公钥认证并禁用密码登录:iniPubkeyAuthentication yes PasswordAuthentication no AuthorizedKeysFile .ssh/authorized_keys -
重启服务 :
bashsystemctl restart sshd
-
-
Certbot 生成 SSL 证书
-
安装 Certbot :
bashapt install certbot python3-certbot-nginx -
获取证书 (以 Nginx 为例):
bashcertbot --nginx -d example.com -d www.example.com -
证书路径 :
- 公钥:
/etc/letsencrypt/live/example.com/fullchain.pem - 私钥:
/etc/letsencrypt/live/example.com/privkey.pem
- 公钥:
-
-
Nginx 配置 SSL
-
示例配置 :
nginxserver { listen 443 ssl; server_name example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers HIGH:!aNULL:!MD5; } -
强制 HTTPS 跳转 :
nginxserver { listen 80; server_name example.com; return 301 https://$host$request_uri; }
-
-
手动添加证书到系统信任库
- 步骤 :
- 将证书文件(
.crt或.pem)复制到/usr/local/share/ca-certificates/。 - 运行
update-ca-certificates更新信任库。
- 将证书文件(
- 步骤 :
三、关键安全特性
-
TLS 版本强制
- 默认禁用 TLS 1.0/1.1 和 DTLS 1.0,仅允许 TLS 1.2/1.3,提升连接安全性。
-
APT 存储库签名强化
- 弃用 1024 位 RSA 密钥,要求存储库使用强密钥签名,防止中间人攻击。
-
AppArmor 集成
- 默认授予 OpenSSL/GnuTLS 配置文件访问权限,确保系统范围配置一致性。
四、总结
Ubuntu 24.04 LTS 的证书体系通过 系统信任库、OpenSSL/GnuTLS 配置、APT 签名验证和 AppArmor 策略 构建了多层次的安全防护。关键配置文件(如 /etc/ssl/openssl.cnf、/etc/ssh/sshd_config)和工具(如 Certbot、update-ca-certificates)简化了证书管理,同时强制安全策略(如禁用弱加密算法)有效降低了攻击风险。对于企业环境,建议结合 Ubuntu Pro 订阅延长支持周期,并定期审计证书配置。