新手也能懂的Linux服务器安全基线搭建指南

为什么要做 Linux 服务器安全基线


刚买的云服务器或者自己搭的 Linux 机器,默认配置存在大量安全隐患。安全基线就是一套统一的最低安全要求,做完之后能挡住 80% 的自动扫描和弱口令攻击。

下面我用最简单的方式带你一步步完成。


准备工作:检查系统版本和依赖


登录服务器后先确认系统类型和版本,后面的命令可能因发行版而异。

执行:


cat /etc/os-release
uname -r

推荐使用 CentOS 7/8、Ubuntu 20.04/22.04

你需要有 sudo 或 root 权限。


分步操作:五大安全加固点


1. 禁用 root 远程登录,创建普通用户


直接使用 root 登录风险极高。

创建一个 sudo 用户:


useradd -m admin_user
passwd admin_user
usermod -aG wheel admin_user # CentOS 用 wheel,Ubuntu 用 sudo

然后编辑 SSH 配置文件:


sudo vim /etc/ssh/sshd_config

找到 PermitRootLogin 改为 noPasswordAuthentication 改为 no(如果你已经配好了密钥)。

保存后重启 SSH:


sudo systemctl restart sshd

注意: 修改前先保持当前连接不关,另开一个终端测试新用户能否登录,避免把自己锁在外面。


2. 配置密钥登录并禁用密码登录


生成密钥对(在本地电脑执行):


ssh-keygen -t ed25519

将公钥复制到服务器:


ssh-copy-id -i ~/.ssh/id_ed25519.pub admin_user@你的服务器IP

确认密钥登录成功后,再把 SSH 配置里的 PasswordAuthentication 设为 no


3. 加固防火墙:只放行必要端口


使用 ufw(Ubuntu)或 firewalld(CentOS)。

以 CentOS 为例:


sudo systemctl start firewalld
sudo systemctl enable firewalld
sudo firewall-cmd --permanent --add-port=22/tcp
sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --permanent --add-port=443/tcp
sudo firewall-cmd --reload
sudo firewall-cmd --list-all

只开放你需要的端口,关闭其他所有端口。


4. 设置文件权限和自动更新


关键目录权限加固:


sudo chmod 600 /etc/shadow
sudo chmod 644 /etc/passwd
sudo chattr +i /etc/passwd /etc/shadow /etc/group

开启安全更新自动安装(以 Ubuntu 为例):


sudo apt install unattended-upgrades -y
sudo dpkg-reconfigure --priority=low unattended-upgrades

选择“是”即可。


5. 开启日志审计和失败登录锁定


安装 fail2ban 防止暴力破解:


sudo apt install fail2ban -y   # Ubuntu
sudo yum install epel-release -y && sudo yum install fail2ban -y # CentOS

配置 /etc/fail2ban/jail.local


[sshd]
enabled = true
port = 22
maxretry = 3
bantime = 600

启动并设为开机自启:


sudo systemctl start fail2ban
sudo systemctl enable fail2ban

避坑指南:新手最常犯的三个错误



  1. 改 SSH 配置后忘重启服务 – 修改 /etc/ssh/sshd_config 后一定要重启 sshd,否则新配置不生效。

  2. 没有保留一个备用连接 – 修改 root 登录或端口时,先开第二个终端验证,否则改错了只能连 VNC 或重装系统。

  3. 防火墙规则叠加混乱 – 先 --remove-port=xxx 清理旧规则,再添加新规则,避免多规则冲突。


效果验证:快速检查你的安全基线是否达标


执行以下命令检查关键项:


# 检查 root 远程登录是否禁用
sudo grep PermitRootLogin /etc/ssh/sshd_config

检查密码登录是否禁用

sudo grep PasswordAuthentication /etc/ssh/sshd_config

检查防火墙开放端口

sudo firewall-cmd --list-all # 或 sudo ufw status

检查 fail2ban 状态

sudo systemctl status fail2ban

检查关键文件是否被锁定

lsattr /etc/passwd


如果所有输出都符合预期(比如 PermitRootLogin noPasswordAuthentication no

只有必要端口开放、

fail2ban 运行中),

那么你的 Linux 服务器安全基线 就初步建成了。


后续还可以加入入侵检测(如 AIDE)和定期安全扫描,但以上五步已经能拦住大部分常见攻击。

遇到异常时,优先检查日志 /var/log/auth.log/var/log/secure

分享到:
上一篇
WP支付接口微信支付宝,新手快速接入指南
下一篇
Docker离线部署无网络:无网络环境Docker离
1
系统公告

泽御云五一特惠活动🔥

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