渗透文件内容

一、 第一天:基础环境搭建与网络安全入门

第一天的核心是搭建网络安全学习与实操的基础环境,掌握核心概念与常用工具,为后续的攻防实操打下基础。

1. 核心概念梳理

  • 网络安全三大核心目标:CIA 三元组(保密性 Confidentiality、完整性 Integrity、可用性 Availability),这是所有网络安全工作的出发点与落脚点。
  • 常见威胁类型:恶意软件(病毒、木马、勒索软件)、网络攻击(DDoS、SQL 注入、跨站脚本)、人为失误(弱密码、误操作)。
  • 实操环境要求:推荐采用 "主机 + 虚拟机" 架构,搭建隔离的测试环境(避免影响真实网络)。

2. 必备实操环境搭建

(1)虚拟机环境部署(VirtualBox/Vmware)

推荐搭建多节点测试环境,至少包含以下 3 台虚拟机:

  1. 攻击机:Kali Linux(内置海量网络安全工具,无需额外配置)
  2. 目标机 1:CentOS 7/8(Linux 服务器,用于练习系统加固与 Linux 下的攻防)
  3. 目标机 2:Windows Server 2019(Windows 服务器,熟悉 Windows 系统安全配置)
(2)Kali Linux 常用工具安装与配置(补充默认未预装工具)

bash

运行

复制代码
# 1. 更新软件源(国内源,提升下载速度)
echo "deb http://mirrors.aliyun.com/kali kali-rolling main non-free contrib" > /etc/apt/sources.list
apt update && apt upgrade -y

# 2. 安装常用工具(端口扫描、漏洞检测、密码破解)
apt install nmap nikto hydra burpsuite -y

# 3. 验证工具安装成功
nmap -V
hydra -V
(3)网络互通配置

确保三台虚拟机处于同一虚拟网卡模式(仅主机模式或桥接模式),配置同一网段 IP 地址,验证互通性:

bash

运行

复制代码
# Linux 环境下验证(Kali 对 CentOS )
ping 192.168.1.100 -c 4

# Windows 环境下验证(命令提示符)
ping 192.168.1.101 -n 4

3. 第一天核心总结

搭建隔离、可用的实操环境是网络安全学习的前提,Kali Linux 是攻防实操的核心工具集,掌握基础的环境配置与工具安装,是后续进阶的关键。

二、 第二天:系统安全加固(Linux + Windows)

系统是网络安全的 "第一道防线",第二天的核心是掌握主流操作系统的安全加固方案,从账户、密码、权限、服务等维度提升系统抗攻击能力。

1. Linux 系统(CentOS 7/8)安全加固实操

(1)账户与密码安全加固
  1. 禁用无用账户(减少攻击面)

bash

运行

复制代码
# 查看当前系统账户
cat /etc/passwd | grep -v "/sbin/nologin"

# 禁用无用账户(如games、ftp,根据实际情况调整)
usermod -L games  # 锁定账户
userdel -r ftp    # 彻底删除账户及家目录
  1. 配置强密码策略(通过 pam 模块)

bash

运行

复制代码
# 1. 安装密码复杂度校验工具
yum install pam_pwquality -y

# 2. 编辑配置文件,设置强密码规则
vim /etc/security/pwquality.conf

配置文件核心参数(添加 / 修改):

plaintext

复制代码
minlen = 12        # 密码最小长度12位
dcredit = -1       # 至少包含1位数字
ucredit = -1       # 至少包含1位大写字母
lcredit = -1       # 至少包含1位小写字母
ocredit = -1       # 至少包含1位特殊字符
retry = 3          # 密码输入重试次数3次
enforce_for_root   # 对root用户强制执行该策略
  1. 禁用 root 用户远程登录(核心加固项)

bash

运行

复制代码
# 编辑sshd配置文件
vim /etc/ssh/sshd_config

# 修改以下参数
PermitRootLogin no  # 禁用root远程登录
AllowUsers test     # 仅允许test用户远程登录(按需添加,多个用户用空格分隔)

# 重启sshd服务使配置生效
systemctl restart sshd
systemctl enable sshd  # 设置开机自启
(2)服务与端口安全加固
  1. 关闭无用服务(减少暴露面)

bash

运行

复制代码
# 查看当前运行的服务
systemctl list-units --type=service --state=running

# 关闭并禁用无用服务(如bluetooth、postfix,根据实际业务调整)
systemctl stop bluetooth
systemctl disable bluetooth
  1. 端口扫描与封禁(使用 nmap+firewalld)

bash

运行

复制代码
# 1. 扫描本机开放端口
nmap -sT 127.0.0.1

