searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

浅谈ocserver和openconnect交互流程

2023-06-20 02:21:48
136
0

关键词:SSL VPN  ocserver  openconnect

引言

当前主流的入云网络模型中,基本都通过SD-WAN架构来实现用户入云,对于移动办公的场景并不能很好支撑,需要一种简洁且安全的随时随地访问云上资源的方式

VPP转发平台是目前业界主流的NFV数据转发开发平台,兼容性强,采用多核多线程进行处理,性能高等优点。

SSL VPN是传统网络安全设备必备的安全接入功能,如果将SSL VPN集成到云网关上,就能很好的解决用户移动入云的场景需要。

SSL-VPN访问云上资源的主要流程为:

OCServer: 一款开源的VPN服务端软件,它基于OpenConnect VPN协议,支持多种操作系统,包括Windows、Linux、macOS等。Ocserver提供了安全、高效的VPN连接,可以帮助用户在Internet上建立安全的虚拟专用网络。

Ocserver使用TLS和DTLS协议进行数据加密和身份验证,确保数据传输的安全性。同时,它还支持多种身份验证方式,包括用户名/密码、证书、双因素身份验证等。

Ocserver还提供了灵活的配置选项,包括网络拓扑、路由规则等,可以满足不同用户的需求。它还支持多种VPN客户端,包括OpenConnect、AnyConnect等,方便用户使用。

 

OpenConnect:是一款开源的VPN客户端软件,它基于SSL和TLS协议,支持多种操作系统,包括Windows、Linux、macOS等。OpenConnect提供了安全、高效的VPN连接,可以帮助用户在Internet上建立安全的虚拟专用网络。

OpenConnect支持Cisco AnyConnect VPN协议,可以连接到大多数Cisco VPN服务器。它还支持多种身份验证方式,包括用户名/密码、证书、双因素身份验证等。

OpenConnect使用DTLS协议进行数据加密和身份验证,确保数据传输的安全性。同时,它还提供了灵活的配置选项,包括网络拓扑、路由规则等,可以满足不同用户的需求。

OpenConnect还提供了多种GUI界面,方便用户使用。它还支持命令行界面,可以通过命令行进行配置和控制。

总之,OpenConnect是一款功能强大的开源VPN客户端软件,它提供了安全、高效的VPN连接,可以帮助用户建立安全的虚拟专用网络。

 

Ocserver和Openconnect之间需要通过一系列协商流程才能创建起VPN隧道,下面是两端的整个交互流程:

  1. 客户端向服务器发送TCP连接请求。
  2. 服务器接受连接请求,并回复一个TCP连接确认。
  3. 客户端发送TLS握手请求。
  4. 服务器回复TLS握手响应,包括服务器证书和其他参数。
  5. 客户端验证服务器证书的有效性,并生成一个随机数作为对称密钥。
  6. 客户端使用服务器证书中的公钥加密对称密钥,并发送给服务器。
  7. 服务器使用自己的私钥解密对称密钥,并保存在内存中。
  8. 客户端和服务器之间开始使用对称密钥进行数据加密和解密,并进行身份验证。

在这个过程中,客户端和服务器之间的通信都是通过TCP连接进行的,而TLS协商则是在TCP连接上建立的。TLS协商过程中,客户端和服务器之间交换了证书和随机数等信息,用于生成对称密钥和进行身份验证。一旦TLS协商完成,客户端和服务器之间就可以开始使用对称密钥进行数据加密和解密,确保数据传输的安全性。

tcp握手:

 

tls协商:

上面是标准的TCP和TLS协商流程。下面是Openconnect协议协商流程:

  1. 客户端向服务端发起请求,基于http的POST请求。
  2. 服务端确认请求并回复,同时要求客户端携带用户名。
  3. 客户端发起带用户名的请求,基于http的POST请求。
  4. 服务端确认请求并回复,同时要求客户端携带密码。
  5. 客户端发起带密码的请求,基于http的POST请求。
  6. 服务端使用用户名密码验证通过之后,回复connect消息,消息携带用户端创建虚拟网卡和相关路由的配置信息。
  7. 客户端回复确认信息,并创建VPN虚拟接口,至此VPN隧道成功创建。

 

总结:oceserver和openconnect代码逻辑清晰明了,是非常适合移植复用的开源软件。

 

 

0条评论
0 / 1000
袁****辉
3文章数
0粉丝数
袁****辉
3 文章 | 0 粉丝
原创

