本章需掌握知识点:

    • TCP/IP协议结构及安全问题
      • 了解TCP/IP协议的体系及每一层的作用
      • 了解网络接口层的作用及面临的网络安全问题
      • 了解IP协议的工作机制及面临的安全问题
      • 了解传输协议TCP和UDP的工作机制及面临的安全问题
      • 了解应用层协议面临的安全问题
    • TCP/IP模型安全解决方案
      • 了解基于TCP/IP协议簇的安全架构
      • 了解IPV6对网络安全的价值

    一、TCP/IP模型认知

    1. OSI模型与TCP/IP协议的对应 | TCP/IP 4层模型 | OSI模型 | 主要协议 | 作用 | | —- | —- | —- | —- | | 应用层 | 应用层 | HTTP、HTTPS、SMTP、FTP、DNS等 | 为应用程序提供网络服务 | | | 表示层 | | 数据格式化,加密、解密 | | | 会话层 | | 建立、维护、管理会话连接 | | 传输层 | 传输层 | TCP、UDP | 建立、维护、管理端到端连接 | | 网络互联层 | 网络层 | IP、ICMP、IGMP | IP寻址和路由选择 | | 网络接口层 | 数据链路层 | ARP、RARP | 控制网络层与物理层之间的通信 | | | 物理层 | | 比特流传输(光信号、电信号) |

    2. TCP/IP协议簇结构

    image.png

    二、TCP/IP模型每层工作协议,与存在的安全问题

    1. 网络接口层
      1. 主要工作协议
        1. ARP
          1. ARP协议特点:无状态,无需请求可以应答(导致可以通过黑客可以通过持续不断的利用单播给要被欺骗的设备,导致被欺骗的设备将数据转发给黑客)
          2. ARP实现:ARP缓存(其实就是ARP缓存表,在NA有学过,重启就消失)
          3. 如何防御ARP欺骗?
            1. 使用静态ARP缓存
            2. 使用三层交换设备
            3. IP与MAC地址绑定
            4. ARP防御工具
        2. RARP
      2. 存在的安全问题
        1. 损坏:自然灾害、动物/人为破坏、老化、误操作
        2. 干扰:大功率电器/电源线路/电磁辐射
        3. 电磁泄漏:传输线路电磁泄露
        4. 欺骗:ARP欺骗
        5. 嗅探:常见二层协议是明文通信的,所以容易被嗅探
        6. 拒绝服务:mac flooding,arp flooding等
      3. ARP协议工作过程与欺骗过程

    4-TCP/IP模型 - 图2
    ARP请求是在局域网内泛洪广播的,导致容易被中间转发机器进行欺骗。
    黑客主机伪装客户端需要去往的IP地址或MAC地址
    image.png

    1. 网络互联层
      1. 网络互联层核心协议-IP协议
        1. IP协议(internet protocol)是TCP/IP协议族中最为核心的协议
        2. IP协议的特点
          1. 不可靠通信(无需保障通信的可靠性,尽最大努力进行通信)
          2. 无连接通信(没有任何预先联系就发送消息“无连接的”且希望接收方能顺序接收所有内容)
          3. 提供分层编址体系(IP地址)
            image.png
      2. 网络互连层存在的安全问题
        1. 拒绝服务:分片攻击(teardrop)/死亡之ping
        2. 欺骗:IP源地址欺骗
          1. 原理:两台主机之间经过认证产生信任关系后,在连接过程中就不会要求严格的认证
          2. IP欺骗是一系列步骤构成的攻击
            image.png
            image.png
        3. 窃听:嗅探
        4. 伪造:IP数据包伪造
    2. 传输层协议-TCP(Transmission Control Procotol传输控制协议)
      1. 作用:
        1. 提供面向连接的、可靠的字节流服务
          (面向连接的服务,信息发送方需要与接收方联系并通过联系来维持一个对话)
        2. 提供可靠性服务
          1. 数据包分块
          2. 发送接收均需确认
          3. 超时重发
          4. 数据校验
          5. 数据包排序
          6. 控制流量
        3. 报文结构
          image.png
        4. TCP/UDP端口号存在的意义
          1. TCP/UDP通过16bit端口号来识别应用程序
            1. 知名端口号由Internet号分配机构来管理(Internet assigned numbers authority,IANA)
          2. 现状
            1. 1-255端口号分配给知名的网络服务
            2. 256-1023分配给unix操作系统特定的服务
            3. 1024-5000 临时分配的端口号
            4. 5000以上端口号保留给应用服务
          3. 常用端口
            ftp 21,ssh 22,telnet 23,smtp 25,domain 53,tftp 69,http 60,pop3 110,snmp 161,ms sql server 1433,mysql 3306,Oracle 1521
          4. TCP建立连接过程-三次握手
            4-TCP/IP模型 - 图8
            总结(打电话举例):
            小王:在吗(SYN)?

    老王:在的(ACK),你能听到吗(SYN)?
    小王:可以听到(ACK)

    1. 传输层协议-UDP(user datagram protocol用户数据报协议)
      1. 作用:提供面向事务的简单不可靠信息传送服务
      2. 特点:
        1. 无连接、不可靠
        2. 协议简单。占用资源少,效率高等
          image.png
      3. 传输层需要关注的安全问题:
        1. 拒绝服务:syn flood、udp flood、smurf
        2. 欺骗:TCP会话劫持
        3. 窃听:嗅探
        4. 伪造:数据包伪造
      4. 典型攻击示例:
        1. SYN Flood(大量消耗连接数攻击,三次握手只完成前两次,最后一次不发送SYN包给服务端,让服务端大量消耗连接会话窗口)
          image.png
    2. 应用层协议
      1. 应用层协议
        1. 作用:定义运行在不同端系统上的应用程序进程,如何相互传递报文。
        2. 典型的应用层协议
          1. 域名解析:DNS
          2. 电子邮件:SMTP/POP3
          3. 文件传输:FTP
          4. 网页浏览:HTTP,HTTP
            …………
        3. 存在的安全问题
          1. 拒绝服务:超长URL链接
          2. 欺骗:跨站脚本、钓鱼式攻击、cookie欺骗
          3. 窃听:数据泄露
          4. 伪造:应用数据篡改
          5. 暴力破解:应用认证口令暴力破解等
        4. 典型攻击:DNS欺骗
          image.png
    3. 基于TCP/IP协议簇的安全架构
      image.png
      1. 网络接口层:通过建立专用通信链路,在主机或路由器之间提供安全保证;
        对应安全通信协议如下:
        PPTP(在PPP协议上开发的全新点对点隧道协议),
        L2TP(在链路层为客户端与服务器端之间建立经过认证的虚拟私有网络),
        PPP,L2F等。
      2. 互联网络层:重点是解决IP协议的安全问题。
        对应安全通信协议:IPSec(Internet Protocol Security)
        1. IPSec提供安全性功能:
          1. 访问控制
          2. 无连接的完整性
          3. 数据源认证
          4. 机密性保护
          5. 有限的数据流机密性保护
          6. 抗重放攻击等
        2. IPSec(基于AH协议):提供无连接完整性、数据源认证,抗重放
        3. IPSec(基于ESP协议):加密需要保护的载荷数据,为这些数据提供机密性、完整性保护
          FQA:ESP和AH可以独立使用,也可以结合使用
    4. 下一代互联网协议-IPV6安全特性
      image.png
      1. IPV6报文也更简单
        image.png
        1. ipv4报头具有20和八位二进制数和12个基本报头字段,然后是选项字段和数据部分(通常是传输层数据段)。
        2. ipv6报头具有40个八位二进制数、三个ipv4基本报头字段和五个附加报头字段。