02-ubuntu24.04证书体系架构及证书有关配置文件、工具详细介绍

Ubuntu 24.04 LTS 证书体系架构及文件存储结构详细介绍

一、证书体系架构

Ubuntu 24.04 LTS 的证书体系以 系统信任库 为核心,结合 OpenSSL/GnuTLS 配置、APT 存储库签名验证和 AppArmor 安全策略,形成多层次的安全防护机制。

  1. 系统信任库

    • 路径/etc/ssl/certs/
      该目录包含预装的根证书和中间证书,用于验证 TLS/SSL 连接(如 HTTPS 网站)。系统通过 update-ca-certificates 工具管理证书,支持从 /usr/local/share/ca-certificates/ 自动加载用户或第三方证书。
    • 配置文件/etc/ca-certificates.conf
      定义哪些证书被信任,可通过修改此文件禁用特定证书。
  2. 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 规则默认授予对其配置文件的访问权限,防止因权限问题导致配置失效。
  3. APT 存储库签名验证

    • 要求:APT 存储库必须使用≥2048 位的 RSA 密钥、Ed25519 或 Ed448 签名。
    • 1024 位密钥处理
      若检测到旧版 1024 位弱密钥,APT 会发出警告并阻止更新,直至用户迁移至强密钥(通过删除并重新添加 PPA 解决)。
  4. AppArmor 安全策略

    • 非特权用户命名空间限制
      默认禁止非特权用户使用用户命名空间,但通过 AppArmor 配置文件为特定应用(如 Chrome 沙箱)开放例外,减少内核攻击面。

    • 配置文件示例

      复制代码
      /etc/apparmor.d/chrome {
        # 允许 Chrome 使用用户命名空间
        flags=(unconfined)
      }
二、证书相关配置文件与工具
  1. SSH 证书登录配置

    • 生成密钥对

      bash 复制代码
      ssh-keygen -t ed25519 -a 100  # 推荐 Ed25519 密钥
      ssh-keygen -t rsa -b 4096     # 或 RSA 4096 位密钥
    • 配置 SSH 服务端
      修改 /etc/ssh/sshd_config,启用公钥认证并禁用密码登录:

      ini 复制代码
      PubkeyAuthentication yes
      PasswordAuthentication no
      AuthorizedKeysFile .ssh/authorized_keys
    • 重启服务

      bash 复制代码
      systemctl restart sshd
  2. Certbot 生成 SSL 证书

    • 安装 Certbot

      bash 复制代码
      apt install certbot python3-certbot-nginx
    • 获取证书 (以 Nginx 为例):

      bash 复制代码
      certbot --nginx -d example.com -d www.example.com
    • 证书路径

      • 公钥:/etc/letsencrypt/live/example.com/fullchain.pem
      • 私钥:/etc/letsencrypt/live/example.com/privkey.pem
  3. Nginx 配置 SSL

    • 示例配置

      nginx 复制代码
      server {
          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 跳转

      nginx 复制代码
      server {
          listen 80;
          server_name example.com;
          return 301 https://$host$request_uri;
      }
  4. 手动添加证书到系统信任库

    • 步骤
      1. 将证书文件(.crt.pem)复制到 /usr/local/share/ca-certificates/
      2. 运行 update-ca-certificates 更新信任库。
三、关键安全特性
  1. TLS 版本强制

    • 默认禁用 TLS 1.0/1.1 和 DTLS 1.0,仅允许 TLS 1.2/1.3,提升连接安全性。
  2. APT 存储库签名强化

    • 弃用 1024 位 RSA 密钥,要求存储库使用强密钥签名,防止中间人攻击。
  3. 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 订阅延长支持周期,并定期审计证书配置。

相关推荐
一叶龙洲16 小时前
向日葵远程Ubuntu,支持隐私屏
linux·运维·ubuntu
寒水馨17 小时前
Linux下载、安装llama.cpp-b10068(附安装包llama-b10068-bin-ubuntu-vulkan-x64.tar.gz)
linux·ubuntu·llm·llama·本地部署·llama.cpp·推理引擎
hkj88082 天前
Ubuntu 切换java版本
java·linux·ubuntu
hkj88082 天前
Ubuntu 20.04 安装 OpenJDK 17
linux·运维·ubuntu
sulikey2 天前
服务器安装Docker教程。如何在云服务器安装Docker容器?
运维·服务器·ubuntu·docker·安装教程·云服务器
IT曙光3 天前
在Ubuntu上本地部署Dify?
linux·ubuntu
默默提升实验室3 天前
Ubuntu 22.04.5 配置静态IP,手动安装SSH
ubuntu
初圣魔门首席弟子3 天前
TypeScript 类型系统完全指南:从基础到高级工具类型(知识库版)
linux·运维·ubuntu
TARDIS_20204 天前
VMware配置ubuntu26.04虚拟机桥接
ubuntu
雷工笔记4 天前
什么是Ubuntu?
linux·运维·ubuntu