Loading ...
安全加固与应急响应面试题

1. 安全加固都有哪些点需要加固?

  • 网络层:防火墙配置(白名单策略)、入侵检测 / 防御系统(IDS/IPS)部署、端口封禁(关闭非必要端口)、VPN 加密、DDoS 防护。

  • 系统层:账号安全(密码策略、禁用空密码、删除冗余账号)、权限控制(最小权限原则)、补丁更新(高危漏洞修复)、日志审计开启、恶意代码防护(杀毒软件)。

  • 应用层:Web 漏洞修复(SQL 注入、XSS 等)、API 接口校验(签名 / Token)、文件上传限制、会话管理(超时机制、Cookie 安全属性)。

  • 数据层:数据加密(传输加密 TLS/SSL、存储加密)、数据备份(定期备份 + 异地存储)、敏感数据脱敏。

  • 物理层:设备物理访问控制(门禁、监控)、硬件冗余(防单点故障)。

2. Linux 系统安全加固需要注意的内容有哪些?

  • 账号安全:禁用 root 直接 SSH 登录(用 sudo 提权)、设置强密码策略(/etc/pam.d/system-auth配置)、删除无用账号(如 nobody 权限收紧)、限制 su 命令使用(/etc/pam.d/su)。

  • 服务与端口:关闭不必要服务(systemctl disable 服务名)、用netstat/lsof检查开放端口并封禁(iptables规则)、隐藏系统版本信息(如修改 Apache/Nginx 配置)。

  • 文件权限:关键文件权限锁定(chmod 600 /etc/passwd)、禁用 SUID/SGID 权限(find / -perm +6000排查)、/tmp目录挂载为不可执行(/etc/fstab配置)。

  • 日志与审计:开启rsyslog日志集中管理、配置auditd记录关键操作(如文件修改、账号登录)、定期备份日志。

  • 其他:启用 SELinux/AppArmor(强制访问控制)、定期更新系统补丁(yum update/apt upgrade)、部署主机入侵检测(HIDS)。

3. 安全加固怎么操作的?

  • 步骤 1:资产梳理与风险评估 清点所有资产(服务器、网络设备、应用),通过扫描(如 Nessus)识别漏洞与风险点,优先级排序。

  • 步骤 2:制定加固方案 结合业务需求,针对风险点制定可落地的加固措施(如 “关闭 UDP 137 端口”“修复 Apache Struts2 漏洞”)。

  • 步骤 3:分层实施加固 按 “网络→系统→应用→数据” 顺序执行,例如:配置防火墙规则→修改 Linux 账号策略→修复 Web 漏洞→加密敏感数据。

  • 步骤 4:验证与复盘 加固后通过扫描工具复查漏洞是否修复,模拟攻击验证效果,记录未解决问题。

  • 步骤 5:持续监控与迭代 定期复查加固效果,跟进新漏洞(如 CVE 漏洞),更新加固策略。

4. 如何防范 Webshell?

  • 预防阶段

    • 限制文件上传:校验文件类型(白名单 + 后缀名,拒绝.php/.jsp等可执行文件)、禁用上传目录执行权限(如 Nginx 配置location /upload { deny all; })。

    • 权限控制:Web 服务账号仅赋予最小权限(如禁止读写/etc/passwd),分离 Web 目录与系统目录。

    • 代码防护:过滤文件上传接口的恶意参数(如../路径穿越),使用 WAF 拦截 Webshell 特征(如evalsystem函数)。

  • 检测阶段

    • 日志监控:跟踪access.log中异常请求(如访问/upload/shell.php)。

    • 工具扫描:用 ClamAV、D 盾等扫描 Web 目录,检测特征码;定期对比文件哈希(基线比对)。

  • 应急阶段

    • 发现后立即隔离删除 Webshell,检查是否有衍生文件(如crontab定时任务),溯源入侵路径(如通过日志找上传 IP)。

5. 设备巡检的流程是什么?

  • 准备阶段:明确巡检范围(服务器、网络设备、安全设备)、工具(如 Zabbix 监控、Nessus 扫描)、指标(CPU 使用率≤80%、无高危漏洞)。

  • 执行阶段

    • 硬件检查:设备运行状态(温度、风扇)、接口连接(是否松动)。

    • 系统检查:进程 / 服务(无异常进程)、日志(登录失败、错误日志)、磁盘占用(是否满容)。

    • 安全检查:漏洞扫描(是否有未修复高危漏洞)、配置合规性(防火墙规则是否过期)。

  • 记录与分析:汇总异常项(如 “服务器 1 CPU 持续 90%”“设备 2 存在 CVE-2023-XXX 漏洞”),评估风险等级。

  • 报告与整改:提交巡检报告(含问题清单、建议方案),跟踪开发 / 运维修复,验证修复效果。

  • 归档与优化:存档报告,更新巡检指标(如新增 “是否开启日志审计”)。