# 2. 配置firewalld,仅开放必要端口(22-SSH、80-HTTP)
firewall-cmd --permanent --add-port=22/tcp
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --permanent --remove-all-ports  # 先删除所有开放端口(可选,按需操作)
firewall-cmd --reload  # 重载配置

# 3. 查看firewalld当前配置
firewall-cmd --list-ports

2. Windows 系统(Windows Server 2019)安全加固实操

(1)账户安全加固
  1. 禁用 Guest 账户,重命名 Administrator 账户

    • 图形界面:计算机管理 → 本地用户和组 → 用户 → 右键 Guest → 禁用;右键 Administrator → 重命名(如 Admin_XXX,避免默认账户被针对)。
    • 命令行(管理员模式):

    cmd

    复制代码
    net user guest /active:no  # 禁用Guest账户
    wmic useraccount where "name='Administrator'" rename "Admin_Secure"  # 重命名管理员账户
  2. 配置账户密码策略

    • 组策略编辑器:运行 gpedit.msc → 计算机配置 → Windows 设置 → 安全设置 → 账户策略 → 密码策略。
    • 核心配置:
      • 密码必须符合复杂性要求(启用)
      • 密码长度最小值(12 位)
      • 密码最长使用期限(90 天)
      • 强制密码历史(5 次,禁止重复使用近期密码)
(2)防火墙与端口加固
  1. 启用 Windows Defender 防火墙,配置入站规则

    • 图形界面:控制面板 → 系统和安全 → Windows Defender 防火墙 → 启用或关闭 Windows Defender 防火墙。
    • 仅允许必要端口入站(22、80、3389 - 远程桌面,按需开启),禁用所有无用端口。
  2. 关闭无用服务

    • 运行 services.msc → 找到无用服务(如 Telnet、Server、Bluetooth Support Service)→ 右键 → 属性 → 启动类型改为 "禁用" → 停止服务。

3. 第二天核心总结

系统安全加固的核心是 "最小权限原则 " 与 "减少暴露面",无论是 Linux 还是 Windows,都需从账户、密码、服务、端口四个核心维度入手,形成第一道安全屏障。

三、 第三天:网络攻击与防御实操(核心攻防)

第三天聚焦实战化攻防,掌握常见网络攻击的原理、实施步骤,以及对应的防御方案,"知攻方,方能更好守方"。

1. 常见网络攻击实操(仅用于合法测试环境)

(1)端口扫描与服务探测(nmap 核心命令)

端口扫描是攻击的第一步,用于发现目标主机的开放端口与运行服务,为后续攻击提供线索。

bash

运行

复制代码
# 1. 基础TCP扫描(扫描目标主机所有端口)
nmap -sT 192.168.1.100

# 2. 快速扫描常见1000个端口
nmap -F 192.168.1.100

# 3. 扫描指定端口(22、80、443)
nmap -p 22,80,443 192.168.1.100

# 4. 扫描端口并识别服务版本(更详细信息)
nmap -sV -p 22,80 192.168.1.100

# 5. 无反馈扫描(隐蔽性更高,避免被防火墙检测)
nmap -sS 192.168.1.100
(2)暴力破解(Hydra 实战,针对 SSH 服务)

暴力破解是通过枚举用户名与密码组合,尝试登录目标服务的攻击方式,常见于弱密码场景。

bash

运行

复制代码
# 语法:hydra -l 用户名 -p 密码 目标IP 服务
# 语法:hydra -L 用户名列表 -P 密码列表 目标IP 服务

# 1. 单个用户密码尝试(测试root/123456)
hydra -l root -p 123456 192.168.1.100 ssh

# 2. 批量用户名+批量密码暴力破解(使用字典文件)
hydra -L user.txt -P password.txt 192.168.1.100 ssh -vV -t 10

# 参数说明
# -L:指定用户名字典文件
# -P:指定密码字典文件
# -vV:显示详细破解过程
# -t:指定并发线程数(避免线程过多被封禁)
(3)Web 漏洞攻击(SQL 注入 基础原理与演示)

SQL 注入是针对 Web 应用程序的漏洞攻击,通过在用户输入框中插入恶意 SQL 语句,绕过验证并获取数据库信息。

  1. 漏洞场景演示(简易查询页面):

    • 正常访问:http://192.168.1.101/index.php?id=1(查询 ID=1 的信息)
    • 注入测试 1:http://192.168.1.101/index.php?id=1' or 1=1 --(绕过查询条件,获取所有数据)
    • 注入测试 2:http://192.168.1.101/index.php?id=1' union select 1,user(),database() --(获取数据库用户与当前数据库名)
  2. 核心原理:Web 应用程序未对用户输入进行过滤或转义,导致恶意 SQL 语句被直接执行。