浅谈ocserver和openconnect交互流程

2023-06-20 02:21:48
136
0

关键词:SSL VPN  ocserver  openconnect

引言

当前主流的入云网络模型中,基本都通过SD-WAN架构来实现用户入云,对于移动办公的场景并不能很好支撑,需要一种简洁且安全的随时随地访问云上资源的方式

VPP转发平台是目前业界主流的NFV数据转发开发平台,兼容性强,采用多核多线程进行处理,性能高等优点。

SSL VPN是传统网络安全设备必备的安全接入功能,如果将SSL VPN集成到云网关上,就能很好的解决用户移动入云的场景需要。

SSL-VPN访问云上资源的主要流程为:

OCServer: 一款开源的VPN服务端软件,它基于OpenConnect VPN协议,支持多种操作系统,包括Windows、Linux、macOS等。Ocserver提供了安全、高效的VPN连接,可以帮助用户在Internet上建立安全的虚拟专用网络。

Ocserver使用TLS和DTLS协议进行数据加密和身份验证,确保数据传输的安全性。同时,它还支持多种身份验证方式,包括用户名/密码、证书、双因素身份验证等。

Ocserver还提供了灵活的配置选项,包括网络拓扑、路由规则等,可以满足不同用户的需求。它还支持多种VPN客户端,包括OpenConnect、AnyConnect等,方便用户使用。

 

OpenConnect:是一款开源的VPN客户端软件,它基于SSL和TLS协议,支持多种操作系统,包括Windows、Linux、macOS等。OpenConnect提供了安全、高效的VPN连接,可以帮助用户在Internet上建立安全的虚拟专用网络。

OpenConnect支持Cisco AnyConnect VPN协议,可以连接到大多数Cisco VPN服务器。它还支持多种身份验证方式,包括用户名/密码、证书、双因素身份验证等。

OpenConnect使用DTLS协议进行数据加密和身份验证,确保数据传输的安全性。同时,它还提供了灵活的配置选项,包括网络拓扑、路由规则等,可以满足不同用户的需求。

OpenConnect还提供了多种GUI界面,方便用户使用。它还支持命令行界面,可以通过命令行进行配置和控制。

总之,OpenConnect是一款功能强大的开源VPN客户端软件,它提供了安全、高效的VPN连接,可以帮助用户建立安全的虚拟专用网络。

 

Ocserver和Openconnect之间需要通过一系列协商流程才能创建起VPN隧道,下面是两端的整个交互流程:

  1. 客户端向服务器发送TCP连接请求。
  2. 服务器接受连接请求,并回复一个TCP连接确认。
  3. 客户端发送TLS握手请求。
  4. 服务器回复TLS握手响应,包括服务器证书和其他参数。
  5. 客户端验证服务器证书的有效性,并生成一个随机数作为对称密钥。
  6. 客户端使用服务器证书中的公钥加密对称密钥,并发送给服务器。
  7. 服务器使用自己的私钥解密对称密钥,并保存在内存中。
  8. 客户端和服务器之间开始使用对称密钥进行数据加密和解密,并进行身份验证。

在这个过程中,客户端和服务器之间的通信都是通过TCP连接进行的,而TLS协商则是在TCP连接上建立的。TLS协商过程中,客户端和服务器之间交换了证书和随机数等信息,用于生成对称密钥和进行身份验证。一旦TLS协商完成,客户端和服务器之间就可以开始使用对称密钥进行数据加密和解密,确保数据传输的安全性。

tcp握手:

 

tls协商:

上面是标准的TCP和TLS协商流程。下面是Openconnect协议协商流程:

  1. 客户端向服务端发起请求,基于http的POST请求。
  2. 服务端确认请求并回复,同时要求客户端携带用户名。
  3. 客户端发起带用户名的请求,基于http的POST请求。
  4. 服务端确认请求并回复,同时要求客户端携带密码。
  5. 客户端发起带密码的请求,基于http的POST请求。
  6. 服务端使用用户名密码验证通过之后,回复connect消息,消息携带用户端创建虚拟网卡和相关路由的配置信息。
  7. 客户端回复确认信息,并创建VPN虚拟接口,至此VPN隧道成功创建。

 

总结:oceserver和openconnect代码逻辑清晰明了,是非常适合移植复用的开源软件。

 

 

文章来自个人专栏
基于VPP实现SSL VPN
2 文章 | 1 订阅
0条评论
0 / 1000
请输入你的评论
0
0