优化VPS配置
备份原始源配置(万一出问题还能恢复)
安装HTTPS证书支持
获取系统版本代号
我推荐几个稳定的源,按你的网络环境选择:
国内源(推荐国内用户):
阿里云源:速度快,稳定性好,推荐
中科大源:教育网用户首选
清华源:老牌稳定源
国外源(推荐海外用户):
官方源:最稳定,但速度可能较慢
香港源:亚洲地区访问较快
日本源:东亚地区访问较快
配置国内源(推荐国内用户)
配置国外源(推荐海外用户)
配置完成后,更新一下软件包列表:
如果看到"Get:1"这样的输出,说明换源成功了!速度应该比之前快很多。
2️⃣ 账户安全
设置强密码
首先给root设置一个强密码,别用123456这种弱密码:
设置root密码(请替换为你的强密码)
密码要求:至少8位,包含大小写字母、数字和特殊字符。
创建普通用户
直接用root操作是很危险的,我们创建一个普通用户:
创建用户(替换username为你的用户名)
设置用户密码
给用户sudo权限
这样以后就可以用普通用户登录,需要管理员权限时用sudo。
配置SSH密钥认证
密码登录虽然方便,但SSH密钥更安全。如果你有SSH密钥,可以这样配置:
创建SSH目录
添加你的公钥(请替换为你的实际公钥)
设置正确的权限
配置SSH密钥认证后的sshd_config修改
配置完SSH密钥后,需要修改SSH配置以启用密钥认证:
修改SSH配置以支持密钥认证
确保配置生效
3️⃣ SSH安全加固 -
SSH是服务器的入口,必须加强防护!
修改SSH端口
默认的22端口就像在门上贴了"请进"的牌子,我们换个端口:
备份SSH配置(好习惯)
修改SSH端口为54321(你可以选择其他端口)
强化SSH安全设置
现在给SSH加几道锁:
配置SSH安全参数
安全配置
登录限速(防止暴力破解)
安全横幅
创建安全横幅(吓唬一下不怀好意的人)
重启SSH服务
systemctl restart ssh
注意:修改SSH端口后,记得用新端口连接:ssh -p 54321 root@your-server-ip
4️⃣ 防火墙配置
安装nftables
默认的ufw防火墙功能有限,我们换成更强大的nftables:
卸载ufw(如果存在)
安装nftables
配置基础防火墙规则
现在配置防火墙规则,只允许必要的流量通过:
创建nftables配置文件
cat > /etc/nftables.conf <<EOF
#!/usr/sbin/nft -f
flush ruleset
table inet filter {
chain input {
type filter hook input priority 0;
policy drop;
# 允许本地回环(本机访问)
iif lo accept
# 允许已建立的连接(回复包)
ct state established,related accept
```
备份原始源配置(万一出问题还能恢复)
cp /etc/apt/sources.list /etc/apt/sources.list.backup
安装HTTPS证书支持
apt-get install -y ca-certificates
获取系统版本代号
CODENAME=$(lsb_release -cs)
我推荐几个稳定的源,按你的网络环境选择:
国内源(推荐国内用户):
阿里云源:速度快,稳定性好,推荐
中科大源:教育网用户首选
清华源:老牌稳定源
国外源(推荐海外用户):
官方源:最稳定,但速度可能较慢
香港源:亚洲地区访问较快
日本源:东亚地区访问较快
配置国内源(推荐国内用户)
cat > /etc/apt/sources.list <<EOF
deb http://mirrors.aliyun.com/debian/ ${CODENAME} main contrib non-free non-free-firmware
deb-src http://mirrors.aliyun.com/debian/ ${CODENAME} main contrib non-free non-free-firmware
deb http://mirrors.aliyun.com/debian-security ${CODENAME}-security main contrib non-free non-free-firmware
deb-src http://mirrors.aliyun.com/debian-security ${CODENAME}-security main contrib non-free non-free-firmware
deb http://mirrors.aliyun.com/debian/ ${CODENAME}-updates main contrib non-free non-free-firmware
deb-src http://mirrors.aliyun.com/debian/ ${CODENAME}-updates main contrib non-free non-free-firmware
EOF
配置国外源(推荐海外用户)
cat > /etc/apt/sources.list <<EOF
deb https://deb.debian.org/debian/ ${CODENAME} main contrib non-free non-free-firmware
deb-src https://deb.debian.org/debian/ ${CODENAME} main contrib non-free non-free-firmware
deb https://deb.debian.org/debian-security ${CODENAME}-security main contrib non-free non-free-firmware
deb-src https://deb.debian.org/debian-security ${CODENAME}-security main contrib non-free non-free-firmware
deb https://deb.debian.org/debian/ ${CODENAME}-updates main contrib non-free non-free-firmware
deb-src https://deb.debian.org/debian/ ${CODENAME}-updates main contrib non-free non-free-firmware
EOF
配置完成后,更新一下软件包列表:
apt update
如果看到"Get:1"这样的输出,说明换源成功了!速度应该比之前快很多。
2️⃣ 账户安全
设置强密码
首先给root设置一个强密码,别用123456这种弱密码:
设置root密码(请替换为你的强密码)
echo "root:YourStrongPassword123!" | chpasswd
密码要求:至少8位,包含大小写字母、数字和特殊字符。
创建普通用户
直接用root操作是很危险的,我们创建一个普通用户:
创建用户(替换username为你的用户名)
useradd -m -s /bin/bash username
设置用户密码
echo "username:UserPassword123!" | chpasswd
给用户sudo权限
usermod -aG sudo username
这样以后就可以用普通用户登录,需要管理员权限时用sudo。
配置SSH密钥认证
密码登录虽然方便,但SSH密钥更安全。如果你有SSH密钥,可以这样配置:
创建SSH目录
mkdir -p /root/.ssh
chmod 700 /root/.ssh
添加你的公钥(请替换为你的实际公钥)
echo "你的SSH公钥内容" > /root/.ssh/authorized_keys
设置正确的权限
chmod 600 /root/.ssh/authorized_keys
配置SSH密钥认证后的sshd_config修改
配置完SSH密钥后,需要修改SSH配置以启用密钥认证:
修改SSH配置以支持密钥认证
sed -i 's/^#PubkeyAuthentication./PubkeyAuthentication yes/' /etc/ssh/sshd_config
sed -i 's/^#PasswordAuthentication./PasswordAuthentication yes/' /etc/ssh/sshd_config
sed -i 's/^#PermitRootLogin./PermitRootLogin prohibit-password/' /etc/ssh/sshd_config
确保配置生效
systemctl restart ssh
3️⃣ SSH安全加固 -
SSH是服务器的入口,必须加强防护!
修改SSH端口
默认的22端口就像在门上贴了"请进"的牌子,我们换个端口:
备份SSH配置(好习惯)
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.backup
修改SSH端口为54321(你可以选择其他端口)
sed -i 's/^#Port ./Port 54321/' /etc/ssh/sshd_config
强化SSH安全设置
现在给SSH加几道锁:
配置SSH安全参数
cat >> /etc/ssh/sshd_config <<EOF
安全配置
PasswordAuthentication yes
ChallengeResponseAuthentication no
PermitRootLogin prohibit-password
PubkeyAuthentication yes
登录限速(防止暴力破解)
LoginGraceTime 30
MaxAuthTries 3
安全横幅
Banner /etc/issue.net
EOF
创建安全横幅(吓唬一下不怀好意的人)
echo "Unauthorized access to this server is prohibited." > /etc/issue.net
重启SSH服务
systemctl restart ssh
注意:修改SSH端口后,记得用新端口连接:ssh -p 54321 root@your-server-ip
4️⃣ 防火墙配置
安装nftables
默认的ufw防火墙功能有限,我们换成更强大的nftables:
卸载ufw(如果存在)
if command -v ufw >/dev/null 2>&1; then
ufw --force reset
ufw disable
apt-get purge -y ufw
fi
安装nftables
apt-get install -y nftables
配置基础防火墙规则
现在配置防火墙规则,只允许必要的流量通过:
创建nftables配置文件
```cat > /etc/nftables.conf <<EOF
#!/usr/sbin/nft -f
flush ruleset
table inet filter {
chain input {
type filter hook input priority 0;
policy drop;
# 允许本地回环(本机访问)
iif lo accept
# 允许已建立的连接(回复包)
ct state established,related accept
```