专项复习操作系统安全保护(结束篇)
- 2026-10-25 10:24:29
哈喽各位考友,我是你们的备考搭子。
今天这篇是进阶篇,干的全是"硬货":把教材里展开但不常背到的Windows/UNIX-Linux/国产操作系统三大体系,逐层钻进去——架构 → 安全机制 → 系统安全分析 → 增强技术与方法流程 → 增强实例/配置参考,每一层都帮你标出"这行字在试卷上会以什么姿势出现"。
🚨 划重点: 基础篇教你"背概念",进阶篇教你"用概念做题"。2026 年考试最明显的变化趋势是:题目越来越"细"、越来越"实"——问你具体文件(/etc/shadow)、具体进程(lsass.exe)、具体数值(权限位、端口、SID 的 RID)、具体命令(setfacl/auditctl),并且国产操作系统 / 信创 / 等保联动的分量明显加重。这一篇,就是冲这些"细颗粒"去的。
一、本章"内容版图":一张图看清全部细颗粒考点
第19章的正文逻辑其实是"由通用到专用、由国外到国产"。先用一张表把你要补的内容点全部钉死,每个点都标好"2026 出镜概率":
| ★★★ | ||
| ★★★ | ||
| ★★★ | ||
| ★★★ 上升最快 |
💡 命题规律(先记住): 本章题目 80% 落在"三个一"——一个文件、一个进程、一个数字。 Linux 爱考"改哪个文件、加哪个参数、权限是几";Windows 爱考"哪个组件负责登录/审计/账号库、DACL 还是 SACL、拒绝还是允许";国产 OS 爱考"哪家做哪个系统、三个管理员各管啥、用了哪类国密算法"。后面所有内容都围绕"三个一"展开。
· · ·
二、通用基石:安全机制 + 安全技术(先 10 分钟夯实,后面全靠它)
2.1 安全机制:七个关键词逐个过"易错细节"
💡 客体重用 1 分钟必懂: 你把硬盘上文件"删了",但在分配该扇区给下一个文件之前,老数据还在。所以教材规定:客体在被重新分配使用前,其存储内容必须被清除/改写,防止"捡垃圾式"窃密。
2.2 安全技术:进程隔离 + 内存保护 + 运行域(新增高频区)
① 进程隔离四法(基础篇已背,这里补"谁对应考题")
② 运行域与特权环(Windows/Linux 都绕不开的底层考点)
处理器提供 ring 0 ~ ring 3 四个特权级。操作系统只用了两极:
ring 0(内核态/核心态)→ 操作系统内核代码,可执行特权指令,直接访问硬件 ring 3(用户态) → 应用程序,受 CPU 保护,想碰硬件必须先"系统调用"进内核 保护手段:CPL(当前特权级) / DPL(描述符特权级) / IOPL;MMU 做地址隔离
💡 为什么讲这个? 缓冲区溢出、提权攻击的"终点"大多是想把代码送进 ring 0。而"内核态/用户态切换""系统调用"正是引用监视器不可绕过特性的硬件前提——每一层都被 CPU 硬性拦截。
③ 内存保护与缓冲区溢出防护(2026 常与案例题捆绑)
kernel.randomize_va_space 控制(0/1/2) | ||
· · ·
三、Windows 操作系统安全分析与防护(分值最密,逐层剥)
3.1 Windows 系统架构:先把"地图"背下来
Windows 采用分层 + 双态架构,试卷最爱让你把"某个组件放进对的层"。背这张图:
用户模式(ring 3)
├── 系统支持进程: 会话管理器 smss.exe、登录 winlogon.exe、服务控制 services.exe(宿主 svchost.exe)
├── 本地安全认证: lsass.exe(内含 LSA、SAM 数据库访问、Netlogon 域认证)
├── 环境子系统: csrss.exe(Win32 客户端/服务端运行时,管理控制台窗口/线程)
├── 服务进程与用户应用、子系统 DLL(ntdll.dll / kernel32.dll 等)
内核模式(ring 0)
├── 执行体 Executive(核心"功能部"):
│安全引用监视器 SRM、进程与线程管理器、内存管理器、
│对象管理器、I/O 管理器、缓存管理器、即插即用/电源、LPC(本地过程调用)
├── 微内核 Kernel: 线程调度、中断/异常分发、多处理器同步
├── 图形内核: win32k.sys(GUI 窗口/消息,与子系统的交互)
├── 设备驱动程序(含文件系统驱动)
└── 硬件抽象层 HAL: 屏蔽硬件差异,让上层"认不出"具体主板/CPU
🚨 三个"谁管什么"必背:① winlogon.exe = 登录大门(接收 Ctrl+Alt+Del、启动登录流程);② lsass.exe(LSA) = 认证大总管(本地账号查 SAM、域账号走 Kerberos,并在登录成功时创建访问令牌);③ 执行体里的 SRM = 安全"裁判"(对象每次被访问时,用令牌 vs DACL 做访问检查、做审计裁决)。记法:"winlogon 管开门、LSA 管验证发证、SRM 管查票放行"。
3.2 Windows 安全机制:逐个组件"扣细节"
① 安全标识符 SID 与内置 RID(数值题)
| 500 = 内置 Administrator |
② 访问令牌 / 特权 / 权限(三者别混)
| 访问令牌 Access Token | ||
| 特权 Privilege | ||
| 权限/用户权利 Right | ||
| 对象权限 Permission |
💡 最容易丢分的一对:Privilege(系统特权) vs Permission(对象权限)。前者列表在访问令牌里、与具体文件无关;后者写在每个对象的安全描述符 DACL 里。
③ 安全描述符、DACL、SACL 与 ACE(记忆陷阱重灾区)
| 对象 SACL 里配了审计 ACE + 审计策略里开了"审核对象访问" |
④ 完整性级别、UAC 与提权(Windows 的"分层最小权限")
- 完整性级别 Integrity Level:低 < 中 < 高 < 系统
——进程"不能向比自己高的完整性级别写/注入"(UIPI 隔离)。 - UAC:
管理员登录默认拿到筛选后的低权令牌;要执行管理操作须提权(弹出确认/输口令),得到完全令牌。防恶意程序"静默用管理员权限"。 - 凭据保护延伸:
Windows 10+ 有 Credential Guard(基于虚拟化 VBS 把 LSA 里存的凭据隔离进独立受保护容器)与 WDAC/Device Guard(代码完整性,只放行受信任代码)、Exploit Protection(集中开关 DEP/ASLR/CFG/SEHOP)。
⑤ 账号库与认证协议:SAM 与域认证(谁在哪看答案)
· · ·
3.3 Windows 系统安全分析:攻击面逐个"过筛子"
教材的"系统安全分析"本质是找薄弱点。把历年案例题素材浓缩成一张表,每一个都是"请你指出问题并整改"的答案来源:
| 永恒之蓝 MS17-010 | ||
| PrintNightmare | ||
· · ·
3.4 Windows 系统安全增强的技术方法 + 流程(案例题答题骨架)
案例题只要你写"加固方案",按下面这套"八步法"答,踩点给分稳拿:
① 现状梳理(清点账户/服务/开放端口/补丁) → ② 定基线(对标等保/公司制度/CIS) → ③ 账户口令策略 → ④ 审计策略开启 → ⑤ 最小权限(去 Admin 化/UAC/服务账号收权) → ⑥ 收敛攻击面(关服务端口/禁 SMBv1/停默认共享) → ⑦ 纵深(防火墙/杀软 EDR/补丁/加密) → ⑧ 验证与持续(基线复核、日志集中监控、应急备份)
把"每步具体能改什么"装进口袋,答题时对应着填充即可:
🧠 一句话收束: Windows 加固的底层逻辑就是"让每个人、每个服务、每个端口都只保留最小那点权力,并且每一步都留下日志"——本质还是基础篇那句话:小、严、勤。
3.5 Windows 安全增强实例(把配置"做一遍"给你看)
很多人对 secpol.msc 只闻其名,其实它就是把上面所有策略"点开关"的地方。给你一个可落地的"增强实例"骨架:
第1步: Win+R 运行 secpol.msc → 打开"本地安全策略"第2步: 账户策略→密码策略:密码必须符合复杂性要求(已启用密码长度最小值=8最长使用期限=90天)第3步: 账户策略→账户锁定策略: 账户锁定阈值=5 锁定时间=30 分钟第4步: 本地策略→审核策略: 审核登录事件/账户管理=成功+失败(全勾)第5步: 本地策略→安全选项: "交互登录:不显示上次用户名"=已启用 "网络访问:不允许 SAM 账户和共享的匿名枚举"=已启用第6步: 本地策略→用户权限分配: 收缩"从网络访问此计算机"成员(去掉Everyone/Guest)第7步: 命令行固化与导出备份:auditpol /set /category:"登录/注销" /success:enable/failure:enablesecedit /export /cfg C:\baseline.inf (备份基线) secedit /configure /db 本地.sdb /cfg baseline.inf (批量下发)
💡 送分细节: Windows 的对象访问审计是"双开关"——光在审核策略里开"审核对象访问"不够,还得在那个文件/文件夹的"安全→高级→审核"里针对指定用户/访问类型加一条审计 ACE。2026 很有可能拿它出"以下哪项配置后仍然没有生成相应审计日志"的变形题。
· · ·
四、UNIX / Linux 操作系统安全分析与防护(命令+数值,最吃细)
Linux 考点几乎都是"可执行、可查验"的:文件、命令、配置、数字。逐层拆。
4.1 UNIX/Linux 安全机制:九个要点抠细节
① 身份与口令存储(谁管密码,存哪,什么格式)
/etc/passwd | ||
/etc/shadow | ||
/etc/login.defs | ||
chage |
② PAM 可插拔认证模块(爱考"锁定/强度由哪个模块管")
🚨 常见陷阱: "配置口令复杂度要改 /etc/passwd"❌;正确是 PAM + /etc/login.defs 控制策略。考题会拿"哪些文件由 root 独占/全局可读"来混淆。
③ 文件权限、特殊位、umask(数值计算必拿分)
rwx 三段=属主/属组/其他:r=4 w=2 x=1 例 rwxr-xr-x = 755 特殊位(挂在前面一位): 4 = setuid → 以文件属主身份执行(如 passwd,属主 root) 显示 s(小写,有 x)/S(大写,无 x) 2 = setgid → 以属组身份执行;目录上=新建文件自动继承目录组 1 = sticky → /tmp 等共享目录"只有属主/root 能删自己的文件"(权限常 1777,显示 t) umask 决定新建文件默认权限: 文件基数 666、目录基数 777,减去 umask 例: umask 022 → 文件 644、目录 755;更严可用 027/077 查看典型 suid: find / -type f -perm -4000 2>/dev/null 查看典型 sgid: find / -type f -perm -2000 2>/dev/null
💡 符号陷阱:s 小写表示"特殊位 + 对应执行位都有";如果该段本来没有执行位,会显示大写 S。比如属主执行位没 x 却设了 setuid,显示 -rwSr-xr-x。
④ POSIX ACL:对"单用户"授权的扩展(进阶新宠)
setfacl -m u:alice:rw /data | |
getfacl /data | |
setfacl -x u:alice /data | |
💡 一句话: 传统 rwx 只能按"属主/组/其他"三个桶分;ACL 能精确到某个人。加了 ACL 的文件 ls 权限位末尾会多一个 +(如 -rw-rw----+)。
⑤ Linux Capabilities:细粒度特权(把 setuid 的"大水漫灌"改成"定点滴灌")
cap_net_bind_service | |
getcap -r / 2>/dev/null | |
setcap cap_net_bind_service=+ep /usr/bin/app | |
💡 出题方向: 传统 setuid 是"一把梭"(整个 root),Capabilities 是"按最小权限授予单项能力"——把两者放一起考"谁更符合最小权限原则",答 Capabilities。
⑥ 强制访问控制:SELinux 与 AppArmor(把基础篇的 MAC 落地成命令)
avc: denied → 用 audit2allow 生成规则 | ||
🧠 与基础篇安全模型联动(4.5 还会再讲): SELinux = 基础篇那个 MAC 的 Linux 肉身;它的 mls 策略类型就是 BLP(机密性:不准低读高、高写低) 的多级落地。这一题把"进阶架构"和"基础模型"串起来,2026 出现概率很高。
⑦ sudo:把 root 权限"切成小块"借出去
配置文件: /etc/sudoers → 必须用 visudo 编辑(语法校验) 授权行语法: 用户名 主机名=(可切换身份) 命令 例1: dev ALL=(ALL) /usr/bin/systemctl
# 仅允许执行 systemctl 例2: %wheel ALL=(ALL) ALL
# wheel 组成员可用全部命令(仍需输口令)
风险写法: op ALL=(ALL) NOPASSWD: ALL
# 免密+全命令 = 把 root 白送 安全建议: 少用 NOPASSWD;命令尽量白名单;保留口令;日志在 /var/log/secure(auth 日志)可查
⑧ 审计与完整性(把"做过什么"和"有没有被改"钉死)
审计服务 auditd: 启动 systemctl enable --now auditd
实时规则: auditctl -w /etc/passwd -p wa -k passwd_change (-w 监控路径 -p 权限(r读w写x a属性) -k 关键字标签)
规则持久化:写 /etc/audit/rules.d/audit.rules(及主文件 /etc/audit/audit.rules) 查询: ausearch -k passwd_change aureport -au(认证报告)
文件完整性: AIDE / Tripwire: 先对关键目录建哈希基线,再定期校验差异
另一招: rpm -Va 校验已装 rpm 包文件是否被改(红帽系)
4.2 UNIX/Linux 系统安全分析:从"会被怎么打"反推加固点
awk -F: '$3==0' /etc/passwd);审计登录/历史;完整性 AIDE |
· · ·
4.3 UNIX/Linux 系统安全增强方法 + 流程(案例题模板)
① 最小化安装 → ② 补丁升级 → ③ 账户口令策略(PAM/老化/锁定) → ④ 权限收敛(特殊位/ACL/capabilities/sudo 白名单) → ⑤ 服务与端口最小化 → ⑥ 网络层收口(防火墙/禁用转发与重定向) → ⑦ 内核参数与文件系统加固 → ⑧ 开启 SELinux/AppArmor → ⑨ 审计与日志集中 → ⑩ 完整性校验与基线复核
案例题若问"请写出 Linux 加固要点",把 4.3 的 10 步 + 4.4 的可执行配置写进去即可。下面把配置直接给你抄。
4.4 Linux 安全增强配置参考(可直接抄的"配置块",背几个就够)
① SSH 远程加固(/etc/ssh/sshd_config)
# 禁止 root 直接远程登录(平时用普通账号+sudo) PermitRootLogin no
# 只允许密钥登录(若内部强制则改为 yes 需配合强口令+锁定) PasswordAuthentication no PubkeyAuthentication yes
# 收窄可登录用户、限制失败尝试 AllowUsers alice bob MaxAuthTries 3
# 会话加固 Protocol 2 X11Forwarding no UsePAM yes
# 改完必须验证语法并重启: sshd -t && systemctl restart sshd
② 口令策略与失败锁定
# /etc/login.defs(全局默认) PASS_MAX_DAYS 90
# 最长使用 90 天 PASS_MIN_DAYS 1
# 最短 1 天 PASS_WARN_AGE 7
# 提前 7 天提醒 # PAM 失败锁定(RHEL8+ faillock):
# /etc/security/faillock.conf deny = 5
# 连续 5 次失败锁定 unlock_time = 1800
# 30 分钟后解锁
# 并在 /etc/pam.d/system-auth 与 password-auth 的 auth 段首尾挂上 pam_faillock.so
# 对单个用户立即生效: chage -M 90 alice ; passwd -l alice(锁定)
# 排查空口令/可登录账号: awk -F: '($2==""){print $1}' /etc/shadow
③ 内核参数加固(/etc/sysctl.conf,改后 sysctl -p 生效)
# 网络层基础加固 net.ipv4.ip_forward = 0
# 关闭 IP 转发(非路由器) net.ipv4.conf.all.accept_redirects = 0 net.ipv4.conf.all.send_redirects = 0
# 防 ICMP 重定向欺骗 net.ipv4.conf.all.rp_filter = 1
# 反向路径过滤,防 IP 欺骗 net.ipv4.tcp_syncookies = 1
# SYN Cookies 防 SYN Flood net.ipv4.conf.default.accept_source_route = 0 # 禁源路由
# 系统层 kernel.randomize_va_space = 2
# 开启完整 ASLR(地址空间随机化) kernel.core_uses_pid = 1 fs.suid_dumpable = 0
# 禁止对 suid 程序产生核心转储
④ 文件系统挂载加固(/etc/fstab)与 SUID 排查
# 独立分区挂载时加安全选项(以 /tmp 为例,视业务决定是否 noexec) tmpfs /dev/shm tmpfs defaults,nodev,nosuid,noexec 0 0
# /tmp 建议独立分区并挂为: defaults,nodev,nosuid,noexec(若允许执行脚本则去掉 noexec)
# /home,/var 至少 nodev,nosuid
# 排查 setuid/setgid 后门文件 find / -type f -perm -4000 -ls 2>/dev/null find / -type f -perm -2000 -ls 2>/dev/null
# 检查监听端口与多余服务 ss -tulnp systemctl list-unit-files --type=service | grep enabled
⑤ 防火墙(firewalld)示例
# 默认拒绝/收口思路:默认区 drop,再按需放行 firewall-cmd --set-default-zone=drop firewall-cmd --permanent --zone=drop --add-service=ssh firewall-cmd --permanent --zone=drop --add-service=http firewall-cmd --reload
# 老式 iptables 亦可: iptables -P INPUT DROP 等(需注意默认策略别把自己关外面)
⑥ 审计与完整性(auditd + AIDE)
# auditd 实时监控口令/用户文件 auditctl -w /etc/passwd -p wa -k etc_passwd auditctl -w /etc/shadow -p wa -k etc_shadow auditctl -w /etc/sudoers -p wa -k etc_sudoers
# 持久化: 写入 /etc/audit/rules.d/audit.rules, 重启仍生效
# 查询: ausearch -k etc_passwd | aureport -au
# AIDE 文件完整性基线 aide --init
# 首次生成基线(输出到 /var/lib/aide/aide.db.new.gz)
# 更名基线后定期: aide --check → 有差异即告警(防篡改/防 rootkit 藏文件)
💡 关于 noexec:/tmp 若挂 noexec,能挡掉"上传二进制到 /tmp 再执行"的一类攻击,但会误伤把 /tmp 当脚本/程序工作目录的正常业务,要按业务取舍——这正是案例题"配置与可用性平衡"的经典考点。
· · ·
4.5 安全模型参考:把基础篇的模型"翻译"到 Linux 身上(跨章串讲)
这里做一张"理论模型 → Linux 落地"对照表,2026 若考"以下哪个机制实现了强制访问控制/对应哪类安全模型",照抄即可:
🧠 串讲价值: 这正好呼应基础篇的"BLP 禁上读禁下写 / Biba 禁下读禁上写"。出题人最爱的招数是给一段 Linux 描述(如"SELinux mls 下,高安全级别进程无法向低级别对象写"),问你"这符合哪个模型的哪条规则"→ 答 BLP 星特性(禁止下写)。
· · ·
五、国产操作系统安全分析与防护(2026 最可能的新增考点区)
教材成书较早,国产化内容着墨有限;但近年"信创 + 等保 + 商密"在案例题里几乎必带一笔。备考冲刺期,这一块你必须"知道生态、记住术语、会答三问"。
5.1 先把"生态地图"记牢(选择题最爱考"谁是谁")
| 银河麒麟(Kylin OS) | |||
| 统信 UOS | |||
| openEuler(欧拉) | |||
| 龙蜥 Anolis | |||
🚨 3 个易混点: ① 银河麒麟(麒麟软件)≠ 中标麒麟(历史品牌),现在官方旗舰基本是"银河麒麟 V10";② UOS(统信)≠ 麒麟,一个 Debian/Deepin 底、一个与 openEuler 同源;③ openEuler 是开源社区底座,银河麒麟服务器版等是商业发行版——不是同一层的东西。
5.2 国产 OS 的安全增强设计(把"它比普通 Linux 多做了啥"答出来)
| 三权分立/三员分立 | ||
| 强制访问控制/多级安全 | ||
| 国密算法支持 | ||
| 可信计算落地 | ||
| 双因素认证 | ||
| 安全中心/集中管控 |
5.3 国产 OS 安全分析与防护(站在"信创+等保"角度答)
- 定位风险:
软件供应链(组件来源国产化程度)、生态依赖(驱动/中间件迁移兼容性)、停服老版本、高危漏洞响应(依赖国产漏洞库 CNNVD 与厂商公告)。 - 防护主线:
等保2.0"安全计算环境"对操作系统的要求,在国产 OS 上一一落实——身份鉴别(双因素/锁定)、访问控制(权限/三权分立)、安全审计(开启并留存)、入侵防范(关闭危险服务/最小化/补丁)、恶意代码防范(内置防护)、可信验证(度量启动)。 - 迁移与加固场景(案例题素材):
CentOS 停更 → 迁移国产/欧拉系 → 同步做基线加固 → 应用兼容性验证 → 双轨运行回退预案。答"迁移注意"可写:先盘点软硬件兼容、备份、小范围试点、安全基线同步、应急预案。
🧠 一句话应试: 国产 OS 的安全答题= "底子是加固过的 Linux,外壳多了一层国产化安全设计(三权分立+国密+可信+双因素)"。凡是"自主可控、供应链安全、等保合规、商密合规"的大帽子题,都能往这上面靠。
· · ·
六、2026 软考信安 · 本章细颗粒考点预测总清单

