上一节我们学习了 Windows 系统安全基线,了解了终端主机的基础加固方法;而在企业中,Linux 服务器作为业务系统的核心载体,更是攻击者的重点目标。Linux 系统安全加固,是企业主机层防御的核心环节,也是蓝队必须掌握的基础技能。本节我们将拆解 Linux 系统安全加固的核心配置项、加固方法与企业落地流程,帮你筑牢服务器安全防线。
一、什么是 Linux 系统安全加固?—— 服务器安全的 “底线防御”
1. 基础定义
Linux 系统安全加固,是基于企业安全基线要求,对 Linux 服务器的账户、权限、服务、日志、网络等配置进行优化,消除系统安全隐患、缩小攻击暴露面的过程,是服务器安全的 “最低门槛”。
2. 为什么 Linux 服务器更需要加固?
- 绝大多数企业业务系统、Web 服务、数据库都部署在 Linux 服务器上,是攻击者的首要目标
- Linux 服务器常直接暴露在公网,SSH 暴力破解、未授权访问、权限配置错误是高频攻击入口
- 很多管理员习惯使用默认配置,弱口令、开放不必要端口、SUID 文件滥用等问题,很容易成为攻击突破口
二、Linux 安全加固核心配置模块(企业通用落地版)
以下模块按加固优先级排序,每个配置项都包含加固方法 + 检查命令,可直接在企业环境中落地:
1. 账户安全加固:防止账户被滥用与暴力破解
账户是 Linux 服务器的第一道防线,也是攻击者最常突破的入口:
表格
| 配置项 | 加固方法 | 检查命令 | |
|---|---|---|---|
| 禁止 root 直接登录 | 修改 /etc/ssh/sshd_config,设置 PermitRootLogin no,重启 sshd 服务 | grep PermitRootLogin /etc/ssh/sshd_config | |
| 创建普通管理员账户 | 新建非 root 账户,配置 sudo 权限,日常管理使用普通账户操作 | useradd username && passwd username && usermod -aG wheel username | |
| 强制密码复杂度 | 修改 /etc/pam.d/system-auth,启用 pam_cracklib.so 模块,设置密码长度、复杂度要求 | `cat /etc/pam.d/system-auth | grep pam_cracklib` |
| 清理无用账户 | 删除测试账户、离职人员账户、过期账户,锁定闲置账户 | cat /etc/passwd 查看所有账户,userdel -r username 删除无用账户 | |
| 账户登录失败锁定 | 修改 /etc/pam.d/sshd,设置连续 5 次登录失败锁定 15 分钟 | `cat /etc/pam.d/sshd | grep pam_tally2` |
2. SSH 安全加固:阻断远程暴力破解攻击
SSH 是 Linux 服务器远程管理的主要方式,也是暴力破解攻击的重灾区:
- 修改 SSH 默认端口:修改
/etc/ssh/sshd_config中的Port配置,将默认 22 端口改为 10000 以上的非知名端口 - 禁用密码登录,改用密钥认证:配置 SSH 密钥登录,设置
PasswordAuthentication no,彻底阻断密码暴力破解 - 限制登录 IP 范围:通过防火墙或
/etc/hosts.allow//etc/hosts.deny,仅允许指定 IP 段访问 SSH 端口 - 设置空闲超时断开:修改
/etc/ssh/sshd_config,设置ClientAliveInterval 300,5 分钟无操作自动断开连接
3. 文件与目录权限加固:防止权限滥用与敏感文件泄露
Linux 系统的安全,很大程度上依赖文件与目录的权限配置,错误的权限配置会直接导致系统被攻陷:
- 关键文件权限加固:
/etc/passwd:权限设置为644,仅允许 root 账户修改/etc/shadow:权限设置为000,禁止普通用户读取/etc/hosts:权限设置为644,防止被篡改导致 DNS 劫持
- 清理 SUID/SGID 危险文件:SUID 文件允许普通用户以 root 权限执行,需定期扫描并清理不必要的 SUID 文件bash运行
# 扫描系统中所有SUID文件 find / -perm -u+s -type f 2>/dev/null - 限制
/tmp目录权限:将/tmp目录挂载为noexec,nosuid,nodev,防止恶意脚本在/tmp目录执行
4. 日志审计配置:让攻击行为 “有迹可循”
日志是 Linux 服务器攻击溯源的核心依据,加固必须确保日志被正确记录与留存:
- 启用系统日志服务
rsyslog,确保/var/log/messages、/var/log/secure等日志正常生成 - 配置日志外发,将服务器日志同步到统一日志服务器,防止日志被篡改或删除
- 启用
auditd审计服务,记录文件修改、用户登录、权限变更等关键操作,留存时间不少于 6 个月
5. 服务与端口加固:缩小攻击暴露面
不必要的服务和开放端口,是攻击者利用漏洞、横向移动的主要通道:
- 禁用不必要的服务:Telnet、FTP、Sendmail 等明文或高风险服务,设置为开机不启动bash运行
systemctl disable telnet vsftpd sendmail - 关闭不必要的开放端口:使用
netstat -tulnp查看开放端口,关闭未使用的端口,仅保留业务必需的端口 - 限制服务监听地址:业务服务仅监听内网 IP,公网 IP 仅开放 SSH、Web 等必要端口
6. 防火墙配置:限制入站流量,阻断非法访问
Linux 服务器的防火墙是边界防护的重要手段,默认拒绝所有入站流量,仅开放业务必需端口:
- 对于 CentOS/RHEL 系统,使用
firewalld配置规则;对于 Ubuntu 系统,使用ufw或iptables - 配置默认策略为
DROP,仅允许指定 IP / 端口的入站流量,例如:bash运行# 允许指定IP访问SSH端口 firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port port="10022" protocol="tcp" accept'
7. 补丁与漏洞管理:及时修复已知漏洞
系统和第三方软件的漏洞,是攻击者最常利用的攻击路径:
- 配置 yum/apt 自动更新,定期安装安全补丁,高危漏洞(如 Log4j、OpenSSL 漏洞)需立即修复
- 定期使用漏洞扫描工具(如 OpenVAS、Nessus)扫描服务器漏洞,优先修复高风险漏洞
- 禁用不必要的软件包,减少可被利用的漏洞点
8. 其他关键安全配置
- 禁用
core dump:修改/etc/security/limits.conf,禁止程序崩溃时生成 core 文件,防止泄露敏感信息 - 启用 SELinux/AppArmor:强制访问控制机制,限制程序的权限,即使程序被攻陷,也无法获得系统最高权限
- 配置资源限制:通过
ulimit限制进程打开文件数、CPU / 内存使用,防止 DoS 攻击
三、企业 Linux 服务器加固完整落地流程
1. 评估阶段:摸清现状
- 梳理企业所有 Linux 服务器,按核心业务、非核心业务分类,标记服务器用途与暴露面(公网 / 内网)
- 扫描现有服务器的配置问题,找出弱口令、开放高危端口、SUID 文件、未打补丁等不合规项
2. 制定阶段:贴合业务制定基线
- 参考 CIS Linux 基线、等保 2.0 要求,结合企业业务场景,制定差异化基线标准:
- 公网暴露的 Web 服务器:SSH 密钥认证、端口修改、防火墙限制必须严格执行
- 内网数据库服务器:重点加固账户权限、日志审计,限制对外访问
3. 加固与测试阶段:先测试,再上线
- 先在测试服务器上完成所有加固配置,验证加固不影响业务运行(如 SSH 端口修改后,远程连接是否正常;防火墙规则配置后,业务流量是否正常)
- 批量加固可通过 Ansible、SaltStack 等自动化工具实现,手动加固需逐台服务器配置,避免配置错误导致业务中断
4. 定期检查与持续优化
- 每月 / 每季度扫描服务器基线,检查加固配置是否被还原(如员工修改 SSH 配置、关闭防火墙)
- 随着新漏洞出现、业务迭代,定期更新加固标准,例如新增新的高危端口防护、新漏洞的补丁修复要求
四、企业落地常见误区(避坑指南)
- 误区 1:只修改 SSH 端口,不做其他加固很多管理员只改了 SSH 默认端口,却依然使用弱口令、密码登录,暴力破解工具依然可以扫描到修改后的端口,继续攻击。
- 误区 2:权限配置 “一刀切”,导致业务无法运行为了安全过度收紧文件权限,比如修改
/etc/shadow权限为 000 后,未验证业务程序是否能正常读取,导致系统无法正常运行。 - 误区 3:加固前不测试,直接上线直接在生产服务器上修改配置,比如关闭业务依赖的端口、禁用必需的服务,导致业务中断,造成严重损失。
- 误区 4:只加固,不检查,配置被还原加固完成后不做定期检查,管理员或开发人员为了方便修改 SSH 配置、关闭防火墙,导致加固配置慢慢失效。
- 误区 5:忽略日志留存与外发日志仅保存在本地服务器,一旦服务器被攻陷,日志被删除,无法进行攻击溯源。
📝 本节小结
Linux 系统安全加固的核心,不是 “配置越严越好”,而是在业务正常运行的前提下,消除所有可被攻击者利用的薄弱点。通过账户、SSH、权限、日志、防火墙等模块的加固,我们可以大幅缩小服务器的攻击暴露面,筑牢企业业务系统的基础防线。
No responses yet