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 订阅延长支持周期,并定期审计证书配置。

相关推荐
zhangrelay4 天前
《机器人控制器设计与编程》课程习题资料-2026
linux·笔记·学习·ubuntu
Linux-lucky4 天前
39-41-Linux学习之旅之redis缓存基础与NFS基础
linux·运维·mysql·ubuntu
QQ14220784494 天前
2012 年的老 ThinkPad E430 改装 Ubuntu 24.04全程翻车排查实录
ubuntu·项目复盘
阿钱真强道4 天前
06 嵌入式操作系统 | vim 与软件管理:apt / 源码编译
ubuntu·vim·嵌入式·apt·源码编译
牢姐与蒯4 天前
Linux进程间通信(三).基于匿名管道的进程池的实现
linux·运维·服务器·ubuntu
Linux-lucky5 天前
32-38-Linux学习之旅之MySQL综合
linux·运维·学习·mysql·ubuntu
士訫5 天前
【Linux 踩坑】HP Victus RTX4050 Ubuntu 系统双屏无法同时点亮解决方案(完美适配 Advanced Optimus 机型)
ubuntu
指尖的爷5 天前
ARM 架构 Ubuntu(RK3588/aarch64)go开发环境安装手册
ubuntu·架构·golang
虚无的纽扣5 天前
【Linux】将进程知识与基础IO融会贯通——简单自定义Shell的实现
linux·ubuntu
问简6 天前
Ubuntu 26 + Windows 10 双系统 NTFS 共享盘笔记
ubuntu