CentOS最小化安装后需立即加固:关闭postfix、cups、avahi-daemon等非必要服务;修改SSH配置禁用root登录和密码认证,改端口并限定用户;更新系统,配置firewalld仅放行必要端口;创建普通管理用户并授予受限sudo权限。

CentOS最小化安装后,默认配置偏开放,缺乏基础安全防护。需立即完成几项关键初始化操作:关闭无用服务、强化SSH访问、更新系统、配置基础防火墙和用户权限控制。
禁用非必要服务与端口
最小化安装虽精简,但仍可能残留如postfix(邮件服务)、cups(打印服务)、avahi-daemon(局域网发现)等非必需服务,它们会监听本地或网络端口,增加攻击面。
- 查看当前运行的服务:
systemctl list-units --type=service --state=running - 停用并禁止开机启动常见冗余服务:
systemctl stop postfix cups avahi-daemon<br> systemctl disable postfix cups avahi-daemon - 检查监听端口:
ss -tuln,重点关注非业务必需的25、631、5353等端口是否已释放
加固SSH远程登录
SSH是服务器最常被暴力破解的目标,默认配置风险较高,必须调整。
- 编辑
/etc/ssh/sshd_config,确保以下关键项已修改:PermitRootLogin no(禁止root直接登录)PasswordAuthentication no(禁用密码登录,强制密钥认证)Port 2222(可选:修改默认端口,降低自动化扫描命中率)AllowUsers yourusername(显式指定可登录用户) - 重启生效:
systemctl restart sshd - 确认新配置可用后再退出当前会话——建议新开终端测试连接,避免锁死
更新系统并启用基础防火墙
最小化安装通常未更新至最新补丁,且firewalld默认开启但规则为空,需主动配置。
- 执行完整更新:
yum update -y(CentOS 7)或dnf update -y(CentOS 8+) - 启用并启动firewalld:
systemctl enable firewalld && systemctl start firewalld - 仅放行必要端口(如自定义SSH端口、HTTP/HTTPS):
firewall-cmd --permanent --remove-service=sshfirewall-cmd --permanent --add-port=2222/tcpfirewall-cmd --permanent --add-service=httpfirewall-cmd --reload
创建普通管理用户并配置sudo权限
避免长期使用root操作,应为日常维护创建专用账户,并限制其权限范围。
- 新增用户并设强密码:
useradd -m -s /bin/bash adminuser && passwd adminuser - 赋予有限sudo权限(不给ALL):
编辑/etc/sudoers.d/adminuser(用visudo创建),写入:adminuser ALL=(ALL) /usr/bin/systemctl restart nginx, /usr/bin/journalctl, /usr/bin/systemctl status
(按实际服务调整命令白名单) - 可选:禁用密码登录后,将公钥写入该用户
~/.ssh/authorized_keys










