ubuntu

Ubuntu系统OpenSSL证书管理技巧

小樊
36
2025-08-05 20:45:25
栏目: 云计算

以下是Ubuntu系统下OpenSSL证书管理的关键技巧,涵盖生成、配置、更新及安全维护等方面:

一、基础证书管理操作

  1. 安装OpenSSL

    sudo apt update && sudo apt install openssl ca-certificates  
    
  2. 生成私钥与证书签名请求(CSR)

    openssl genpkey -algorithm RSA -out private.key -aes256 2048  # 生成加密私钥  
    openssl req -new -key private.key -out certificate.csr       # 填写域名、组织等信息生成CSR  
    
  3. 生成自签名证书(测试用)

    openssl x509 -req -days 365 -in certificate.csr -signkey private.key -out certificate.crt  
    
  4. 查看证书详情

    openssl x509 -in certificate.crt -text -noout  # 显示有效期、颁发者等信息  
    openssl x509 -enddate -noout -in certificate.crt  # 仅查看过期时间  
    

二、证书部署与配置

  1. 安装到系统信任库
    将自签名证书复制到系统根证书路径并更新信任库:

    sudo cp certificate.crt /usr/local/share/ca-certificates/  
    sudo update-ca-certificates  
    
  2. Web服务器配置(以Nginx为例)

    # 编辑配置文件(如 /etc/nginx/sites-available/default)  
    ssl_certificate /path/to/certificate.crt;  
    ssl_certificate_key /path/to/private.key;  
    sudo nginx -t && sudo systemctl restart nginx  
    

三、证书更新与维护

  1. 自动续期(Let’s Encrypt证书)
    使用Certbot工具自动管理证书生命周期:

    sudo apt install certbot python3-certbot-nginx  # 安装Certbot  
    sudo certbot --nginx -d example.com            # 申请证书  
    sudo certbot renew --dry-run                   # 测试自动续期  
    
  2. 手动更新根证书

    sudo apt update && sudo apt install --reinstall ca-certificates  
    sudo update-ca-certificates  
    

四、安全技巧

  1. 保护私钥权限

    sudo chmod 600 private.key  # 限制仅root可读写  
    
  2. 禁用不安全协议
    编辑/etc/ssl/openssl.cnf,在[system_default_sect]中添加:

    MinProtocol = TLSv1.2  
    CipherString = HIGH:!aNULL:!MD5  
    
  3. 监控证书有效期
    定期通过脚本或工具(如opensslcron)检查证书过期时间,提前触发续期:

    # 示例:检查证书剩余天数  
    openssl x509 -in certificate.crt -noout -enddate | awk -F= '{print $2}' | xargs -I{} date -d {} +%s | awk '{print ({} - systime())/(24*3600)}'  
    

五、高级场景

参考来源:[1,2,3,4,5,6,7,8,9,10,11]

0
看了该问题的人还看了