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 特征(如eval
、system
函数)。
检测阶段
日志监控:跟踪
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
命令查看进程(挖矿进程如kdevtmpfsi
、minerd
通常 CPU 占比 90%+),记录进程 PID、路径。遏制隔离:
终止挖矿进程:
kill -9 [PID]
,若重启则用pkill -f 进程名
。断网隔离:
ifdown eth0
(关闭网卡),防止继续连接矿池。保存证据:
ps -ef > process.log
、netstat -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. 遇到木马了怎么进行排查?(含挖矿病毒特征)
排查步骤:
进程检查:
top
(Linux)/ 任务管理器(Windows)找 CPU / 内存高占用的未知进程(如unknown.exe
)。网络检查:
netstat -anp
(Linux)/netstat -ano
(Windows)查异常连接(如连接198.51.100.xxx
矿池 IP)。文件系统:搜索
/tmp
(Linux)、C:\Windows\Temp
(Windows)下的可疑文件(无扩展名、隐藏文件)。持久化检查: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)跟踪进程系统调用(如异常execve
、connect
),或 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 注入)。