TypechoJoeTheme

至尊技术网

登录
用户名
密码

蓝队加固训练:Linux用户权限排查及加固,linux给用户加权限

2025-12-04
/
0 评论
/
1 阅读
/
正在检测是否收录...
12/04

正文:

在网络安全攻防演练(红蓝对抗)中,蓝队(防御方)对Linux服务器的权限管控是防御体系的关键基石。攻击者一旦获取用户级权限,往往会尝试提权或横向移动。因此,系统性地排查用户权限配置并实施加固,是蓝队日常运维的重中之重。

一、用户账户深度排查

  1. 异常账户扫描
    首先聚焦/etc/passwd/etc/shadow文件。警惕UID为0的非root账户(root的UID始终为0):

    # 查找非root的UID 0账户
    awk -F: '($3 == 0) && ($1 != "root") {print $1}' /etc/passwd


    同时检查空口令账户(极高危!):

    # 检查shadow文件中密码字段为空的账户
    awk -F: '($2 == "") {print $1}' /etc/shadow
  2. 历史登录痕迹分析
    通过lastlastlog命令审查近期登录记录,结合/var/log/auth.log(或/var/log/secure)分析认证日志。重点排查:



    • 非工作时间段的异常登录
    • 来源IP异常的SSH连接
    • 频繁失败的登录尝试(可能为暴力破解)

二、文件权限与SUID/SGID风险

  1. SUID/SGID文件扫描
    SUID(Set User ID)和SGID(Set Group ID)位赋予文件执行时临时的属主/属组权限。若被恶意利用,将成为绝佳的提权跳板。全面扫描:

    # 查找所有SUID文件
    find / -perm -4000 -type f -exec ls -l {} \; 2>/dev/null
    
    # 查找所有SGID文件
    find / -perm -2000 -type f -exec ls -l {} \; 2>/dev/null


    蓝队加固动作:



    • 白名单比对: 将扫描结果与已知安全的系统SUID/SGID列表(如刚部署的干净系统)进行比对,标记新增或可疑文件。
    • 最小化原则: 严格审查非核心应用(如/usr/bin目录外的自定义脚本)是否必须设置SUID/SGID。对非必要文件坚决移除特殊权限:chmod u-s /path/to/file (移除SUID),chmod g-s /path/to/file (移除SGID)。
  2. 全局可写目录监控
    全局可写(o+w)的目录意味着任何用户都能在此创建、删除文件。攻击者常利用此类目录放置后门或脚本。排查命令:

    find / -perm -0002 -type d -exec ls -ld {} \; 2>/dev/null | grep -vE "/proc|/sys|/dev|/run"


    特别注意/tmp/var/tmp等临时目录的属性。虽然部分应用需要,但需确保noexec(禁止执行)和nosuid(禁用SUID)挂载选项已启用(在/etc/fstab中配置):

    tmpfs  /tmp  tmpfs  defaults,noexec,nosuid,nodev  0  0

三、sudo配置精细化管理

sudo是权限提升的核心机制,其配置文件/etc/sudoers是攻击者重点目标。

  1. sudoers审计要点



    • NOPASSWD陷阱: 检查是否存在NOPASSWD标签,这意味着用户执行特定sudo命令时无需输入密码。除非有充分理由且风险可控,否则应移除。
    • 通配符滥用: 警惕配置中使用*(通配符)允许所有命令或路径。应明确限定允许执行的命令列表。
    • 危险的ALL权限: ALL=(ALL) ALL或类似配置赋予用户完全的root权限。需评估是否必要,或用更细粒度的命令列表替代。
  2. 加固策略



    • 最小权限原则: 精确配置用户/组能执行的命令。例如,仅允许运维组ops重启web服务:

      %ops ALL = (root) /usr/bin/systemctl restart apache2, /usr/bin/systemctl restart nginx
    • 禁用危险命令: 明确禁止用户通过sudo执行高风险命令(如/bin/bash/usr/bin/vim/usr/bin/wget到可疑地址)。

    • 专用工具替代: 对于需要特权的管理任务,开发专用工具(带严格输入校验)替代直接开放sudo执行原始命令。
    • 配置锁护: 永远使用visudo编辑/etc/sudoers 它会在保存前检查语法,避免配置错误导致所有sudo功能失效(灾难性后果)。

四、SSH服务安全加固

SSH是远程管理的命脉,也是攻击者最常突破的入口。

  1. 关键配置(/etc/ssh/sshd_config)



    • PermitRootLogin no禁止root直接登录,迫使攻击者必须攻破一个普通账户。
    • PasswordAuthentication no: 在条件允许时禁用密码登录,强制使用密钥认证,彻底免疫暴力破解。
    • AllowUsersAllowGroups: 显式指定允许登录的用户/组,形成白名单。
    • MaxAuthTries 3: 限制密码尝试次数。
    • ClientAliveIntervalClientAliveCountMax: 设置会话超时,防止空闲连接被利用。
  2. 密钥管理
    若使用密钥认证:



    • 用户私钥必须设置强口令加密。
    • 定期审计~/.ssh/authorized_keys文件,移除失效或未知公钥。
    • 服务器端可考虑启用AuthorizedKeysCommand从集中存储(如LDAP)获取公钥,避免分散管理。

五、持续监控与自动化

防御非一蹴而就:

  1. 文件完整性监控(FIM): 使用工具(如AIDE、Tripwire或商业EDR)监控/etc/passwd/etc/shadow/etc/sudoers、关键SUID/SGID文件等核心资产的变动。
  2. 日志集中与分析:auth.logsecure等日志实时发送至SIEM或日志平台,建立异常登录、sudo命令执行、权限变更等告警规则。
  3. 定期审计: 将上述排查命令封装成脚本,结合Cron定期运行,输出报告供审查。自动化是应对规模化运维的必然选择。

作为蓝队成员,我们必须深刻理解:权限管理是纵深防御的底层支撑。通过严谨的排查、最小化的权限配置、精细化的控制以及持续的监控,我们才能在攻防对抗中筑牢防线,让攻击者的提权之路步履维艰。每一次成功的权限加固,都是对整体安全态势的一次有力提升。

SUID/SGIDLinux权限管理用户账户安全sudoers蓝队防御
朗读
赞(0)
版权属于:

至尊技术网

本文链接:

https://www.zzwws.cn/archives/40269/(转载时请注明本文出处及文章链接)

评论 (0)