Linux安全加固

Linux安全加固不是单一的操作,主要围绕“减少攻击面,最小权限,可审计,可恢复”的持续过程。通常可划分为以下8类

    1. 身份与认证安全
    1. 访问控制与文件系统权限
    1. 系统与服务最小化
    1. 网络安全加固
    1. 日志审计与监控
    1. 补丁与软件安全
    1. 数据保护与备份恢复
    1. 合规基线与应急响应

一、身份与认证安全
核心目标:确保只有合法用户能登录,且权限最小化。

1.1 账户生命周期管理
清理无用、默认、离职人员账户
锁定系统账户,禁止其登录,Shell 设为 /sbin/nologin 或 /bin/false
检查是否存在 UID 为 0 的异常账户,防止隐藏超级用户
限制普通用户可登录的主机、终端或来源
1.2 口令策略
通过 PAM 和 /etc/login.defs 设置密码复杂度、最小长度、有效期、历史密码次数
设置账户锁定策略,例如连续失败 5 次锁定一段时间
禁止使用弱口令、空口令,定期强制修改密码
1.3 root 与 sudo 管理
禁止 root 直接 SSH 登录,使用普通用户 + sudo 提权
限制 su 命令仅 wheel 组用户可用
使用 visudo 配置最小授权,只给用户必要的命令权限
开启 sudo 操作日志,便于审计
1.4 SSH加固
修改 /etc/ssh/sshd_config
`PermitRootLogin no:禁止 root 直接登录。

PasswordAuthentication no:优先使用密钥认证。

PubkeyAuthentication yes:启用公钥认证。

MaxAuthTries 3:限制失败尝试次数。

LoginGraceTime 30:缩短登录等待时间。

AllowUsers / AllowGroups:白名单限制可登录用户。`
禁用空密码、禁用不必要的 X11 转发
可选:修改 SSH 默认端口、限制来源 IP
配合 fail2ban 自动封禁暴力破解 IP

二、访问控制与文件系统权限
核心目标:防止普通用户越权访问或篡改关键文件

2.1 默认权限 umask
在 /etc/profile、/etc/login.defs 中设置 umask 027 或更严格,限制新建文件默认权限
2.2 关键目录和文件权限
`检查并收紧关键文件权限,例如:

/etc/passwd:644

/etc/shadow:600 或 000

/etc/group:644

/etc/gshadow:600

/etc/sudoers:440 检查 /etc/cron*、/var/spool/cron 等定时任务目录,防止普通用户写入 2.3 SUID / SGID 审计 查找系统中的 SUID/SGID 程序: find / -perm -4000 -o -perm -2000`
移除不必要的高权限位,防止本地提权
2.4 文件不可变属性
对关键文件如 /etc/passwd、/etc/shadow、/etc/sudoers 设置 chattr +i,防止被修改
变更前需先取消属性,需谨慎操作
2.5 分区挂载选项
对 /tmp、/var/tmp、/dev/shm 等可写目录设置 nosuid、nodev、noexec
对 /home 设置 nodev、nosuid
使用独立分区,防止某些目录写满影响根分区
2.6 强制访问控制
启用 SELinux(Enforcing 模式)或 AppArmor
配置相应的安全策略,限制进程对文件、网络的访问
使用 ACL 细化文件权限,满足特殊授权需求

三、系统与服务最小化
核心目标:减少不必要的软件、服务和端口,降低攻击面
3.1 精简软件包
仅安装业务必需的软件包,定期清理无用包
移除编译器、调试工具等非必要开发组件
3.2 服务管理
使用 systemctl list-units --type=service 查看所有服务
关闭并禁用不需要的服务,例如:telnet、rsh、ftp、nfs、cups、avahi、bluetooth 等
对危险服务使用 systemctl mask 禁止启动
3.3 端口管理
使用 ss -lntup 查看监听端口
只保留业务必须的监听端口,关闭对外暴露的无关端口
3.4 启动项与计划任务
检查 /etc/crontab、/etc/cron.*、/var/spool/cron、systemd timers
防止攻击者通过计划任务持久化
3.5 内核模块限制
禁用不必要的内核模块
在 /etc/modprobe.d/ 中黑名单危险模块
可设置 kernel.modules_disabled=1 防止加载新模块

四、网络安全加固
核心目标:限制网络暴露,防止网络层攻击
4.1 配置防火墙
4.2 内核网络参数
4.3 远程访问控制
4.4 应用服务安全

五、日志审计与监控
核心目标:记录关键操作,便于事后追踪和发现异常

5.1 日志服务配置
5.2 审计子系统 auditd
5.3 时间同步
5.4 远程日志集中
5.5 文件完整性监控
5.6 入侵检测与告警

六、补丁与软件安全
核心目标:及时修复已知漏洞,保持系统更新

6.1 更新配置源
6.2 定期更新
6.3 内核补丁
6.4 第三方应用管理
6.5 安全基线扫描

七、数据保护与备份恢复
核心目标:保证数据可用性、完整性,发生安全事件后可恢复

7.1 备份策略
7.2 恢复测试
7.3 数据加密
7.4 快照

八、合规基线与应急响应
核心目标:确保加固可验证、可持续,发生事件时能快速响应

8.1 基线合规检查
8.2 变更管理
8.3 应急响应流程
8.4 持续监控与自动化

总结:Linux 安全加固覆盖账户认证、文件权限、服务最小化、网络安全、日志审计、补丁更新、数据备份、合规应急八个方面。实际工作中建议结合企业安全基线和业务需求,使用自动化工具持续检查与修复,而不是一次性操作。

posted @ 2026-08-15 16:12  Peach粥粥  阅读(1)  评论(0)    收藏  举报