服务器运维安全最佳实践:新手也能上手的6个关键步骤

刚接触服务器运维时,很多人最先遇到的问题就是“怎样让服务器不被入侵”。
其实服务器运维安全最佳实践并不神秘,只要按顺序做好几项基础配置,就能挡住绝大多数常见攻击。
下面我从零开始,带你一步步操作。

准备工作

你需要一台 Linux 服务器(本文以 Ubuntu 22.04 为例),以及一个能连上服务器的 SSH 客户端(比如 Windows 上的 PuTTY 或直接使用系统终端)。
已通过 root 用户或具有 sudo 权限的用户登录。
如果还没有服务器,可以先随便买一台便宜的云主机练手。

第一步:禁用 root 直接登录,改用普通用户

用 root 直接登录风险极高,因为它的名称固定,容易被暴力破解。
先创建一个普通用户并赋予 sudo 权限:

adduser admin   # 创建用户 admin,按提示设置密码
usermod -aG sudo admin   # 将 admin 加入 sudo 组

然后退出当前 root 会话,用 admin 重新登录。
登录后测试一下 sudo 是否正常:

sudo whoami   # 应输出 root

接下来修改 SSH 配置文件禁止 root 登录:

sudo sed -i 's/^#?PermitRootLogin.*/PermitRootLogin no/' /etc/ssh/sshd_config
sudo systemctl restart sshd

之后再用 root 直接登录就会失败。

第二步:使用 SSH 密钥替代密码认证

密码容易被猜测或盗取,密钥认证 是目前最安全的登录方式。
在本地电脑(不是服务器)生成密钥对:

ssh-keygen -t ed25519 -f ~/.ssh/server_key   # 一路回车,可以设置口令保护私钥

公钥文件是 ~/.ssh/server_key.pub
将公钥内容复制到服务器的 ~/.ssh/authorized_keys 文件(假设你之前用 admin 登录):

mkdir -p ~/.ssh
chmod 700 ~/.ssh
echo "你的公钥内容" >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

接着修改 SSH 配置文件关闭密码登录:

sudo sed -i 's/^#?PasswordAuthentication.*/PasswordAuthentication no/' /etc/ssh/sshd_config
sudo systemctl restart sshd

验证:保持当前连接不退出,另开一个终端用私钥文件尝试登录:ssh -i ~/.ssh/server_key admin@你的服务器IP
如果成功再关掉原来的连接。

第三步:开启防火墙并限制入站规则

防火墙是服务器的第一道门。
推荐使用 UFW(Ubuntu 默认方便工具):

sudo ufw allow OpenSSH   # 放行 SSH 端口(默认22)
sudo ufw enable   # 启用防火墙
sudo ufw status verbose   # 查看规则

如果运行了网站(HTTP/HTTPS),还要放行 80 和 443 端口:

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

避坑:一定先放行 SSH 再启用防火墙,否则自己会被拦在外面。

第四步:安装 Fail2Ban 拦截恶意攻击

Fail2Ban 能自动扫描日志,发现多次登录失败就临时封禁 IP。
安装并启用:

sudo apt update && sudo apt install fail2ban -y
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local   # 建立本地配置
sudo systemctl enable --now fail2ban

默认会对 SSH 进行保护。
可以检查状态:

sudo fail2ban-client status
sudo fail2ban-client status sshd   # 查看封禁列表

如果想自定义封禁时间或最大尝试次数,编辑 /etc/fail2ban/jail.local 中的 [sshd] 部分。

第五步:保持系统和安全更新

很多入侵都是利用已知漏洞,所以及时更新无比重要。
设置自动安全更新:

sudo apt install unattended-upgrades -y
sudo dpkg-reconfigure --priority=low unattended-upgrades   # 选择 Yes 启用

你也可以手动定期执行:

sudo apt update && sudo apt upgrade -y

建议至少每月检查一次。

避坑指南与高频问题

  • 防火墙规则顺序:UFW 按添加顺序执行,禁止规则应放在允许之后。如果不小心把自己封了,可以通过云控制台的 VNC 连接进去重置。
  • 密钥权限错误:服务器上 ~/.ssh 目录必须是 700,authorized_keys 文件必须是 600,否则 SSH 会忽略密钥。可以用 chmod 修正。
  • Fail2Ban 误封:如果自己多次输错密码可能导致 IP 被 Ban。可以用 sudo fail2ban-client set sshd unbanip 你的IP 解封。
  • 忘记放行其他端口:添加规则后记得 sudo ufw reload 或重启。

效果验证

全部完成后,从本地尝试用密码登录服务器应该会被拒绝;
用错误的私钥登录也会失败;
查看 /var/log/auth.log 会看到大量认证失败的记录,但 Fail2Ban 已经自动处理。
通过 sudo ufw status 确认防火墙规则,sudo fail2ban-client status sshd 确认有监控活动。

服务器运维安全最佳实践 不是一次性的任务,而是持续的习惯。
建议把这几个步骤作为新服务器初始化时的标准流程,之后再根据业务需求添加其他安全措施。
遇到问题先回看本文的避坑部分,一般都能解决。
祝你运维顺利!

分享到:
上一篇
Linux服务器进程优先级调整:零基础也能快速上手
下一篇
Linux服务器磁盘阵列配置步骤:零基础也能建RAID
1
系统公告

泽御云五一特惠活动🔥

泽御云持证合规运营,资质齐全可查,长久稳定! 五一限时多重福利同步开启: ✅ 香港 2 核 2G 云服务器超值拼团,低价入手团长免费 ✅ 4 核 4G 多机房年付拼团,性价比拉满 ✅ 内蒙古新区限时 7 折(zeyuyunnmg)特惠,专属优惠码锁价续费 ✅ 全站通用 75 折优惠,老用户充值享专属赠金 官方站点:zeyuyun.com 合规资质齐全|售后有保障|活动限时错过不再有
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意