1. 基础概念与分层思想
1.1 什么是网络协议
网络协议是计算机或网络设备之间通信时必须遵守的一组规则,规定了数据的格式、交互顺序、错误检测、重传与连接管理等。把协议想象成“计算机之间的语言和礼仪”。
1.2 为什么要分层
分层将复杂系统拆成若干互相独立且职责明确的模块:便于设计、实现、测试与维护;每层只向上/下层暴露必要接口。常见参考模型:OSI七层和TCP/IP四层(实际网络设计与实现多基于TCP/IP模型)。
2. 模型回顾(快速、实用)
2.1 OSI 七层(简要职责)
- 物理层:比特的电气/光学/无线传输(光纤、网卡、交换机物理端口)。
- 数据链路层:帧封装、MAC地址、差错检测、局域网转发(以太网、Wi-Fi)。
- 网络层:路由与逻辑地址(IP),分片与转发(IPv4/IPv6、ICMP、ARP)。
- 传输层:端到端通信、端口、可靠性(TCP、UDP)。
- 会话层:会话管理(多数场景被上层/传输层功能替代)。
- 表示层:数据表示、加密、压缩(例如TLS的一些功能可视作此层)。
- 应用层:终端协议与应用(HTTP、DNS、SMTP 等)。
2.2 TCP/IP(四层)对应
- 应用层(HTTP、DNS 等)
- 传输层(TCP/UDP)
- 网络层(IP/ICMP/ARP)
- 链路层(以太网/Wi-Fi/物理)
3. 重要协议详解(功能、重点字段与安全注意)
3.1 IP(Internet Protocol)
功能:负责跨网络分组转发与寻址。
重点字段:版本、首部长度、TTL、源/目的IP、协议字段(上层类型)。
安全注意:无加密/认证,易被伪造源地址(spoofing)——可被用于反射/放大攻击。防护:防火墙规则、反向路径过滤(RPF)、网络ACL、部署更高层认证(如IPsec)等。
3.2 ICMP(Internet Control Message Protocol)
功能:网络诊断与错误报告(ping、traceroute)。
风险:可被滥用做网络扫描或ICMP洪水。防护:边界速率限制、限制ICMP类型或在防火墙上只允许必要类型。
3.3 ARP(Address Resolution Protocol)
功能:在局域网内将IPv4地址解析为MAC地址(ARP请求/应答广播)。
风险:无认证,容易被ARP欺骗/缓存中毒导致中间人攻击。防护:静态ARP、交换机的动态ARP检测(DAI)、端口安全、使用加密隧道(VPN)等。
3.4 TCP(Transmission Control Protocol)
功能:面向连接、可靠传输、顺序保证、流控与拥塞控制。
关键机制:三次握手(SYN → SYN/ACK → ACK),序列号/确认、四次挥手断开。
风险:SYN Flood、连接劫持、序列号预测。防护:SYN cookie、连接跟踪(conntrack)、防火墙/负载均衡器限速、合理的超时与连接数限制。
三次握手示意(简化):- Client -> SYN -> Server
- Client <- SYN/ACK <- Server
- Client -> ACK -> Server
复制代码 3.5 UDP(User Datagram Protocol)
功能:无连接、低延迟、不保证到达顺序,适合实时音视频、DNS等。
风险:易被伪造源地址用于反射/放大(例如 DNS 放大)。防护:源地址验证、速率限制、ACL、对公共服务控制访问。
3.6 DNS(Domain Name System)
功能:域名到IP的解析。递归/权威/缓存等角色。
风险:明文查询易被监听、缓存中毒、域名劫持。防护:DNSSEC(防篡改)、DoT/DoH(加密解析)、限制递归服务对外暴露、监控异常查询模式。
3.7 HTTP / HTTPS
- HTTP:明文超文本协议(请求行/头/体)。
- HTTPS:在HTTP上使用TLS加密(保证机密性、完整性与认证)。
安全要点:使用 TLS1.2+(优先 TLS1.3)、正确证书配置、HSTS、禁用弱密码套件及旧协议、使用强证书私钥保护与自动化续期(如ACME)。
3.8 TLS(Transport Layer Security)
功能:为上层协议提供加密通道、密钥协商与证书验证。
注意:选择现代套件、避免 RSA 小模数或过时哈希、维护证书吊销/OCSP、私钥保护、及时更新库(避免心脏出血类漏洞)。
3.9 邮件协议:SMTP / POP3 / IMAP
功能:SMTP(发送),POP3/IMAP(接收/管理)。
风险:伪造发件人、明文传输。防护:使用 STARTTLS/SMTPS,部署 SPF / DKIM / DMARC 来防止邮件伪造与钓鱼。
4. CDN(内容分发网络)补充
功能:将静态/动态内容缓存并分发到离用户更近的边缘节点,减小延迟、分散流量负载并提升可用性与抗DDoS能力。
主要组件:边缘节点、回源服务器(origin)、智能路由(基于地理/负载/时延)、缓存策略(TTL、Cache-Control)。
安全与注意点:
- 使用CDN可以缓解大规模流量攻击,但配置错误可能会暴露源站地址导致绕过CDN。
- 正确配置TLS(边缘与回源都应加密),并设置合适的缓存控制与访问控制。
- 注意缓存污染与敏感内容缓存(设置合适的Cache-Control、Vary头)。
- 使用WAF功能(很多CDN提供WAF/速率限制)防止应用层攻击。
5. 常见网络攻击类别与防御措施
5.1 被动监听(Eavesdropping)
方式:截取明文流量。
防御:端到端加密(HTTPS、SSH、VPN)、避免明文协议。
5.2 中间人攻击(MitM)
方式:介入通信链路,拦截/篡改数据(如ARP欺骗、DNS劫持)。
防御:使用认证与加密(TLS、SSH)、网络接入控制、交换机端口安全、ARP保护、DNSSEC。
5.3 拒绝服务(DoS/DDoS)
方式:利用大量流量或资源耗尽目标服务。
防御:DDoS清洗服务、CDN、流量过滤、速率限制、黑洞路由与冗余设计。
5.4 扫描与指纹识别
方式:探测端口与服务版本获取攻击面。
防御:最小暴露原则、端口/服务硬化、入侵检测系统(IDS)与日志监控、及时打补丁。
5.5 协议/实现漏洞利用
方式:利用设计缺陷或实现漏洞(如TLS实现错误、HTTP头注入)。
防御:安全配置、代码审计、静态/动态测试、及时更新依赖库。
6. 常用排错工具与实操命令(实战示例)
下列命令多在 Linux 系统中使用,部分需管理员权限(sudo)。
6.1 基本网络信息与连接查看
- ip addr # 查看网络接口与IP
- ip route # 路由表
- ss -tunlp # 显示TCP/UDP端口和监听进程
- netstat -antp # 旧系统常用
复制代码 6.2 连通性测试
- ping <目标IP或域名>
- traceroute <目标> # Unix/Linux
- tracert <目标> # Windows
复制代码 6.3 域名解析
- dig 111.com
- nslookup 111111.com
复制代码 6.4 抓包与分析
- tcpdump -i eth0 -w capture.pcap # 抓包到文件
- tshark -r capture.pcap # 命令行分析
- # 用 Wireshark 打开 capture.pcap 进行图形化分析
复制代码 6.5 HTTP 与 TLS 调试
- curl -I http://example.com # 查看响应头
- curl -v https://example.com # 详细请求/响应
- openssl s_client -connect host:443 -servername host # 查看证书链与握手
复制代码 6.6 扫描与渗测(授权环境)
- nmap -sS -sV 目标IP/网段 # 端口探测与服务版本
- # 注意:仅在有授权的情况下使用渗透测试扫描
复制代码 7. 常见安全配置与加固
- 最小暴露:仅开放必要端口与服务。
- 网络分段:生产/管理/访客等不同网络隔离(VLAN/防火墙)。
- 访问控制:基于角色的访问、强密码、多因素认证(MFA)。
- 加密通信:HTTP→HTTPS(TLS1.2+)、SSH、VPN,使用现代加密套件。
- 日志与监控:集中日志、SIEM、异常流量告警与响应机制。
- 补丁管理:操作系统、网络设备与应用定期打补丁。
- 防御边界:WAF、IDS/IPS、DDoS 防护、RPF 与 ACL。
- DNS 安全:使用 DNSSEC、保护递归服务、监控域名解析异常。
- ARP/DHCP 安全:启用端口安全、DAI、静态绑定(关键设备)。
- 备份与恢复:配置备份、演练恢复流程、制定事故响应计划。
8. 常见排查与故障定位快速流程
- 确认范围:单机、子网还是全站不可达?
- 物理层检查:链路灯、网线、交换机端口与接口状态(ip link/ethtool)。
- 接口与IP:ip addr、ip route 检查IP/路由。
- 连通性:ping(本机→网关→外网)与 traceroute 分段定位。
- 端口/服务:ss -tunlp 或 nmap 扫描本机端口。
- 抓包分析:在源/中间/目的地抓包(tcpdump)看三次握手、重传、RST、ICMP错误等。
- 日志:查看防火墙、应用与系统日志(/var/log/*)。
- 回退测试:禁用可能影响的中间件(WAF/ACL)做对比测试(授权环境下)。
9. 附录:常见端口与用途(快速参考)
- 20/21 — FTP
- 22 — SSH
- 23 — Telnet(不安全,尽量禁用)
- 25 — SMTP
- 53 — DNS
- 80 — HTTP
- 110 — POP3
- 143 — IMAP
- 443 — HTTPS
- 3306 — MySQL
- 3389 — RDP
(仅做参考,实际使用请按需配置防护)
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |
|
|
|
|
|
相关推荐
|
|
|