# 1. sshd_config 中 AllowTcpForwarding 如何控制 SSH 端口转发权限? A GatewayPorts 与远程转发无关 B no 会阻止 SFTP 文件传输 C local 表示完全禁止转发 D 端口转发可将 SSH 通道用作任意 TCP 隧道,生产环境推荐 no,必要时用 PermitOpen 收窄目标 ✓ 正确答案
# 2. sshd_config 中 AllowUsers、AllowGroups 如何限制 SSH 登录用户与组? A 同时配置 Allow 与 Deny 时以 Allow 为准,Deny 名单内的用户也会被放行 B Allow 名单只对 root 生效 C 配置 Allow 名单后未列出用户一律拒绝,修改前需校验语法并保留会话,防止锁死登录 ✓ 正确答案 D AllowUsers 不影响 scp 登录
# 3. sshd_config 中 AuthorizedKeysCommand 如何从外部命令获取授权密钥? A 该命令以登录用户身份执行最安全 B 配置后 authorized_keys 文件被完全禁用 C 命令可以是任意相对路径脚本 D 它通过外部命令动态获取授权密钥,适合集中密钥管理,但脚本必须防注入与越权返回 ✓ 正确答案
# 4. sshd_config 中 MaxStartups 如何限制并发未认证连接数? A 它以 start:rate:full 三段式限制并发未认证连接,超过阈值按概率丢弃,达到 full 全部拒绝 ✓ 正确答案 B 它限制已登录会话的总数 C rate 数字越小丢弃概率越大 D 该参数与暴力破解防护无关
# 5. sshd_config 中 StreamLocalBindMask 如何设置 Unix socket 文件的权限? A 设为 0777 更加安全 B 掩码作用于 socket 的监听端口 C 该参数只影响 TCP 转发 D 默认 0177 使创建的 socket 文件仅对所有者可见,防止本地其他用户连接转发目标 ✓ 正确答案
# 6. 内核安全加固中 KASLR、SMEP/SMAP、seccomp 与 LSM 如何配置? A 开启 KASLR 后内核漏洞无法利用 B KASLR 提高利用难度,SMEP/SMAP 阻断执行用户页,seccomp 收缩 syscall 面,LSM 做强制访问控制,四者形成纵深防御 ✓ 正确答案 C seccomp 用于控制网络访问 D SMEP 关闭后内核可自由执行用户页
# 7. SELinux 与 AppArmor 的 enforcing/permissive 模式差异,生产环境如何从宽容模式平滑切换并验证策略 A permissive 允许访问但记录违规,先收集 AVC 生成策略再灰度 enforcing,可避免迁移事故 ✓ 正确答案 B permissive 与 enforcing 行为完全相同 C SELinux disabled 状态可运行时直接切 enforcing D AppArmor 不支持 permissive 模式
# 8. systemd 服务加固指令 ProtectSystem、PrivateTmp、NoNewPrivileges、ReadOnlyPaths 如何限制服务进程的文件系统与权限面 A 加固指令必须在应用代码中实现 B PrivateTmp 会把服务数据写到全局 /tmp C NoNewPrivileges 阻止服务正常启动 D ProtectSystem=strict 将文件系统只读挂载并配合 ReadWritePaths 白名单,NoNewPrivileges 阻止提权,组合使用可显著收窄服务权限面 ✓ 正确答案
# 9. 内核模块加载控制中 modules.sig_enforce 强制签名校验与模块黑名单如何防止恶意或未授权模块 A sig_enforce 强制模块签名校验,blacklist/install 规则阻止未授权模块加载,两者组合形成纵深防线 ✓ 正确答案 B 黑名单能阻止已签名的恶意模块加载 C 签名校验与 Secure Boot 无关 D modules_disabled 可运行时随意开关
# 10. audit 规则如何审计用户相关操作(如创建、删除、提权)? A 用 -w 监视账户文件、-a 记录提权 execve 并带 key 标记,通过 ausearch/aureport 查询验证 ✓ 正确答案 B audit 只能审计网络流量 C 规则越宽泛越好,能记录所有事件 D auditd 故障不会影响审计
# 11. auditd 如何生成并落盘审计日志(audit.log)? A audit 事件由应用进程直接写日志 B 内核事件经 auditd 落盘到 /var/log/audit/audit.log,用 max_log_file/num_logs 轮转,ausearch/aureport 查询 ✓ 正确答案 C 轮转策略与磁盘容量无关 D auditd 停止后审计事件自动落盘
# 12. auditd 的 backlog_limit 如何防止审计事件队列溢出? A 规则越宽泛对队列越友好 B backlog 与事件丢失无关 C backlog_limit 越大审计越快 D 它是内核 audit 队列长度上限,溢出会导致事件丢失并可能触发内核拥塞,需监控 lost 并调节规则宽度与消费速率 ✓ 正确答案
# 13. auditd 的 failure_mode 参数如何控制系统在审计故障时的行为? A failure_mode 只影响日志轮转 B 三种模式都会停止审计 C 0 静默丢弃、1 printk 告警、2 panic,是"可用性 vs 审计完整性"的取舍,高合规环境可用 2 ✓ 正确答案 D 模式 2 下故障时系统继续运行
# 14. auditd 的 log_format 参数中 ENRICHED 与 RAW 格式的差异 A RAW 格式包含更多信息 B ENRICHED 与 RAW 内容完全相同 C ENRICHED 在 RAW 基础上补充 syscall 名称、可执行路径、主机名等可读字段,更便于解析但存储略大 ✓ 正确答案 D log_format 只影响窗口标题
# 15. auditd 的 max_log_file 如何限制审计日志大小,超限后如何处理? A 轮转期间不会丢失任何事件 B 超限后日志自动永久保存 C IGNORE 是最安全的超限策略 D max_log_file 限制单文件大小,配合 num_logs 与 max_log_file_action=ROTATE 滚动保留,另需 disk_full_action 防磁盘打满 ✓ 正确答案
# 16. 系统加固基线的制定与落地中账号密码策略、sshd 配置、防火墙默认拒绝与 auditd 规则如何组合成可核查的基线 A 基线一旦制定就永远不变 B 基线需覆盖账号密码、sshd、防火墙与审计等多维度,并以配置管理分发、扫描工具核查形成闭环 ✓ 正确答案 C 加固只针对 sshd 配置即可 D 基线合规状态无需巡检
# 17. Yama ptrace_scope 如何限制跨进程调试与提权路径,开启后对调试工具与容器的影响 A ptrace 无法读取进程内存 B 开启后调试工具完全不可用 C 默认 1 阻断无关进程间的 ptrace,切断注入提权路径,但跨进程 gdb/strace 调试需 root 或临时放开 ✓ 正确答案 D 容器不受该参数影响
# 18. 内核漏洞缓解的层次中及时补丁、内核参数(如 kptr_restrict)与漏洞利用缓解(KASLR/SMEP/SMAP)如何配合 A 开启 KASLR 就无需打补丁 B 补丁是根治手段,kptr_restrict 隐藏地址对抗 KASLR 绕过前提,KASLR/SMEP/SMAP 提高利用成本,三层组合形成纵深 ✓ 正确答案 C kptr_restrict 会阻止内核启动 D SMEP 关闭不影响利用难度
# 19. 加固效果的验证方法中配置基线核查、漏洞扫描与绕过测试(尝试未授权提权)如何形成验证闭环 A 基线核查验证配置符合性、漏洞扫描核对 CVE、绕过测试验证防护有效性,整改后复验形成闭环 ✓ 正确答案 B 漏洞扫描结果即为加固完成的证明 C 绕过测试可在生产环境随意执行提权操作 D 基线核查与漏洞扫描相互替代
# 20. 容器与宿主机共享内核的攻击面中 capabilities、sysctl、内核模块加载与 /proc 暴露如何放大主机风险 A 容器内无法影响宿主内核 B 容器无独立内核,过宽 capabilities、可加载模块与 /proc 暴露都会放大"容器逃逸即宿主沦陷"的风险 ✓ 正确答案 C SYS_ADMIN 能力不会带来逃逸风险 D 挂载宿主 /proc 是安全的
# 21. core dump 安全管理中 core_pattern 配置、核心转储文件权限与敏感内存内容泄露防护 A core 文件只含寄存器,不含敏感数据 B core 含进程内存可能泄露密钥,需从生成策略(core_pattern/suid_dumpable)、存储权限(属主/0700)与访问管控(coredumpctl 权限)三环防护 ✓ 正确答案 C 任何用户都可读取 root 进程的 core D suid_dumpable 与 core dump 无关