03-网络安全与服务保障

学习目标

网络安全基础概念

安全目标

网络安全的所有技术和措施,最终都围绕“机密性、完整性、可用性”三大核心目标展开。

这三大目标也被称为信息安全的CIA三元组(Confidentiality 机密性、Integrity 完整性、Availability可用性),是安全领域的基石。

image

机密性

核心含义:确保信息仅被授权的主体访问,未授权者无法获取信息内容。

简单来说,就是“加密信息,只有钥匙能解开”

恩尼格玛密码机 二战时期德军使用的“恩尼格玛密码机”就是为了保障军事通信的机密性。德军通过密码机将作战指令加密后发送。 一个在恩尼格玛机制造工厂的波兰人,看到了关于该机器的详细制造流程。波兰科学家在花费了大量的时间后,破解了第一代加密机,并在被灭国前把图纸送给了英国。 盟军花费大量人力物力破解该密码,最终成功解密后掌握了德军的作战计划,成为二战转折点之一。

image

完整性

确保信息在传输或存储过程中不被未授权篡改、删除或伪造,保持信息的原始状态。

在收快递和外卖的时候,我们经常会看到包裹上的“防拆封条”,它就是为了保证运输过程中不被篡改的。 日常下载软件时,官网会提供“校验值”,也是为了验证下载的软件是否被篡改(后续哈希用途会详细讲解)。

可用性

确保授权主体在需要时能够正常访问信息和使用相关服务,避免因故障、攻击等导致服务中断。

比如医院的挂号系统,在就诊高峰时必须保持稳定可用。

可用性最常见的攻击方式,就是DDoS攻击(分布式拒绝服务攻击),攻击者通过控制大量智能设备发送垃圾请求,导致网站陷入瘫痪,数百万用户无法访问,直接破坏服务的可用性,造成巨大的经济损失和社会影响。

密码学基石

哈希(摘要)

哈希技术(Hash)又称“摘要技术”,是密码学中一种核心的单向加密技术。

它能将任意长度的输入数据,通过特定的哈希算法,转化为固定长度的输出值,这个输出值就称为“哈希值”、“摘要”或“数字指纹”

哈希技术要求满足如下特性:

单向性

通过哈希算法由原始数据生成哈希值的过程是不可逆的,即无法通过哈希值反推出原始数据。

通俗解释 就像把一张纸烧成灰烬(原始数据→哈希值),这很容易,但把灰烬还原成原来的纸,就很难。

雪崩效应

原始数据只要有任何微小的变化(哪怕只修改一个字符、一个像素),通过哈希算法生成的哈希值都会发生巨大的改变,就像雪崩一样,一点微小的扰动会引发连锁反应。

防篡改(数字指纹)

相同的原始数据通过相同的哈希算法,必然生成相同的哈希值;

而不同的原始数据(在安全算法下)几乎不可能生成相同的哈希值(即“抗碰撞性”)。

常见算法

如何设计哈希技术中的算法,是最关键的一个问题。我们举一个例子来体会一下。

image

《岳阳楼记》是中国文学史上的千古名篇,其中的关键一句话,一直流传至今,熠熠生辉。

image

想起这句话,就会想到《岳阳楼记》 和范仲淹,而不会想到别的人。这就是摘要的防篡改特性。

第一步:这句话有14个字,如果提炼成8个字,你会提炼成哪8个字,同时不失本意。
                先天下忧,后天下乐

第二步:如果继续提炼,只保留4个字,你会提炼成哪4个字,同时不失本意。
                    A. 天下忧乐
                    B. 忧乐天下
                    C. 先忧后乐

总结:这道题没有标准答案,但从问题中,可以体会出摘要算法的重要性。

注意事项:

☆ MD5

由美国密码学家罗纳德·李维斯特于1992年设计,输出长度固定为128位(16字节),通常用32位十六进制字符串表示。MD5算法计算速度快,曾被广泛应用。

