使用Ubuntu OpenSSL保護網站安全的核心步驟如下:
更新軟件包并安裝OpenSSL及開發庫:
sudo apt update
sudo apt install openssl libssl-dev
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/server.key -out /etc/ssl/certs/server.crt
-x509:生成自簽名證書-nodes:不加密私鑰(避免交互式輸入密碼)-days 365:證書有效期(生產環境建議縮短)使用Let’s Encrypt等CA獲取證書,需先安裝Certbot:
sudo apt install certbot
sudo certbot certonly --standalone -d yourdomain.com
證書路徑:/etc/letsencrypt/live/yourdomain.com/
編輯配置文件(如/etc/nginx/sites-available/yourdomain):
server {
listen 443 ssl;
server_name yourdomain.com;
ssl_certificate /etc/ssl/certs/server.crt;
ssl_certificate_key /etc/ssl/private/server.key;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
location / {
root /var/www/html;
}
}
啟用配置并重啟Nginx:
sudo ln -s /etc/nginx/sites-available/yourdomain /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl restart nginx
編輯配置文件(如/etc/apache2/sites-available/yourdomain.conf):
<VirtualHost *:443>
ServerName yourdomain.com
SSLEngine on
SSLCertificateFile /etc/ssl/certs/server.crt
SSLCertificateKeyFile /etc/ssl/private/server.key
<Directory /var/www/html>
AllowOverride All
</Directory>
</VirtualHost>
啟用配置并重啟Apache:
sudo a2ensite yourdomain.conf
sudo systemctl restart apache2
server {
listen 80;
server_name yourdomain.com;
return 301 https://$host$request_uri;
}
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers 'TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256';
sudo ufw allow 443/tcp
測試HTTPS連接:
https://yourdomain.com,確認無證書警告(自簽名證書會提示不安全,生產環境需用CA證書)。openssl s_client -connect yourdomain.com:443 -servername yourdomain.com
證書續期(僅CA證書需操作):
sudo certbot renew --dry-run
sudo apt update && sudo apt upgrade openssl確保版本安全。通過以上步驟,可利用Ubuntu OpenSSL為網站建立基礎的HTTPS加密通信,保護數據傳輸安全。