必须立即完成五步:更新系统、停用冗余服务(cups/avahi/postfix)、加固SSH(禁root/禁密码/改端口/限用户)、配置firewalld仅放行必要端口、创建受限sudo权限的普通管理用户。

新手在最小化安装的 CentOS 上构建基础安全加固基线,核心是“先堵漏、再设防、后管人”——不求一步到位,但必须覆盖最易被攻破的几个关键点:系统更新、SSH访问、防火墙、用户权限和服务精简。只要按顺序完成这五步,就能拦住绝大多数自动化扫描和暴力破解。
立即更新系统并清理冗余服务
最小化安装虽精简,但内核和基础组件可能已存在已知漏洞,且仍会默认启用如 cups(打印)、avahi-daemon(局域网发现)、postfix(邮件)等非必需服务,它们监听端口(如 631、5353、25),构成额外攻击面。
- 执行完整更新:yum update -y(CentOS 7)或 dnf update -y(CentOS 8/Stream)
- 停用并禁止开机启动冗余服务:systemctl disable --now cups avahi-daemon postfix
- 检查是否还有非业务端口在监听:ss -tuln | grep -E ':(25|631|5353)',确认输出为空
重配SSH:禁用密码+禁用root+改端口
SSH 是服务器唯一对外管理入口,也是黑客暴力爆破的首要目标。默认配置(22端口、允许root登录、支持密码)等于把钥匙挂在门把手上。
CentOS Linux 7.9.2009是传统CentOS Linux 7的最后主要版本,也是很多企业历史服务器中仍可能遇到的系统版本。它以稳定、兼容RHEL 7生态、文档丰富和软件支持广泛著称,曾长期用于Web服务、数据库、虚拟化节点和企业内部业务系统。不过CentOS Linux 7已于2024年6月30日停止维护,现在继续使用会面临安全补丁缺失风险。该版本更适合旧业务迁移、历史环境恢复或离
- 编辑 /etc/ssh/sshd_config,确保以下几行生效:
- PermitRootLogin no
- PasswordAuthentication no
- PubkeyAuthentication yes
- Port 2222(可选,但推荐;避免撞上全网扫描)
- AllowUsers yourusername(显式限定登录账号)
- 重启服务:systemctl restart sshd
- ⚠️ 关键操作:新开一个终端,用新端口+密钥测试能否登录成功,确认无误后再关闭当前会话
启用firewalld并只放行必要端口
firewalld 默认运行但规则为空,相当于一扇开着的铁门。必须主动设置“默认拒绝”,再按需开门。
- 确保已启用:systemctl enable --now firewalld
- 移除默认开放的 ssh 服务(因已改端口):firewall-cmd --permanent --remove-service=ssh
- 仅添加你真正需要的规则,例如:
firewall-cmd --permanent --add-port=2222/tcp
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https - 重载生效:firewall-cmd --reload
创建普通管理员用户并限制sudo权限
永远不要用 root 直接操作。应为日常维护创建专用账户,并只授予其完成任务所必需的命令权限,而非无差别 root 权限。
- 新建用户并设强密码:useradd -m -s /bin/bash admin && passwd admin
- 为其配置最小化 sudo 权限(不加 wheel 组,不给 ALL):
运行 visudo,新增一行:
admin ALL=(ALL) /usr/bin/systemctl status nginx, /usr/bin/journalctl -u nginx, /usr/bin/systemctl restart nginx
(按实际服务名和常用运维命令调整) - 若需密钥登录,将公钥写入该用户:mkdir -p /home/admin/.ssh && echo "ssh-rsa AAAA..." > /home/admin/.ssh/authorized_keys && chown -R admin:admin /home/admin/.ssh && chmod 700 /home/admin/.ssh && chmod 600 /home/admin/.ssh/authorized_keys

