# MD5 校验
[root@nodename ~]# md5sum [选项]... [文件]...

注意事项:

# 举例,在任一目录下,执行命令
[root@master ~]# md5sum *
md5sum: 00-pod: Is a directory
348bd3ce10ec00ecc29d31ec97cd5839  1.txt
864bf4c4232696b440a5bec6c6ce379a  1.yaml
ef841769cb14cab7d7c26f1569bb6281  anaconda-ks.cfg

注意事项:

☆ SHA

SHA(Secure Hash Algorithm,安全哈希算法)是美国国家标准与技术研究院(NIST)设计的系列算法,安全性远高于MD5,目前主流的是SHA-1、SHA-2、SHA-3系列。

# SHA256 校验
[root@nodename ~]# sha256sum [选项]... [文件]...

注意事项:

# 在任一目录,执行
[root@master ~]# sha256sum *
# 部分效果如下
sha256sum: 00-pod: Is a directory
8f8eea956d0ea50d6442fdab213326f75bb6f584268b0795ad452faa85db5f9d  1.txt
572933281dd62ebc7a3cb39b6a6dbe9888403dc9e0e4d1d45f36f7bfff6a8ef1  1.yaml
340ef2273f16c56fad3339b48a77c081d57b96e4fecc9f2654c572fe09c828d5  anaconda-ks.cfg

注意事项:

商密

商密是指我国的“商用密码”,是指用于商业活动、社会公共服务等领域,保障信息安全的密码技术、产品和服务,与用于国家秘密保护的“国密”(国家秘密密码)共同构成我国密码保障体系。

2004年,我国密码学家王小云院士带领团队破解了当时全球广泛应用的MD5算法。 2005年,王小云院士又攻破美国政府常用的SHA-1算法,震惊国际密码学界。 为摆脱对境外算法的依赖,王小云院士与国内专家联合设计了我国首个自主哈希函数算法标准SM3,成为商密体系的核心算法之一。 除SM3外,商密算法体系还包括 SM1(对称加密算法) SM2(非对称加密算法) SM4(分组加密算法)等, 形成了覆盖哈希、加密、签名等全场景的技术体系,其中SM3的安全性得到国内外专家高度认可。

image
image

哈希用途

密码存储

网站或APP在存储用户密码时,不会直接存储明文密码(如“123456”),而是将密码通过哈希算法处理后,存储其哈希值。

有的密文也会使用一些盐值(Salt Value)进行“加盐调料” 一些大型平台通常采用“哈希+盐值”(在密码中加入随机字符串后再哈希)的方式存储密码,即使哈希值被窃取,黑客破解难度也极大。 例如,用户密码“abc123”加“盐值”“x9#kL2”后,变为“abc123x9#kL2”再进行哈希处理,安全性大幅提升。

国内CSDN密码泄漏事件 2011年12月,CSDN的安全系统遭到黑客攻击,600万用户的登录名、密码及邮箱遭到泄露。随后,CSDN密码外泄门持续发酵,天涯世纪佳缘等网站相继被曝用户数据遭泄密。 天涯网于12月25日发布致歉信,称天涯4000万用户隐私也遭到了黑客泄露。

案例:加盐哈希 vs 纯哈希

我们用相同密码“123456”做两组测试,对比安全性差异:

测试组处理方式最终存储的哈希值破解难度
组1纯MD5哈希e10adc3949ba59abbe56e057f20f883e极低,黑客可通过“彩虹表”(预存常见密码哈希值的数据库)1秒内查出明文
组2MD5+随机盐值“y7\*pQ5”d41d8cd98f00b204e9800998ecf8427e(实际为“123456y7\*pQ5”的MD5值)极高,彩虹表失效,需暴力破解盐值+密码组合,成本远超收益

该实验清晰说明:纯哈希仅能防“明文直接泄露”,而“哈希+盐值”能从根本上提升密码存储的安全性,这也是当前主流平台的标准做法。

课上作业: 搜索一下相关资料,什么是彩虹表?

