HTTP协议之代理服务器、CDN、网络安全
目录
代理服务器
正向代理,反向代理
正向代理 - 作用
反向代理 - 作用
抓包工具的原理
相关的头部字段
CDN
使用CDN前后
使用CDN前
使用CDN后
网络安全
网络通信中面临的4种安全威胁
网络层 - ARP欺骗
核心步骤举例
防护
Dos、DDoS
传输层 - SYN洪水攻击
传输层 - LAND攻击
DoS、DDoS防御
应用层 - DNS劫持
HTTP协议的安全问题
常见英文
学前须知
如何防止被窃听?
单向散列函数
特点
称呼
常见的几种单向散列函数
如何防止数据被篡改
应用:防止数据被篡改
应用:密码加密
本文参照小码哥的网络协议视频记录
代理服务器
代理服务器(Proxy Server)
特点:本身不生产内容,处于中间位置转发上下游的请求和响应。面向下游的客户端,他是服务器;面向上游的服务器,它是客户端。
正向代理,反向代理
正向代理:代理的对象是客户端。意思是服务的对象是客户端。
反向代理:代理的对象是服务器。
左图是正向代理,右图是方向代理。
正向代理 - 作用
隐藏客户端身份,因为是通过代理服务器发送请求,所以服务器只能收到代理服务器的ip。
绕过防火墙(突破访问限制)。
Internet访问控制。通过路由器设置指定一个客户端为代理服务器的方式,由这台代理服务器控制哪些客户端可以上网,哪些不可以上网。
数据过滤。接Internet访问控制,这台代理服务器在拿到服务器的数据时,可以判断是否是安全的,如果发现不安全,可以不传给客户端。
反向代理 - 作用
隐藏服务器身份,安全防护。
负载均衡:当客户端的请求变多时,设置负载均衡服务器来转发请求。该服务器不做运算,而是根据负载均衡算法决定把请求转发给哪台服务器,从而起到根据每台服务器的承受能力分发流量的作用。
抓包工具的原理
Fiddler、Charles等抓包工具的原理:在客户端启动了正向代理服务。
Wireshark的原理是:通过底层驱动,拦截网卡上流过的数据。
相关的头部字段
Via:追加经过的每一台代理服务器的主机名(或域名)。
X-Forwarded-For:追加请求方的IP地址。
X-Real-IP:客户端的真实IP地址。
X-Forward-For | X-Real-IP | Via | |
---|---|---|---|
① | 14.14.14.14 | 14.14.14.14 | proxy1(是主机名或域名,不是ip地址) |
② | 14.14.14.14,200.11.11.11 | 14.14.14.14 | proxy1,proxy2 |
③ | 为了服务器安全,一般不会追加 | 无 | proxy2 |
④ | 无 | 无 | proxy2,proxy1 |
CDN
CDN(Content Delivery Network或Content Distribution Network),译为:内容分发网络。
利用最靠近每位用户的服务器,更快更可靠地将音乐,图片,视频等资源文件(一般是静态资源)传递给用户。
使用CDN前后
CDN运营商在全国,乃至全球的各个大枢纽城市都建立了机房。部署了大量拥有高存储高带宽的节点,构建了一个跨运营商,跨地域的专用网络。内容所有者向CDN运营商支付费用,CDN将其内容交付给最终用户。
使用CDN前
使用CDN后
把域名告诉DNS服务器,服务器发现这个域名对应的是CDN资源,于是告诉主机去找CDN DNS服务器。这个CDN服务器会告诉主机一个ip地址,主机根据ip有去请求一个CDN全局负载均衡系统,这个系统会根据主机的ip地址告诉它一个离它最近的节点在哪里,主机就从这个节点去拿数据。
网络安全
网络通信中面临的4种安全威胁
截获:窃听通信内容
中断:中断网络通信
篡改:篡改通信内容
伪造:伪造通信内容
网络层 - ARP欺骗
ARP欺骗(ARP spoofing),又称ARP毒化(ARP poisoning),ARP病毒,ARP攻击。
ARP欺骗可以造成的效果有:可让攻击者获取局域网上的数据包甚至可篡改数据包,可让网络上特定电脑之间无法正常通信(例如网络执法官这样的软件),让送至特定IP地址的流量被错误送到攻击者所取代的地方。
核心步骤举例
假设主机C是攻击者,主机A,B是被攻击者。C只要收到过A,B发送的ARP请求,就会拥有A,B的IP,MAC地址,就可以进行欺骗活动。C发送一个ARP响应给B,把响应包里的源IP设为A的IP地址,源MAC设为C的MAC地址。B收到ARP响应后,更新它的ARP表,把A的MAC地址(IP_A,MAC_A)改为(IP_A,MAC_C)。当B要发送数据包给A时,它根据ARP表来封装数据包的头部,把目标MAC地址设为MAC_C,而非MAC_A。当交换机收到B发送给A的数据包时,根据此包的目标MAC地址(MAC_C)而把数据包转发给C。C收到数据包后,可以把它存起来后再发送给A,达到窃听效果。C也可以篡改数据后才发送数据包给A。
防护
静态ARP。动态ARP是通过发广播得到的,静态ARP是自己添加的。
DHCP Snooping:网络设备可借由DHCP保留网络上各电脑的MAC地址,在伪造的ARP数据包发出时即可侦测到。
利用一些软件监听ARP的不正常变动。
Dos、DDoS
DoS攻击(拒绝服务攻击,Denial-of-Service attack)使目标电脑的网络或系统资源耗尽,使服务暂时中断或停止,导致其正常用户无法访问。
DDoS攻击(分布式拒绝服务攻击,Distributed Denial-of-Service attack)。黑客使用网络上两个或以上被攻陷的电脑作为“僵尸”向特定的目标发动DoS攻击。2018年3月,GitHub遭到迄今为止规模最大的DDoS攻击。
DoS攻击可以分为2大类
带宽消耗型:UDP洪水攻击,ICMP洪水攻击。
资源消耗型:SYN洪水攻击,LAND攻击。
传输层 - SYN洪水攻击
SYN洪水攻击(SYN flooding attack)
攻击者发送一系列的SYN请求到目标,然后让目标因收不到ACK(第3次握手)而进行等待,消耗资源。
攻击方法:一种是跳过发送最后的ACK信息,让目标收不到第三次握手。一种是修改源IP地址,让目标送SYN-ACK到伪造的IP地址,因此目标永不可能收到ACK(第3次握手)。
防护:参考RFC 4987
传输层 - LAND攻击
LAND攻击(局域网拒绝服务攻击,Local Area Network Denial attack)通过持续发送相同源地址和目标地址的欺骗数据包,使目标试图与自己连接,消耗系统资源直至崩溃。
有些系统存在设计上的缺陷,允许设备接受并响应来自网络,却宣称来自于设备自身的数据包,导致循环应答。
防护:大多数防火墙都能拦截类似的攻击包,以保护系统。部分操作系统通过发布安全补丁修复了这一漏洞。路由器应同时配置上行与下行筛选器,屏蔽所有源地址与目标地址相同的数据包。
DoS、DDoS防御
防御方式通常为:入侵检测、流量过滤、和多重验证。堵塞网络带宽的流量将被过滤,而正常的流量可正常通过。
防火墙:防火墙可以设置规则,例如允许或拒绝特定通讯协议,端口或IP地址。当攻击从少数不正常的IP地址发出时,可以简单的使用拒绝规则阻止一切从攻击源IP发出的信息。复杂攻击难以用简单规则来阻止,例如80端口遭受攻击时不可能拒绝端口所有的通信,因为同时会阻止合法流量。防火墙可能处于网络架构中过后的位置,路由器可能在恶意流量达到防火墙前即被攻击影响。
交换机:大多数交换机有一定的速度限制和访问控制能力。
路由器:和交换机类似,路由器也有一定的速度限制和访问控制能力。
黑洞引导:将所有受攻击计算机的通信全部发送至一个“黑洞”(空接口或不存在的计算机地址)或者有足够能力处理洪流的网络设备商,以避免网络收到较大影响。
流量清洗:当流量被送到DDoS防护清洗中心时,通过采用抗DDoS软件处理,将正常流量和恶意流量区分开。正常流量则回注回客户网站。
应用层 - DNS劫持
DNS劫持,又称为域名劫持。攻击者篡改了某个域名的解析结果,使得指向该域名的IP变成了另一个IP。导致对相应网址的访问被劫持到另一个不可达的或者假冒的网址,从而实现非法窃取用户信息或者破坏正常网络服务的目的。
如客户端在访问某银行网站时,遭到DNS劫持,ip改到一个仿造的一摸一样的网站,输入账号密码就泄露个人信息了。
为防止DNS劫持,可以考虑使用更靠谱的DNS服务器,比如:114.114.114.114
HTTP劫持:对HTTP数据包进行拦截处理,比如插入JS代码。比如你访问某些网站时,在右下角多了个莫名其妙的弹窗广告,或者点一个按钮,就跳到一个莫名其妙的页面。
HTTP协议的安全问题
HTTP协议默认是采取明文传输的,因此会有很大的安全隐患。常见的提高安全性的方法是对通信内容进行加密后,再进行传输。
常见的加密方式有
不可逆:单向散列函数:MD5、SHA等。
可逆:对称加密:DES、3DES、AES等。非对称加密:RSA等。
其他:混合密码系统,数字签名,证书。
常见英文
encrypt:加密
decrypt:解密
plaintext:明文
ciphertext:密文
学前须知
为了便于学习,设计4个虚拟人物。
Alice、Bob:互相通信。
Eve:窃听者。
Mallory:主动攻击者。
如何防止被窃听?
单向散列函数
单项散列函数(One-way hash function)可以根据消息内容计算出散列值。散列值的长度和消息的长度无关,无论消息是1bit,10M,100G,单向散列函数都会计算出固定长度的散列值。
特点
根据任意长度的消息,计算出固定长度的散列值。计算速度快,能快速计算出散列值。消息不同,散列值也不同。具备单向性。
称呼
单向散列函数,也被称为消息摘要函数(message digest function),也叫哈希函数(hash function)。输出的散列值,也被称为消息摘要(message digest)或指纹(fingerprint)
常见的几种单向散列函数
MD4、MD5:产生128bit的散列值,MD就是Message Digest的缩写。目前已经不安全,因为已经有工具可以用暴力枚举法解密大部分密码。
SHA-1:产生160bit的散列值,目前已经不安全。
SHA-2:SHA-256、SHA-384、SHA-512,散列值长度分别是256bit,384bit,512bit。
SHA-3:全新标准
如何防止数据被篡改
应用:防止数据被篡改
应用:密码加密
数据库存储的也是加密后的密码,且不可逆,这样如果数据库里的数据泄漏了的话,就不会直接泄漏用户信息。
与https相关的加密方法在这篇文章↓
对称加密和非对称加密、数字签名和证书
HTTP协议之代理服务器、CDN、网络安全相关推荐
- 来看看CDN网络安全防护的方案
前言 今天通过SaltStack漏洞这个药引子,聊聊CDN网络安全防护这个话题.先聊聊,CDN定义:Content Delivery Network,内容分发网络,给用户带来的价值,加速获得其静态或者 ...
- Fikker 反向代理服务器CDN 应用优化参考
Fikker 反向代理服务器CDN 应用优化参考 1.说明: a.本 CDN 优化指南主要针对 Fikker 网站缓存 3.4.9 及其更高版本,不支持低版本. b.用于提升 CDN 应用的安全性,高 ...
- SIP协议之代理服务器
SIP代理服务器是路由SIP请求到用户代理服务端(UAS)和路由SIP应答到用户代理客户端(UAC)的SIP网元.一个请求可能会经过一个或多个代理到达UAS.每个代理都会执行路由决策.修改请求等操作, ...
- 网络协议底层原理7——网络安全
网络通信中面临的4种安全威胁: 截获:窃听通信内容 中断:中断网络通信 篡改:篡改通信内容 伪造:伪造通信内容 1.网络层 - ARP欺骗 ARP欺骗 (ARP spoofing),又称ARP毒化 ( ...
- SRT协议应用于直播加速CDN,超越RTMP,实现200ms以下的 低延时、弱网传输
什么是SRT协议? SRT是由Haivision和Wowza共同创建的SRT联盟所发起的互联网传输协议,是一种开源.免费和应用灵活的规范,它的性能与专用的协议一样优秀,能够同时在不同制造商的产品之间工 ...
- 又拍云再放大招,CDN同时支持HTTP/2和SPDY/3.1协议
任何新标准的普及,都离不开业界的共同努力.近日,又拍云宣布其CDN产品全面支持HTTP/2协议,减少页面加载时的拥堵现象,降低服务器及网络负载,带来更快的访问体验.不仅如此,又拍云CDN加速同时兼容S ...
- ipsec 网络安全协议
IPSec协议简介 1. IPSec协议 IPSec 是一系列网络安全协议的总称,它是由 IETF(Internet Engineering Task Force,Internet工程任务组)开发的 ...
- 网络服务器安全协议,ipsec 网络安全协议
IPSec协议简介 1. IPSec协议 IPSec 是一系列网络安全协议的总称,它是由 IETF(Internet Engineering Task Force,Internet工程任务组)开发的, ...
- 计算机网络 安全协议,网络安全协议包括哪些
我们都知道网络安全,但是网络安全协议您知道吗?网络安全协议包括哪些?了解网络安全常识,首先就要了解佰佰安全网小编就带您认识一下吧. 计算机网络安全协议的内容包括: 计算机网络设备安全.计算机网络系统安 ...
最新文章
- flume bucketpath的bug一例
- ubuntu上开启SSH服务
- KVM总结-KVM性能优化之网络性能优化
- Index of c#
- 计算机系答辩麻烦,计算机专业的你,答辩时有多卑微?
- 分布式 基本理论 BASE
- Adobe reader 在打开时如何恢复上一次阅读位置
- 共享主机与虚拟机文件方式一
- 艾伟也谈项目管理,开始一个项目时最重要的是什么?
- Hive insert into小文件问题优化解决
- 【爬虫】selenium动态页面请求与模拟登录知乎
- redux之createStore
- POJ1015 Jury Compromise【背包问题】
- c++11 多线程依次打印ABC
- 包分类算法最坏情况下性能比较
- 在线答题小程序一站式开发(现源码)
- 能播放qlv格式的android软件,QLV用什么播放器 腾讯QLV转换MP4方法
- Pycharm下载库出错ERROR: Could not find a version that satisfies the requirement
- ajax实现文件的上传(局部刷新页面,文件上传)
- 最近网络上很多都在聊自动阅读,今天我们好好说说自动阅读到底怎么样