服务器防黑:IDC 新手必做的 10 项安全加固 checklist
服务器刚到手,别急着跑业务。不加固就上线,等于把 root 密码贴在门口。主机选这篇 Linux 教程,直接给 IDC 新手列一份安全加固 checklist,照着做,少踩坑。

为什么服务器一上线就被黑?
大多是默认配置惹的祸。SSH 端口没改、root 密码弱、防火墙没开、服务跑在 root 下。黑客扫一圈,五分钟就能拿下。别问为什么,我见过太多案例,都是这些低级错误。下面 10 项,一项一项做。
1. 修改 SSH 默认端口,禁止 root 直接登录
默认 22 端口天天被扫。改成 2222 或 10022 这种高位端口,能过滤掉 90% 的暴力破解。
修改 SSH 配置文件
sudo vim /etc/ssh/sshd_config
找到 Port 行,去掉注释,改成自定义端口
Port 2222
禁止 root 直接登录
PermitRootLogin no
重启 SSH 服务生效
sudo systemctl restart sshd
2. 配置密钥登录,禁用密码认证
密码登录迟早被撞破。用密钥对,安全等级直接拉满。
本地生成密钥对
ssh-keygen -t rsa -b 4096
上传公钥到服务器
ssh-copy-id -p 2222 user@your-server-ip
修改配置禁用密码
sudo vim /etc/ssh/sshd_config
PasswordAuthentication no
重启生效
sudo systemctl restart sshd
3. 配置防火墙,只放行必要端口
别裸奔。用 ufw 或 iptables,只开 SSH、HTTP/HTTPS 和业务端口。
启用 ufw
sudo ufw enable
放行自定义 SSH 端口
sudo ufw allow 2222/tcp
放行 Web 服务
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
查看规则
sudo ufw status verbose
4. 使用 fail2ban 阻止暴力破解
fail2ban 监控日志,发现多次登录失败直接封 IP。
安装 fail2ban
sudo apt install fail2ban -y
创建本地配置文件
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
重启服务
sudo systemctl restart fail2ban
查看封禁情况
sudo fail2ban-client status sshd
5. 定期更新系统补丁
漏洞修复不及时,等于给黑客留后门。
更新软件包列表
sudo apt update
升级所有软件
sudo apt upgrade -y
设置自动更新(可选)
sudo apt install unattended-upgrades -y
sudo dpkg-reconfigure –priority=low unattended-upgrades
6. 关闭不必要的服务
服务越少,攻击面越小。检查并关闭不需要的。
查看所有监听端口
sudo netstat -tulpn
关闭不需要的服务,例如 cups
sudo systemctl stop cups
sudo systemctl disable cups
7. 限制 sudo 权限,避免滥用
别给所有用户 sudo 权限,只给必要的人。
查看 sudo 用户组
sudo cat /etc/sudoers
添加用户到 sudo 组
sudo usermod -aG sudo username
设置命令白名单(推荐)
username ALL=(ALL) /usr/bin/systemctl, /usr/bin/apt
8. 配置日志轮转和监控
日志占满磁盘是常事,黑客也会清日志灭迹。
安装 logrotate(通常自带)
sudo apt install logrotate -y
配置轮转策略,例如每天轮转,保留 7 天
sudo vim /etc/logrotate.d/rsyslog
/var/log/syslog {
daily
rotate 7
compress
missingok
notifempty
}
9. 设置文件权限,防止被篡改
关键配置文件权限要锁死。
设置 /etc 目录权限
sudo chmod 750 /etc
设置 SSH 配置权限
sudo chmod 600 /etc/ssh/sshd_config
设置日志目录权限
sudo chmod 750 /var/log
10. 定期备份关键数据
加固防不住物理故障或勒索病毒。备份是最后一道防线。
使用 rsync 备份到远程
rsync -avz /var/www/ user@backup-server:/backup/
设置 crontab 定时任务
0 2 * * * rsync -avz /var/www/ user@backup-server:/backup/
老鸟叮嘱:一个高风险操作
别在生产环境直接改 sshd_config 后不测试。先开一个新终端登录,确认新配置能连上,再退出旧会话。万一改错了,你连 SSH 都进不去。解决方法:用 VPS 控制台的 VNC 或救援模式修复。
FAQ:新手常见问题
Linux SSH 连不上怎么办?
先检查服务器是否开机,再确认防火墙是否放行了 SSH 端口。如果改了端口,客户端也要用新端口连接。最后看 SSH 服务状态:`systemctl status sshd`。
VPS 防火墙端口放行后还是访问不了是什么原因?
可能是云服务商的安全组没放行。很多 VPS 厂商有双重防火墙:系统内部 ufw 和云平台安全组。两边都要配。
Linux 小白可以直接用 root 账号操作吗?
不建议。root 权限太大,误操作风险高。用普通用户加 sudo 更安全。万一被爆破,root 账号直接沦陷。
BBR 开启后为什么速度没有明显提升?
BBR 对高延迟、丢包严重的网络效果明显。如果本地带宽已经跑满,或者服务器出口太小,BBR 也救不了。先测带宽,再开 BBR。
fail2ban 封禁后怎么解封?
用命令 `sudo fail2ban-client set sshd unbanip IP_ADDRESS`。或者直接重启 fail2ban 服务。
备份到远程服务器安全吗?
安全,但远程服务器也要做同样加固。同时加密备份数据,防止泄漏。用 `rsync` 加 SSH 密钥,不要用明文密码。
转载请注明出处:https://www.zhujixuan.com/jishujiaocheng/9513.html 商家投稿邮箱:zhujixuanblog@qq.com