2. 对应防御方案(针对性加固)

(1)端口扫描防御
  • 启用防火墙(firewalld/Windows 防火墙),仅开放必要端口,封禁陌生 IP 的扫描请求。
  • 部署入侵检测系统(IDS)/ 入侵防御系统(IPS),如 Snort,检测并告警异常端口扫描行为。
  • 隐藏敏感服务端口,通过端口映射将默认端口(22、3389)改为非默认端口(如 2222、33899)。
(2)暴力破解防御
  • 强制执行强密码策略(参考第二天系统加固内容),避免弱密码存在。
  • 限制远程登录尝试次数,如 Linux 下通过fail2ban封禁多次登录失败的 IP:

bash

运行

复制代码
# 安装fail2ban
yum install fail2ban -y

# 配置sshd防护规则
vim /etc/fail2ban/jail.local

添加核心配置:

plaintext

复制代码
[sshd]
enabled = true
filter = sshd
logpath = /var/log/secure
maxretry = 3  # 最大重试3次
bantime = 3600  # 封禁1小时
findtime = 600  # 10分钟内统计重试次数

启动并启用 fail2ban:

bash

运行

复制代码
systemctl start fail2ban
systemctl enable fail2ban
  • 禁用密码登录,采用 SSH 密钥对登录(更高安全性)。
(3)SQL 注入防御
  • 核心:输入验证与过滤,采用预编译语句(Prepared Statement),避免直接拼接 SQL 语句。
  • 后端代码示例(PHP 预编译语句,防止 SQL 注入):

php

运行

复制代码
<?php
// 连接数据库
$servername = "localhost";
$username = "root";
$password = "SecurePass123!";
$dbname = "testdb";

$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
}

// 接收用户输入(ID)
$id = $_GET['id'];

// 预编译语句(防止SQL注入)
$stmt = $conn->prepare("SELECT * FROM users WHERE id = ?");
$stmt->bind_param("i", $id);  // "i" 表示参数为整数类型

// 执行查询
$stmt->execute();
$result = $stmt->get_result();

// 输出结果
if ($result->num_rows > 0) {
    while($row = $result->fetch_assoc()) {
        echo "ID: " . $row["id"]. " - 姓名: " . $row["name"]. "<br>";
    }
} else {
    echo "0 条结果";
}

// 关闭连接
$stmt->close();
$conn->close();
?>
  • 辅助措施:部署 Web 应用防火墙(WAF),如阿里云 WAF、Nginx WAF,拦截恶意 SQL 注入请求。

3. 第三天核心总结

网络攻防是 "矛与盾" 的对抗,掌握常见攻击的原理与步骤,才能针对性地制定防御策略。防御的核心是 "层层设防",从网络层、系统层到应用层,形成完整的防御体系。

四、 第四天:日志审计与应急响应(事后追溯与止损)

第四天的核心是 "事后处理",当安全事件发生后,如何通过日志审计定位攻击源、分析攻击过程,以及如何快速应急响应,减少损失并防止二次攻击。

1. 日志审计(核心日志位置与分析命令)

日志是网络安全的 "黑匣子",记录了系统、服务、网络的所有操作行为,是定位安全事件的关键依据。

(1)Linux 系统核心日志
  1. 系统日志:/var/log/messages(记录系统启动、服务运行、系统错误等全局信息)
  2. 安全日志:/var/log/secure(记录用户登录、权限变更、SSH 登录等安全相关信息,核心审计日志)
  3. SSH 服务日志:/var/log/sshd.log(记录 SSH 连接请求、登录成功 / 失败等信息)
  4. 应用日志:如 Nginx 日志/var/log/nginx/access.log(访问日志)、/var/log/nginx/error.log(错误日志)
(2)Linux 日志分析常用命令

bash

运行

复制代码
# 1. 查看安全日志(实时监控,排查暴力破解)
tail -f /var/log/secure

# 2. 筛选SSH登录失败记录(定位暴力破解源)
grep "Failed password" /var/log/secure | more

# 3. 统计SSH登录失败次数最多的IP(找出攻击源IP)
grep "Failed password" /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | head -10

# 4. 筛选SSH登录成功的记录(确认是否有非法登录)
grep "Accepted password" /var/log/secure

# 5. 查看系统近期重启记录(排查是否有异常重启)
last reboot
(3)Windows 系统核心日志
  1. 事件查看器:运行 eventvwr.msc 打开,核心日志目录:
    • 安全日志(Windows 日志 → 安全):记录用户登录 / 注销、账户管理、权限变更等,事件 ID 是关键(如 4624 - 登录成功、4625 - 登录失败)。
    • 系统日志(Windows 日志 → 系统):记录系统服务、驱动、硬件的运行状态。
    • 应用程序日志(Windows 日志 → 应用程序):记录应用程序的运行错误与信息。