文件完整性校验

软件官网、操作系统镜像下载页面,当用户下载文件后,通过本地哈希工具(如Windows的CertUtil命令、第三方工具HashTab)计算下载文件的哈希值,然后与官网提供的哈希值对比。

如果一致,说明文件完整且未被篡改;

如果不一致,则可能是下载过程中出错,或文件被黑客植入病毒、恶意代码。

image

路由器与路由原理

路由器与路由表

路由器是工作在网络层(第三层)的设备,其核心功能是为数据包选择最佳路径并将其转发到目的地网络。

路由器连接不同的网络,并根据一张“地图”——路由表——来做出转发决策。

image

路由类型

按照路由器是如何学到这条路由(也就是路由来源),我们可以把路由类型分为直连(Direct)路由静态(Static)路由

直连路由

当路由器接口配置了IP地址并处于UP状态时,该接口所属的网络会自动出现在路由表中。

也就是自动生成了直连路由。

举例如下:

当管理员在路由器的 GigabitEthernet0/0/0 接口上配置了IP地址 192.168.1.1/24并激活该接口后,

路由器会自动学习并生成这条路由

路由表记录
    Destination/Mask: 192.168.1.0/24
    Protocol: Direct      # 路由来源:直连
    NextHop: 192.168.1.1  # 下一跳:通常是路由器接口自身地址(表示直接交付)
    Interface: GE0/0/0    # 出接口:配置了该IP的接口

意思是
    凡是要发送到 192.168.1.0/24这个网段的数据包,直接从我(路由器)的 GigabitEthernet0/0/0 接口发出即可,下一跳就是最终目的地(因为目标设备就在这个直连的网络上)

注意事项:

静态路由

静态路由是由网络管理员手动配置的,可以主动控制流量路径。

适合于那些网络结构简单或设备资源有限,无法运行动态路由协议的场景。

静态路由在实际生产环境中应用非常广泛,但通常不是作为唯一的、主导的路由协议,而是扮演着关键的“配角”和“补充”角色。
大家想想为什么?(因为人工操作往往伴随着误配置、维护成本高等问题)

[实验1] 连接两个办公室

核心技能

路由器接口配置、静态路由配置、路由表查看

学习目标

理解不同网段通信原理,掌握静态路由配置方法

仿真实验步骤

实验目的:掌握路由器接口配置与静态路由编写,理解不同网段通信的“路由转发”核心,学会路由表分析

步骤1:拓扑搭建

2台2911路由器(R1-办公室A、R2-办公室B)、2台2960交换机(SW1-办公室A、SW2-办公室B)、4台PC(办公室A:PC1-192.168.1.2/24、PC2-192.168.1.3/24;办公室B:PC3-192.168.2.2/24、PC4-192.168.2.3/24);

image
image

其他的主机类似。

