以下是使用OpenSSL配置Ubuntu服务器安全的步骤:
更新系统与安装OpenSSL
sudo apt update && sudo apt install openssl libssl-dev
生成或获取证书
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d yourdomain.com
配置Web服务器(以Nginx为例)
编辑配置文件(如/etc/nginx/sites-available/default
),添加SSL参数:
server {
listen 443 ssl;
server_name yourdomain.com;
ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
# 其他配置...
}
测试并重启Nginx:
sudo nginx -t && sudo systemctl reload nginx
强化安全策略
/etc/ssl/openssl.cnf
中设置:[system_default_sect]
MinProtocol = TLSv1.2
CipherString = HIGH:!aNULL:!MD5
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
sudo chmod 600 /etc/ssl/*.pem
sudo chown root:root /etc/ssl/*.pem
防火墙与自动续期
sudo ufw allow 'Nginx Full'
sudo ufw enable
sudo crontab -e
# 添加以下行(每90天检查一次):
0 0,12 * * * certbot renew --quiet && systemctl reload nginx
监控与审计
sudo certbot certificates
sslscan
)测试SSL配置安全性:sudo apt install sslscan
sslscan yourdomain.com
注意:生产环境需使用受信任的CA证书,定期备份配置文件与密钥,避免泄露私钥。