Linux 运维与安全专家 15 · 信息安全与攻防入门

第 15 章 · 信息安全与攻防入门

阶段 D预计 8–10 小时防御优先

你被「攻防、信息安全很牛逼」吸引,这是对的 —— 但请先记住一句话:学习攻击的唯一目的是更好地防御自己拥有的系统。本章建立威胁模型、攻击分类、纵深防御、日志取证、应急响应、合法练习路径的完整框架。任何针对他人系统的测试都必须在书面授权下进行,未授权测试是违法行为(《网络安全法》《刑法》相关条款)。

15.1安全世界观:三个先入为主的观念

  1. 先防御后攻防:第 9 章加固是地基,本章是在地基上盖楼。防御能力(日志、加固、应急)本身就是高价值技能。
  2. 红队与蓝队:攻方叫红队(Red Team),守方叫蓝队(Blue Team)。真正的安全专家通常两者都懂,但职业安全首先从蓝队(防御/分析/应急)切入,进阶后再练红队。
  3. 合法边界:只对「自己拥有」「书面授权」「公开靶场」三个范围动手。Kali Linux 装在你虚拟机里合法;对公网一台不认识的机器跑扫描就违法。
法律红线(务必读) 中国《网络安全法》与《刑法》第 285/286 条:非法侵入计算机信息系统、非法获取数据、破坏系统均构成犯罪。学习攻防请始终在自有环境与授权靶场内进行。本站所有命令示例仅面向你自己的服务器与授权测试环境。

15.2威胁与攻击分类:知道敌人长什么样

攻击类型原理一句话你在日志/系统里的发现方式(防御视角)
暴力破解批量试密码(SSH/Web 登录)auth.log/secure 大量 Failed password;Fail2ban 已封
Web 注入(SQL/XSS/命令注入)构造恶意输入让后端执行非预期 SQL/脚本/命令access.log 出现 union/select、<script>、分号命令特征
文件上传漏洞/Webshell上传可执行脚本(.php 木马)拿到命令执行上传目录新增 .php、可疑 eval/base64_decode 函数
提权从普通用户利用内核/配置漏洞升到 root内核漏洞告警、setuid 后门、异常 sudo 记录
挖矿木马入侵后植入挖矿程序吃 CPUtop 出现陌生高 CPU 进程、外连矿池端口(如 3333/4444)
勒索软件加密你的数据要赎金文件批量改名/加密后缀、异常加密进程、用户目录暴增
DDoS流量/连接洪水打垮服务连接数暴涨、带宽打满、负载骤升(第 10 章命令发现)
供应链/社工通过你用的软件/骗你点击渗透难以技术发现 → 靠习惯防御:可信源、不明链接不点

规律:大多数攻击者不是「很厉害的黑客」,而是自动化脚本在扫全网(所以 90% 攻击日志是爆破噪音)。你的加固(第 9 章)能把 99% 的自动化攻击挡在门外;剩余 1% 的人工攻击靠日志与纵深防御发现。

15.3纵深防御体系:不是一道墙,而是七层

① 网络层 防火墙默认拒绝 · 云安全组 · 最小开放端口 · VLAN 隔离 ② 边界层 SSH 密钥/禁 root · Fail2ban · 入口 WAF/负载均衡 ③ 系统层 补丁更新 · 最小权限账号 · SELinux/AppArmor · 文件权限 ④ 应用层 Web 框架安全 · 输入校验 · 最小功能 · 上传目录禁执行 ⑤ 数据层 数据库独立账号最小权限 · 加密 · 备份与恢复演练 ⑥ 检测层 日志集中与审计 · 入侵检测 · 监控告警(第 9/10 章) ⑦ 人层 最小权限习惯 · 强密码/密钥 · 不点不明链接 · 应急演练 纵深防御:攻击者要穿透每一层;你的日志与备份是最后兜底。任何一层失守都不可怕,可怕的是只有一层。

图 15-1 · 纵深防御七层模型(示意)

15.4日志取证:把攻击时间线还原出来

第 9 章教了「看痕迹」,这里教「串成时间线」:

  1. 锁定时间窗口:从告警(监控/OOM/异常进程)或用户反馈确定「大概几点开始」。
  2. 认证日志:grep "Accepted|Failed" auth.log --after-context=2 看谁在什么时间进来了。
  3. 应用日志:同一时间窗口的 nginx access/error、应用自己的日志,找异常请求。
  4. 系统痕迹:find / -newer /var/log/syslog -name "*.sh"(新文件)、history(各账号命令历史)、crontab、authorized_keys 改动时间(stat)。
  5. 外联痕迹:ss -tunap、防火墙日志、last -F。
  6. 证据固定:复制日志到安全位置、记录 stat 时间戳,别清空。
日志保真三原则 日志本身可能被攻击者改(root 可以删改 /var/log)—— 所以重要日志要么只读挂载、要么实时转发到另一台日志服务器/对象存储(rsyslog 远程转发是标准做法)。取证结论要写明「哪些证据可信、哪些可能被篡改」。

