配置与优化
服务器到手后的安全加固与性能调优速查。每条配置都说明 为什么这么改 与 怎么回滚。
SSH 安全加固
改 SSH 前务必保留一个已连接的会话
修改 sshd_config 后请 新开一个终端 测试能否登录,确认无误再关闭原会话,避免把自己锁在门外。
bash
# 1. 备份配置
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak常见加固项(编辑 /etc/ssh/sshd_config,按需启用):
ini
Port 2222 # 修改默认端口,减少扫描骚扰
PermitRootLogin prohibit-password # 禁止 root 用密码登录
PasswordAuthentication no # 仅允许密钥登录(先确认已配好公钥!)
MaxAuthTries 3 # 限制重试次数bash
# 2. 配置生效前先做语法检查,再重启
sudo sshd -t && sudo systemctl restart ssh先放好公钥再禁用密码登录
在本地执行 ssh-copy-id -p 2222 user@服务器IP,确认能免密登录后,再把 PasswordAuthentication 设为 no。
回滚:
bash
sudo cp /etc/ssh/sshd_config.bak /etc/ssh/sshd_config && sudo systemctl restart ssh开启 BBR 拥塞控制(提升网络吞吐)
BBR 是 Google 开源的 TCP 拥塞控制算法,能显著改善高延迟 / 丢包链路的下载与上传速度。Linux 内核 4.9+ 已内置。
bash
# 写入内核参数并立即生效
echo "net.core.default_qdisc=fq" | sudo tee -a /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p验证是否启用:
bash
sysctl net.ipv4.tcp_congestion_control # 应输出 ... = bbr
lsmod | grep bbr # 应看到 tcp_bbr内核 / 网络常用调优
bash
# 提高文件描述符与连接上限(适合高并发场景)
sudo tee -a /etc/sysctl.conf <<'EOF'
fs.file-max = 1000000
net.core.somaxconn = 65535
net.ipv4.tcp_max_syn_backlog = 8192
net.ipv4.tcp_tw_reuse = 1
EOF
sudo sysctl -p⚠️ 这些值按需调整,盲目加大未必更好。生产环境改动前请评估负载特征。
防火墙
ufw(Ubuntu / Debian 推荐)
bash
sudo apt install -y ufw
sudo ufw default deny incoming # 默认拒绝所有入站
sudo ufw default allow outgoing
sudo ufw allow 2222/tcp # 放行你的 SSH 端口(别用默认 22 了)
sudo ufw allow 80,443/tcp # 放行 HTTP/HTTPS
sudo ufw enable
sudo ufw status verbose启用防火墙前先放行 SSH 端口
否则 ufw enable 后会立刻把你踢下线。务必先 ufw allow 你正在使用的 SSH 端口。
firewalld(CentOS / Rocky / Alma)
bash
sudo firewall-cmd --permanent --add-port=2222/tcp
sudo firewall-cmd --permanent --add-service=http --add-service=https
sudo firewall-cmd --reload
sudo firewall-cmd --list-all