SW1连R1的Fa0/0,SW2连R2的Fa0/0,R1的Fa0/1与R2的Fa0/1用交叉线连接(网段10.0.0.0/24

image

步骤2:路由器接口配置

R1配置:1. 全局模式:“enable”→“conf t”;2. 局域网接口:“interface fa0/0”→“ip address 192.168.1.1 255.255.255.0”→“no shutdown”;3. 互联接口:“interface fa0/1”→“ip address 10.0.0.1 255.255.255.0”→“no shutdown”;4. 命名:“hostname R1-办公室A”

步骤3:R2配置

同理,Fa0/0配置192.168.2.1/24,Fa0/1配置10.0.0.2/24,命名“R2-办公室B”;执行“show ip interface brief”确认所有接口状态为up/up

步骤4:静态路由配置

1. R1配置去往办公室B网段的静态路由:“ip route 192.168.2.0 255.255.255.0 10.0.0.2”(目标网段:192.168.2.0/24;下一跳:R2的互联接口IP 10.0.0.2);

2. R2配置去往办公室A网段的静态路由:“ip route 192.168.1.0 255.255.255.0 10.0.0.1”

步骤5:验证与分析

1. 路由表查看:R1执行“show ip route”,可见“192.168.2.0/24 [1/0] via 10.0.0.2”(S类路由,静态路由标识);

2. 连通性测试:PC1 ping PC3(成功);3. 排错:若失败,检查接口状态、静态路由的目标网段与下一跳是否正确

总结

静态路由需手动指定目标网段和下一跳,适用于小型固定网络。

访问控制列表 ACL

在网络通信中,并非所有流量都能自由进出设备或网络,需要一套规则来筛选和控制流量。

访问控制列表(ACL,Access Control List)就是实现这一功能的核心技术,它根据预设规则决定放行或阻断数据包。

核心原理

ACL是路由器、交换机等网络设备上的一组规则集合。这些规则以“条件判断+动作”的形式存在,设备接收数据包后,会按顺序匹配ACL规则。

若匹配成功则执行预设动作(放行permit或阻断deny);

若所有规则都不匹配则执行“隐含拒绝”(默认阻断所有未匹配流量)。

image

标准 ACL 和扩展 ACL

ACL主要分为标准ACL和扩展ACL两大类,两者的核心区别在于“匹配条件的精细度”,适用于不同场景。

对比项标准ACL(Standard ACL)扩展ACL(Extended ACL)
核心匹配条件仅基于“源IP地址”判断基于“源IP、目的IP、协议类型、源端口、目的端口”等多维度判断
规则编号范围1-99、1300-1999100-199、2000-2699
精细度粗粒度,无法区分同一源IP的不同服务流量细粒度,可精准控制特定服务的流量
适用场景限制特定网段的整体访问精准控制特定服务或交易流量
简单场景案例“禁止研发部192.168.3.0网段所有设备访问外网”——无需区分访问的是网页还是视频,整体限制即可“允许市场部192.168.2.0网段访问客户的Web服务器(80端口),但禁止访问该服务器的FTP服务(21端口)”——需精准区分不同服务
配置原则靠近目的设备配置(避免误阻断其他流量)靠近源设备配置(尽早阻断无用流量,节省资源)

初学者,了解标准的 ACL 即可。

通配掩码

通配掩码(Wildcard Mask)是ACL中用于匹配IP地址段的特殊“掩码”,由0和1组成。

“0”表示“必须精确匹配”;

“1”表示“任意匹配”;

通常与IP地址配合使用(格式:IP地址+通配符掩码)

Wildcard Wildcard 早期就是指扑克牌中的特殊万能牌(也叫百搭牌),由持有者来决定充当任意一张牌使用; 在台湾地区,wildcard 也被翻译成“万用字元”

通配掩码 vs 子网掩码

子网掩码“1表网络位、0表主机位”。

通配符掩码“0表必须匹配、1表任意匹配”。

简单记为“通配符1变0不变”

常见规则

☆ 匹配单个IP地址

IP地址 0.0.0.0               # 匹配单个IP需通配符全0

IP地址 255.255.255.255       # 所有位都可任意匹配

192.168.1.10 0.0.0.0         # 表示4个字节的每一位都必须精确匹配。

注意事项:

☆ 匹配连续网段

根据网段的主机位数量确定通配符的1的位数。

192.168.1.0 0.0.0.255        # 主机位全1,任意匹配,表示匹配192.168.1.0/24网段

10.0.0.0 0.0.255.255         # 匹配10.0.0.0/16网段

注意事项:

☆ 匹配不连续IP地址

利用通配符“1”可任意匹配的特性,匹配特定不连续的IP。

192.168.1.1 0.0.0.254           # 匹配192.168.1.1、192.168.1.3、192.168.1.5等奇数IP

注意事项:

☆ 特殊通配符 any

表示匹配所有IP地址

permit ip any any        # 表示允许所有IP的所有流量,等价于“0.0.0.0 255.255.255.255”

注意事项:

ACL的配置与应用

[实验2] 配置扩展ACL实现安全策略

总结