CN113595847A - 远程接入方法、系统、设备和介质 - Google Patents
远程接入方法、系统、设备和介质 Download PDFInfo
- Publication number
- CN113595847A CN113595847A CN202110824624.5A CN202110824624A CN113595847A CN 113595847 A CN113595847 A CN 113595847A CN 202110824624 A CN202110824624 A CN 202110824624A CN 113595847 A CN113595847 A CN 113595847A
- Authority
- CN
- China
- Prior art keywords
- client
- equipment
- vpn server
- server
- authentication
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及信息处理领域,对现有非专线网络连接专线操作复杂繁琐效率低成本高等缺陷,提出了本发明的远程接入方法、系统、设备和介质,以解决如何保证安全前提下简捷高效率地进行非专线连接专线的技术问题;进而,还可以解决如何降低这类远程安全访问的运维成本、简化操作的技术问题。该方法通过发起呼叫的请求认证数据判断客户端设备的登录权限而在认证通过时分配内网地址、根据授权信息控制用户访问并在客户端设备是再次连接时仍提供初次分配的内网地址。由此,可以在非专线访问或远程调试接入专线时避开出口IP频繁变动的情况,简捷高效率连接,操作简单、维护成本低,避免大量繁琐沟通操作工作。
Description
技术领域
本发明涉及计算机信息处理领域,具体而言,涉及一种远程接入方法、系统、客户端设备、VPN服务端系统、电子设备和计算机可读介质。
背景技术
远程接入技术在企业网中(即企业内部网)中很常见。目前,远程接入企业网主要通过虚拟专用网络(Virtual Private Network,VPN)完成。VPN通常使用公网(如互联网)将远程分支机构或员工连接至企业网。VPN使用虚拟或逻辑连接,通过互联网,从企业网连接至远程分支机构中的设备或员工设备。一般来说,远程客户端软件在家庭网络(即个人接入网)等私网内操作,例如远程客户端软件运行在用户设备上,并且这些基于软件的解决方案建立了“隧道”或“网桥”,让用户设备能够在逻辑上处于企业网内,或处于远程接入连接专用的网络内。这个企业网的“网桥”或“隧道”是静态的,并且是根据一组静态的接入和安全规则而为每位远程用户实施。
出于安全考虑,远程接入企业网会对业务系统进行添加白名单操作,只允许处在白名单中的用户正常访问,禁止不在白名单中的用户访问。白名单通常都为企业内部网的固定出口ip或网段。如果员工需要远程办公(例如疫情期间需要在家办公),由于该出口ip不在白名单中,则不能访问业务系统,也无法在家远程协助。通常解决方法是查询出口ip后把该出口加入到白名单中。但是家庭网络通常都是通过三大运营商提供的宽带服务,不是专线,并且宽带服务出口ip会经常变动(如果重新连接或者重启网络出口都会变动),需要重新加白名单。而且如果需要对公司大量员工添加白名单或者变动时,需要逐个询问出口,然后统计加白名单,工作量非常大。
发明内容
针对上述缺陷,本发明提供一种远程接入方法、系统、客户端设备、VPN服务端系统、电子设备和计算机可读介质,旨在解决如何简捷高效率地进行非专线连接专线的技术问题,以在保证安全前提下员工使用非专线时能正常接入访问企业内网;进一步,还可以解决如何降低这类远程安全访问的运维成本、简化操作的技术问题,以避免账户维护繁琐。
为了解决上述技术问题,本发明第一方面提出一种远程接入方法,包括:根据接收的设备的认证请求数据,判断所述设备是否具备登录权限;如果是,则认证成功;给认证成功的所述设备分配内网地址,并按照对应所述设备的授权信息控制所述设备的用户对内部网络的访问;其中,若初次给所述设备分配了内网地址后,在所述设备再次连接时,则给所述设备分配初次登录的内网地址。
根据本发明的一种优选实施方式,在接收的设备的认证请求数据之前,还包括:根据生成的建立服务和请求连接所使用的认证文件,进行服务配置和启动。
根据本发明的一种优选实施方式,进行服务配置包括:配置为在根据接收的设备的认证请求数据,判断所述设备是否具备登录权限时,对所述认证请求数据只使用证书进行认证、或者,只使用账号密码进行认证、或者,同时使用证书和账号密码进行基于SHA512的双重加密数据验证。
根据本发明的一种优选实施方式,所述认证请求数据为:客户端设备向VPN服务端发起请求接入内部网络的呼叫中所包含的所述客户端设备的认证请求数据;根据接收的设备的认证请求数据,判断所述设备是否具备登录权限,具体包括:所述VPN服务端接收来自所述客户端设备的所述认证请求数据,判断所述客户端设备是否具备登录权限;给认证成功的所述设备分配内网地址,并按照对应所述设备的授权信息控制所述设备的用户对内部网络的访问,具体包括:所述VPN服务端给所述客户端设备分配内网地址,并按照对应所述客户端设备的授权信息控制所述客户端设备的用户对内部网络的访问;其中,若所述VPN服务端初次给所述客户端设备分配了内网地址后,在所述客户端设备再次连接时,则给所述客户端设备分配初次登录的内网地址。根据本发明的一种优选实施方式,配置所述VPN服务端,使用LDAP实现对用户账户的统一管理和分组。
根据本发明的一种优选实施方式,根据生成的建立服务和请求连接所使用的认证文件,进行服务配置和启动,具体包括:在VPN服务端上生成建立其自身服务与客户端请求连接所使用的认证文件;所述VPN服务端提供所述认证文件给客户端进行复制并根据所述认证文件进行VPN客户端的配置。
根据本发明的一种优选实施方式,进行服务配置和启动,具体包括:配置所述VPN服务端并启动所述VPN服务端的服务;和/或,对所述认证请求数据只使用证书进行认证包括:只使用根证书和客户端证书进行认证;和/或,所述判断还包括:如果否,则认证失败,VPN服务端向所述客户端设备返回认证失败消息。
根据本发明的一种优选实施方式,所述VPN服务端是OpenVPN服务端;和/或,配置所述VPN服务端还包括配置为使用LDAP对用户账户的统一管理和分组;和/或,配置所述VPN服务端还包括配置为对用户账户的流量管理。
为了解决上述技术问题,本发明第二方面提出一种客户端设备,包括:安装有能向VPN服务端发起请求接入内部网络的呼叫的客户端的终端设备;其中,所述呼叫包含由所述VPN服务端接收、并用以判断所述终端设备是否具备登录权限的认证请求数据;其中,所述客户端从VPN服务端复制客户端请求连接所使用的认证文件,并且,所述客户端根据所述认证文件配置VPN客户端;其中,所述认证文件在所述VPN服务端上生成,用以建立VPN服务端自身服务和客户端请求连接所使用。
根据本发明的一种优选实施方式,所述客户端设备接收来自所述VPN服务端返回的、根据所述认证请求数据判断为所述客户端设备不具备登录权限的认证失败消息;和/或,所述客户端设备接收来自所述VPN服务端根据所述认证请求数据判断为所述客户端设备具备登录权限而分配的内网地址;和/或,其中,若所述客户端设备已经在初次获得所述VPN服务端分配的内网地址后,则在所述客户端设备再次连接时,仍获得上次分配的内网地址进行登录;其中,对所述认证请求数据只使用证书进行认证、或者,只使用账号密码进行认证、或者,同时使用证书和账号密码进行基于SHA512的双重加密数据验证。
为了解决上述技术问题,本发明第三方面提出一种VPN服务端系统,包括:一个或多个VPN服务端,所述VPN服务端接收来自至少一个或多个客户端设备的请求接入内部网络的呼叫,所述呼叫中包含认证请求数据;所述VPN服务端根据接收的所述认证请求数据,判断所述客户端设备是否具备登录权限;如果是,则认证成功;所述VPN服务端给认证成功的所述客户端设备分配内网地址,并按照对应所述客户端设备的授权信息控制所述客户端设备的用户对内部网络的访问;其中,若所述VPN服务端初次给所述客户端设备分配了内网地址后,在所述客户端设备再次连接时,则仍然给所述客户端设备分配初次登录的内网地址。
根据本发明的一种优选实施方式,还包括:预先在所述VPN服务端上生成建立所述VPN服务端自身服务和客户端请求连接所使用的认证文件;根据所述认证文件配置所述VPN服务端并且启动所述VPN服务端服务;所述VPN服务端提供所述认证文件给客户端进行复制并根据所述认证文件进行VPN客户端的配置。
根据本发明的一种优选实施方式,配置所述VPN服务端,具体包括:配置所述VPN服务端为:在判断所述设备是否具备登录权限时,对所述认证请求数据只使用证书进行认证、或者,只使用账号密码进行认证、或者,同时使用证书和账号密码进行基于SHA512的双重加密数据验证。。
根据本发明的一种优选实施方式,所述VPN服务端根据接收的所述认证请求数据,判断所述客户端设备是否具备登录权限,还包括:如果否,则认证失败,所述VPN服务端向所述客户端设备返回认证失败消息;和/或,所述VPN服务端是OpenVPN服务端;和/或,配置所述VPN服务端包括配置为使用LDAP实现对用户账户的统一管理和分组;和/或,配置所述VPN服务端包括配置为实现对用户账户的流量管理。
为了解决上述技术问题,本发明第四方面提出一种远程接入系统,包括:设置于内部网络的如第三方面所述的VPN服务端系统,以及通过有线或无线连接的至少一个或多个如第二方面所述的客户端设备;所述客户端设备向VPN服务端发起呼叫,请求接入内部网络,所述呼叫中包含认证请求数据;所述VPN服务端根据接收的来自所述客户端设备的认证请求数据,判断所述客户端设备是否具备登录权限,以确定是否为所述客户端设备分配内网地址。
为了解决上述技术问题,本发明第五方面提出一种电子设备,其包括处理器以及存储计算机可执行指令的存储器,所述计算机可执行指令在被执行时使所述处理器执行第一方面所述的方法。
为了解决上述技术问题,本发明第六方面提出一种计算机可读存储介质,该所述计算机可读存储介质存储一个或多个程序,当所述一个或多个程序被处理器执行时,实现第一方面所述的方法。
本发明的一个实施例,通过对发起呼叫的请求认证数据判断客户端设备的登录权限而在认证通过时分配内网地址、根据授权信息控制用户访问并在客户端设备是再次连接时仍提供初次分配的内网地址,由于预先对VPN服务端甚至客户端的特定配置,客户端能够自动续订上次登录的地址比如初次分配到的,从而能够在非专线访问或远程调试接入时避免不断更改出口IP、难以应对大数量的接入的情况,提供了简捷高效的连接、操作简单,降低了维护成本,也避免了业务维护人员大量的繁琐工作。
附图说明
为了使本发明所解决的技术问题、采用的技术手段及取得的技术效果更加清楚,下面将参照附图详细描述本发明的具体实施例。但需声明的是,下面描述的附图仅仅是本发明的示例性实施例的附图,对于本领域的技术人员来讲,在不付出创造性劳动的前提下,可以根据这些附图获得其他实施例的附图。
图1是根据本发明的方案的一实施例的VPN示意性应用场景。
图2是根据本发明的远程接入方法的一实施例的主要流程图。
图3是根据本发明的方案的一实施例中由OpenVPN系统实现与部署方法的主要流程图。
图4是根据本发明的方案一实施例的Windows中启动OpenVPNGUI客户端软件的示意图。
图5是根据本发明的方案一实施例的仅使用根证书和客户端证书进行验证时根据图4中的GUI登陆界面登录OpenVPN客户端软件的界面。
图6是根据本发明的方案的一实施例的使用账号密码进行验证时根据图4中的GUI登陆界面登录OpenVPN客户端软件的界面。
图7示出了根据本发明的方案的一实施例的在OpenVPN系统中实现与部署LDAP认证方法的示意流程图。
图8是根据本发明的方案的一实施例的登录ldap客户端软件的界面。
图9是根据本发明的一种电子设备的示例性实施例的结构框图。
图10是本发明的一个计算机可读介质实施例的示意图。
具体实施方式
现在将参考附图来更加全面地描述本发明的示例性实施例,虽然各示例性实施例能够以多种具体的方式实施,但不应理解为本发明仅限于在此阐述的实施例。相反,提供这些示例性实施例是为了使本发明的内容更加完整,更加便于将发明构思全面地传达给本领域的技术人员。
在符合本发明的技术构思的前提下,在某个特定的实施例中描述的结构、性能、效果或者其他特征可以以任何合适的方式结合到一个或更多其他的实施例中。
在对于具体实施例的介绍过程中,对结构、性能、效果或者其他特征的细节描述是为了使本领域的技术人员对实施例能够充分理解。但是,并不排除本领域技术人员可以在特定情况下,以不含有上述结构、性能、效果或者其他特征的技术方案来实施本发明。
附图中的流程图仅是一种示例性的流程演示,不代表本发明的方案中必须包括流程图中的所有的内容、操作和步骤,也不代表必须按照图中所显示的的顺序执行。例如,流程图中有的操作/步骤可以分解,有的操作/步骤可以合并或部分合并,等等,在不脱离本发明的发明主旨的情况下,流程图中显示的执行顺序可以根据实际情况改变。
附图中的框图一般表示的是功能实体,并不一定必然与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
各附图中相同的附图标记表示相同或类似的元件、组件或部分,因而下文中可能省略了对相同或类似的元件、组件或部分的重复描述。还应理解,虽然本文中可能使用第一、第二、第三等表示编号的定语来描述各种器件、元件、组件或部分,但是这些器件、元件、组件或部分不应受这些定语的限制。也就是说,这些定语仅是用来将一者与另一者区分。例如,第一器件亦可称为第二器件,但不偏离本发明实质的技术方案。此外,术语“和/或”、“及/或”是指包括所列出项目中的任一个或多个的所有组合。
本发明的一个实施例,通过发起呼叫的请求认证数据判断客户端设备的登录权限而在认证通过时分配内网地址、根据授权信息控制用户访问并在客户端设备是再次连接时仍提供初次分配的内网地址。由此,可以在非专线访问或远程调试接入专线时避开出口IP频繁变动的情况,简捷高效率连接,操作简单、维护成本低,避免大量繁琐沟通操作工作。
【实施例1】
图1示出了根据本发明一实施例的VPN示意性应用场景。
如图1所示,一个远程接入系统的例子中,一个或多个客户端设备,即用户设备(User Equipment,UE)130通过接入网140、运营商网络160、互联网120和VPN服务端150来远程接入内部网络(如企业总部的网络)110。可选地,VPN服务端150可以是企业网110的一部分。
VPN服务端系统,具有一个或多个VPN服务端(设备)150,VPN服务端启用VPN运行于互联网120之上,让处于网络110以外的用户也能够通过接入网140、运营商网络160和互联网120接入网络110。具体而言,VPN服务端150可实施为专用物理机和嵌入式系统、托管在计算服务器节点上的软件元素、托管在虚拟机上的软件元素,该虚拟机利用多租户上位机上的基于云的计算架构。VPN服务端150可与网络110的计算设备或服务器通信,在该网络中提供企业的应用、服务和数据。这里,服务端例如可以是一个或多个云端的或者集群的各种服务器构成的服务端。
在图1中,虽然UE130代表用户远程接入网络110时所使用的设备,但是UE130可以是各种端设备(如各种智能终端)或个人设备(如各种主机),能安装客户端应用程序即可,示例:台式电脑、便携式电脑、手机、平板电脑、智能可交互显示设备、智能可交互语音设备、等等,并能够通过接入网140接入互联网120。接入网140可能包括WI-FI、WLAN、或其他有线/无线通信技术中的接入点。可选地,接入网140还可包括家庭网络、分支机构网络、酒店网络、连接点网络或用户用以接入互联网120的其他网络。
运营商网络160提供用户和业务运营商之间的通信。
【实施例2】
图2示出了根据本发明的远程接入方法的一实施例的主要流程图。该方法由远程接入服务器执行,例如图1所示实施例中的VPN服务端150。图2所示方法包括以下内容。
S201:用户设备130向VPN服务端150发起呼叫,请求接入内部网络,所述呼叫中包含认证请求数据。所述第一网络可以是企业网或用户想要远程接入的其他网络。
S202:所述VPN服务端接收来自用户设备的认证请求数据,对认证请求数据中的用户登录信息(即连接请求)进行认证。
OpenVPN需要验证所连接客户端的真实性,来确保安全性。OpenVPN身份认证允许服务器使用预设的密钥、证书,和/或者用户名/密码来进行身份验证,并使用该信息来验证用户设备的真实性。
S203:确定该用户是否具有登录权限(即连接权限),若该用户不具有登录权限,转到步骤S204,如果该用户设备具有登录权限,则认证成功,转到步骤S205。
例如,用户通过VPN客户端的用户界面输入VPN客户端账号ID和密码以登录VPN服务端,VPN服务端根据VPN客户端账号ID和密码认证用户身份。
S204:所述VPN服务端向所述用户设备返回认证失败消息。
S205:所述VPN服务端给用户分配内网地址,并按照授权信息控制用户对第一网络的访问。
在一个特定实施方式中,所述VPN服务端选取一个未使用的虚拟地址,准备分配给所述用户设备。
在一个特定实施方式中,所述VPN服务端给所述用户设备分配内网地址后,所述用户设备之后再连接时,仍然给用户设备分配上次登录的内网地址,即第一次分配的地址。
所述第一次分配的内网地址可以是IP地址,将所述第一次分配的IP地址保存在地址文件(例如ipp.txt)中,下一次分配内网地址时直接分配地址文件中保存的地址。
S206:所述VPN服务端授予所述用户设备一个隧道,允许通过VPN服务端连接至内部网络。
进一步的,所述VPN服务端还可以获取所述VPN服务端的可信数据,根据所述可信数据判断所述客户端是否可靠,从而进一步控制所述客户端的数据访问。
所述VPN服务端的可信数据可以是VPN客户端用户ID和密码。VPN还可以从用户、用户所使用端设备、用户接入网、运营商网络(因特网服务提供商运营),以及在用户和VPN服务端之间提供连接的因特网交换网等处收集其他可信数据元素。
VPN服务端可能包括用于确定用户是否可靠的可信数据元素,如身份和认证信息,其中包括:用户的身份信息及密码、生物特征密钥、PIN或RFID/NFC标签。例如,身份信息包括固定或动态的用户ID。生物特征密钥包括来自摄像机的人脸识别信息、来自指纹扫描仪的指纹信息、DNA采样、来自心跳监测仪的心跳等。密码包括固定密码、动态/一次性密码,或者是通过SMS提供的密码等。PIN包括固定PIN、一次性PIN、通过SMS提供的PIN等。RFID/NFC标签可以从工卡、移动NFC芯片、NFC/RFID首饰、RFID钥匙串等获取。
用于确定端设备是否可靠的可信数据元素包括设备的序列号、MAC地址、国际移动设备标识(International Mobile Equipment Identity,IMEI)、移动SIM卡ID号码、GPS位置信息、私人解锁密码(Personal Unblocking Key,PUK)等。GPS位置信息包括由设备生成的GPS位置、MBB MiFi网关的GPS位置、由网络生成的发射塔三角测量位置等。
用于确定接入网是否可靠的可信数据元素包括MAC地址、WiFi SSID、会话cookie或密钥等。这些可信数据元素可用于验证接入点和端设备。
用于确定运营商网络是否可靠的可信数据元素包括IMEI、SIM号码、用户数据、移动网络位置、网络呈现信息、家庭移动网络状态、漫游移动网络状态等。
用于确定因特网交换网是否可靠的可信数据元素包括:路由、报文转发路径或跳数。
【实施例3】
图3示出了根据本发明的远程接入方案的一实施例的具体通过OpenVPN系统实现与部署方法的示意流程图。该方法包括下述步骤:
S301,安装OpenVPN服务端。
首先添加EPEL(企业Linux的额外软件包)存储库,并安装最新的OpenVPN软件包,然后将easy-rsa脚本下载到CentOS系统。所述OpenVPN服务端可以通过包管理软件yum进行安装,安装命令如下:yum install openvpn-y。在安装前需要关闭系统安全模式,编辑系统配置文件,设置永久路由转发。
S302,配置EasyRSA脚本,创建相关证书和密钥。
安装EasyRSA,安装命令如下:yum install-y easy-rsa3。
基于创建的easy-rsa3'vars'文件构建OpenVPN密钥。在此将构建CA密钥,服务器和客户端密钥,DH和CRL PEM文件。
在构建服务器和客户端密钥之前,需要初始化PKI(公共密钥基础结构)目录并构建CA密钥。
使用以下命令初始化PKI目录并构建CA密钥。
./easyrsainit-pki
./easyrsa build-ca
现在,输入CA密钥的密码,将在“pki”目录下获得“ca.crt”和“ca.key”文件。
创建CA根证书。此处会提示输入Common Name,和New CA Key Passphrase,如果使用
./easyrsa build-ca nopass
nopass参数表示不加密,不使用密码创建CA证书;也可以不加此参数,那就需要输入密码短语。
接着构建服务器密钥,然后将构建名为“hakase-server”的服务器密钥。
可以使用以下命令构建名为“server”服务器密钥“server”。
./easyrsa gen-req server nopass
此处选项nopass表示禁用“server”密钥的密码。
使用CA证书签署“server”密钥。
./easyrsa sign-req server server
创建OpenVPN服务端证书。openvpn-server为自定义名称,该实施方式中使用了nopass参数,如果不使用以后启动服务时需要输入密码。创建过程中需要输入之前的CA根证书PEM密码。
./easyrsa build-server-full server nopass
接下来为客户端构建密钥。以生成一个名为“client”的新客户端密钥为例,使用以下命令生成“client”密钥。
./easyrsa gen-req client nopass
此处选项nopass表示禁用“client”密钥的密码。
接下来使用CA证书签署“client”密钥。
./easyrsa sign-req clientclient
接下来为OpenVPN服务端配置生成Diffie-Hellman参数。
Diffie-Hellman参数建立了完美的前向保密性。这将为每个新连接创建一个新会话。这样,泄露的密钥将无法解密先前的通信。./pki/dh.pem文件将包含在服务器稍后使用的配置文件中。
使用以下命令生成Diffie-Hellman密钥(DH密钥)。
./easyrsa gen-dh
可选的,可以生成CRL密钥。CRL(证书吊销列表)密钥将用于吊销客户端密钥。如果VPN服务端上有多个客户端的客户端证书,并且想要删除某一个密钥,则只需使用easy-rsa命令撤消即可。
如果要撤消某些密钥,可以运行以下命令:
./easyrsarevoke Name
生成CRL密钥:
./easyrsa gen-crl
可以使用以下证书来增强OpenVPN的整体安全性。由于OpenVPN使用TLS,因此添加HMAC以验证收到的软件包的完整性是很有意义的。为此,需要一个共享密钥。该密钥将被写入到名为ta.key的文件中。
openvpn--genkey--secret/etc/openvpn/ta.key
接下来通过下述示例性的命令来复制证书文件和PEM文件。
复制服务器密钥和证书:
cp pki/ca.crt/etc/openvpn/server/
cp pki/issued/hakase-server.crt/etc/openvpn/server/
cp pki/private/hakase-server.key/etc/openvpn/server/
复制client01密钥和证书:
cp pki/ca.crt/etc/openvpn/client/
cp pki/issued/client01.crt/etc/openvpn/client/
cp pki/private/client01.key/etc/openvpn/client/
复制DH和CRL密钥:
cp pki/dh.pem/etc/openvpn/server/
cp pki/crl.pem/etc/openvpn/server/
这样,服务器和客户端的所有证书已复制到每个目录。
S303,编辑服务器配置文件。
这一步为OpenVPN服务端创建一个新的配置文件'server.conf'。使用vim创建新的配置文件“server.conf”。
vim server.conf
配置文件部分解释如下:
local 0.0.0.0
表示openvpn应该监听本机的哪些ip地址地址。该命令是可选的,如果不设置,则默认监听本机的所有IP地址。
port 1194
表示OpenVPN应该监听哪个TCP/UDP端口,默认是1194。如果想在同一台计算机上运行多个OpenVPN实例,可以使用不同的端口号来区分它们。此外,你需要在防火墙上开放这些端口。
proto tcp
使用的协议,可以选择udp或tcp协议。此示例选择使用tcp协议。
dev tun
表示使用三层路由IP隧道(tun)还是二层以太网隧道(tap)。此示例选择使用tun。"dev tun"将会创建一个路由IP隧道,"dev tap"将会创建一个以太网隧道。
ca/etc/openvpn/ca.crt
指定CA证书的文件路径。
cert/etc/openvpn/server/server.crt
指定服务器端的证书文件路径。
key/etc/openvpn/server/server.key
指定服务器端的私钥文件路径。
dh/etc/openvpn/dh.pem
指定DH参数的文件路径。
设置SSL/TLS根证书(ca)、证书(cert)和私钥(key),每个客户端和服务器端都需要它们各自的证书和私钥文件。服务器端和所有的客户端都将使用相同的CA证书文件。通过easy-rsa目录下的一系列脚本可以生成所需的证书和私钥。服务端和每个客户端的证书必须使用唯一的Common Name。
ca证书、服务端证书、服务端密钥和密钥交换文件,如果它们和server.conf在同一个目录下则可以不写绝对路径,否则需要写绝对路径调用。
server 10.8.0.0 255.255.255.0
指定虚拟局域网占用的IP地址段和子网掩码。VPN服务端为自己和客户端分配IP的地址池。服务端自己获取网段的第一个地址(此处为10.8.0.1),后为客户端分配其他的可用地址。以后客户端就可以和10.8.0.1进行通信。此处需注意该网段地址池不要和已有网段冲突或重复。
ifconfig-pool-persist ipp.txt
使用一个文件记录已分配虚拟IP的客户端和虚拟IP的对应关系,以后OPENVPN重启时,将可以按照此文件继续为对应的客户端分配此前相同的IP。即自动续借IP的意思。第一次分配的IP可以保存在ipp.txt中。
push"redirect-gateway def1 bypass-dhcp"
自动推送客户端上的网关及DHCP,目的在所有客户端的默认网关都重定向到VPN,这将使诸如WEB浏览器、DNS查询等所有客户端流量都经过这里,目的是客户端在使用不同的私有IP地址时可以确保能连上OPENVPN的服务器,需要配合客户端上的配置redirect-gatewaydef1来实现。
push"dhcp-option DNS 114.114.114.114"
OpenVPN的DHCP功能为客户端提供指定的DNS、WINS等,
OpenVPN服务端可以将DHCP选项(例如DNS和WINS服务器地址)推送给客户端。例如,假设希望连接客户端以使用内部DNS服务器(位于10.66.0.4或10.66.0.5)和WINS服务器(位于10.66.0.8)。将此添加到OpenVPN服务端配置中:
push"dhcp-option DNS 10.66.0.4"
push"dhcp-option DNS 10.66.0.5"
push"dhcp-option WINS 10.66.0.8"
push"route 10.0.10.0 255.255.255.0"
push"route 192.168.10.0 255.255.255.0"
VPN服务端向客户端推送VPN服务端内网网段的路由配置,以便让客户端能够找到服务端内网。多条路由就写多个Push指令。
server-bridge XXXXXX
使用tap模式的时候考虑此选项。
client-to-client
允许VPN客户端与客户端之间可以互相看见对方,即能互相通信。默认情况客户端只能与服务端通信。默认状态下该配置选项是注释掉的,即不允许客户端之间彼此连接交换流量。如果使用配置选项client-to-client,OpenVPN可以在内部处理客户端到客户端的流量,而绕过系统路由表以及系统防火墙/iptables规则。
duplicate-cn
允许多个客户端使用同一个VPN帐号连接服务端,默认是注释的,不支持多个客户登录一个账号。
keepalive 10 120
keepalive指令将导致类似于ping命令的消息被来回发送,以便于服务器端和客户端知道对方何时被关闭。每10秒ping一次,120秒后没收到ping就说明连接超时,远程连接已经关闭。
tls-auth/etc/openvpn/ta.key 0
加强认证方式,使用ta.key防御攻击。此命令将生成一个OpenVPN静态密钥,并将其写入文件ta.key。该密钥应通过预先存在的安全通道复制到服务器和所有客户端计算机。可以将其与RSA.key和.crt文件放在同一目录中。如果配置文件中启用此项(默认是启用的),需要执行openvpn--genkey--secret ta.key,并把ta.key放到/etc/openvpn/server目录。该配置选项中,服务端第二个参数为0;同时客户端也要有此文件,且client.conf中此指令的第二个参数需要为1。
采用密码认证时候的证书,如果要输入密码这个是必须的。
cipher AES-256-CBC
TLS加密认证算法,使用AES-256-CBC(密码块链接)进行数据加密。如果服务器使用了cipher选项,则此处也必须配置。对于低于openvpn 2.4的版本,服务器端/客户端在tls模式下自动协商AES-256-CBC。
auth SHA512
使用SHA512验证加密的数据。
tls-version-min 1.2
tls-cipher
TLS-DHE-RSA-WITH-AES-256-GCM-SHA384:TLS-DHE-RSA-WITH-AES-128-GCM-SHA256:TLS-DHE-RSA-WITH-AES-256-CBC-SHA:TLS-DHE-RSA-WITH-CAMELLIA-256-CBC-SHA:TLS-DHE-RSA-WITH-AES-128-C BC-SHA:TLS-DHE-RSA-WITH-CAMELLIA-128-CBC-SHA
comp-lzo
compress"lz4"
对于低于openvpn 2.4的版本,服务端启用lzo数据压缩格式,如果服务端配置了该指令,客户端也必须配置。
对于openvpn 2.4以上版本,服务端启用lz4压缩服务,传输数据时会压缩数据包。
同样,openvpn 2.4以上版本,Push后在客户端也配置启用lz4的压缩功能,向服务端发数据时也会压缩。如果是2.4版本以下的老版本,则使用comp-lzo指令。
max-clients 100
并发客户端的连接数。
user openvpn
group openvpn
定义运行的用户和组
persist-key
persist-tun
用于确保基础网络中断时自动恢复连接。通过ping得知超时时,当重启vpn后将使用同一个密钥文件以保持tun连接状态。
status/var/log/openvpn-status.log
在文件中输出当前的连接信息,每分钟刷新一次该文件,以显示当前的客户端。
log/var/log/openvpn.log
log-append/var/log/openvpn.log
配置日志保存路径。默认VPN的日志会记录到rsyslog中,使用这两个选项可以改变。log指令表示每次启动VPN时覆盖式记录到指定日志文件中,log-append则表示每次启动VPN时追加式的记录到指定日志中。但两者只能选其一,或者不选时记录到rsyslog中
verb 4
指定日志文件记录的详细级别,可选0-9,等级越高日志内容越详细。
mute 20
相同信息的数量,如果连续出现20条相同的信息,将不记录到日志中。
auth-user-pass-verify/etc/openvpn/checkpsw.sh via-env
如果使用用户密码认证的脚本,需要编写脚本。
如果是免密码登录,#cert C:\\key\\client.crt、以及#key C:\\key\\client.key这两行不用注释掉。
注意:如果采用用户和密码不用申请client证书只需要ca.key证书和ta.key证书。
client-cert-not-required
拒绝客户端的请求。如果加上client-cert-not-required则代表只使用用户名密码方式验证登录,如果不加,则代表需要证书和用户名密码双重验证登录。
username-as-common-name
让客户端输入用户名和密码,如果正确才允许访问。
S304,配置系统转发和开放端口。
端口转发会开放所述第一网络的某些端口,使外部用户从外部经过一个被激活的NAT路由器到达第一网络局域网内部的端口(这些端口通常被路由器封闭)。开放这些端口将允许游戏、服务器、BitTorrent客户端及其他应用通过路由器的安全限制,来开启建立相应端口转发的映射,否则将无法连接这些内部端口。
首先修改文件目录权限,安装命令如下:
chownroot.openvpn/etc/openvpn/*-R
接着执行以下命令,编辑配置文件:
vi/etc/sysctl.conf
找到net.ipv4.ip_forward=0修改成以下参数,启用IPv4转发,然后保存并退出。
net.ipv4.ip_forward=1
执行以下命令,加载系统参数:
sysctl-p
现在开始配置iptables规则。需要做的就是把所有来自10.8.0.0/24网段的请求,全部通过openVPN服务端的eth0网卡转发出去,即iptables的NAT规则。
添加以下iptables规则,确保服务端可以转发数据包到内网和外网。只需添加配置,不需要启动iptables服务。客户端连接VPN后,默认分配的10.8.0.0/24网段地址,不能直接连接内网机器,因此需要在iptables进行NAT配置,将VPN网段IP转发到内网。
iptables-t nat-A POSTROUTING-s 10.8.0.0/24-o eth0-j MASQUERADE
iptables-I INPUT-p tcp--dport 1194-j ACCEPT
执行以下命令,保存iptables配置并重启。
service iptables save
systemctl restart iptables
启动openvpn服务,@后跟的是配置文件名称。
systemctl start openvpn@server
确认服务进程是否存在
netstat-nap|grepopenvpn
ps-ef|grepopenvpn
这样,服务端就配置好了。
S305,安装和配置客户端。
根据用户需要,可以在Windows、Linux、MacOS等各种平台上安装和配置OpenVPN客户端,在此以在Windows平台上安装OpenVPN客户端为例。官网提供两种Windows的客户端(openvpn-install-2.4.8-I602-Win7.exe、openvpn-install-2.4.8-I602-Win10.exe),根据自己的Windows版本安装即可。
OpenVPN支持基于加密证书的双向认证。在OpenVPN中,不管是服务器还是客户端,所有的证书和私钥都需要由服务器端生成,客户端要先获得服务器端分配给它的加密证书和密钥才能成功连接。客户端只需要安装好软件,然后复制服务端生成的配置到客户端。
找到Windows下OpenVPN客户端安装目录,从服务器复制ca.crt、client.crt、client.key、ta.key四个文件,将他们存放在OpenVPN的软件安装目录下,例如\OpenVPN\config目录下。
进一步的,还可以从服务器复制dh.pem,crl.pem文件到OpenVPN的软件安装目录下,以生成客户端配置文件。
Windows中OpenVPN客户端配置文件一般叫做client.ovpn,Linux中该配置文件一般叫做client.conf。虽然配置文件名称不同,但其中的配置内容与配置方法却是相同的。
新建文件client.ovpn,编辑客户端配置文件。所述客户端配置文件部分解析如下:
Client
标识这是个客户端。
dev tun
使用tun还是tap,需与服务端的选择一致。
proto tcp
表示使用的协议,需与服务端的选择一致。
remote你的服务器ip/域名1194
服务端的地址和端口,例如remote 10.0.0.190 1194。
resolv-retry infinite
表示一直尝试解析OpenVPN服务端的主机名,而不是永久连接到互联网。
Nobind
表示大多数客户端不需要绑定到特定的本地端口号。
persist-key
persist-tun
尝试在重新启动时保留某些状态。
ca ca.crt
ca根证书。
cert client.crt
客户端证书。
key client.key
客户端密钥。
ns-cert-type server
tls-auth ta.key 1
加强认证方式,防攻击,如果服务端设置了,客户端必须设置。
cipher AES-256-CBC
auth SHA512
tls-version-min 1.2
tls-cipher
TLS-DHE-RSA-WITH-AES-256-GCM-SHA384:TLS-DHE-RSA-WITH-AES-128-GCM-SHA256:TLS-DHE-RSA-WITH-AES-256-CBC-SHA:TLS-DHE-RSA-WITH-CAMELLIA-256-CBC-SHA:TLS-DHE-RSA-WITH-AES-128-C BC-SHA:TLS-DHE-RSA-WITH-CAMELLIA-128-CBC-SHA
选择一个密码,使用SHA验证加密的数据。
auth-nocache
verb 4
表示日志级别。
comp-lzo
compress"lz4"
服务端传送数据给客户端时会压缩数据包,所以选择需与服务端选择一致。
这样,OpenVPN系统就配置好了。
其中,通过本实施例构建的加密原理和策略数据加密过程,保证了服务端到客户端隧道的安全和可靠性,对两者之间的数据传输也通过实时加密解密,保证了数据包的连续性和安全性。优选地,构建的该加密原理开创性的使用了基于TCP可靠性传输分层的记录和握手两协议:其中,记录协议会通过算法把数据中的安全参数生成密钥并对数据进行分段和处理(如压缩、记录应用状态、加密等),也会对接收的数据进行解密等操作(如校验、解压缩、重组等),然后传输到客户端;另外,握手协议会通过连续数据包校验握手利用自我认证或协商的方式来校验并保证双方在记录层上安全参数的一致性。
具体地,配置中的加密认证(即加密认证)配置采用基于SHA512(如auth SHA512)的加密验证,目的是保证数据在传输中的安全。并且,其加密认证对象主要对vpn服务端和客户端网络传输过程中的数据包进行加密,进而,其加密方式尽可能加密算法长和严格,用了SHA512长度和TLS加密协议和多种策略共同加密,并且该加密方式是服务端和客户端配置协商一致才能正常工作。该加密效果数据包在篡改的可能性几乎接近于0。优选如前述“TLS-DHE-RSA-WITH-AES-256-GCM-SHA384:TLS-DHE-RSA-WITH-A ES-128-GCM-SHA256:TLS-DHE-RSA-WITH-AES-256-CBC-SHA:TLS-DH E-RSA-WITH-CAMELLIA-256-CBC-SHA:TLS-DHE-RSA-WITH-AES-128-CBC-SHA:TLS-DHE-RSA-WITH-CAMELLIA-128-CBC-SHA”。
进一步,配置中,压缩配置(如comp-lzocompress"lz4")优选采用基于lz4的压缩方式,应用到本发明的该实施例中综合效率最高的压缩算法,它更加侧重压缩解压速度而非压缩比(即压缩比并不是第一),目的是对输出传输包这一对象进行压缩,一方面可增强安全性、另一方面数据传输包压缩,加快网络传输速率。采用该压缩配置,对传输的数据包进行压缩,能达到大大减小传输大小,提高传输速率的效果。
【实施例4】
接下来对OpenVPN系统中的数据认证做出解释。
OpenVPN需要验证所连接客户端的真实性,来确保安全性。OpenVPN身份认证允许服务器使用预设的密钥、证书,和/或者用户名/密码来进行身份验证,并使用该信息来验证用户设备的真实性。
设置SSL/TLS根证书(ca)、证书(cert)和私钥(key)。每个客户端和服务器端都需要它们各自的证书和私钥文件。服务端和所有的客户端都将使用相同的CA证书文件。通过easy-rsa目录下的一系列脚本可以生成所需的证书和私钥。服务器端和每个客户端的证书必须使用唯一的Common Name。也可以使用遵循X509标准的任何密钥管理系统来生成证书和私钥。
配置OpenVPN的第一步是建立一个PKI(public key infrastructure公钥基础设施)。PKI包括:服务端和每个客户端都有一个证书(也称做公钥)和私钥、以及一个认证机构(CA)的证书和私钥,用来为每一个服务端和客户端颁发证书(sign each of the serverand client certificates)。OpenVPN支持基于证书的双向认证,也就是说客户端需认证服务端,服务端也要认证客户端,服务端和客户端验证对方的第一步是验证对方提供的证书是由认证机构(CA)颁发的。然后测试第一步认证通过的证书的头部信息,如:证书的commonname,证书的类型(是客户端还是服务端)。
这样,服务端仅需要它自己的证书/私钥对,不需要知道客户端的证书。服务端仅仅接受拥有CA证书的客户端。因为服务端检查证书是否由CA颁发时并不需要访问CA的私钥,这样就可以将CA的私钥放在另一台机器上。如果一个私钥(is compromised),通过将它的证书加入CRL(证书吊销列表)可以禁止这一私钥。CRL允许有选择地拒绝compromised证书而不需要重建整个PKI。基于嵌入的证书域比如Vommon Name,服务端能够加强客户端待定(client-specific)访问权限(access fights)。
在一个实施例中,示例性的只使用根证书和客户端证书进行认证。
初始化PKI,使用build-canopass指令创建ca.key、ca.crt,接下来使用/easyrsagen-req server nopass生成server.key,下一步签约服务端证书,生成server.crt,创建Diffie-Hellman,生成dh.pem。复制easy-rsa目录下的文件,使用easyrsa gen-reqeicasnopass生成client.key、client.req,签约客户端证书,得到client.crt。其中服务端所需要的文件是ca.crt、dh.pem、server.crt和server.key,客户端所需的文件是ca.crt、client.crt、以及client.key。
接着配置server.conf,该server.conf中包含:“ifconfig-pool-persist/etc/openvpn/ipp.txt”,限定按ipp.txt文件的内容为对应的客户分配之前登录时相同的ip地址,自动续接ip。
本地编辑client.ovpn后,使用openvpngui软件,导入上述写的.ovpn文件即可。
图4是根据本发明一实施例的Windows中启动OpenVPN GUI客户端软件的示意图。图5是仅使用根证书和客户端证书进行验证时根据图4中的GUI登陆界面登录OpenVPN客户端软件的界面。如图4所示,用户点击屏幕上的“OpenVPN”快捷方式启动OpenVPN客户端程序,会看到提示OpenVPNGUI已连接OpenVPN服务端的提示,且提示分配给客户端的IP地址是该客户端上一次登陆的远程地址。
【实施例5】
除只使用根证书和客户端证书进行认证外,还可以为各个客户端设置用户名和密码,使用账户和密码进行认证。这样能进一步增强系统的安全性。如果只采用账号密码验证时,无需申请client证书,只需要ca.key和ta.key即可,
在一个实施例中,示例性的使用账户密码参与验证。
首先开启服务端账号密码登录配置,编辑服务端server.conf文件,添加如下内容:
#use username and password login
script-security 3
默认级别是2。如果不修改此处,会导致无法获取密码。
auth-user-pass-verify/etc/openvpn/checkpsw.sh via-env
用户和密码校验脚本。
client-cert-not-required
表示不需要客户端的ca证书,只使用账号密码验证,如果不加将实现证书和用户密码双重验证登录。
username-as-common-name
让客户端输入用户名和密码,如果正确才允许访问。
下面是使用用户密码认证时的用户验证脚本示例:
用户密码文件,格式:一行对应一个用户。
chmod 777psw-file
chownroot.openvpn/etc/openvpn/*-R
修改权限,增加执行权限,如果不增加权限会因为无法执行脚本导致连接时使用账号密码认证的方式失败。
systemctl restart openvpn@server
重启openvpn服务
接下来对client.ovpn客户端配置文件进行修改,
注释掉
;cert client.crt
;keyclient.key
添加上
auth-user-pass
如图6所示,当用户点击屏幕上的“OpenVPN”快捷方式启动OpenVPN客户端程序,输入正确的账号密码后,将会看到已连接的通知。
进一步,用户还可以保存账号密码以便自动登录:
创建并保存一个新的文本文件,命名为“login.txt”。该文本用两条分隔线包含了客户端用户的账号和密码。编辑client.ovpn文件,查找包含“auth-user-pass”的一行,并将其修改成“auth-user-pass login.txt”,保存。
进一步的,OpenVPN中通过revoke操作吊销客户端证书,来实现禁止客户端连接OpenVPN。
./revoke-full clientName
其中,clientName是被吊销的客户端证书名称。命令执行后,在keys目录中可以找到一个文件crl.pem,这个文件中包含了吊销证书的名单。然后,在服务端配置文件中,加入如下一行:
crl-verify crl.pem
之后重启OpenVPN服务即可。
【实施例5】
进一步的,OpenVPN可以使用LDAP对帐号进行维护,进行统一管理。
对于内部网络,例如企业内网,需要认证的服务会有很多,员工需要记住很多密码,即使对这些服务进行相同的密码设置也存在很大的安全隐患。对于每个员工,管理员都需要初始化很多密码,由于各个软件的认证机制的不同,员工也无法一次性的修改所有服务的密码,导致很多员工长期使用弱密码,例如“111111”等。此外,如果需要增加内部服务时,管理员需要重新为所有员工初始化新的账户信息,工作量非常巨大。
所以如果可以为各种软件提供一个标准的认证机制,所有软件就可以不再用独有的用户管理方法,而是通过这种统一的认证机制进行用户认证,LDAP就是这样一种标准的协议。
LDAP全称轻量级目录访问协议(Lightweight Directory Access Protocol),是一个运行在TCP/IP上的目录访问协议。目录是一个特殊的数据库,它的数据经常被查询,但是不经常更新。其专门针对读取、浏览和搜索操作进行了特定的优化。目录一般用来包含描述性的,基于属性的信息并支持精细复杂的过滤能力。LDAP中的信息按照目录信息树结构组织,树中的一个节点称之为条目(Entry),条目包含了该节点的属性及属性值。条目都可以通过识别名dn来全局的唯一确定1,可以类比于关系型数据库中的主键。比如dn为uid=ada,ou=People,dc=xinhua,dc=org的条目表示在组织中一个名字叫做Ada Catherine的员工,其中uid=ada也被称作相对区别名rdn。
OpenLDAP是LDAP协议的一个开源实现。LDAP服务器本质上是一个为只读访问而优化的非关系型数据库。它主要用作地址簿查询(如email客户端)或对各种服务访问做后台认证以及用户数据权限管控。(例如,访问Samba时,LDAP可以起到域控制器的作用;或者Linux系统认证时代替/etc/passwd的作用。)
统一认证主要是改变原有的认证策略,使需要认证的软件都通过LDAP进行认证。在统一身份认证后,用户的所有信息都存储在LDAPserver中,终端用户在需要使用公司内部服务时,都需要通过LDAP服务器的认证,员工只需要记住一个密码,在需要修改用户信息时,可以通过管理员直接修改LDAPServer中的信息。
如图7所示,下面以在centos7安装openvpn-auth-ldap插件为例,介绍如何支持ldap认证。
图7示出了根据本发明一实施例的一种在OpenVPN系统中实现与部署LDAP认证方法的示意流程图。
S701,安装LDAP。
所述LDAP插件可以通过包管理软件yum进行安装,安装命令如下:
yum install openvpn-auth-ldap-y
S702,编辑ldap配置文件。
一旦有了必要的插件,下一步就是为基于LDAP的身份验证配置OpenVPN服务端。之后进入OpenVPN服务端认证配置文件夹,备份默认配置文件后,编辑ldap.conf配置文件,之后重启OpenVPN服务。
下面是一个示例性的ldap.conf文件,并将对其中部分示例性解释如下:
关于组身份验证,如果要实施更细粒度的OpenVPN访问控制,以便只有通过OpenLDAP进行身份验证的特定用户才能连接到OpenVPN服务端,则可以利用OpenLDAP组成员身份。
例如,在OpenLDAP服务器中有一个仅VPN组,其中仅包含被允许连接到OpenVPN服务端的用户。
ldapsearch-Y ExTERNAL-H ldapi:///-bou=groups,dc=ldapmaster,dc=kifarunix-demo,dc=com-LLL-Q"(cn=vpnonly)"
dn:cn=vpnonly,ou=groups,dc=ldapmaster,dc=kifarunix-demo,dc=com
objectClass:groupOfNames
cn:vpnonly
member:
uid=client1,ou=people,dc=ldapmaster,dc=kifarunix-demo,dc=com
member:
uid=client2,ou=people,dc=ldapmaster,dc=kifarunix-demo,dc=com
如果要创建OpenLDAP成员组,要启用组成员身份验证,需要设置RequireGroup选项为true并编辑组部分:
在这种情况下,只有用户client1和client2可以连接到OpenVPN服务端。进行适当的更改后,保存并退出配置。
S703,配置OpenVPN服务端配置文件。
openvpn-auth-ldap插件安装完成后,会生成openvpn-auth-ldap.so,有的系统的这个文件会在/usr/lib/openvpn/plugin/lib/中,这里路径是lib64。
在server.conf中添加下述字段:
plugin【openvpn-auth-ldap.so文件路径】【ldap.conf文件路径】【登录字段=%u】
例如:plugin/usr/lib64/openvpn/plugin/lib/openvpn-auth-ldap.so"/etc/openvpn/auth/ldap.confsAMAccountName=%u"
不需要客户端证书,如果加上client-cert-not-required则代表只使用用户名密码方式验证登录,如果不加,则代表需要证书和用户名密码双重验证登录。让客户端输入用户名和密码,如果正确才允许访问。
client-cert-not-required
username-as-common-name
S704,安装客户端。
在客户端安装ldap客户端,接下来,编辑客户端配置文件以包括验证用户密码指令启用用户名/密码认证方法。
例如,这是一个基于OpenVPN服务端设置的示例客户端配置文件:
client
tls-client
pull
dev tun
proto udp
remote 192.168.2.132 1194
resolv-retry infinite
nobind
#user nobody
#groupnogroup
persist-key
persist-tun
key-direction 1
remote-cert-tls server
comp-lzo
verb 3
auth-nocache
dhcp-option DNS 8.8.8.8
dhcp-option DNS 10.8.0.1
auth SHA512
auth-user-pass
tls-auth/home/client2/ta-key
ca/home/client2/ca.crt
cert/home/client2/client2.crt
key/home/client2/client2.key
这样,用户即可通过ldap登录。登陆界面如图8所示。
【实施例6】
进一步的,还可以安装MySQL Server与OpenVPN相结合,可以利用OpenVPN程序在连接、断开时的脚本钩子,将用户的使用信息记录到数据库。根据数据库中的日志,判断用户是否超过流量配额,如果超过,则将用户锁定。
该方法包括下述步骤:在用户连接时,在数据库log表中新建一条记录,记录用户的IP地址、端口号、连接时间等信息。在用户断开连接时,更新刚才添加的记录,记下用户的断开连接时间、发送数据量、接收数据量等。判断用户已使用的流量是否超过配额,若超过配额,则将用户锁定(active=0)。
具体的:
建立文件/etc/openvpn/connect.sh,内容如下:
#!/bin/bash
DB='openvpn'
DBADMIN='openvpn'
DBPASSWD='openvpn'
mysql-u$DBADMIN-p$DBPASSWD-e"INSERT INTO log(username,start_time,trusted_ip,trusted_port,protocol,remote_ip,remote_net mask,status)
VALUES('$common_name',now(),'$trusted_ip',$trusted_port,'$proto_1','$ifcon fig_pool_remote_ip','$route_netmask_1',1)"$DB
建立文件/etc/openvpn/disconnect.sh,内容如下:
#!/bin/bash
DB='openvpn'
DBADMIN='openvpn'
DBPASSWD='openvpn'
mysql-u$DBADMIN-p$DBPASSWD-e"UPDATE log SET end_time=now(),bytes_received=$bytes_received,bytes_sent=$bytes_sent,stat us=0WHERE trusted_ip='$trusted_ip'AND trusted_port=$trusted_port AND remote_ip='$ifconfig_pool_remote_ip'AND username='$common_name'AND status=1"$DB
mysql-u$DBADMIN-p$DBPASSWD-e"UPDATE user SET active=0WHEREuser.username IN(SELECT username FROM(SELECT log.username AS username,quota_bytes FROM user,log WHERE log.username='$common_name'AND log.username=user.username AND log.status=0AND TO_DAYS(NOW())-TO_DAYS(start_time)<=quota_cycle GROUP BY log.username HAVING SUM(bytes_received)+SUM(bytes_sent)>=quota_bytes)AS u);"$DB
将文件改为可执行属性:
chmod+x/etc/openvpn/connect.sh
chmod+x/etc/openvpn/disconnect.sh
修改OpenVPN配置文件openvpn-udp.conf、openvpn-tcp.conf,添加以下几行:
#record in database
script-security 2
client-connect./connect.sh
client-disconnect./disconnect.sh
其中,connect.sh和disconnect.sh脚本文件中调用了OpenVPN的环境变量。OpenVPN在执行脚本时,自动各种设置了环境变量,供脚本使用。
以上操作在用户超过流量时自动将用户锁定。每天还应该执行一次检查,把已经恢复流量的用户解锁。可以通过cron实现此功能。
建立文件/etc/cron.daily/openvpn,内容如下:
#!/bin/bash
DB='openvpn'
DBADMIN='openvpn'
DBPASSWD='openvpn'
mysql-u$DBADMIN-p$DBPASSWD-e"UPDATE user SET active=1"$DB
mysql-u$DBADMIN-p$DBPASSWD-e"UPDATE user SET active=0WHEREuser.username IN(SELECT username FROM(SELECT log.username AS username,quota_bytes FROM user,log WHERE log.username=user.username AND log.status=0ANDTO_DAYS(NOW())-TO_DAYS(start_time)<=quota_cycle GROUP BY log.usernameHAVING SUM(bytes_received)+SUM(bytes_sent)>=quota_bytes)AS u);"$DB
mysql-u$DBADMIN-p$DBPASSWD-e"UPDATE user SET active=0WHERE enabled=0"$DB
其思路是:先默认将所有用户解锁,然后将超过流量的用户锁定。同时,管理员可以通过user表中的enabled字段手工禁用用户。
然后给文件可执行权限:
chmod+x/etc/cron.daily/openvpn
【实施例7】
进一步的,可以设置OpenVPN,针对不同用户的身份分配不同的路由。
可以针对不同用户根据其权限获取路由模板然后再ccd下生成对应的路由文件:
#mkdirccd
#vi ccd/sys_user1文件名为连接的用户名
#推送指定路由
push"route 10.252.10.191 255.255.255.255"
push"route 10.252.10.192 255.255.255.255"
也可以对所有用户分发相同的路由但是指定对应的ip段,利用防火墙来隔离对应ip段的访问权限:
#mkdirccd
#vi ccd/sys_user2如果有用户分组则使用分组用户即可同账号多用户
#推送指定路由
ifconfig-push 192.168.171.159/24 192.168.171.155/24
#防火墙设置
iptables-A FORWARD-i tun0-s 192.168.171.159/24-d 10.21.3.8-j ACCEPT
【实施例8】
下面描述本发明的电子设备实施例,该电子设备可以视为对于上述本发明的方法和装置实施例的实体形式的实施方式。对于本发明电子设备实施例中描述的细节,应视为对于上述方法或装置实施例的补充;对于在本发明电子设备实施例中未披露的细节,可以参照上述方法或装置实施例来实现。
图9是根据本发明的一种电子设备的示例性实施例的结构框图。图9显示的电子设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图9所示,该示例性实施例的电子设备200以通用数据处理设备的形式表现。电子设备200的组件可以包括但不限于:至少一个处理单元210、至少一个存储单元220、连接不同系统组件(包括存储单元220和处理单元210)的总线230、显示单元240等。
其中,所述存储单元220存储有计算机可读程序,其可以是源程序或都只读程序的代码。所述程序可以被处理单元210执行,使得所述处理单元210执行本发明各种实施方式的步骤。例如,所述处理单元210可以执行如图2所示的步骤。
所述存储单元220可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)2201和/或高速缓存存储单元2202,还可以进一步包括只读存储单元(ROM)2203。所述存储单元220还可以包括具有一组(至少一个)程序模块2205的程序/实用工具2204,这样的程序模块2205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线230可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备200也可以与一个或多个外部设备300(例如键盘、显示器、网络设备、蓝牙设备等)通信,使得用户能经由这些外部设备300与该电子设备200交互,和/或使得该电子设备200能与一个或多个其它数据处理设备(例如路由器、调制解调器等等)进行通信。这种通信可以通过输入/输出(I/O)接口250进行,还可以通过网络适配器260与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)进行。网络适配器260可以通过总线230与电子设备200的其它模块通信。应当明白,尽管图中未示出,电子设备200中可使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
【实施例9】
图10是本发明的一个计算机可读介质实施例的示意图。如图10所示,所述计算机程序可以存储于一个或多个计算机可读介质上。计算机可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合,例如磁盘、光盘、ROM、RAM等可读存储介质,也可以是多个存储介质组成的存储阵列,例如磁盘或磁带存储阵列,存储介质不限于集中式存储,其也可以是分布式存储,例如基于云计算的云存储等等。当所述计算机程序被一个或多个数据处理设备执行时,使得该计算机可读介质能够实现本发明的上述方法。
通过以上的实施方式的描述,本领域的技术人员易于理解,本发明描述的示例性实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本发明实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个计算机可读的存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台数据处理设备(可以是个人计算机、服务器、或者网络设备等)执行根据本发明的上述方法。
所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
综上所述,本发明可以执行计算机程序的方法、装置、电子设备或计算机可读介质来实现。可以在实践中使用微处理器或者数字信号处理器(DSP)等通用数据处理设备来实现本发明的一些或者全部功能。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,本发明不与任何特定计算机、虚拟装置或者电子设备固有相关,各种通用装置也可以实现本发明。以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种远程接入方法,其特征在于,该方法包括下述步骤:
根据生成的建立服务和请求连接所使用的认证文件,进行服务配置和启动;
根据接收的设备的认证请求数据,判断所述设备是否具备登录权限;
如果是,则认证成功;
给认证成功的所述设备分配内网地址,并按照对应所述设备的授权信息控制所述设备的用户对内部网络的访问;
其中,所述进行服务配置,包括:配置为在根据接收的设备的认证请求数据,判断所述设备是否具备登录权限时,对所述认证请求数据只使用证书进行认证、或者,只使用账号密码进行认证、或者,同时使用证书和账号密码进行基于SHA512的双重加密数据验证。
2.根据权利要求1所述的方法,其特征在于,
所述认证请求数据具体为:客户端设备向VPN服务端发起请求接入内部网络的呼叫中所包含的来自所述客户端设备的认证请求数据;
根据接收的设备的认证请求数据,判断所述设备是否具备登录权限,具体包括:所述VPN服务端接收来自所述客户端设备的所述认证请求数据,判断所述客户端设备是否具备登录权限;
给认证成功的所述设备分配内网地址,并按照对应所述设备的授权信息控制所述设备的用户对内部网络的访问,具体包括:所述VPN服务端给所述客户端设备分配内网地址,并按照对应所述客户端设备的授权信息控制所述客户端设备的用户对内部网络的访问;
其中,若所述VPN服务端初次给所述客户端设备分配了内网地址后,在所述客户端设备再次连接时,则给所述客户端设备分配初次登录的内网地址。
3.根据权利要求1或2所述的方法,其特征在于,根据生成的建立服务和请求连接所使用的认证文件,进行服务配置和启动,还包括:
在VPN服务端上生成建立其自身服务与客户端请求连接所使用的认证文件;
所述VPN服务端提供所述认证文件给客户端进行复制并根据所述认证文件进行VPN客户端的配置;
配置所述VPN服务端并启动所述VPN服务端的服务;
所述基于SHA512的双重加密,具体包括:基于TCP可靠性传输分层的记录和握手双协议配置加密过程;其中,所述记录协议,能将数据包中的安全参数生成密钥并对数据进行分段和处理、并能对收到的数据包的数据进行解密后传输到客户端;其中,所述握手协议,能通过连续数据包校验握手、利用自我认证或协商的方式来校验并保证双方在记录层上的安全参数一致性;其中,所述配置加密过程为:基于SHA512加密VPN服务端和客户端网络传输中的数据包并基于lz4高效压缩数据包、同时所述VPN服务端和客户端配置时协商一致。
4.根据权利要求3所述的方法,其特征在于,
对所述认证请求数据只使用证书进行认证包括:只使用根证书和客户端证书进行认证;
和/或,
所述判断还包括:如果否,则认证失败,VPN服务端向所述客户端设备返回认证失败消息;
和/或,
所述VPN服务端是OpenVPN服务端;
和/或,
配置所述VPN服务端还包括配置为使用LDAP对用户账户的统一管理和分组;
和/或,
配置所述VPN服务端还包括配置为对用户账户的流量管理。
5.一种客户端设备,其特征在于,包括:
安装有能向VPN服务端发起请求接入内部网络的呼叫的客户端的终端设备;
所述客户端预先从VPN服务端复制在所述VPN服务端上生成的认证文件并根据所述认证文件配置VPN客户端;
其中,所述认证文件用以建立VPN服务端自身服务和客户端请求连接所使用;
其中,所述呼叫包含由所述VPN服务端接收、用以判断所述终端设备是否具备登录权限的认证请求数据;
其中,对所述认证请求数据只使用证书进行认证、或者,只使用账号密码进行认证、或者,同时使用证书和账号密码进行基于SHA512的双重加密数据验证;
所述终端设备接收来自所述VPN服务端根据所述认证请求数据判断为所述终端设备具备登录权限而分配的内网地址,并按照对应所述终端设备的授权信息进行对内部网络的访问;或者,所述终端设备接收来自所述VPN服务端返回的、根据所述认证请求数据判断为所述客户端设备不具备登录权限的认证失败消息;和/或,在所述终端设备再次连接时仍获得初次分配的内网地址进行登录。
6.一种VPN服务端系统,其特征在于,包括:
配置并启动一个或多个VPN服务端的服务;
其中,配置所述VPN服务端的服务为:在判断所述设备是否具备登录权限时,对所述认证请求数据只使用证书进行认证、或者,只使用账号密码进行认证、或者,同时使用证书和账号密码进行基于SHA512的双重加密数据验证;
所述VPN服务端接收来自至少一个或多个客户端设备的请求接入内部网络的呼叫,所述呼叫中包含认证请求数据;
所述VPN服务端根据接收的所述认证请求数据,判断所述客户端设备是否具备登录权限;
如果是,则认证成功;
所述VPN服务端给认证成功的所述客户端设备分配内网地址,并按照对应所述客户端设备的授权信息控制所述客户端设备的用户对内部网络的访问;
其中,若所述VPN服务端初次给所述客户端设备分配了内网地址后,在所述客户端设备再次连接时,则仍然给所述客户端设备分配初次登录的内网地址。
7.根据权利要求6所述的VPN服务端系统,其特征在于,
还包括:预先在所述VPN服务端上生成建立所述VPN服务端自身服务和客户端请求连接所使用的认证文件;
配置所述VPN服务端的服务,还包括:根据所述认证文件配置所述VPN服务端并且启动所述VPN服务端服务;所述VPN服务端提供所述认证文件给客户端进行复制并根据所述认证文件进行VPN客户端的配置;
所述VPN服务端根据接收的所述认证请求数据,判断所述客户端设备是否具备登录权限,还包括:如果否,则认证失败,所述VPN服务端向所述客户端设备返回认证失败消息;
和/或,
所述VPN服务端是OpenVPN服务端;
和/或,
配置所述VPN服务端包括配置为使用LDAP实现对用户账户的统一管理和分组;
和/或,
配置所述VPN服务端包括配置为实现对用户账户的流量管理。
8.一种远程接入系统,其特征在于,包括:
设置于内部网络的如权利要求6或7所述的VPN服务端系统,以及通过有线或无线连接的至少一个或多个如权利要求5所述的客户端设备;
所述客户端设备向VPN服务端发起呼叫,请求接入内部网络,所述呼叫中包含认证请求数据;
所述VPN服务端根据接收的来自所述客户端设备的认证请求数据,判断所述客户端设备是否具备登录权限,以确定是否为所述客户端设备分配内网地址。
9.一种电子设备,包括:
处理器;以及
存储计算机可执行指令的存储器,所述计算机可执行指令在被执行时使所述处理器执行权利要求1至4中任一项所述的方法。
10.一种计算机可读存储介质,其中,所述计算机可读存储介质存储一个或多个程序,当所述一个或多个程序被处理器执行时,实现权利要求1至4中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110824624.5A CN113595847B (zh) | 2021-07-21 | 2021-07-21 | 远程接入方法、系统、设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110824624.5A CN113595847B (zh) | 2021-07-21 | 2021-07-21 | 远程接入方法、系统、设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113595847A true CN113595847A (zh) | 2021-11-02 |
CN113595847B CN113595847B (zh) | 2023-04-07 |
Family
ID=78248787
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110824624.5A Active CN113595847B (zh) | 2021-07-21 | 2021-07-21 | 远程接入方法、系统、设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113595847B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114285697A (zh) * | 2021-12-23 | 2022-04-05 | 上海甄云信息科技有限公司 | 一种基于WireGuard和OpenVPN的多网络单入口VPN系统 |
CN114553528A (zh) * | 2022-02-22 | 2022-05-27 | 成都睿智兴华信息技术有限公司 | 一种内外网数据安全传输系统及其传输方法 |
CN115118550A (zh) * | 2022-08-31 | 2022-09-27 | 山东百智远帆网络工程有限公司 | 用于油田工控通过5g专用网络进行加密透传数据的方法 |
CN115189943A (zh) * | 2022-07-08 | 2022-10-14 | 北京天融信网络安全技术有限公司 | 一种基于网络地址的权限管理方法及系统 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6496511B1 (en) * | 1999-05-21 | 2002-12-17 | 3Com Corporation | Method for preserving preassigned IP addresses in a remote access server |
WO2007033519A1 (fr) * | 2005-09-20 | 2007-03-29 | Zte Corporation | Procede permettant la mise a jour d'un reseau de communication prive virtuel dynamiquement |
WO2008138274A1 (fr) * | 2007-05-14 | 2008-11-20 | Huawei Technologies Co., Ltd. | Procédé et dispositif correspondant et système servant à accéder à un service distant |
US20110013637A1 (en) * | 2009-07-15 | 2011-01-20 | Hangzhou H3C Technologies Co., Ltd. | Method, System and Gateway for Remotely Accessing MPLS VPN |
CN106685956A (zh) * | 2016-12-27 | 2017-05-17 | 上海斐讯数据通信技术有限公司 | 一种路由器的vpn网络连接方法及系统 |
CN107547351A (zh) * | 2017-08-11 | 2018-01-05 | 新华三技术有限公司 | 地址分配方法和装置 |
CN107612899A (zh) * | 2017-09-08 | 2018-01-19 | 浙江神州量子网络科技有限公司 | 一种基于量子密钥的OpenVPN安全通信方法和通信系统 |
CN108881103A (zh) * | 2017-05-08 | 2018-11-23 | 腾讯科技(深圳)有限公司 | 一种接入网络的方法及装置 |
CN111901315A (zh) * | 2020-07-13 | 2020-11-06 | 浙江捷创方舟数字技术有限公司 | 一种vpn用户接入方法及系统 |
CN112532504A (zh) * | 2020-11-05 | 2021-03-19 | 深信服科技股份有限公司 | 远程接入方法、装置、终端、服务器及存储介质 |
-
2021
- 2021-07-21 CN CN202110824624.5A patent/CN113595847B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6496511B1 (en) * | 1999-05-21 | 2002-12-17 | 3Com Corporation | Method for preserving preassigned IP addresses in a remote access server |
WO2007033519A1 (fr) * | 2005-09-20 | 2007-03-29 | Zte Corporation | Procede permettant la mise a jour d'un reseau de communication prive virtuel dynamiquement |
WO2008138274A1 (fr) * | 2007-05-14 | 2008-11-20 | Huawei Technologies Co., Ltd. | Procédé et dispositif correspondant et système servant à accéder à un service distant |
US20110013637A1 (en) * | 2009-07-15 | 2011-01-20 | Hangzhou H3C Technologies Co., Ltd. | Method, System and Gateway for Remotely Accessing MPLS VPN |
CN106685956A (zh) * | 2016-12-27 | 2017-05-17 | 上海斐讯数据通信技术有限公司 | 一种路由器的vpn网络连接方法及系统 |
CN108881103A (zh) * | 2017-05-08 | 2018-11-23 | 腾讯科技(深圳)有限公司 | 一种接入网络的方法及装置 |
CN107547351A (zh) * | 2017-08-11 | 2018-01-05 | 新华三技术有限公司 | 地址分配方法和装置 |
CN107612899A (zh) * | 2017-09-08 | 2018-01-19 | 浙江神州量子网络科技有限公司 | 一种基于量子密钥的OpenVPN安全通信方法和通信系统 |
CN111901315A (zh) * | 2020-07-13 | 2020-11-06 | 浙江捷创方舟数字技术有限公司 | 一种vpn用户接入方法及系统 |
CN112532504A (zh) * | 2020-11-05 | 2021-03-19 | 深信服科技股份有限公司 | 远程接入方法、装置、终端、服务器及存储介质 |
Non-Patent Citations (2)
Title |
---|
LI XIN: "CPK Unified Identity Based Secure Remote Access System for Mobile Terminal" * |
黄建华;: "远程VPN接入认证技术应用" * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114285697A (zh) * | 2021-12-23 | 2022-04-05 | 上海甄云信息科技有限公司 | 一种基于WireGuard和OpenVPN的多网络单入口VPN系统 |
CN114553528A (zh) * | 2022-02-22 | 2022-05-27 | 成都睿智兴华信息技术有限公司 | 一种内外网数据安全传输系统及其传输方法 |
CN114553528B (zh) * | 2022-02-22 | 2024-04-19 | 成都睿智兴华信息技术有限公司 | 一种内外网数据安全传输系统及其传输方法 |
CN115189943A (zh) * | 2022-07-08 | 2022-10-14 | 北京天融信网络安全技术有限公司 | 一种基于网络地址的权限管理方法及系统 |
CN115189943B (zh) * | 2022-07-08 | 2024-04-19 | 北京天融信网络安全技术有限公司 | 一种基于网络地址的权限管理方法及系统 |
CN115118550A (zh) * | 2022-08-31 | 2022-09-27 | 山东百智远帆网络工程有限公司 | 用于油田工控通过5g专用网络进行加密透传数据的方法 |
CN115118550B (zh) * | 2022-08-31 | 2022-11-25 | 山东百智远帆网络工程有限公司 | 用于油田工控通过5g专用网络进行加密透传数据的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113595847B (zh) | 2023-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113595847B (zh) | 远程接入方法、系统、设备和介质 | |
US11356417B2 (en) | Private cloud routing server connection mechanism for use in a private communication architecture | |
US8577044B2 (en) | Method and apparatus for automatic and secure distribution of an asymmetric key security credential in a utility computing environment | |
US8214885B2 (en) | Managing network components using USB keys | |
US20080022392A1 (en) | Resolution of attribute overlap on authentication, authorization, and accounting servers | |
US7822982B2 (en) | Method and apparatus for automatic and secure distribution of a symmetric key security credential in a utility computing environment | |
WO2017161706A1 (zh) | 一种局域网内网资源的访问控制方法、装置及网关设备 | |
CN111147526B (zh) | 一种跨公网实现多云管控的安全认证方法 | |
CN102271134B (zh) | 网络配置信息的配置方法、系统、客户端及认证服务器 | |
US20220217143A1 (en) | Identity security gateway agent | |
US20130283050A1 (en) | Wireless client authentication and assignment | |
US11863529B2 (en) | Private cloud routing server connection mechanism for use in a private communication architecture | |
EP2706717A1 (en) | Method and devices for registering a client to a server | |
US8918847B2 (en) | Layer 7 authentication using layer 2 or layer 3 authentication | |
CN113542389A (zh) | 用于私有通信架构的私有云端路由服务器连接机制 | |
US20210392112A1 (en) | Enhanced privacy-preserving access to a vpn service | |
Ali et al. | Selection of an EAP authentication method for a WLAN | |
US11683292B2 (en) | Private cloud routing server connection mechanism for use in a private communication architecture | |
CN107888383B (zh) | 登录认证方法及装置 | |
JP2010039994A (ja) | アクセス制御システム、接続制御装置および接続制御方法 | |
US20190273735A1 (en) | Method for automated authentication of voip phone | |
TW202345559A (zh) | 用於私有通訊架構的私有安全聊天連結機制 | |
CN115208603A (zh) | 用于私有通讯架构的连接方法与电脑可读取媒体 | |
CN117596021A (zh) | 一种基于内网穿透的变电站监控系统远程开发调试方法 | |
Ngekeh | CONFIGURING AND USING OPEN VPN ON WINDOWS OS |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |