09

网络管理

监控和配置网络

阅读量:2 · 预计 5 分钟读完

SNMPNETCONFYANG网络监控配置管理
阅读进度9%

第9章:网络安全(Network Security)

一、导读

9.1 本章学习目标

网络安全是互联网的核心挑战。本章讲解密码学基础、安全协议、以及网络安全实践。

本章的核心学习目标包括:

  • 掌握密码学基础:对称加密、公钥加密、数字签名、哈希
  • 理解 SSL/TLS:安全传输层协议
  • 掌握 IPsec:网络层安全
  • 理解防火墙和 IDS:网络安全设备
  • 了解常见攻击:DDoS、中间人攻击、钓鱼

9.2 为什么网络安全如此重要

网络安全关系到个人隐私、企业数据、国家安全。理解网络安全的基本原理,对于开发安全应用、保护数据至关重要。


二、核心概念详解

2.1 密码学基础

2.1.1 对称加密

加密和解密使用相同的密钥。

  • DES:56 位密钥,已不安全
  • AES:128/192/256 位密钥,目前安全
明文 → 加密(密钥K)→ 密文 → 解密(密钥K)→ 明文

优点:速度快

缺点:密钥分发困难

2.1.2 公钥加密

加密和解密使用不同的密钥:公钥加密,私钥解密。

  • RSA:基于大数分解
  • ECC:基于椭圆曲线
明文 → 加密(公钥)→ 密文 → 解密(私钥)→ 明文

优点:解决密钥分发问题

缺点:速度慢

2.1.3 数字签名

发送方用私钥签名,接收方用公钥验证。

消息 → 哈希 → 签名(私钥)→ 验证(公钥)→ 哈希比对

功能:身份认证、不可否认性

2.1.4 哈希函数

将任意长度的消息映射为固定长度的摘要。

  • MD5:128 位,已不安全
  • SHA-1:160 位,已不安全
  • SHA-256:256 位,目前安全

特性:单向性、抗碰撞

2.2 SSL/TLS

SSL/TLS 为应用层提供安全传输。

2.2.1 TLS 握手过程

客户端发送 ClientHello(支持的密码套件)

服务器发送 ServerHello(选择的密码套件)、证书

客户端验证证书,生成预主密钥,用服务器公钥加密

服务器用私钥解密,得到预主密钥

双方根据预主密钥生成会话密钥

后续通信使用会话密钥加密

2.2.2 TLS 记录协议

将数据分片、压缩、计算 MAC、加密后发送。

2.3 IPsec

IPsec 在网络层提供安全服务。

2.3.1 AH(认证头)

提供数据源认证和完整性保护,不提供加密。

2.3.2 ESP(封装安全载荷)

提供加密、认证和完整性保护。

2.3.3 工作模式

  • 传输模式:只加密载荷
  • 隧道模式:加密整个 IP 包

2.4 防火墙

防火墙控制网络之间的访问。

2.4.1 包过滤防火墙

根据 IP 地址、端口号、协议过滤分组。

2.4.2 状态检测防火墙

跟踪连接状态,只允许合法的分组通过。

2.4.3 应用层防火墙

深度检查应用层协议,阻止恶意内容。

2.5 IDS(入侵检测系统)

IDS 监控网络流量,检测可疑活动。

  • 基于签名:匹配已知攻击模式
  • 基于异常:检测偏离正常行为的活动

三、重要知识点

3.1 证书和 PKI

证书将公钥与身份绑定,由 CA(证书颁发机构)签发。

证书内容:
- 主体公钥
- 主体信息
- 颁发者
- 有效期
- 签名

3.2 常见网络攻击

攻击类型描述防御
DDoS分布式拒绝服务流量清洗、CDN
中间人攻击截获并篡改通信TLS、证书验证
钓鱼伪装成可信实体用户教育、SPF/DKIM
SQL 注入注入恶意 SQL参数化查询
XSS注入恶意脚本输入过滤、输出编码

3.3 WiFi 安全

  • WEP:已不安全
  • WPA:使用 TKIP
  • WPA2:使用 AES-CCMP,目前安全
  • WPA3:最新标准,更安全

四、常见误区与难点

4.1 误区一:"HTTPS 就是安全的"

HTTPS 只保证传输安全,如果服务器被入侵、证书被伪造,仍然不安全。

4.2 误区二:"密码越长越安全"

密码的安全性取决于熵(随机性),不仅仅是长度。

4.3 难点:理解 TLS 握手过程

TLS 握手涉及多个密码学概念,需要理解公钥加密、数字签名、密钥交换等。


五、实践应用

5.1 使用 openssl 生成证书

bash
# 生成私钥
openssl genrsa -out key.pem 2048

# 生成证书请求
openssl req -new -key key.pem -out csr.pem

# 自签名证书
openssl x509 -req -days 365 -in csr.pem -signkey key.pem -out cert.pem

5.2 使用 curl 测试 HTTPS

bash
# 查看证书信息
curl -vI https://www.google.com

# 忽略证书验证(测试用)
curl -k https://self-signed.example.com

5.3 使用 nmap 扫描端口

bash
# 扫描开放端口
nmap target_ip

# 扫描特定端口
nmap -p 80,443 target_ip

六、本章小结

第9章讲解了网络安全:

对称加密 速度快,但密钥分发困难

公钥加密 解决密钥分发问题,但速度慢

数字签名 提供身份认证和不可否认性

TLS 为应用层提供安全传输

IPsec 在网络层提供安全服务

防火墙和 IDS 保护网络安全

后续章节将讲解网络管理。