一、WEB接入原理
“零客户端”接入方案:使用操作系统的WEB浏览器作为接入程序,不需要额外安装客户端程序,用户就能登录到SSLVPN服务器,并通过WEB浏览器直接访问内网的WEB应用。
如上图所示:WEB接入通过反向代理的方式实现远程接入功能,客户端浏览器向SSLVPN服务器发出HTTPS请求,SSLVPN服务器解析URL后以客户端的角色向Web资源服务器发出请求,Web资源服务器的回应数据也通过SSLVPN代理给客户端浏览器。
例如远程客户端访问www.ruijie.net Web资源,客户端浏览器发送的请求是https://fzyfvpn.ruijie.com.cn:1443/rjweb/0/1025/http/80/www.ruijie.net/,SSLVPN解析该URL,向www.ruijie.net发送请求。
二、安全隧道接入原理
安全隧道接入实现远程接入主机与内网服务器在网络层(即IP层)之上的安全通信,实现了远程接入主机与内网服务器之间所有基于IP的互通。SSLVPN登录成功后,用户可以像在办公室一样使用内网资源,包括TCP、UDP及ICMP的各种应用。
工作原理如下图(SSL VPN网关也就是SSLVPN服务器):
如果管理员给用户分配了隧道接入资源,就会自动下载安全隧道接入安装程序,成功安装后会添加一张虚拟网卡。
1. 当虚拟网卡安装成功后,IP接入客户端就会与SSLVPN网关建立SSL安全隧道。
2. SSL VPN网关向客户端推送虚拟网卡的相关信息,包括虚拟IP地址,掩码,网关,DNS,允许访问的资源等,虚拟IP地址将从客户端网段中自动分配。
3. 用户应用程序向内网发送IP报文时,会路由到虚拟网卡,虚拟网卡再把报文转发到IP接入客户端。
4. IP接入客户端再将报文SSL加密封装,通过SSL隧道发送到SSL VPN网关。
5. SSL VPN网关收到加密的报文后,对其解密得到源IP地址为虚拟IP的报文,SSL VPN网关将该IP报文转发到内网网络中,进而路由到内网真实服务器上。
6. 真实服务器回报文时,路由到SSL VPN网关。
7. SSL VPN网关收到报文后对其加密,并通过SSL隧道,发送回IP接入客户端。
8. IP接入客户端解出SSL隧道收到的报文,得到目的IP地址为虚拟IP的IP报文,从而写回虚拟网卡。虚拟网卡再把数据报文回给用户应用程序。
注意点:SSL VPN网关解封装后得到的报文源IP地址,报文转发到内网后,需要将回应报文路由回SSL VPN网关,称为回指路由处理,存在以下几种场景
1. SSL VPN网关作为内网的默认出口,则回应报文天然会到达SSL VPN网关,不需要特殊处理。
2. 通过OSPF、RIP或所有路由器添加静态路由,让IP接入客户端网段的报文送到SSL VPN网关。
3. SSL VPN旁挂的方式时,可以利用NAT进行回指路由处理。
三、Site-to-Site点对点接入
将带SSLVPN功能的设备当作接入客户端(称为分支)连接到SSLVPN服务器(称为总部),由分支与总部建立安全隧道;与分支连接的局域网内所有终端都能通过该安全隧道安全地与总部或其它分支进行通信。
1. 分支首先建立HTTPS安全通道进行身份认证,避免非法分支接入。
2. 身份认证成功后,通过DTLS与总部建立安全隧道,总部推送虚拟IP地址、分支网段、允许访问的资源,总部添加分支网段指向总部SSLVPN接口的路由。
3. 分支成功接入后,会启动一个三层虚拟接口。
4. 分支网段内的终端请求的IP报文(源IP地址属于分支网段范围)到达了分支时,如果是目的IP地址属于要通过隧道访问的网段时,报文会被拦截到分支SSL
VPN模块,进行SSL加密封装后发送到总部。
5. 总部解封装后得到明文IP报文转发到资源服务器。
6. 资源服务器的回应报文转发到总部,总部发现目的IP地址属于分支网段范围,则把报文经过SSL封装转发给分支。
7. 分支SSL解封装后,转发到分支网段内的终端。
四、用户访问方式
1) 使用浏览器访问
用户可以通过PC、智能手机、平板电脑的Web浏览器进行SSLVPN接入并访问内网Web资源。
2) 使用移动终端访问
用户通过智能手机或平板,安装SSLVPN客户端程序后,通过该程序可访问内网Web资源及通过远程桌面访问内网主机。
3) 桌面客户端访问
使用Windows的用户,成功安装过SSLVPN程序后(IE登录自动安装,其它浏览器可手动安装),可以通过桌面的快捷方式 启动及接入SSLVPN服务器。
4) Site-to-Site内网用户访问
由SSLVPN分支与总部建立了SSL通道,分支内的用户无需再SSLVPN接入到总部,即可安全地访问内网资源。
五、用户认证
1) 本地用户认证:使用NBR-E的用户组织关系进行身份验证,NBR-E的WEB网管配置用户:用户管理 -> 用户组织
用户配置主要关注三个方面
1. 允许做VPN用户:只有勾选后,该用户才能用于SSLVPN登录,如果未勾选,用户登录时将提示:该账号无SSLVPN登录权限!
2. 用户密码:创建用户时,必须通过该输入框为用户设置一个密码用于登录;当用户忘记密码时,可通过该输入框重新初始化用户的密码。
3. 配置是否允许修改登录密码:如果勾选,用户通过SSLVPN登录成功后,可以修改自己的密码,避免出现统一的默认密码而提高用户接入安全性。
2)使用Radius服务器进行身份认证
SSLVPN服务器通过总部内局域网与RADIUS服务器连接,SSLVPN用户登录时,SSLVPN服务器向RADIUS服务器发送身份验证请求,Radius服务器回应认证结果给SSLVPN服务器。在我司的方案中,常与SAM、SMP进行联动进行配置。
注意:本地用户认证及Radius服务器认证只能二选一。
3)USBKey认证
管理员为每个用户颁发一个USBKey,在USBKey内包含了表明用户身份的数字证书,用户在PC上通过WEB浏览器或桌面客户端登录时,可以使用USBKey方式进行身份认证。使用USBKey认证,用户登录时不再输入账号信息,而是通过使用USBKey内的数字证书,从证书中提取用户名信息进行授权管理。
USBKey认证的使用方法是:管理员给每个用户创建并分发一个USBKey,用户使用USBKey进行登录。
4)硬件特征码辅助认证方式
硬件特征码是根据PC的硬件特性,如CPU、硬盘序列号、网卡等计算出来的一串硬件代码,其通常具有唯一性,能标识一台特定的PC。SSLVPN功能利用该特性限制用户只能在经过审批的终端进行登录,即使账号&密码发生泄露,也无法在其它终端上接入,提高SSLVPN的接入安全性。
硬件特征码的常用方法是:用户输入用户信息 --> 提交硬件特征码 --> 管理员审批通过(管理员可开启自动审批通过)
--> 用户再次登录即可成功。
六、SSLVPN资源
1) Web资源及配置
WEB资源对应WEB接入方式,控制WEB接入能访问哪些WEB应用。
建议: 仅当该资源为允许移动接入的网页或提供导航服务的网页时配置。
对于新建一个WEB资源,主要理解以下六点
1. 资源名称:在WEB浏览器的资源主页将显示该名称,并后续将以该名称为用户进行授权。
2. 资源网址:表示该资源允许访问的WEB服务器地址。
3. 允许访问页面中的子链接:除了允许访问资源页面本身外,页面中的所有子链接也可以访问。
4. 开启URL改写:默认勾选,此时使用web代理的方式访问web资源,可供PC客户端和移动终端访问,若不勾选,则可配合隧道接入访问,隧道需授权web资源对应的网络,此时web资源仅在用户资源页面提供类似书签的功能(即用户不用在浏览器输入web应用的访问地址);
5. 设置:将该资源授权给哪些用户、用户组;
6. 展示该资源已经授权给哪些用户、用户组;
2) 安全隧道资源及配置
隧道资源以“目的IP地址(段) + 目的端口 + 传输协议”进行组合方式来控制用户允许访问的资源。
新建隧道资源主要理解以下几点
1. 隧道资源名称:隧道资源的唯一标识,用于为用户、用户组授权。
2. 添加访问控制规则:添加资源允许问题的资源范围
a. 目标类型:用于指定b的输入形式,包括IP、网段、域名。
b. 允许访问的IP地址范围:表示只允许访问该指定IP地址范围内的主机,使用域名时将解析成IP地址进行控制。
c. 允许访问的协议类型:包括TCP、UDP、ANY,ANY表示允许访问所有协议包括ICMP.
d. 允许访问的端口范围:表示该资源只允许访问指定范围内的端口。
3. 表示该资源包含了哪些访问控制规则。
4. 展开对资源的高级设置
a. 可选地对资源添加描述信息。
b. 应用程序启动路径:只有配置了该选项,资源才会在WEB资源主页中显示出来。IE显示资源主页时,单击可打开相应的应用程序,如果未自动找到相应程序(对于非系统自带的程序往往无法自动找到),用户可以自定义程序启动路径,用户自定义的程序启动路径在该登录PC会自动保存,方便后续使用。
注,如果未配置该选项,只是不会在资源主页显示而已,并不影响用户可访问的范围。
c. 程序启动时携带的参数,该参数将作用于启动程序的运行,如上面例子,用户单击时将启动IE并且直接访问www.baidu.com网站。
5. 设置:将该资源授权给哪些用户、用户组。
6. 展示该资源已经授权给哪些用户、用户组。
注意:对于引导性的网页,如果链接会跳到其它WEB服务器时,目标WEB服务器的IP也需要加到允许规则范围内。
向导启动SSLVPN功能后,将预置两个隧道资源:“所有网络”和“局域网”资源。
“所有网络”表示所有的数据都将通过安全隧道进行转发。
“局域网”表示所有的局域网数据将通过安全隧道进行转发,包括10.0.0.0/8,172.16.0.0/12,192.168.0.0/24网段的ANY协议的所有端口。
特殊的隧道资源,不需要管理员再创建相应隧道资源并授权给用户
1、内网DNS:用户接入时,SSLVPN服务器将内网DNS地址推送到客户端,客户端将自动添加该地址的隧道路由及允许用户访问UDP的53端口。
2.
WINS(仅支持CLI模式配置):用户接入时,SSLVPN服务器会将WINS地址推送到客户端,客户端将自动添加该地址的隧道路由及允许用户访问所有端口;
通过隧道访问WEB资源的配置推荐方法
创建一个WEB资源,该WEB资源将在资源主页显示,将开启URL改写的勾选框去除,表示将通过隧道访问
创建一个隧道资源,该隧道资源允许访问WEB服务器及其子链接表示的服务器资源。
这样达到通过WEB资源主页直接访问WEB服务,并且不会造成改写不全的问题。
七、用户授权
用户授权,即指定用户、用户组允许访问哪些资源,用户只能访问管理员授予的资源;资源定义及配置如上面章节所述。
管理员可以基于用户组进行授权,表示该用户组下的所有用户同时拥有指定的资源访问权限;也可以基于用户进行授权。
资源继承:NBR-E用户组织关系是一个树形结构,子组下的用户可以继承父组的相关属性;对于资源,子组下的用户将继承父组的资源权限。
用户、用户组关闭继承:管理员可对指定的用户或用户组,关闭继承关系,这样用户或用户组就不再拥有父组的资源权限。
注意:
1)用户授予的隧道资源发生变更时,需要用户重新登录后才能获取到最新的资源列表。
2)采用Radius认证时,Radius认证用户默认只继承了“所有用户”已授权的资源,若要授权特定资源,需要在“用户组织”中创建对应的用户或用户组并对其授权。
八、SSLVPN服务端口
SSLVPN服务端口表示SSLVPN服务将接收该端口的所有数据并通过该端口回应数据,SSLVPN客户端必须通过该指定的端口访问SSLVPN服务。
SSLVPN服务并未指定监听IP地址,表示SSLVPN客户端可以从设备的任意接口接入SSLVPN服务器,NBR-E网关模式的管理口除外。
九、爆破锁定功能
爆破锁定,作为防爆破的一项重要举措,主要控制在用户登录出错达到一定次数时,SSLVPN控制用户在一定时间内不能尝试登录,用于保护用户帐号信息不被窃取。
基于用户锁定:当同名用户登录认证失败达到指定次数(默认5次)后,该用户名将被锁定,同时可以配置锁定时间,在锁定时间内该用户名无法登录。
管理员通过SSLVPN配置的运行状态界面可以查看哪些用户名被锁定,同时也可以对被锁定用户进行解除锁定操作。
基于IP锁定:使用相同IP地址登录连续出错达到指定次数(默认64次)后,包括不同用户名使用相同IP地址的情况,该IP地址将被锁定;在IP地址被锁定之前,只要有用户使用该IP地址登录成功后,原失败次数将会被清零。
管理员通过SSLVPN配置的运行状态界面可以查看哪些IP地址被锁定,同时也可以对被锁定的IP地址进行解除锁定操作。
十、其它基本功能
1) 、SSLVPN的内网DNS配置
SSLVPN将使用该内网DNS来解析域名,存在域名资源(包括WEB资源、隧道资源)时,必须配置;如果未配置,只能通过IP访问资源。
注意:该内网DNS地址仅供SSLVPN服务使用,且SSLVPN服务也不使用“网络配置”的DNS服务器地址进行解析域名。
配置路径:‘网络配置’-->‘SSLVPN配置’ -->‘基本设置’
2)、用户成功安装USBKey驱动后,可以完成以下功能
USBKey插入自动启动登录页面。
修改USBKey的PIN码
联系管理员,远程找回USBKey的PIN码
改变信息名称
3)、隧道接入的DNS优先设置
隧道DNS优先:优先使用SSLVPN服务器设置的内网DNS服务器进行域名解析,若解析失败再尝试使用PC物理网卡设置的DNS服务器进行解析。
客户端DNS优先:优先使用接入PC物理网卡设置的DNS服务器进行域名解析,若解析失败再尝试使用SSLVPN服务器设置的内网DNS服务器进行解析。
4)、软键盘输入用户密码
软键盘是通过软件模拟键盘通过鼠标点击输入字符,是为了防止木马记录键盘输入的密码,提高用户密码的安全性。
配置路径:‘网络配置’-->‘SSLVPN配置’-->‘基本设置’ -->‘SSLVPN高级设置’
5)、图形验证码
作为WEB登录页面的一个防爆破处理,若开启图形验证码功能,用户登录时必须先验证该图形验证码
配置路径:‘网络配置’-->‘SSLVPN配置’-->‘基本设置’ -->‘SSLVPN高级设置’
6)、登录页面标题自定义
Web登录页面的标题栏会显示成自定义的标题
配置路径:‘网络配置’-->‘SSLVPN配置’-->‘基本设置’ -->‘SSLVPN高级设置’
7)、SSLVPN网关证书导入
SSLVPN程序默认情况使用的是设备产生的自签名数字证书,用户登录过程会出现‘此网站的安全证书有问题’的提示,这虽然也可以保证SSL安全协议的正确运行提供安全性,但肯定也对用户的使用造成安全疑问。要解决这样的问题,管理员可以向可信的证书签发机构申请一张数字证书,导入SSLVPN服务器后,用户再次访问就不会再出现,并且可以有效地防止‘中间人攻击’。
配置路径:‘网络配置’-->‘SSLVPN配置’-->‘基本设置’ -->‘SSLVPN高级设置’
8)、SSLVPN专线
当用户成功登录SSLVPN后将删除默认路由,从而使用户不能访问互联网,形成一个只能访问SSLVPN资源的专线环境,避免出现用户PC被公网攻击者作为‘跳板’攻击SSLVPN服务器。
配置路径:‘网络配置’-->‘SSLVPN配置’-->‘基本设置’ -->‘SSLVPN高级设置’
9)、显示URL地址栏
在WEB浏览器的资源主页的显示效果如下图所示
通过1处的输入框输入要访问的WEB资源,单击2处的浏览即可通过WEB接入访问WEB资源。通过该方式访问WEB资源时,不进行访问控制。
用户接入后,长时间没有通过SSLVPN服务器转发任何数据时,SSLVPN客户端将主动退出SSLVPN连接。
注意:该功能并不是说用户长时间未操作鼠标、键盘;只要有数据通过SSLVPN转发,包括后台数据,都将不作为空闲。
管理员可自定义LOGO文件,完成自定义后,用户使用WEB浏览器访问时,在登录页面及资源主面都将显示自定义的LOGO。
SSLVPN默认并发用户为5,即最多允许5个用户(包括分支)同时在线,用户如果有更高的并发需求时,需要向我司的License控制部门进行购买并导入生效。
SSLVPN 的License是永久性的,不存在过期的情况,即一次导入永远生效。
配置路径:高级选项
--> license管理
在SSLVPN运行状态页面的右上角,点击 可以查看SSLVPN运行中生成的日志记录,便于管理员诊断问题
日志类型分别有:系统日志、管理员日志、用户日志;日志等级分为:错误、警告、信息,管理员可根据需要查看相应级别的日志信息。
当设备上的日志文件超过1M时,设备将根据时间顺序自动删除掉早期的日志。
较为常见的日志有:
a. WEB服务及安全隧道接入服务的启动与关闭日志。
b. 用户登录失败的一些记录,例如用户名或密码错误等等.
c. 获取用户 xxxxx 的配置失败! 解决办法:添加一个或多个不冲突的客户端网段。
d. 用户 xxxxx 从 a.a.a.a 登录失败: 最大并发用户数到达上限! 解决办法:购买并导入SSLVPN Licence。
e. 用户上线、下线日志,隧道接入的上线日志包括了为用户分配的虚拟IP地址;