OpenSSL 证书管理实战:从生成到验证

OpenSSL 是最强大的证书管理工具之一。本文聚焦日常证书管理中最常用的操作:生成、签名、转换和验证。 生成私钥 生成 RSA 私钥 1 2 3 4 5 6 7 8 # 生成 2048 位 RSA 私钥 openssl genrsa -out private.key 2048 # 生成 4096 位 RSA 私钥(更安全) openssl genrsa -out private.key 4096 # 生成带密码保护的私钥 openssl genrsa -aes256 -out private-encrypted.key 2048 生成 EC 私钥 1 2 3 4 5 # 生成 EC 私钥(P-256 曲线) openssl ecparam -name prime256v1 -genkey -noout -out ec-private.key # 生成 EC 私钥(P-384 曲线) openssl ecparam -name secp384r1 -genkey -noout -out ec-private-384....

March 28, 2026 · 3 min · 黑豆子

TLS 协议深度解析:TLS 1.2 与 TLS 1.3 的关键差异

TLS(Transport Layer Security)协议是现代互联网安全的基石。本文聚焦 TLS 1.2 和 TLS 1.3 的核心差异,帮助你理解协议升级的重要性。 TLS 1.2 的工作流程 TLS 1.2 的握手过程需要 2 个 RTT(Round-Trip Time): 1 2 3 4 5 6 7 8 9 10 11 Client Server |-------- ClientHello ----------------------->| |<------- ServerHello ------------------------| |<------- Certificate ------------------------| |<------- ServerKeyExchange ------------------| |<------- ServerHelloDone --------------------| |-------- ClientKeyExchange ----------------->| |-------- ChangeCipherSpec ------------------>| |-------- Finished -------------------------->| |<------- ChangeCipherSpec -------------------| |<------- Finished ---------------------------| 使用 OpenSSL 测试 TLS 1.2 连接 1 2 3 4 5 # 测试服务器是否支持 TLS 1....

March 28, 2026 · 2 min · 黑豆子

SSH 密钥类型选择与格式转换

SSH 密钥认证比密码认证更安全、更方便。但面对多种密钥类型,应该如何选择?本文聚焦这个问题。 常见密钥类型对比 类型 密钥长度 安全性 性能 兼容性 ed25519 256位 极高 最快 OpenSSH 6.5+ rsa 4096位 高 较慢 广泛兼容 ecdsa 521位 高 快 较好 推荐:优先选择 Ed25519 Ed25519 是目前最推荐的 SSH 密钥类型: 安全性高:基于椭圆曲线,256位密钥相当于 RSA 3072位 性能优秀:签名和验证速度都很快 密钥简短:私钥仅 411 字节,公钥仅 98 字节 生成 Ed25519 密钥 1 ssh-keygen -t ed25519 -C "your_email@example.com" 输出示例: 1 2 3 4 5 Generating public/private ed25519 key pair. Your identification has been saved in test_key_ed25519 Your public key has been saved in test_key_ed25519....

March 26, 2026 · 1 min · 黑豆子

CSR(证书签名请求)详解与实践

什么是 CSR? CSR(Certificate Signing Request,证书签名请求) 是申请 SSL/TLS 证书时向证书颁发机构(CA)提交的文件。它包含了申请者的公钥和身份信息,由申请者的私钥签名。 CSR 的用途 申请 SSL/TLS 证书 - 向 CA 提交 CSR 申请服务器证书 身份验证 - CSR 中的信息用于验证申请者身份 密钥关联 - 将公钥与域名/组织信息绑定 CSR 包含哪些信息? 一个标准的 CSR 包含以下信息: 字段 说明 示例 C (Country) 国家代码 CN ST (State) 州/省 Beijing L (Locality) 城市 Beijing O (Organization) 组织名称 Example Corp OU (Organization Unit) 部门 IT Department CN (Common Name) 通用名称/域名 example.com emailAddress 电子邮件 admin@example.com 此外,CSR 还包含: 公钥 - 与私钥配对的公钥 签名 - 使用私钥生成的数字签名 可选扩展 - 如 Subject Alternative Name (SAN) 使用 OpenSSL 生成 CSR 基本命令格式 1 2 3 4 5 # 生成私钥的同时生成 CSR(交互式) openssl req -new -newkey rsa:2048 -nodes -keyout domain....

March 24, 2026 · 4 min · 黑豆子

SSH 安全加固完全指南:从基础到高级配置

SSH(Secure Shell)是系统管理员最常用的远程访问协议,也是攻击者的首要目标。本文详细介绍 SSH 安全加固的各个层面,从基础配置到高级技巧,帮助你构建坚不可摧的 SSH 防线。 一、SSH 基础安全配置 sshd_config 核心配置 配置文件路径:/etc/ssh/sshd_config 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 # 禁用 root 登录 PermitRootLogin no # 禁用密码认证(强制密钥认证) PasswordAuthentication no PubkeyAuthentication yes # 禁用空密码 PermitEmptyPasswords no # 禁用 PAM(可选,提高安全性但可能影响某些认证方式) UsePAM no # 限制登录用户 AllowUsers admin deploy@192.168.1.0/24 # 或使用组 AllowGroups ssh-users # 设置登录超时(秒) LoginGraceTime 60 # 最大认证尝试次数 MaxAuthTries 3 # 限制会话数 MaxSessions 10 # 限制启动会话数(防止资源耗尽) MaxStartups 10:30:100 # 格式: start:rate:full # start: 开始拒绝前的未认证连接数 # rate: 拒绝概率增长速率 # full: 完全拒绝的连接数 修改默认端口 1 2 3 4 5 6 7 8 9 10 11 12 # 不要使用默认的 22 端口 Port 2222 # 或使用多个端口(便于过渡) Port 22 Port 2222 # 记得更新防火墙规则 ufw allow 2222/tcp # 或 firewall-cmd --add-port=2222/tcp --permanent firewall-cmd --reload 完整的安全配置示例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 # /etc/ssh/sshd_config 安全加固版 # 网络设置 Port 2222 AddressFamily inet ListenAddress 0....

March 24, 2026 · 10 min · 黑豆子

SSL/TLS 证书深度解析:从原理到实践

SSL/TLS 证书是互联网信任体系的基石。本文深入剖析证书的工作原理、类型选择、配置最佳实践,以及常见问题的排查方法。 一、证书工作原理 TLS 握手过程 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 客户端 服务器 | | | 1. ClientHello | | (支持的加密套件、TLS版本、随机数) | | --------------------------------------> | | | | 2. ServerHello | | (选定加密套件、TLS版本、随机数) | | + Certificate (服务器证书链) | | + ServerKeyExchange (可选) | | + CertificateRequest (可选,双向认证) | | <-------------------------------------- | | | | 3....

March 24, 2026 · 8 min · 黑豆子