2. 应急响应流程(标准化处理步骤)

当发生安全事件(如服务器被入侵、数据泄露、勒索软件攻击)时,需按照标准化流程进行应急响应,最大限度减少损失。

(1)第一步:遏制(停止损失扩大,隔离受影响系统)
  1. 断开受影响服务器的网络连接(物理拔线或禁用网卡),防止攻击者进一步渗透或窃取数据。
  2. 隔离受影响的存储设备(如硬盘、U 盘),避免恶意软件扩散到其他系统。
  3. 备份受影响系统的当前状态(完整镜像备份),为后续取证分析保留证据,避免证据被篡改。
(2)第二步:取证与分析(定位攻击源与攻击过程)
  1. 日志取证:提取受影响系统的核心日志(安全日志、系统日志、应用日志),分析攻击时间、攻击源 IP、攻击行为、攻击路径。
  2. 文件取证:检查系统关键文件(如/etc/passwd/etc/shadow)是否被篡改,检查是否存在恶意软件(如木马、后门程序)。
  3. 内存取证:提取系统内存镜像,分析是否存在正在运行的恶意进程,避免恶意软件通过内存逃逸躲避检测。
  4. 分析结论:明确攻击类型(如暴力破解、SQL 注入、勒索软件)、攻击源、攻击成功的原因(如弱密码、未修补漏洞)、造成的损失(如数据泄露、系统瘫痪)。
(3)第三步:清除(移除恶意软件,修复漏洞)
  1. 移除恶意软件:删除系统中的恶意文件、后门程序、木马,终止恶意进程,清理恶意注册表项(Windows 系统)。
  2. 修复系统漏洞:安装系统最新安全补丁(Linux:yum update -y;Windows:Windows Update),修补 Web 应用漏洞(如 SQL 注入、XSS)。
  3. 重置账户密码:重置所有系统账户、应用账户的密码,采用强密码策略,禁用可疑账户。
(4)第四步:恢复(恢复系统与数据,恢复业务运行)
  1. 验证系统安全性:确认恶意软件已被彻底清除,漏洞已被修补,系统不存在安全隐患。
  2. 恢复数据:从干净的备份中恢复数据(确保备份未被篡改),优先恢复核心业务数据。
  3. 恢复系统运行:将服务器重新接入网络,启动核心服务,恢复业务正常运行,实时监控系统状态。
(5)第五步:总结与改进(避免同类事件再次发生)
  1. 编写应急响应报告:记录安全事件的全过程、分析结论、处理措施、造成的损失、经验教训。
  2. 优化安全策略:针对本次安全事件暴露的问题,优化系统安全加固策略、网络防御策略、访问控制策略。
  3. 开展安全培训:对相关人员开展安全培训,提升安全意识,避免人为失误(如弱密码、点击钓鱼链接)导致安全事件。
  4. 定期演练:定期开展网络安全应急响应演练,提升团队的应急处置能力,确保在安全事件发生时能够快速、高效响应。

3. 第四天核心总结

日志审计是应急响应的基础,标准化的应急响应流程是减少安全事件损失的关键。网络安全不仅要 "防患于未然",还要 "亡羊补牢",通过事后总结与改进,不断完善安全防御体系。

相关推荐
欧洵.3 小时前
从输入URL到页面展示:完整过程拆解
网络
沉默-_-3 小时前
微信小程序网络请求 wx.request 详解
网络·学习·微信小程序·小程序
newsxun3 小时前
从一条国道,到一个时代符号——申晨案例解析:如何打造公路文旅现象级IP「此生必驾318」
网络·网络协议·tcp/ip
Bruce_Liuxiaowei3 小时前
基于抓包分析的组播视频流故障排查与解决
网络·网络协议·wireshark·信号处理
wniuniu_3 小时前
增加依据。。
服务器·网络·数据库
KKKlucifer4 小时前
数据安全服务的技术深耕与场景适配:行业实践全景解析
网络·安全
2501_915909064 小时前
设置了 SSL Pinning 与双向 TLS 验证要怎么抓包
网络·网络协议·ios·小程序·uni-app·iphone·ssl
奔袭的算法工程师4 小时前
CRN源码详细解析(2)-- 图像骨干网络之Resnet18
网络·人工智能·深度学习·目标检测·自动驾驶
2502_911679144 小时前
KEYSIGHT是德 N1912A功率计:宽带多通道功率测量的标杆之选
大数据·网络·信息与通信·信号处理