1. 首页 > 技术教程 > 正文

服务器防黑:IDC 新手必做的 10 项安全加固 checklist

服务器防黑:IDC 新手必做的 10 项安全加固 checklist

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

服务器防黑:IDC 新手必做的 10 项安全加固 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