6. 应急响应标准流程是什么?每个阶段需要做哪些事情?

标准流程为 “准备→检测→遏制→根除→恢复→总结”:

  • 准备阶段:制定应急预案(明确角色分工、工具清单)、储备应急工具(如取证工具 FTK、病毒库)、团队培训(模拟演练)。

  • 检测阶段:确认事件真实性(如 “服务器被植入 Webshell”)、初步分析影响范围(涉及哪些业务、数据)、判断攻击类型(勒索 / 挖矿 / 数据泄露)。

  • 遏制阶段:阻止事态扩大(如断网隔离受影响服务器、封禁攻击 IP、暂停漏洞接口)、保存现场证据(内存快照、进程列表)。

  • 根除阶段:清除恶意代码(删除木马、 Webshell)、修复漏洞(如打补丁、改配置)、移除攻击入口(如删除新增恶意账号)。

  • 恢复阶段:验证系统干净(扫描无残留)、逐步恢复服务(先测试环境,再生产)、监控是否复现异常。

  • 总结阶段:复盘攻击路径(如 “通过 SQL 注入上传 Webshell”)、优化预案(补充检测指标)、输出报告(含时间线、整改建议)。

7. 应急响应遏制阶段需要做哪些事情?

  • 隔离受影响资产:断开被入侵服务器的网络(物理拔线或防火墙阻断),避免攻击扩散到内网。

  • 限制恶意行为

    • 终止异常进程(如挖矿进程minerd)、kill 恶意连接(netstat -anp找可疑 IP,iptables -A INPUT -s 攻击IP -j DROP)。

    • 冻结可疑账号(如新增的admin123账号),禁用漏洞相关服务(如临时关闭文件上传接口)。

  • 保存关键证据

    • 记录当前状态(进程列表ps -ef、网络连接netstat、登录日志)。

    • 内存快照(用dd命令 dump 内存:dd if=/dev/mem of=/tmp/memdump bs=1M),避免重启丢失证据。

  • 临时止损:如 “关闭服务器的 80 端口” 阻止 Web 攻击,“暂停数据库写入” 防止数据被篡改。

8. Apache/Nginx/IIS 日志在什么位置?

  • Apache

    • CentOS:/etc/httpd/logs/(含access_log访问日志、error_log错误日志)。

    • Ubuntu:/var/log/apache2/

  • Nginx:默认/var/log/nginx/access.log访问日志、error.log错误日志,可在nginx.conf中自定义路径)。

  • IIS%SystemRoot%\System32\LogFiles\W3SVCx\x为站点 ID,日志格式含时间、请求 URL、客户端 IP)。

9. Linux 日志在什么位置?(含登录失败日志位置及查看命令)

  • 核心日志位置

    • 系统消息:/var/log/messages(记录内核、服务启动等)。

    • 认证日志:

      • CentOS/RHEL:/var/log/secure(含登录成功 / 失败、sudo 操作)。

      • Ubuntu/Debian:/var/log/auth.log

    • 应用日志:如/var/log/nginx/(Nginx 日志)、/var/log/mysql/(MySQL 日志)。

  • 登录失败日志查看

    • CentOS:grep "Failed password" /var/log/secure

    • Ubuntu:grep "Failed password" /var/log/auth.log

10. Linux最后一次登录的用户怎么看?

  • 查看最后一次登录用户

    • 命令last:显示最近登录记录(默认取/var/log/wtmp),last | head -1即最后一次登录。

    • 命令lastlog:显示所有用户最后一次登录时间(含未登录用户)。

  • 最后一次登录成功的日志

    • CentOS:grep "Accepted password" /var/log/secure | tail -1

    • Ubuntu:grep "Accepted password" /var/log/auth.log | tail -1

