Ubuntu VPS 安装SSL/TLS,配置SSR(安全套接字套接系统)
卡尔云官网
www.kaeryun.com
在 Ubuntu VPS 上安装SSL/TLS并配置SSR(安全套接字套接系统)是保障网站安全的重要步骤,SSR 是Web应用安全中的关键组件,能够防止SQL注入、XSS攻击以及中间人攻击,本文将详细讲解如何在Ubuntu VPS上安装SSL/TLS,配置SSR。
安装SSL/TLS
-
下载SSL/TLS套餐
我们需要下载SSL/TLS套餐,推荐使用官方的SSL证书,例如Let’s Encrypt,进入官网后,选择一个适合的证书,下载CA和key。
# 下载SSL证书 curl -f - https://letsencrypt.org/letsencrypt-stable.cer | openssl pkcs12 -noout -in # 下载私钥 curl -f - https://letsencrypt.org/letsencrypt prikey -s - | openssl rsa -noout -in
-
安装SSL/TLS工具
Ubuntu系统已经内置了SSL/TLS工具,可以通过
apt
安装相关软件。sudo apt update sudo apt install curl sasl99 sssmtp
curl
用于下载SSL证书,sasl99
和sssmt
用于配置POP3和SMTP服务器。
配置SSL/TLS
-
设置SSL/TLS在VPS上的根证书
在VPS的
/etc/ssl/
目录下,创建根证书文件。mkdir -p /etc/ssl/certs echo -e "-----BEGIN CERTIFICATE-----\n" > /etc/ssl/certs/letsencrypt-signed.crt echo -e "-----END CERTIFICATE-----\n" >> /etc/ssl/certs/letsencrypt-signed.crt
-
配置SSL/TLS在Nginx中
Nginx是Linux系统默认的Web服务器,配置SSR需要在
/etc/nginx/sites-available/default
文件中添加配置。server { listen 80; server_name your_domain.com; ssl_protocols TLSv1.2 TLSv1.3; ssl_certificate /etc/ssl/certs/letsencrypt-signed.crt; ssl_key /etc/ssl/certs/letsencrypt-signed.key; ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256; ssl_prefer_server_ciphers on; ssl_session_cache shared:SSL:10m; ssl_session_timeout 10m; ssl OrthogonalAuth on; ssl TLS cipher-suites ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256; }
配置中,
ssl_protocols
指定使用的SSL/TLS协议,ssl_certificate
和ssl_key
分别指定证书文件和密钥文件,ssl_ciphers
指定支持的密钥交换算法。 -
重启Nginx
配置完成后,重启Nginx服务。
sudo systemctl restart nginx
配置SSR
-
安装SSR相关工具
在VPS上安装SSR工具,如
ssr
。sudo apt install sasl99 sssmt
-
配置POP3服务器
POP3协议是SSR的一种常见实现方式,配置POP3服务器如下:
sudo nano /etcPOP3/pop3.conf
替换
pop3
为实际的POP3服务器名称,localhost
为本地地址,21
为POP3端口。POP3 = pop3 POP3_SERVER = localhost POP3_PORT = 21 POP3_USER = your_user POP3_PASSWORD = your_password POP3hibited = yes
-
配置SMTP服务器
SMTP协议用于邮件传递,配置SMTP服务器如下:
sudo nano /etcPOP3/smtpop.conf
替换
smtp
为实际的SMTP服务器名称,localhost
为本地地址,587
为SMTP端口。SMTP = smtp SMTP_SERVER = localhost SMTP_PORT = 587 SMTP_USER = your_user SMTP_PASSWORD = your_password
-
配置SSR规则
在VPS的
/etc/ssl/pop3
目录下,创建SSR规则文件。mkdir -p /etc/ssl/pop3 sudo nano /etc/ssl/pop3/ssr.conf
# 完全配置的POP3和SMTP服务器配置文件 [POP3] server = pop3 server_name = your_domain.com user = your_user password = your_password pop3_server = localhost pop3_port = 21 pop3 proto = SSL pop3 starttls = yes pop3 ssl certificate = letsencrypt-signed.crt pop3 ssl key = letsencrypt-signed.key pop3 cipher-suites = TLSv1.2 TLSv1.3 [SMTP] server = smtp server_name = your_domain.com user = your_user password = your_password smtp_server = localhost smtp_port = 587 smtp proto = SSL smtp starttls = yes smtp ssl certificate = letsencrypt-signed.crt smtp ssl key = letsencrypt-signed.key smtp cipher-suites = TLSv1.2 TLSv1.3
-
启用SSR
启用SSR服务:
sudo systemctl enable pop3/ssr.service sudo systemctl enable smtp/ssr.service
-
重启服务
重启POP3和SMTP服务:
sudo systemctl restart pop3/ssr.service sudo systemctl restart smtp/ssr.service
防止SSR攻击
-
限制访问权限
在VPS的
/etc/ssl/pop3
目录下,创建ssr_rules
文件,限制访问权限:sudo nano /etc/ssl/pop3/ssr_rules
# 完全配置的POP3和SMTP服务器配置文件 [POP3] server = pop3 server_name = your_domain.com user = your_user password = your_password pop3_server = localhost pop3_port = 21 pop3 proto = SSL pop3 starttls = yes pop3 ssl certificate = letsencrypt-signed.crt pop3 ssl key = letsencrypt-signed.key pop3 cipher-suites = TLSv1.2 TLSv1.3 [POP3] server = pop3 server_name = your_domain.com user = your_user password = your_password pop3_server = localhost pop3_port = 21 pop3 proto = SSL pop3 starttls = yes pop3 ssl certificate = letsencrypt-signed.crt pop3 ssl key = letsencrypt-signed.key pop3 cipher-suites = TLSv1.2 TLSv1.3 [POP3] server = pop3 server_name = your_domain.com user = your_user password = your_password pop3_server = localhost pop3_port = 21 pop3 proto = SSL pop3 starttls = yes pop3 ssl certificate = letsencrypt-signed.crt pop3 ssl key = letsencrypt-signed.key pop3 cipher-suites = TLSv1.2 TLSv1.3
添加以下规则:
# 完全配置的POP3和SMTP服务器配置文件 [POP3] server = pop3 server_name = your_domain.com user = your_user password = your_password pop3_server = localhost pop3_port = 21 pop3 proto = SSL pop3 starttls = yes pop3 ssl certificate = letsencrypt-signed.crt pop3 ssl key = letsencrypt-signed.key pop3 cipher-suites = TLSv1.2 TLSv1.3 [POP3] server = pop3 server_name = your_domain.com user = your_user password = your_password pop3_server = localhost pop3_port = 21 pop3 proto = SSL pop3 starttls = yes pop3 ssl certificate = letsencrypt-signed.crt pop3 ssl key = letsencrypt-signed.key pop3 cipher-suites = TLSv1.2 TLSv1.3 [POP3] server = pop3 server_name = your_domain.com user = your_user password = your_password pop3_server = localhost pop3_port = 21 pop3 proto = SSL pop3 starttls = yes pop3 ssl certificate = letsencrypt-signed.crt pop3 ssl key = letsencrypt-signed.key pop3 cipher-suites = TLSv1.2 TLSv1.3
保存并退出编辑器。
-
配置防火墙
在VPS的
/etc/firewall.user
目录下,添加SSR相关的防火墙规则,限制外来的SSL/TLS流量。sudo nano /etc/firewall.user
[firewall] enabled = yes [accept] protocol == "tcp" and (state == "reject" or state == "allow") local_addr == "0.0.0.0" and (state == "reject" or state == "allow") dport == "443" or dport == "4443" [reject] protocol == "tcp" and state == "reject" local_addr == "0.0.0.0" and state == "reject" dport == "443" or dport == "4443"
保存并退出编辑器。
-
重启防火墙
重启防火墙:
sudo systemctl restart networking
监控SSR
-
使用ssr-tracker
ssr-tracker
是一个监控SSR连接的工具,可以实时查看SSR连接情况。sudo apt install sasl99 sssmt ssr-tracker
启用并运行
ssr-tracker
:sudo systemctl enable ssr-tracker.service sudo systemctl start ssr-tracker.service
在终端中输入:
sudo ssr-tracker --interval 1
这将输出所有通过SSR连接的IP地址和端口。
-
使用ssr-enum
ssr-enum
是一个枚举SSR连接的工具,可以查看所有已连接的SSR服务。sudo apt install sasl99 sssmt srs-enum
启用并运行
ssr-enum
:sudo systemctl enable srs-enum.service sudo systemctl start srs-enum.service
输入
sudo srs-enum
,然后输入目标IP地址,例如your_domain.com
,这将输出所有通过SSR连接的端口。
配置SSR在Ubuntu VPS上需要安装SSL/TLS证书,配置Nginx和SSR工具,设置POP3和SMTP服务器,并配置防火墙和监控工具,通过以上步骤,可以确保VPS的SSR安全,防止SQL注入、XSS攻击和中间人攻击。
如果需要进一步优化安全,可以参考相关安全指南和最佳实践。
卡尔云官网
www.kaeryun.com