D4 通信与网络安全
目录
网络基本概念
OSI 参考模型
- 应用层:HTTP、FTP、POP3、SMTP、IMAP
- 表示层:关心数据的格式和语法、处理数据压缩和加密,执行格式转换、编码转换,比如 ASCII、JPEG、MPEG 等
- 会话层:负责应用之间的连接,RPC、NFS、SQL 等。关键词Socket、会话
- 传输层:TCP、UDP、SSL、TLS。关键词TCP 分段、UDP 数据报
- 网络层:主要负责 IP 转发。IP、ICMP、IGMP、IPSec、OSPF、RIP。关键词数据包
- 数据链路层:执行 MAC 寻址,ARP/RARP、PPP、SDLC、帧中继。关键词帧。(PPTP、L2TP应该也工作在此层)
- 物理层:RJ45。关键词bit
TCP/IP 模型
- 应用层:关注 Session
- 传输层:关注 TCP Connection
- 互联网层:关注 IP
- 链路层:关注 MAC
IPv4 与 IPv6
- IPv4 长度 32 位,IPv6 长度 128 位
- IPv6 内置 IPsec 安全
- IPv6 内置 QoS
IPv4 私有地址段(可被企业用来承载内网的段):
10.0.0.0 ~ 10.255.255.255
172.16.0.0 ~ 172.31.255.255
192.168.0.0 ~ 192.168.255.255
常见协议、端口
- SSH TCP 22
Telnet TCP 23
FTP TCP 20/21
SNMP UDP 161
TFTP UDP 69
POP3 TCP 110
IMAP TCP 143,比 POP3 安全
SMTP TCP 25
- DNS UDP/TCP 53
哪些设备工作在哪层?
Hub:物理层
- 交换机:二层数据链路层
电路级防火墙:5 层会话层,基于 Socket
状态化防火墙:3~4 网络层和传输层
- 路由器:三层网络层
- 防火墙:3~7 层
- WAF:七层应用层,但是可以进行网络层的访问控制
- Gateway:七层应用层,用于执行协议和格式翻译(如 API 网关)
多层协议
多层封装的协议,例如 TCP/IP、DNP3。
优点:
- 可在更高层使用各种协议
- 可以加密某层
- 灵活、弹性
缺点:
- 允许隐秘通道
- 可以绕过检测机制
- 逻辑上基于边界的网络安全可能实效
DNP3 工控协议:用于电力、水利等系统,用于数据采集和系统控制,常见于 SCADA 设备。
融合协议
- MPLS:基于标签转发的二层协议,性能好、有封装(安全)
- iSCSI:在以太网上传输存储 SCSI 协议,运行在三层
- FCoE:以太网上运行光纤通道协议,工作在三层网络层。最早可达 128G 速率
网络访问控制 NAC
提供接入认证和授权功能,可以防止未授权设备进入网络。NAC 属于一种预防手段。常见的 NAC 有基于 802.1x 的准入系统。
NAC 有接入前控制和接入后控制两种类型:
- 接入前控制:仅有当系统满足安全需求时,才允许接入
- 接入后控制:先接入,有基本的网络连接,如果要访问内网则进行认证。比如访客网络可能使用这种方式。
物理层相关
异步和同步
- 异步:启动和停止使用分隔符来管理。最常用
- 同步:基于独立时钟或时间戳保证同步,可以支持非常高的传输速率
基带与宽带
基带:数字信号方式传输,一次传一个信号。基带相比宽带更安全
宽带:模拟信号传输,可同时传输多个信号
STP 与 UTP
- shielded twisted-pair 屏蔽双绞线:外层有箔片用于防电磁干扰
- unshielded twisted-pair 非屏蔽双绞线
双绞线速率:
- Cat 3:10m
- Cat 4:16M,用于令牌网
- Cat 5:100M
- Cat 5e:1000M
- Cat 6:1000m
- Cat6a:10G
铜缆与光缆
- 铜线:传输距离短,长距离时需要使用中继续放大信号
- 光缆:抗干扰性强,安全性高,传输距离远(单模 1 万米,多模最大 400m)
冲突避免 - LAN 介质访问技术
LAN Media Access 介质访问技术可以用于冲突避免。
CSMA
无线 802.11 使用 CSMA/CA,LAN 使用 CSMA/CD。
- CSMA/CA:载波侦听多路访问,仅支持冲突避免。代价较高,每次 CSMA 发现有冲突后停止发送数据,然后再次进行检测
- CSMA/CD:冲突检测和避免
令牌环 FDDI - 效果最优
Fiber Distributed Data Interface (FDDI)
在一个环形网络中,只有拥有令牌的设备才可以发送报文,这样可以避免冲突。
轮询
在一个 LAN 中一个系统为主,其他为从,主系统轮询查找每个二级系统是否需要传递数据,如果某系统需要传输,则授予传输权限,传输完毕后主再轮询下一个设备。
防火墙
部署在网络区域之间,可以是不同网段,或者不同安全级别的网络区域。
防火墙通常是默认拒绝或隐式拒绝。防火墙无法防御用户故意的数据泄露。
类型:
- 静态包过滤防火墙:工作在 3~4 层,是一种无状态防火墙,每个数据包都是单独评估的。不关心 TCP 会话。
- 应用级防火墙(代理防火墙、网关防火墙):工作在 7 层,可以查看内容,性能一般
- 电路级防火墙(电路代理):在 5 层工作,SOCKS 是其常见实现方式
- 状态检查防火墙:工作在 3~4 层,也称动态包过滤防火墙
- 下一代防火墙:又称多功能设备(MFD),集成了应用程序过滤、TLS 卸载、深度包检测 DPI、IDS、Web 内容过滤等功能
无线网络
- AC(或 WLC):无线控制器
- AP(或 WAP):无线接入点
两种 Wifi 部署模式:
- Ad hoc 模式:两台设备直接互联,使用不安全的 WEP。建议使用升级版本 Wifi Direct 替代,支持 WPA2 和 WPA3
- Infrastructure 模式:
- 独立:单独一个 WIFI,没有连接到其他网络
- 有线扩展模式:将 AP 接入有线网络中
- 企业扩展模式:部署多个 AP 组成一个较大的网络,每个 AP 使用同样的 ESSID(扩展服务集标识符)
- 桥接模式:用 AP 来桥接两个隔离的有线网络
两种 SSID:
- BSSID:基站的 MAC 地址,用于区分设备
- ESSID:用户看到的用于连接的 SSID
无线网络速率:
Wi-Fi 代号 | 速率 | 频率 | |
---|---|---|---|
802.11 | 2Mbps | 2.4G | |
892.11a | Wifi 2 | 54 Mbps | 5G |
892.11b | Wifi 1 | 11 Mbps | 2.4G |
892.11g | Wifi 3 | 54 Mbps | 2.4G |
892.11n | Wifi 4 | 200+ Mbps | 2.4G+5G |
892.11ac | Wifi 5 | 1 Gbps | 5G |
892.11ax | Wifi 6/6E | 9.5 Gbps | 1–5 GHz/1–6 GHz |
无线网络认证
- OSA(Open System Authentication):不进行认证
- WEP:使用 RC4 进行认证和加密,使用静态密钥。很容易被破解
- WPA:使用 RC4,不再使用静态密钥,会配合 LEAP 或者 TKIP(Temporal Key Integrity Protocol 临时密钥完整性协议)使用
- WPA2(WIFI Protected Access 2):使用 AES-CCMP 替代 RC4,支持 PSK 和 802.1x 两种认证方式
- PSK:使用预定义的共享密钥进行身份认证(家庭 Wifi 常用这种)
- 802.1x/EAP:集成 Radius 或者 Tacacs+ 进行身份认证(企业 Wifi 常用这种)
IEEE 802.1x 规定使用 EAP 来支持 LAN 连接的认证,802.1x 又称作“基于端口额度网络访问控制”。802.1x 同时支持物理接口的准入(NAC)以及无线的准入。EAP 是个框架,允许新的身份认证技术和已有的无线对接,所以实际上 802.1x 也可以使用下列协议:
- LEAP:思科私有,用于替换 WPA TKIP 方案,已弃用
- PEAP:通过 TLS 封装 EAP,更为安全,支持交叉验证。目前企业无线用这方方式最多
WPS - Wifi Protected Setup
一键连接 Wifi,简化 Wifi 配置。WPS 可能面临暴力破解,应该禁用。
无线天线类型
- 定向天线:八木天线、卡特纳天线、平板天线和抛物线天线
- 全向天线:一般为直线,极天线、基础天线、橡胶鸭天线
无线网络攻击
- 战争驾驶(War walking/driving):某些人搜寻 Wifi 网络的攻击,然后进行攻击,针对 WPA2 比较常见的攻击是密钥重装攻击(KRACK)
- 恶意接入点(非授权接入的 AP):
- 通过物理连接在网络中添加 AP,可能是员工为了方便的私人行为,这些 AP 可能安全性不足
- 复制已有 Wifi 的 SSID 和 MAC 地址,用户可能无意接入此 Wifi(《硅谷》中用的是这种方式)
- 邪恶双胞胎(Evil twin):创建虚假的 AP,此 AP 克隆真实 AP 的身份。设备可能会自动连接上这个假的 AP
- 阻塞:使用信号干扰
- 初始化向量滥用:针对 WEP 初始向量过短的问题进行攻击,常见工具是 aircrack-ng
- 重放:重传捕获的信号,期望能和 AP 建立会话,获得权限
WIDS 可以用于防范流氓 AP、解除关联、重放攻击。
其他无线网络
通用无线网络概念
无线电波的工作频率在 3Hz 到 300GHz 之间。
有四种频谱技术:
- 扩频(Spread Spectrum):通信在多个频率上发生,并行通信
- FHSS 调频扩频(Frequency Hopping Spread Spectrum):在一个频率范围内使用并行传输,一次只使用一个频率
- DSSS 直接序列扩频
- OFDM 正交频分复用:使用数字多载波调制技术,可以使用更小的频率集提供更大的数据吞吐
蓝牙
IEEE 802.15,使用 2.4G,速率较低,距离 10m 左右。
蓝牙弱认证(使用 PIN),不加密,因此不安全。
蓝牙攻击
- 嗅探攻击(Bluesniffing):捕获数据包
- 蓝牙攻击(Bluesmacking):针对蓝牙设备的 DOS 攻击,传输垃圾流量或者干扰信号
- 蓝牙劫持(Bluejacking):向用户直接发送垃圾消息
- 蓝牙侵吞(Bluesnarfing):通过蓝牙对数据进行未授权的访问
- 蓝牙窃听(Bluebugging):允许攻击者通过蓝牙连接远程控制设备的硬件和软件
RFID
RFID又称无线射频识别,通过无线电讯号识别并读写特定目标数据,不需要机械接触或者特定复杂环境就可完成识别与读写数据。如今,大家所讲的RFID技术应用其实就是RFID标签,它已经存在于我们生活中的方方面面。
类型:
- 无源 RFID:例如公交卡等,工作频率低(低频125KHZ、高频13.56MHZ、超高频433MHZ和 915MHZ),传输距离短
- 有源 RFID:物联网等场景使用,距离远
场景:
- 资产库存的跟踪
- 门禁、考勤系统
- 图书管理系统
- 车辆调度系统
潜在问题
- 物理获取读写器,这样便可以获得 RFID 芯片里的消息
- 被认为侵犯隐私,因为 RFID 内有 UUID,这个 UUID 可以被任何读写器读取
NFC
近场通信(Near-field Communication): 在非常接近的设备间传输无线信号,是一种 RFID 的衍生品。常见于手机等智能设备。13.56 MHz 工作,通信距离 10cm 内。
NFC 可以像无源 RFID 一样工作,也支持与 PKI 集成。
WPA2 也会用到 NFC 来方便建立 Wifi 连接。
NFC 攻击
- 路径攻击
- 窃听
- 数据操作
- 重放
蜂窝网络
2G、3G、4G、5G 等。蜂窝网络的无线部分是加密的,但是数据传输到电线后是明文的。
5G 可达 10G 的速率,但是传输距离短。
DNS 及其安全
DNS 中毒(欺骗攻击)
目标:给 Client 返回不正确的 IP 地址,使得 Client 访问恶意网站。
方式:
- 部署流氓服务器,优先于正常的 DNS 服务器响应客户端的请求
- DNS 污染(缓存中毒),感染 DNS 缓存服务器,使得下游服务器给客户端返回错误的 IP
- DNS 域欺骗(DNS Pharming):修改 hosts
- 攻击 DHCP 服务器,给用户 PC 发放不正确的 DNS 配置
防范机制
- 限制 DNS 区域传送,阻止外部 DNS 到内部 DNS 的 TCP/UDP 53
- 限制外部 DNS 服务,仅使用企业内部 DNS
- 部署 N-IDS 来加强 DNS 异常流量的识别
- 使用 DNSSEC,加强 DNS 的身份验证,使用数字签名来保证完整性
域名劫持/域名抢注
在某域名过期后注册该域名
- 注册和公司域名近似的域名,在用户大意输错 URL 后引流到恶意网站(比如bing.cn)
- 使用同形词,比如在某些语言中 a 和 a 类似,用这个来注册域名
利用 DNS 的 DoS 攻击
如果多个 DNS 域名指向同一个 IP,可能造成多个用户同时访问某个 IP,造成该 IP 相关的服务异常。
内容分发网络
分散在互联网中的多个节点,可以提供同样的服务。比如视频平台会采用 CDN 来加快本地视频访问。
具有低延迟、高性能和高可用等特点。
常见的方案有:Cloudflare、AWS Cloudfront、Akamai、CacheFly、BitTorrent P2P CDN
安全通信
安全通信协议
- IPSec:主要用于 VPN
- 使用公钥加密系统来提供加密、访问控制、不可否问性(签名)、消息验证
- 隧道模式(Tunnel Mode):加密完整报文,更安全
- 传输模式(Transport Mode):只加密数据,不加密源和目标的 IP 头,相比隧道模式安全性差
- SSH:常用语远程连接 Linux 主机
- S-RPC:跨服务调用时进行认证
- SSL/TLS:目前使用的是 TLS,SSL 已经废弃。工作在四层传输层
- TLS 可以用来加密 UDP 协议,SIP 协议(Session Initiation Protocol)
- Kerberos:下个章节会详细讲
PPP 点到点协议及身份认证
PPP:Point-to-Point Protocol,一种广域网串口链路封装协议。
- 同时支持同步传输和异步传输
- 有很好的扩展性,比如可以在以太网上承载 PPPoE
- 提供 LCP(Link Control Protocol),用于各种数据链路层参数的协商
- 提供了认证协议:PAP、CHAP、EAP 等
PAP
使用明文传输用户和密码,不安全。两次握手
CHAP
挑战-应答身份协议,使用三次握手,传递哈希值来进行验证,可以避免重放攻击。
Challenge =服务器发出的随机数,另一端使用此随机数+密码进行哈希,发送响应。
CHAP 使用 MD5,当前已经被视为不安全,微软的 MS-CHAPv2 使用增强的算法,比 CHAP 更为安全。
EAP
可扩展身份认证协议。一种认证框架,而不是简单的一个协议。
各种 EAP 方案:
- EAP-MD5:基于 MD5 哈希进行弱身份验证,已被弃用
- PEAP:通过 TLS 封装 EAP,更为安全,支持交叉验证
- EAP-TLS:一个开放的 IETF 标准,用于保护身份认证流量。当 Client 和 Server 均配置数字证书时,可以双向认证,安全性比较高
- EAP-TTLS(EAP Tunneled TLS):是 EAP-TLS 的扩展,在身份认证之前在端点之间建立隧道,确保用户名不是明文传输
- EAP-SIM:通过 GSM 网络认证移动设备的一种方式
- LEAP:Cisco 私有方案,用于替换 WPA TKIP 无线认证方案
- EAP-FAST:Cisco 私有,用于取代 LEAP,目前已被 WPA2 取代
- EAP-POTP(EAP Protected One-Time Password):支持在多因素认证中使用 OTP 令牌,用于单向和交叉身份认证
远程访问安全
远程访问价值:常用的一种运维方式,也是保证在灾难中快速恢复的重要手段
常见远程访问技术:
- 特定服务:将指定服务暴露在互联网,例如邮件系统
- 远程控制:例如 RDP
- 远程节点操作:Remote client 与企业内网建立连接,例如 VPN、拨号网络
- 抓屏/录屏(Screen Scarping):
- 虚拟桌面等服务
- 一种录屏技术,可以通过人机界面进行交互。一般通过 Web 进行前端交互,此工具很像一个浏览过滤器,可以从 Google 等地方检索并过滤信息,将有用的信息发送给用户
远程访问安全:
- 访问控制:只有经过身份认证的用户才能访问资源
- 传输加密:所有信息都应该加密,包括认证环节和数据传输环节
- 限制远程访问的数量
- 重要系统避免远程管理,比如数据库
语音及安全
PBX 安全
专用交换机(Private Branch Exchange),部署在企业内部的电话交换系统,可以使得内部电话共享少数的 PSTN 线路。
存在的攻击:
- 飞客攻击:绕过电话系统的认证,免费拨打长途等(乔布斯曾经干的事)。改变电话服务用哪个,窃取服务,造成服务中断
- 钓鱼攻击:加强意识培训
VoIP
将语音数据封装在 IP 包中传输。
存在的安全风险:
- 伪造 VoIP 显示的电话号,进行钓鱼欺骗攻击(vishing),语音垃圾邮件攻击(SPIT)
- 呼叫管理系统遭受 DoS 攻击
- 呼叫管理系统和 VoIP 电话遭受主机操作系统层面的攻击
- 通过伪造呼叫管理器或终端连接协商消息,执行中间人攻击
- 如果 PC 和 VoIP 部署在同一台交换机,会发生 VLAN 跳跃(一种二层攻击,可以实现跨 VLAN 访问数据)
- VoIP 流量未被加密,流量被窃听
解法:
- SRTP:加密、身份认证。SRTP 是 RTP 的加密改良,用在很多 VoIP 中。SRTP 可以防止 DOS、中间人攻击等。RTP 和 SRTP 在 SIP 协议建立连接之后接管。
- 将语音流量和数据流量分开
- 防止物理访问
视频会议
缺点:
- 缺少认证,不能保证在会议中的人是本人
- 缺少审计,不能避免用户拍照或者截屏等
即时通信
缺点:
- 缺少管理功能
- 缺少企业级认证功能,例如双因子认证
- 存在被窃听的可能
- 存在社会学攻击的可能
- 可能用来传播病毒(和邮件类似)
企业自建内部 IM 服务器相对比较安全。
电子邮件安全
关于 SMTP:
- SMTP 是一种邮件中继系统,其作用是将邮件从发送者传递给接收者
- 如果要部署一台 SMTP服务器,必须为传入、传出的邮件请求配置正确的强身份认证机制
- 如果 SMTP 邮件服务器在接收并转发邮件前不对发送者进行验证,就很容易将 SMTP 邮件服务器变成一台“开放中继” (也被称为“开放中继代理”或“中继代理”),开放中继是垃圾邮件发送者的主要目标,垃圾邮件发送者可通过尾随 (piggybacking)技术发送海量的邮件
邮件安全:
- 客户端使用 IMAP 协议比 POP3 安全
- 关闭 SMTP 转发功能
- 服务器数据备份
- 开启黑名单功能
- 通过 S/MIME 保证邮件的身份认证(X.509)和加密(PKCS)
- 通过 PGP(Pretty Good Privacy)保证安全:PGP 是一套加密软件产品
- DKIM(DomainKeys Identified Mail):验证域名标识,确定来自组织的邮件是正确的
- SPF(Sender Policy Framework):用于防止垃圾邮件和欺骗攻击。SPF 可以检查发送者是否有 SMTP 域名所属者的授权,可以防止欺骗发生
- DMARC:基于 DNS 的电子邮件身份认证系统
- STARTTLS:建立 SMTP 初始连接后,尝试通过 TLS 协商加密通道,如果对端不支持,则明文传输
- 隐式 SMTPS:如果对端支持 TLS,则协商成功,如果不支持,则无法连接。使用 TCP 465 端口
- 使用防病毒软件来扫描附件
SaaS 邮件系统:
- 高可用、分布式、易于访问、标准化配置
- 可能存在误报问题,阻止正常的访问,速度限制
垃圾邮件:
- 防止邮件欺骗:数字签名
- 防止垃圾邮件:贝叶斯过滤
传真安全
传真比较容易受攻击:可以被拦截且容易被窃听
安全措施:
- 传真机加密
- 链路加密
- 活动日志和异常告警
- 关闭自动打印功能
- 通过电子邮件接收传真
VPN
IPsec VPN
- 传输模式(Transport Mode):只加密数据,不加密源和目标的 IP 头,相比隧道模式安全性差
- 隧道模式(Tunnel Mode):加密完整报文,更安全
传输模式示意图:
隧道模式示意图:
Always-on VPN
始终在线 VPN,在某些条件下自动连接 VPN。比如用户通过外部 Wifi 连接网络。这种方式并不安全,因为外部 Wifi 可能被窃听。
隧道分割
隧道分割:仅有访问内网的请求经过 VPN 发送到企业,通常这种模式下 VPN 被认为是受信的(然而并非),所以在网络层面不太会配置安全过滤,这就可能导致恶意代码传递、入侵等发生(想象这种模式下是直接把内网通过 VPN 暴露到了互联网)
全隧道:所有请求都经过 VPN 发送到企业,可以被企业的设备进行完整的流量过滤,更安全
PPTP VPN
Point-to-Point Tunneling Protocol (PPTP)
PPTP 运行在数据链路层,使用 TCP 1723。PPTP 使用 GRE 隧道。PPTP 初始隧道协商过程不加密,存在用户名、哈希密码被窃听的可能。
支持下列认证协议:
- PAP
- EAP
- CHAP
- MS-CHAP2
L2TP VPN
RFC 2661,运行在数据链路层,支持任何三层网络层协议。使用 UDP 1701。L2TP 结合了 Cisco 的 L2F 协议和微软的 PPTP 协议。底层也是有 GRE 隧道的。
L2TP 默认只会加密控制信息(使用共享密钥),用户数据不执行加密,不过可以通过 IPsec 的 ESP 进行加密。
L2TP 支持 PPP 的多种认证方式,比如 802.1x
IPSec 协议
IPsec 不是单个协议,而是一组协议,包括 AH、ESP、HMAC、IPComp 和 IKE:
- AH:身份认证头,提供完整性和不可否认性。主要提供身份认证功能,实现会话访问控制,避免重放攻击
- ESP:Encapsulating Security Payload,保护载荷内容,提供加密和有限的身份认证功能,防止重放攻击。通常使用 AES 算法。
- HMAC:Hash-based Message Authentication Code,使用哈希校验进行完整性检查
- IPComp:压缩工具,在 ESP 加密前进行数据压缩
- IKE:互联网密钥交换,IPSec 使用 IKE 来安全的进行密钥交换
NAT 地址转换
优点:
- 解决公有 IPv4 地址不足的问题
- 隐藏内网网络真实 IP 地址
缺点:
- 影响 IPSec VPN 工作,此时有个解决方案叫 NAT-T
- 中间人攻击(假设执行 NAT 的设备被监听)
安全控制特性
透明性:对于用户来说安全设备不可见。比如透明模式工作的防火墙。这方方式更安全,因为对于用户来说更难绕过。
传输日志:通信审计技术,记录源、目标 IP、时间、识别码、传输状态、报文数量、消息大小等信息。可用于故障定位、非法通信追踪等。