11. 某服务器 CPU 突然飙升至 100%,怀疑被挖矿木马入侵,请描述应急响应步骤?

  • 检测确认:用top命令查看进程(挖矿进程如kdevtmpfsiminerd通常 CPU 占比 90%+),记录进程 PID、路径。

  • 遏制隔离

    • 终止挖矿进程:kill -9 [PID],若重启则用pkill -f 进程名

    • 断网隔离:ifdown eth0(关闭网卡),防止继续连接矿池。

    • 保存证据:ps -ef > process.lognetstat -anp > net.log、内存 dump。

  • 根除清理

    • 删除恶意文件:找到进程路径(如/tmp/minerd),rm -f /tmp/minerd

    • 清除持久化:检查crontab -l(定时任务)、/etc/rc.local(启动项)、系统服务(systemctl list-unit-files),删除挖矿相关配置。

  • 恢复验证:重启服务器,top确认 CPU 正常,扫描是否有残留进程(find / -name "minerd")。

  • 溯源总结:查日志找入侵路径(如auth.log是否有可疑登录,access.log是否有 Webshell 上传),修复漏洞(如补丁、权限收紧)。

12. Windows 常见事件 ID 有哪些?

  • 登录相关

    • 4624:登录成功(含账号、IP、时间)。

    • 4625:登录失败(含失败原因:密码错误、账号锁定)。

    • 4634:登录注销。

  • 账号管理

    • 4720:创建用户。

    • 4726:删除用户。

    • 4732:添加用户到管理员组。

  • 系统事件

    • 6005:系统启动(开机)。

    • 6006:系统关闭(关机)。

    • 7045:新增系统服务(可能为恶意服务)。

13. 遇到木马了怎么进行排查?(含挖矿病毒特征)

  • 排查步骤

    1. 进程检查top(Linux)/ 任务管理器(Windows)找 CPU / 内存高占用的未知进程(如unknown.exe)。

    2. 网络检查netstat -anp(Linux)/netstat -ano(Windows)查异常连接(如连接198.51.100.xxx矿池 IP)。

    3. 文件系统:搜索/tmp(Linux)、C:\Windows\Temp(Windows)下的可疑文件(无扩展名、隐藏文件)。

    4. 持久化检查:Linux 查crontab -l/etc/cron.d/;Windows 查注册表HKLM\Software\Microsoft\Windows\CurrentVersion\Run、计划任务。

  • 挖矿病毒特征

    • 高 CPU 占用(常达 90%+),内存占用中等。

    • 对外连接已知矿池 IP(如stratum+tcp://pool.xxx.com)。

    • 生成临时文件(如/var/log/.miner.log),修改系统配置(如关闭防火墙)。

    • 持久化:通过定时任务、系统服务自动重启。

14. 应急响应查找内容有哪些?

  • 恶意实体:木马文件(如/tmp/shell.sh)、Webshell(如upload/shell.php)、病毒程序。

  • 异常行为

    • 进程:未知进程、父进程异常(如explorer.exe启动minerd)。

    • 网络:连接 C&C 服务器、大量出站流量(如数据泄露)。

    • 账号:新增特权账号、管理员账号密码被篡改。

  • 配置变更:被修改的hosts文件、防火墙规则、启动项、注册表。

  • 日志异常:登录日志的异地 IP、操作日志的批量文件删除记录、应用日志的频繁错误(如 SQL 注入尝试)。

15. 如何检测内存马?

内存马是驻留内存的恶意代码(不落地磁盘),检测方法:

  • 内存 dump 分析:用 Volatility 工具(volatility -f memdump.raw --profile=XXX pslist)扫描可疑内存模块、未签名代码。

  • 进程行为监控:通过strace(Linux)跟踪进程系统调用(如异常execveconnect),或 Windows 的 Process Explorer 看进程加载的 DLL(是否有未知 DLL)。

  • Web 容器检查:Java 内存马(如 Filter 马)可通过arthas查看类加载器(sc -d *Filter),检查是否有异常 Filter;Tomcat 查Catalina日志的异常 Servlet 注册。

  • 动态调试:用 GDB(Linux)/x64dbg(Windows)附加进程,查看内存中是否有shellcode(如\x90\x90\x31\xc0)。

16. 什么是内存马?

内存马是驻留于目标系统内存中、不写入磁盘的恶意代码,通过注入进程内存(如 Web 容器、系统进程)实现隐蔽控制。

  • 特点:传统文件扫描无法检测,隐蔽性极强。

  • 常见类型:Java 的 Filter/Servlet 内存马(注入 Web 容器)、系统进程注入马(如 Windows 的 DLL 注入)。

  • 用途:持久化控制(如 Webshell 免杀)、绕过杀软检测。

暂无评论

发送评论 编辑评论

|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