### 网络安全威胁
- 窃听通信内容
- 中断网络通信
- 篡改通信内容
- 伪造通信内容

### 网络层 ARP欺骗
- ARP spoofing 又称为ARP毒化
- 可以让攻击者获取局域网内的数据包
- 可以让网络中特定的电脑之间无法通信
- 让送至某一个ip的流量送到攻击者的电脑上

#### ARP解决
- 静态ARP
- DHCP Snooping
- 软件监听ARP不正常变动

### DoS DDoS
#### DoS 拒绝服务攻击，Denial of Service Attack
- 使目标电脑的网络资源或系统资源耗尽，无法提供服务

#### DDoS Distributed Denial of Service Attack
- 使用多个僵尸电脑对统一目标进行DoS攻击

#### 攻击分类
- 带宽消耗型 UDP洪水攻击，ICMP洪水攻击
- 资源消耗型 SYN洪水攻击，LAND 攻击

#### 防御
- 入侵检测
- 流量过滤
- 多重验证
- 防火墙
- 交换机
- 路由器
- 黑洞引导 攻击流量引导到空地址或不存在的计算机
- 流量清洗 通过DDoS流量清洗软件，区分攻击流量和正常流量

### 传输层 SYN 洪水攻击
- 攻击者发送一系列的SYN请求到目标主机，但是不然目标主机收到ACK确认（第三次握手）
- 造成目标主机等待，资源浪费
- 伪造ACK确认的主机ip地址，让目标主机发送SYN=1，ACK=1到一个不存在或者不能回复的ip地址

### 传输层 LAND攻击
- LAND攻击（局域网拒绝服务攻击）
- Local Area Network Denial attack
- 通过持续发送相同源地址和目标地址的欺骗数据包，使目标视图与自己建立连接，消耗系统资源直至崩溃

#### 防护
- 添加防火墙
- 操作系统打补丁
- 路由器配置策略，屏蔽源地址与目标地址相同的数据包


### 应用层 DNS劫持
- DNS劫持，又称域名劫持
- 攻击者篡改了某个域名的解析结果，使得域名指向了另一个ip
- 被攻击者访问了不可达或假冒的网站

### HTTP 劫持
- 对HTTP数据包进行拦截处理，比如插入JS代码

### 常见加密方式
- 不可逆加密 单向散列函数加密 MD5，SHA
- 可逆加密
    - 对称加密 DES，3DES，AES
    - 非对称加密 RSA
- 其他
    - 混合密码系统
    - 数字签名
    - 证书


### 单向散列函数
- 单向散列函数也被称为`消息摘要函数`或者`哈希函数`
- 输出的值也被称为`消息摘要`或`指纹`
- 根据任意长度的消息，计算出`固定长度`的散列值
- 计算速度快，能快速计算出散列值
- 消息不同，散列值也不同
- 具备`单向性`

#### 常见单向散列函数
- MD4，MD5 产生128bit的散列值
- SHA-1 产生160bit的散列值
- SHA-2 SHA-256 SHA-384 SHA-512 散列值长度分别是256bit，384bit和512bit
- SHA-3

### AES 对称加密
- Advanced Enryption Standard
- 密钥长度有128bit，192bit，256bit

### 非对称加密
- Asymmetric Cryptography
- 密钥分为加密密钥和解密密钥，两者不一样
- 加密密钥一般是公开的也称为公钥
- 解密密钥不公开，也被称为私钥
- 公钥与私钥是一一对应的，不能单独生成
- 公钥负责加密，私钥负责解密

#### RSA加密算法
    - 由罗纳德·李维斯特（Ron Rivest）、阿迪·萨莫尔（Adi Shamir）和伦纳德·阿德曼（Leonard Adleman）一起提出的。当时他们三人都在麻省理工学院工作。RSA就是他们三人姓氏开头字母拼在一起组成的


### 数字签名
- 用发消息的人的私钥进行签名
- 数字签名不保证消息的机密性，只保证消息内容没有被篡改
- 防止消息发送人否认发送消息
- 公钥负责验签，私钥负责签名

### CA证书
- 数字签名与非对称加密签名
![](https://blog-heysq-1255479807.cos.ap-beijing.myqcloud.com/blog/wiki/http/ca_1.png)

