内核与系统安全加固

共 21 题
#

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 无关