第2章:Linux系统安全基础

本章聚焦面试中高频的Linux系统安全基础问题,涵盖权限控制、用户管理、日志审计三个核心模块。通过回答框架与追问路径,帮助你建立“配置→加固→溯源”的安全思维闭环。
Linux系统安全基础 · 追问路径 如何加固Linux系统安全? 文件权限与SUID危险 ls -l 找到非预期SUID SSH密钥与弱口令检测 禁用密码登录、密钥权限400 日志审计线索提取 lastb、auth.log异常IP 绕过?chmod 777后门 umask与粘滞位使用 暴力破解防御策略 fail2ban、PermitRootLogin no 日志篡改与保护 auditd、日志服务器转发 系统安全基线配置 纵深防御:最小权限+多因子+审计

3 个问答卡片

卡片1:文件权限与SUID安全

常见问题:“如何查找系统中存在的SUID/SGID文件?怎样防范SUID提权?”

回答框架:两步走 - ①查找命令:find / -perm /4000 2>/dev/null;②检查白名单,临时移除高危SUID(如chmod u-s /usr/bin/passwd)。

简短示例:“我会先列出所有SUID二进制,与基线对比;发现非预期的nmap时立即移除SUID位,并排查是否已被利用。”

追问:“如何区分合法SUID与恶意SUID?”→ 答:比对rpm包校验,或用debsums验证完整性。

避坑:不要一次性chmod -R 000 /usr/bin,可能导致系统崩溃;先评估每个SUID的必要性。

卡片2:SSH安全加固

常见问题:“你的SSH配置策略有哪些?如何防止暴力破解?”

回答框架:四要素 - ①禁用root登录;②仅允许密钥登录;③修改默认端口(非必需,但可减少扫描);④配置fail2ban限频。

简短示例:“我会在/etc/ssh/sshd_config中设置PermitRootLogin no、PasswordAuthentication no,并将密钥权限设为600。再配合fail2ban封禁异常IP。”

追问:“如果必须使用密码登录,如何增强安全性?”→ 答:启用Google Authenticator双因子认证,并设置MaxAuthTries=3。

避坑:修改端口后记得更新防火墙规则;先保持一个session不断开再测试新配置,防止锁在外面。

卡片3:日志审计与入侵痕迹分析

常见问题:“服务器疑似被入侵,你第一件事会看什么日志?”

回答框架:三步检查 - ①/var/log/auth.log或/var/log/secure查看登录异常;②lastb看失败登录IP;③history及.bash_history检查可疑命令。

简短示例:“我会先tail -50 /var/log/auth.log | grep 'Failed password'统计攻击IP,然后last -10查看最近登录。如果发现已知攻击IP,立刻加入hosts.deny。”

追问:“日志被清空或篡改怎么办?”→ 答:查看/var/log/messages*轮替文件、检查auditd记录;如果启用日志服务器,从rsyslog远端日志恢复。

避坑:不要立刻重启服务,先做内存取证和日志备份;使用logger命令手动留下操作记录,防止被误判为攻击者。

公司侧重点

公司类型 侧重点 典型追问方向
互联网大厂(字节、阿里) 自动化安全基线、大规模主机策略分发 如何用Ansible批量加固10万台服务器?
金融/证券行业 合规审计、日志完整性保护 日志防篡改、WORM存储原理?
云服务厂商(腾讯云、华为云) 主机安全Agent、漏洞扫描集成 如何检测内核级rootkit?

面试官画像

  • 安全专家型:深挖底层原理,会问suid在内核中的实现机制、capabilities与suid的差异。
  • 运维交付型:关注实际部署,追问“SSH加固后如何保证业务连接不受影响?”或“大规模日志收集方案”。
  • 综合考察型:给你一个残缺的安全事件描述,要求你画出排查步骤流程图,考察逻辑与应急反应。

回答框架(通用公式)

“配置→加固→溯源”三步法
① 配置:最小权限原则,文件/用户/服务默认关闭不必要功能;
② 加固:密码策略、密钥强度、内核参数优化(如sysctl -w net.ipv4.tcp_syncookies=1);
③ 溯源:日志记录 -> 异常检测 -> 追溯攻击链,形成闭环。

简短示例(完整回答)

问:“请现场说一个Linux安全加固的关键步骤。”

答:“我选SSH加固。第一步修改sshd_config:禁用密码登录、禁止root远程;第二步重启服务前用sshd -t检查语法;第三步用netstat -tlnp确认监听在非默认端口;最后在防火墙只放行源IP白名单。如果已有攻击记录,用fail2ban动态封禁。”

追问与应对策略

典型追问 应对方略 避坑提醒
SUID + cap_setuid 如何绕过? 区分二进制自身capability与文件SUID;使用getcap查看能力集。 不要混淆setuid位和capabilities,面试官很在意概念准确。
日志磁盘满了怎么办? 配置logrotate、设置远程日志服务器压缩归档;紧急情况可清理/var/log下非关键日志。 严禁直接rm -rf /var/log,会导致系统服务无法重启。
避坑总结:① 不要在演示中使用chmod -R 000;② 测试SSH配置时保留一个活动连接;③ 回答时体现“自动化”思维(如脚本化检查SUID)会比纯手工命令更受大厂认可;④ 切勿只说“我知道”,要给出具体命令或配置片段证明经验。