赞
踩
Linux引入XFRM是在不打乱原有的网络协议结构和HOOK点安全架构设计前提下,成功引入了一种基于策略的高扩展性的网络安全架构。
有人会说在HOOK点也能实现IPSEC的问题,为何还要XFRM?!!好问题,但是不是一两句话能把你说明白,只有去设计一安全网络系统才能深深体会到好处。这里就不过多描述。
XFRM 框架数据接收协议(如AH/ESP,与TCP/UDP并列属于4层网络协议)
XFRM 框架数据发送协议(相当于虚拟网卡驱动)
XFRM 框架策略引擎(与策略路由整合再一起)
XFRM的正确读音是transform(转换), 这表示内核协议栈收到的IPsec报文需要经过转换才能还原为原始报文;同样地,要发送的原始报文也需要转换为IPsec报文才能发送出去。
skb_buff XFRM 框架策略引擎命中策略(skb_buff明文) -> XFRM 框架数据发送协议处理->再次回到OUT点处理(skb_buff已经加密)->其它网卡驱动发送出去
skb_buff PRE点(skb_buff加密)->路由查询 是本地数据 -> XFRM四层协议处理 ->再次回到PRE点处理(skb_buff已经解密)->根据路由转发/本地接收
在forward点策略查询,然后根据是否命中策略,决点在POST点后是否加密还是直接发送出去。
用来设置xfrm。xfrm(transform configuration)是一个IP框架,用来转换数据包的格式,也就是使用算法来加密数据包,该框架用作IPsec协议的一部分
ip xfrm state flush - 刷新状态
ip xfrm state add - 将新状态添加到xfrm中
ip xfrm policy add - 将新策略添加到xfrm中
ip xfrm policy flush - 刷新策略
IPsec中有两个重要概念:安全关联(Security Association)和安全策略(Security Policy),这两类信息都需要存放在内核XFRM。XFRM使用netns_xfrm这个结构来组织这些信息,它也被称为xfrm instance(实例)。从它的名字也可以看出来,这个实例是与network namespace相关的,每个命名空间都有这样的一个实例,实例间彼此独立。所以同一台主机上的不同容器可以互不干扰地使用XFRM。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。