目录
DFI和DPI
IDS和IPS
签名
AV
URL过滤
HTTPS过滤
内容过滤
文件类型过滤
文件内容过滤
邮件过滤
VPN概述
密码学概述
对称加密
非对称加密
DFI和DPI
DFI和DPI技术 --- 深度检测技术
DPI
DPI --- 深度包检测技术 --- 主要针对完整的数据包(数据包分片,分段需要重组),之后对数据包的内容进行识别。(应用层)
1,基于“特征字”的检测技术 --- 最常用的识别手段,基于一些协议的字段来识别特征,例如HTTP头部字段
2,基于应用网关的检测技术 --- 有些应用控制和数据传输是分离的,比如一些视频流。一开始需要TCP建立连接,协商参数,这一部分我们称为信令部分。之后,正式传输数据后,可能就通过UDP协议来传输,流量缺失可以识别的特征。所以,该技术就是基于前面信令部分的信息进行识别和控制。
3,基于行为模式的检测技术 --- 比如我们需要拦截一些垃圾邮件,但是,从特征字中很难区分垃圾邮件和正常邮件,所以,我们可以基于行为来进行判断。比如,垃圾邮件可能存在高频,群发等特性,如果出现,我们可以将其认定为垃圾邮件,进行拦截,对IP进行封锁。
DFI
DFI --- 深度流检测技术 --- 一种基于流量行为的应用识别技术。这种方法比较适合判断P2P流量。
结论:
1,DFI仅对流量进行分析,所以,只能对应用类型进行笼统的分类,无法识别出具体的应用;DPI进行检测会更加精细和精准;
2,如果数据包进行加密传输,则采用DPI方式将不能识别具体的应用,除非有解密 手段;但是,加密并不会影响数据流本身的特征,所以,DFI的方式不受影响。
IDS和IPS
IDS --- 侧重于风险管理的设备
IPS --- 侧重于风险控制的设备
区别:
IDS更像是网络摄像头,能够实时监视网络流量,又分为NIDS和HIDS,NIDS主要是监视网络层流量,HIDS主要监视应用层
IPS:
1,实时的阻断攻击;
2,深层防护 --- 深入到应用层;
3,全方位的防护 --- IPS可以针对各种常见威胁做出及时的防御,提供全方位的防护;
4,内外兼防 --- 只要是通过设备的流量均可以进行检测,可以防止发自于内部的攻击。
5,不断升级,精准防护
签名
签名 --- 针对网络上的入侵行为特征的描述,将这些特征通过HASH后和我们报文进行比对。
签名分为预定义签名和自定义签名
预定义签名 --- 设备上自带的特征库,这个需要我们激活对应的License(许可证)后才能获取。 --- 这个预定义签名库激活后,设备可以通过连接华为的安全中心进行升级
自定义签名 --- 自己定义威胁特征
AV
AV (anti-virus) --- 反病毒设备
传统的防病毒的方式是通过将文件缓存之后,再进行特征库的比对,完成检测。但是,因为需要缓存文件,则将占用设备资源并且,造成转发延迟,一些大文件可能无法缓存,所以,直接放过可能造成安全风险。
代理扫描 --- 文件需要全部缓存 --- 可以完成更多的如解压,脱壳之类的高级操作,并且,检测率高,但是,效率较低,占用资源较大。
流扫描 --- 基于文件片段进行扫描 --- 效率较高,但是这种方法检测率有限。
防病毒处理流量
1,进行应用和协议的识别
2,判断这个协议是否支持防病毒的检测,如果不是支持的防病毒协议,则文件将直接通过。
3,之后,需要进行白名单的比对。如果命中白名单,则将不进行防病毒检测,可以同时进行其他模块的检测。
4,如果没有命中白名单,则将进行特征库的比对。如果比对上了,则需要进行后续处理。 如果没有比对上,则可以直接放行。
5,如果需要进行后续处理,首先进行“病毒例外“的检测。 --- 这个病毒例外,相当于是病毒的一个白名单,如果是添加在病毒例外当中的病毒,比对上之后,将直接放通。 ---- 过渡防护
6,之后,进行应用例外的比对。 --- 类似于IPS模块中的例外签名。针对例外的应用执行和整体配置不同的动作。
7,如果没有匹配上前面两种例外,则将执行整体配置的动作。
URL过滤
URL过滤的方法
黑白名单 --- 如果匹配白名单,则允许该URL请求;如果匹配黑名单,则将拒绝URL请求 (白名单的优先级高于黑名单)。
预定义的URL分类
本地缓存查询
远程分类服务查询 --- 如果进行了远程的查询,则会将查询结果记录在本地的缓存中,方便后 续的查询。 --- 需要购买license才能被激活。
自定义的URL分类 --- 自定义的优先级高于预定义的优先级的
如果远程分类服务查询也没有对应分类,则将其归类为“其他”,则按照其他的处理逻辑执行。
HTTPS过滤
第一种:配置SSL解密功能
这种方法需要提前配置SSL的解密策略,如果想要解密就必须得到客户端和服务端之间的协商密钥,要得到密钥就需要防火墙在中间充当中间人,例如TCP三次握手和协商密钥都是防火墙作为中间人,分别充当客户端和服务端转发数据包。所以,性能消耗较大,效率较低。
第二种方法:加密流量进行过滤
这种方法就不需要解密,只是通过HTTP包中的SNI字段判断,但是过滤不精确
Server_name --- 域名信息
HTTP.request --- URL信息(HOST --- 域名信息,URI)
这种方法比较简单,性能更高,但是,这种信息仅能过滤到域名级别,不够精确。
内容过滤
文件类型过滤
这里说的文件过滤技术,是指针对文件的类型进行的过滤,而不是文件的内容。
想要实现这个效果,我们的设备必须识别出:
承载文件的应用 --- 承载文件的协议很多,所以需要先识别出协议以及应用。
文件传输的方向 --- 上传,下载
文件的类型和拓展名 --- 设备可以识别出文件的真实类型,但是,如果文件的真实类型无法识别,则将基于后缀的拓展名来进行判断,主要为了减少一些绕过检测的伪装行为。
文件内容过滤
文件内容的过滤 --- 比如我们上传下载的文件中,包含某些关键字(可以进行精准的匹配,也可以通过正则表达式去实现范围的匹配。)
应用内容的过滤 --- 比如微博或者抖音提交帖子的时候,包括我们搜索某些内容的时候,其事只都是通过HTTP之类的协议中规定的动作来实现的,包括邮件附件名称,FTP传递的文件名称,这些都属于应用内容的过滤。
注意:对于一些加密的应用,比如我们HTTPS协议,则在进行内容识别的时候,需要配置SSL代理(中间人解密)才可以识别内容。但是,如果对于一些本身就加密了的文件,则无法进行内容识别。
内容识别的动作包括:告警,阻断,按权重操作:我们可以给每一个关键字设计一个权重值,如果检测到多个关键字的权重值超过预设值,则执行告警或者阻断的动作。
邮件过滤
SMTP --- 简单邮件传输协议,TCP 25,他主要定义了邮件该如何发送到邮件服务器中。
POP3 --- 邮局协议,TCP 110,他定义了邮件该如何从邮件服务器(邮局)中下载下来。
IMAP --- TCP 143,也是定义了邮件 该如何从邮件服务器中获取邮件。
POP3和IMAP的区别:
使用POP3则客户端会将邮件服务器中未读的邮件都下载到本地,之后进行操作。邮件服务器上会将这些邮件删除掉。如果是IMAP,用户可以直接对服务器上的邮件进行操作。而不需要将邮件下载到本地进行操作。
邮件过滤技术 主要是用来过滤垃圾邮件的。
---所谓垃圾邮件,就是收件人事先没有提出要求或者同意接受的广告,电子刊物,各种形式的宣传的邮件。包括,一些携带病毒,木马的钓鱼邮件,也属于垃圾邮件。
过滤方法:
统计法 --- 基于行为的深度检测技术
贝叶斯算法 --- 一种基于预测的过滤手段
基于带宽的统计 --- 统计单位时间内,某一个固定IP地址试图建立的连接数,限制单位时间内 单个IP地址发送邮件的数量。
基于信誉评分 --- 一个邮件服务器如果发送垃圾邮件,则将降低信誉分,如果信誉比较差,则 将其发出的邮件判定为垃圾邮件。
列表法 --- 黑,白名单
RBL(Real-time Blackhole List) --- 实时黑名单 --- RBL服务器所提供,这里面的内容会实 时根据检测的结果进行更新。我们设备在接收到邮件时,可以找RBL服务器进行查询,如果 发现垃圾邮件,则将进行告知。 --- 这种方法可能存在误报的情况,所以,谨慎选择丢弃动 作。
源头法
SPF技术 --- 这是一种检测伪造邮件的技术。可以反向查询邮件的域名和IP地址是否对应。如 果对应不上,则将判定为伪造邮件。
意图分析
通过分析邮件的目的特点,来进行过滤,称为意图分析。(结合内容过滤来进行。)
VPN概述
VPN --- 虚拟专用网 --- 一般指依靠ISP或者其他NSP,也可以是企业自身,提供的一条虚拟网络专线。这个虚拟的专线是逻辑上的,而不是物理上的,所以称为虚拟专用网。
VPN诞生的原因:
1,物理网络不适用,成本太高,并且如果位置不固定,则无法构建物理专线
2,公网安全无法保证
VPN的分类:
根据建设的单位不同分类:
1,企业自建的VPN专线:GRE,IPSEC,SSL VPN,L2TP --- 这种VPN构建成本较低,因为不需要支付专线的费用,仅需要承担购买VPN设备的费用。并且,在网络控制方面,也拥有更多的主动性。
2,直接租用运营商的VPN专线:MPLS VPN。这种方式需要企业支付专线的租用费用,但是,控制,安全以及网速方面的问题都将由运营商来承担。MPLS VPN的优势在于,专线的租用成本低。
根据组网方式不同分类:
1,Client to LAN(ACCESS VPN)
2,LAN to LAN
根据VPN技术实现的层次来进行分类:
VPN的核心技术 --- 隧道技术 --- 封装技术
VPN通过封装本身就是对数据的一种保护,而工作在不同层次的VPN,其实质就是保护其所在层次即以上的数据。当然,这种保护在没有加密的情况下,并不代表安全。
VPN其他常用技术:
- 身份认证技术 --- 身份认证是VPN技术的前提。
- GRE VPN --- 本身不支持身份认证的。(GRE里面有个“关键字”机制。类似于ospf的认证,商量一个口令,在GRE中该措施仅是用来区分通道的)
- L2TP VPN--- 因为他后面的乘客协议是PPP协议,所以,L2TP可以依赖PPP提供的认证,比如PAP,CHAP。
- IPSEC VPN和SSL VPN --- 都支持身份认证
- 加解密技术 --- 以此来抵抗网络中的一些被动攻击
- 注意:加解密技术使用的实质是一个双向函数,即一个可逆的过程。和HASH算法有本质的区别
- 加密技术也是安全通道的保障。
- GRE VPN和L2TP VPN不支持加解密技术。通常可以结合IPSEC技术来实现加解密。
- IPSEC VPN和SSL VPN都是支持加解密技术的。
- 数据认证技术 --- 验货 --- 保证数据的完整性
- HASH --- 计算摘要值,之后,通过比对摘要值来保障完整性。
- GRE VPN --- 可以加入校验和。但是,GRE的这种功能是可选的,两边开启之后,才会激活数据认证功能。
- L2TP VPN --- 不支持数据认证
- IPSEC VPN,SSL VPN都是支持数据认证的
密码学概述
我们可以把加密算法分为古典加密和现代加密
古典加密遵从的是算法保密原则,而现代加密是算法公开,密钥保密
古典加密算法最经典的就是凯撒加密,也被称为凯撒密码或凯撒移位密码。
它是一种基于替换的密码算法,通过将字母表中的每个字母向前或向后移动固定数量的位置来加密文本。具体来说,它是一种位移密码,因为它通过将字母替换为字母表中相对应的另一个字母来加密文本
现代加密分为对称加密和非对称加密
对称加密
加密和解密的过程中使用的是同一把密钥。所以,对称加密所使用的算法一定是一种双向函数,是可逆的。比如异或运算
而这其中又分为了流加密和分组加密
流加密 --- 主要是基于明文流(数据流)进行加密,在流加密中,我们需要使用的密钥是和明文流相同长度的一串密钥流。
分组加密 --- 也被称为块加密,与流加密不同的是,分组加密会将数据流分为若干组,使用的密钥会略长于一组的长度,例如8位二进制为一组,密钥可以为11位,然后进行异或运算,第一组少的三位用随机数来代替,算出第一组的密文值后,再随机抽取三位数添加到下一组,再进行异或运算。
这样一来,中间人如果想截取内容,就必须把多组的内容全部截获,少一组都得不到原始信息
目前比较常用的对称加密算法 --- DES/3DES,AES(高级加密标准)
对称加密的缺点:
1,密钥共享
带外传输 --- 不方便
带内传输 --- 不安全
2,密钥管理 --- N * N
非对称加密
非对称加密算法和对称加密算法的主要区别在于,对称加密算法加解密仅使用同一把密钥,而非对称加密算法,加密和解密使用的是不同的密钥。 --- 两把密钥一把叫做公钥,另一把叫做私钥。 ---- 这两把钥匙,任意一把钥匙都可以进行加密的操作,然后,需要通过另外一把钥匙来进行解密。
对称加密和非对称加密的区别
结论 --- 我们一般采用的做法是,在数据传输的时候,我们会选择使用对称加密算法进行加密,为了保证效率。但是,对称加密算法最主要的问题是密钥传递可能存在安全风险,所以,我们在传递密钥的时候,可以通过非对称加密算法进行加密,保证密钥传递的安全性。实现二者的互补,达到安全传输的目的。
HASH运算
对数据进行完整性校验 --- 我们会针对原始数据进行HASH运算,得到摘要值,之后,发送到对端,也进行相同的运算,比对摘要值。如果摘要值相同,则数据完整;如果不同,则数据不完整。
HASH算法 --- 散列函数
1,不可逆性
2,相同输入,相同输出。
3,雪崩效应 --- 原始数据中即使存在细微的区别,也会在结果中呈现出比较明显的变化,方便,我们看出数据是否被篡改。
4,等长输出 --- 不管原始数据多长,运算之后的摘要值长度是固定。(MD5可以将任意长度的输入,转换成128位的输出。)
这时候有小伙伴认为我们就可以进行"安全"通信了
Alice先把公钥给到Bob,再把原始信息进行HASH生成摘要值,然后用私钥进行加密生成数字签名,并把原始信息一并发送给Bob
Bob收到信息后先用Alice发送过来的公钥进行解密,解密出的HASH值与原始信息运算出的HASH值进行比对,相同就说明信息传输没有问题,是安全的
但是事实真的是这样吗?
现在有一个黑客张三,他在中间截取数据,当Alice发送公钥给Bob时,张三拿到了Alice的公钥,他自己也生成出了一对公私钥,他把Alice的公钥留在他这里,但是把他的公钥给到了Bob,这时候Bob以为是Alice的公钥。
然后在Alice发送数据时,它可以用Alice给的公钥解密数字签名,修改其中原始信息的值,再进行HASH,用自己的私钥去加密这个HASH值,也生成了一个自己的“数字签名”,他将这个数字签名发送给Bob。
而此时Bob并不知情,以为还是Alice发送的数据,于是拿着张三的公钥去解密这个数字签名,发现HASH能对上,顺理成章得以为这是Alice发送的数据
所以上面这种方法不行,还是能被攻破,这时候CA机构出现了
CA可信机构 --- 提供身份信息证明的第三方机构
通信双方需要完全信任这个第三方机构,之后,让CA为公钥作证。
因为双方都信任该CA机构,所以,实现拥有这个CA机构的公钥信息。
CA机构会使用自己的私钥对A的公钥和一些其他信息一起进行加密,生成数字证书。
CA机构自己会有一个公私钥,公钥在每台PC上都会提前录入。
CA机构会将在自己这里申请过的用户的公钥用自己的私钥进行加密,因为每台PC上都有CA机构的公钥,所以任何人都可以解密
在刚刚那个案例中,我们可以引入CA机构来鉴别公钥的真假
Alice可以把CA机构的数字证书一并发给Bob,这时候张三一看完了,我是可以解密CA机构数字证书,但是我要是更改了里面的内容(这里如果不更改内容,Bob解密后发现自己收到的公钥和数字证书里面的公钥不对应就会发现信息被篡改了),怎么加密呢?我又没有CA机构的私钥
这时候这个问题就迎刃而解了
最后我们再加入对称密钥,用非对称密钥来协商此后通信的对称密钥,这样就大大得提高了效率。
这也就是HTTPS的工作原理
1,原始信息HASH算法得到摘要值 ---- 为了做完整性校验。为了保证我们的摘要值在传递的过程中,不会被篡改,所以,需要使用私钥进行加密。形成数字签名。
2,针对原始信息,数字签名,数字证书(是用户提前向CA机构申请,获取到的通过CA机构私钥加密后的证书。里面主要包含了Alice的公钥。主要是做身份认证使用)进行加密。使用的是对称加密算法。对称机密算法需要使用对应的密钥来进行加密。
3,将对称加密算法的密钥通过Bob的公钥进行加密,形成密钥信封。(这里是通过非对称加密算法的方式,来传输对称密钥的。也可以使用DH算法,使双方获得对称密钥。)
4,将加密信息和密钥信封通过公网传递到对端Bob处。
5,Bob首先对密钥信封进行解密。因为这个密钥信封是通过Bob的公钥进行加密的,所以,使用Bob自己的私钥就可以进行解密。解密后,将得到对称密钥。
6,使用对称密钥去解密加密信息。 ---- 原始数据,数字签名,数字证书
7,使用CA机构的公钥来解开数字证书。因为数字证书是由CA机构的私钥进行加密的,并且,Bob本身也信任CA机构,所以,自身设备上是拥有CA机构的公钥的。
8,解开数字证书后将得到Alice的公钥,根据Alice的公钥可以解开数字签名。因为数字签名是由Alice自己的私钥来进行加密的,所以,如果可以顺利的使用ALICE的公钥进行解密,则完成了身份认证和数据源鉴别工作。
9,Bob自身需要对原始信息进行HASH运算,并且,数字签名解开后,里面也包含ALice发送时对原始信息进行HASH运算的摘要值,比对两次摘要值,则可完成完整性校验。