6.2 按题型预测(选择题 vs 案例题)
| ★★★★★ | ||
| ★★★★★ | ||
| ★★★★ | ||
| ★★★★ | ||
| ★★★★ |
6.3 2026 大概率新增/变形的几个"新面孔"
- Windows 审计"双开关"陷阱题
(对象 SACL 加了审计 ACE 但全局"审核对象访问"没开 → 还是没有日志)。 - Capabilities vs setuid
的"最小权限"比较题;或给出 getcap -r结果让找风险。 - 国产 OS 三权分立 / 国密 / 可信
与等保 2.0 要求"连线"的组合题。 - 加固"平衡题"
(如 /tmp noexec 会否影响业务、RDP 关闭是否影响远程运维)——考"安全与可用性权衡"。 - 日志/事件与威胁对应
:给一段 security 日志/audit.log 片段判断发生了什么(登录失败爆破、AIDE 差异告警、avc denied)。
七、终极背诵包(口诀 + 速记卡片)
🎵 顺口溜1:Windows 架构与组件(新)

🎵 顺口溜2:Linux 文件与加固(新)

🎵 顺口溜3:国产 OS 与 2026 展望(新)

九、备考小贴士(进阶篇专属)

· · ·
😂 每日一笑


下午卷的案例分析题,操作系统安全这一章常年以"给一个带病环境 → 让你找问题、写加固、看日志判断事件"的形式出现。今天按 2026 命题趋势给你组2 套仿真案例题,难度贴近真题、答案全带采分点——先自己做,再点开对照,练的就是"踩点得分"的手感。
阅读以下说明,回答问题 1 至问题 4,将解答填入答题纸的对应栏内。
【说明】
某政务云租户将一台部署了公民业务数据的服务器迁移到国产操作系统(银河麒麟,基于 Linux 内核)上运行,该服务器需通过等保三级测评并曾发生过一次安全事件。等保测评与应急复盘后整理出如下现象:① 账户口令策略缺失:/etc/shadow 权限被误改成 644;允许 root 通过 SSH 远程口令登录;口令无老化、登录失败不锁定。② 事件复盘发现:系统被植入过一个 setuid 后门,/etc/passwd 中一度出现第二个 UID=0 的账号 backup,计划任务目录中被添加了可疑脚本。③ 用户要求整改后不仅要"修好",还要满足等保三级对"安全计算环境"的要求,并体现国产操作系统的安全增强特性。
【问题 1】(5 分)
请针对现象①逐一指出风险,并写出对应的整改命令或配置(要求写到具体文件与参数)。
✨ 查看参考答案
① shadow 权限过宽(644 任何人可读): 口令哈希泄露后可被离线暴力破解。整改:恢复为仅 root 可读写chmod 600 /etc/shadow(或 chown root:shadow 后设 640)。
② 允许 root 远程口令登录: 弱口令被爆破即直接获得最高权限,且 root 口令无失败锁定兜底易被撞库。整改:编辑 /etc/ssh/sshd_config,设置PermitRootLogin no(并建议 PasswordAuthentication no 改密钥认证),保存后 sshd -t 校验并 systemctl restart sshd。
③ 口令无老化、失败不锁定: 长期不换 + 无限尝试,口令易泄露/被爆破。整改:在 /etc/login.defs 设全局老化(如 PASS_MAX_DAYS 90、PASS_WARN_AGE 7);通过 PAM 增加复杂度与失败锁定——/etc/security/pwquality.conf(复杂度)与 /etc/security/faillock.conf(deny=5、unlock_time=1800),并在 /etc/pam.d/system-auth 等链中挂载 pam_pwquality.so、pam_faillock.so。
💡 采分点提示: 写"具体命令/参数"比写"加强口令管理"得分高,务必落到 shadow/sshd_config/login.defs/PAM 这些文件名上。
【问题 2】(6 分)
针对现象②的后门与隐藏账号,回答:(1)分别写出"查找全盘 setuid 文件""查找 UID=0 的账号""查看计划任务""查看 SSH 免密后门"的排查命令。(2)请说明攻击者为何偏爱用 setuid/UID=0 账号作为后门,并给出加固建议。
✨ 查看参考答案
(1)排查命令(每条约 0.75~1 分):
全盘 setuid 文件: find / -type f -perm -4000 -ls 2>/dev/null(SGID 用-perm -2000)查找 UID=0 账号: awk -F: '$3==0{print $1}' /etc/passwd查看计划任务: crontab -l(root 与各用户)、ls -l /etc/cron.d/ /var/spool/cron/SSH 免密后门: cat ~/.ssh/authorized_keys(检查是否有异常公钥)、核对/root/.ssh/与各账号.ssh属主与内容
(2)原因与加固(约 3 分):
sudo 白名单或 Capabilities 单项授权;② 周期性比对 /etc/passwd 中 UID=0 账号(应只有 root);③ 配合 auditd 监控 /etc/passwd、计划任务目录的写入;④ 用 AIDE 等建立关键文件完整性基线,察觉篡改;⑤ 加强口令与锁定策略,避免被爆破后植入。【问题 3】(8 分)
为满足等保三级"安全计算环境"并体现国产化安全增强特性,请回答:(1)国产操作系统普遍采用的"三权分立/三员分立"将管理权限拆分为哪三个角色?各自职责是什么?这样做的目的?(2)从"安全计算环境"的六项要求中任选三项,说明在本服务器上如何落地;(3)等保中的"可信验证"要求,与国产操作系统的哪些安全特性相呼应?
✨ 查看参考答案
(1)三角色(约 3 分):
(2)任选三项落地示例(每项约 1.5 分):
auditd 对 /etc/passwd、/etc/shadow、sudoers 等关键文件实时审计,日志集中留存并防篡改;(3)可信验证呼应(约 2 分):
国产可信计算芯片 TPCM/TCM + 可信启动"先度量后执行",从可信根逐级度量 BootLoader→内核→关键应用,任何一层被篡改即拒绝/告警,形成信任链——这正是等保"可信验证"在操作系统安全保护层面的落地形态。
【问题 4】(6 分)
应急复盘时从 /var/log/secure(认证日志)中提取到如下片段(模拟):
... sshd[1123]: Failed password for root from 203.0.113.9 port 52113 ssh2 ... sshd[1123]: Failed password for root from 203.0.113.9 port 52130 ssh2 ... sshd[1131]: Accepted password for root from 203.0.113.9 port 52177 ssh2 ... useradd[1188]: new user: name=backup, UID=0, GID=0, home=/root ... crontab[1200]: (backup) REPLACE (user backup)
请回答:(1)依据以上日志,还原攻击者的大致入侵过程(攻击链路);(2)为防范此类事件、保障"事后可溯源",在日志/审计层面应做哪些工作?
✨ 查看参考答案
(1)攻击链路还原(约 3 分):
① 远程爆破 root: 对 root 持续 Failed password(大量失败尝试),说明存在口令暴力破解;② 爆破成功: 某次 Accepted password for root,攻击者拿到 root 远程登录权限(暴露了"允许 root 口令登录"与"无失败锁定"两个缺陷);③ 建立持久后门: 创建 UID=0/GID=0的隐藏账号backup,并植入计划任务脚本(crontab REPLACE),配合现象②中发现的 setuid 后门,实现持久化控制。
(2)日志/审计层面的保障(约 3 分):
① 开启并集中: 启用 auditd与系统认证日志,并通过 rsyslog/SIEM 将日志异地集中,防止被入侵者就地清除;② 防篡改: 日志落盘后设只读/追加写权限,关键审计使用远程只读收集,保证完整性; ③ 重点监控项: 对 useradd/usermod、chage、/etc/passwd、/etc/shadow、计划任务目录等敏感操作/文件加审计规则(auditctl -w ... -k),并配置告警;④ 留存策略: 规定日志留存时长(如 ≥6 个月),与应急响应预案联动,事后可完整溯源复盘。
· · ·
案例题二
(本大题建议答题 30 分钟,共约 25 分)
阅读以下说明,回答问题 1 至问题 4,将解答填入答题纸的对应栏内。
【说明】
某企业对外门户部署在 DMZ 区一台 Windows Server 2016 上(远程桌面 3389 对外开放、445 端口开放),内部业务缓存部署在 Linux 服务器上。安全团队应急处置时发现:① Windows 主机的 Security 事件日志中大量"审核失败",随后出现一次成功登录,再往后一段"审核日志被清除";② Windows 主机 SMBv1 开启、存在默认共享,Guest 账户被启用,且检测到 lsass.exe 内存被读取的迹象(疑似凭据被转储);③ 内部 Linux 服务器出现异常 SSH 登录与可疑进程,怀疑被横向移动并植入后门;④ 等保测评指出 Windows 主机"对象访问审计配置不完整、远程管理未做来源限制、未做数据加密"。
【问题 1】(6 分)
下表列出部分 Windows 安全事件 ID,请将其与含义连线对应,并结合现象①判断攻击者的行为序列:
✨ 查看参考答案
对应关系:4624—B、4625—D、4740—A、1102—C(每条 1 分,共 4 分)。
攻击者行为序列推断(约 2 分):大量 4625(登录失败)说明正在对 RDP 进行口令爆破 → 期间账户触发锁定会出现 4740 → 爆破成功后产生 4624(登录成功) → 攻击者做破坏性操作前清除日志掩盖痕迹,出现 1102(审核日志被清除)。据此可判断:这是一次"RDP 爆破 → 登录成功 → 清理痕迹"的入侵事件,后续很可能伴随凭据窃取与横向移动。
【问题 2】(7 分)
结合现象②④,请写出对该 Windows 服务器的安全增强措施(至少 6 条,要求具体到策略/配置项)。
✨ 查看参考答案
Administrator、禁用 Guest、删除冗余账号;SACL 配齐审计 ACE(双开关);C$/ADMIN$/IPC$、关闭不必要服务与端口,防火墙默认阻止入站;【问题 3】(6 分)
测评指出 Windows"对象访问审计配置不完整"。请结合 Windows 安全模型解释:(1)对一个文件配置"写入被审计",需要哪两处配合才能产生日志?若只在文件属性中添加了审计项却仍无日志,最可能缺什么?(2)说明 DACL 与 SACL 的区别,以及"拒绝"ACE 与"允许"ACE 的裁决优先级。
✨ 查看参考答案
(1)对象访问审计的"双开关"(约 3 分):
① 在对象本身的安全描述符 SACL 中添加审计 ACE(指定对哪个用户/组、哪类访问(如写入)、成功/失败进行审计)——即文件"安全 → 高级 → 审核"处配置;
② 在系统/组策略的"审核对象访问"类别开启(auditpol 或 secpol.msc 的审核策略)。
只配 SACL 而无全局策略时仍不会产生日志——最可能缺的就是"审核对象访问"策略开关未开启;反之亦然,所以叫双开关。
(2)DACL 与 SACL、裁决优先级(约 3 分):
DACL 决定对对象允不允许访问(允许/拒绝 ACE),管"放行";SACL 决定哪些访问生成审计日志(系统审计 ACE),管"留痕"。
裁决时显式"拒绝"优先于"允许"(Deny 一票否决):只要命中一条拒绝 ACE 即拒绝访问,即使同时存在允许 ACE;且继承的 ACE 排在显式 ACE 之后处理。
【问题 4】(6 分)
针对内部 Linux 服务器被横向移动并植入后门,结合现象③,请回答:(1)给出至少 4 条 Linux 侧加固/处置措施(要求具体命令或配置文件);(2)为什么 Windows 上被转储的凭据可能威胁到 Linux?应如何从"账号口令策略"层面切断这条横向链路?
✨ 查看参考答案
(1)Linux 侧加固/处置(任写 ≥4 条,约 4 分):
① 账户口令: 排查新增/异常账号( awk -F: '$3==0{print $1}' /etc/passwd),禁用 root 远程登录(/etc/ssh/sshd_config设PermitRootLogin no),开启口令复杂度和失败锁定(PAM);② 后门排查: 查 setuid/setgid( find / -type f -perm -4000 -ls)、计划任务(ls -l /etc/cron.d/ /var/spool/cron/)、SSH 免密(核对authorized_keys)、可疑进程与开放端口(ps -ef、ss -tulnp);必要时用 rkhunter/chkrootkit 扫描并重装受感染服务;③ 审计与完整性: 开启 auditd监控/etc/passwd、sshd_config等;用 AIDE 建立关键文件完整性基线,发现异常即告警;④ 网络与最小化: 防火墙只放业务端口、禁 IP 转发与重定向( sysctl)、关闭多余服务;⑤ 补丁: 及时升级内核与组件,修复已知提权/远程漏洞。
(2)横向链路切断(约 2 分):
原因:员工常在多系统复用同一口令,Windows 侧被转储的凭据(明文口令或可重放的哈希)一旦命中 Linux 上相同账号口令,即可横向登录。 对策:跨系统强制使用不同口令/独立账号;关键系统启用双因素认证;对远程管理限源(防火墙/IP 白名单/堡垒机)并最小化授权;发现复用立即全量改密。
· · ·
答题要点速查卡(做完对,考前再看一眼)