15.5渗透测试方法论:红队流程(概念框架)

阶段做什么代表性工具(认识即可)
① 侦察 Recon收集目标信息:域名、IP、开放端口、指纹nmap、fping、whatweb、Shodan
② 扫描 Scanning端口/服务/漏洞探测nmap -sV、nikto、OpenVAS
③ 利用 Exploitation利用漏洞拿到访问权(仅授权环境)Metasploit、sqlmap、hydra(爆破)、Burp Suite
④ 后渗透 Post提权、横向、留后门、清痕迹(仅授权演练)linpeas、chisel、mimikatz(Windows)
⑤ 报告 Reporting输出漏洞、影响、修复建议 —— 渗透的核心交付物报告模板

给你的定位:先在靶场把每个阶段的「原理」走一遍,重点练 nmap 与日志防御侧。学渗透的正道是「防御驱动」:每学一个攻击手法,马上问「我的服务器怎么防、怎么发现」。Kali Linux 预装了全部工具,建议只在虚拟机靶场用。

15.6合法练习环境:靶场清单(动手就靠它们)

靶场/平台是什么适合
DVWA本地 PHP 漏洞靶场(SQL注入/XSS/上传等 10 关)入门 Web 漏洞(第 12 章 LNMP 装它 5 分钟)
OWASP Juice Shop现代 Web 漏洞靶场(Docker 一键起)Web 安全系统训练
VulHub / vulhub 环境漏洞环境镜像集合(docker-compose 一键拉起)复现具体 CVE 漏洞
OverTheWire(Bandit)游戏化 Linux 命令行闯关(SSH 逐关)命令与权限基本功(强烈推荐新手)
HackTheBox / TryHackMe在线合法攻防平台(授权范围明确)进阶实战、靶场环境
Kali Linux 虚拟机预装 600+ 安全工具工具练习(只在自己虚拟机里)
本周就能开始的 3 件事 ① OverTheWire Bandit 通关(练命令与思路);② 在自己 LNMP 服务器上装 DVWA 打一遍注入关(理解防御);③ 把第 9 章加固对照自己的机器逐条落地。这三件事做完,你的「安全感」已经超过大多数用面板的人。

15.7应急响应(蓝队核心):从发现到复盘

第 9.9 节给了流程,这里补充团队/规范视角:

  1. 预案先行:提前写好应急预案(联系谁、备份在哪、怎么断网、恢复顺序),事故时照单执行而不是临时想。
  2. 分级处置:高危(数据泄露/勒索)→ 立即断网隔离并上报;中危(挖矿/后门)→ 取证后清除加固;低危(爆破噪音)→ 记录观察。
  3. 复盘报告:时间线、根因、处置、整改项 —— 每次事故都是体系升级的机会。
  4. 演练:每季度主动演练一次「恢复备份」和「隔离一台被攻破机器」。

15.8CTF 与红蓝对抗:入门姿势

15.9安全方向成长路线(给想深耕的你)

1运维安全

加固/日志/应急/合规 —— 本章+第9/10章即入门,最容易出成绩。

2Web 安全

OWASP Top 10 + DVWA/Juice Shop + Burp 实战。

3渗透测试

靶场打透 → HTB 进阶 → 考 OSCP(国际认可渗透认证)。

4认证路线

国内:CISP/信息安全工程师;国际:OSCP、CISSP(管理向)、CKA(云原生安全)。

本章自测题

  1. 为什么说「学习攻击是为了防御」?法律红线是哪三个范围?
  2. 说出 5 种常见攻击类型及其在日志里的特征。
  3. 纵深防御七层各是什么?为什么日志备份是兜底?
  4. 还原攻击时间线的 6 个步骤是什么?
  5. 渗透测试五个阶段与报告的作用?
  6. 入门合法练习的三个平台/工具是?
  7. 应急响应的预案里至少应包含哪 4 项内容?
参考答案
1. 懂攻击才能设计防御与发现入侵;只许:自有系统、书面授权、公开靶场。
2. 爆破(Failed password)、SQL注入(access.log union/select)、Webshell(新增 .php)、提权(setuid/内核漏洞)、挖矿(高CPU+外连)、勒索(文件加密后缀)、DDoS(连接数暴涨)。
3. 网络/边界/系统/应用/数据/检测/人;任何攻击都能穿透单层,日志与备份保证可发现可恢复。
4. 锁时间窗→认证日志→应用日志→系统痕迹(新文件/history/cron/authorized_keys)→外联痕迹→固定证据。
5. 侦察/扫描/利用/后渗透/报告;报告是交付物,漏洞+影响+修复建议。
6. OverTheWire Bandit、DVWA、Kali 虚拟机(HTB/TryHackMe 进阶)。
7. 联系人、备份位置与恢复步骤、断网隔离流程、复盘整改项。