实验篇(7.2) 06. 通过安全隧道访问远端内网服务器 (SSL) ❀ 远程访问

news2024/11/27 12:41:27

  【简介】直接映射服务器到公网,没有验证不安全;通过Web浏览器访问远程内网服务器,有验证也安全,但是支持的协议太少。那有没有即安全,又能支持所有协议的访问方法呢?我们来看看SSL VPN的隧道模式。


  实验要求与环境

  OldMei集团深圳总部部署了域服务器和ERP服务器,用来对集团总部进行管理。新冠疫情期间,全员居家办公,除了管理员需要访问域服务器之外,其它同事也要访问ERP系统。

  前期尝试将服务器映射到公网上,但是服务器非通用的web服务器,直接放公网上所有人都可以访问,安全系数太低。

  后又尝试使用SSL VPN的Web模式,所有人通过Web浏览器访问公司内网服务器。因为要通过用户和密码认证才能登录,安全是有了保障,但是可用协议太少。管理员是可以通过RDP远程访问域服务器,但是其它员工就无法访问用ERP系统了。特别是有客户端软件的,都无法访问。

  要解决这个问题,我们就要用到SSL VPN的隧道模式了。

  配置前的准备

  在配置SSL VPN隧道模式之前,我们需要准备一些后面要用到的参数。

  ① 首先我们需要创建SSL VPN的用户组。(创建方法见上一篇文章,这里不再复述。)

  ② 然后我们还需要创建远程访问用户,虽然一个用户可以给多人使用,但是还是建议为每个人创建一个用户,这样访问记录也有记可查。除了创建新的用户之外,还可以和域服务器连接,使用域服务器里的用户进行远程验证,这个我们后面再讲。

  ③ 然后我们要创建被远程访问服务器的地址对象。如果服务器数量很多,也可以用大段地址。

  ④ 同样,建议创建地址组,将被远程访问服务器的地址对象,加入到地址组中,在配置的过程中使用地址组。后期新增或删除地址对象,都不会影响配置。

  ⑤ 和Web模式不同,SSL VPN隧道模式要用到FortiClient客户端,通过FortiClient客户端拨号,生成一条安全隧道,来访问过程内网服务器。那么是通过什么IP地址来访问呢?电脑本身的内网IP?还是电脑接入的公网IP?都不是,FortiClient客户端拨号成功后,会自动生成一个不太可能引起冲突的内网IP。防火墙默认有一个这样的地址对象,叫SSLVPN_TUNNEL_ADDR1,内网是一个地址网段,一共有11个地址,如果不够用,可以修改IP范围。

【注意】

  这个地址对象可以直接用,也可以用自定义的地址对象代替。很多人不喜欢这个地址段,将它改成自己常用的内网地址,甚至是内网已经存在的地址段,例如公司总部已经有10.10.10.0网段,将这个地址对象改为10.10.10.30-10.10.10.50,认为拨号后得到的IP和内网IP相同,就在一个内网了,可以无障碍的访问,其实这是错误的,适得其反。

  这是因为违反了防火墙的一个规则,就是不同接口,必须是不同网段。SSL VPN拨号后,会生成一个虚拟接口,通常是ssl.root,如果ssl.root的IP是10.10.10.0段,而DMZ口也是10.10.10.0段,这就冲突了。所以,要么不要改动SSLVPN_TUNNEL_ADDR1地址段要改也不能改成和内网相同的地址段。

  配置SSL VPN门户

  SSL VPN会用到的用户组、地址组,以及FortiClient客户端拨号后生成IP的地址对象准备好后,就可以开始配置SSL VPN了,同样,首先配置SSL VPN门户。

  ① 登录深圳总部防火墙,选择菜单【VPN】-【SSL-VPN门户】,默认有三个门户,我这选择full-access,点击【编辑】。full-access即包括隧道模式,又包括web模式,虽然我们是用隧道模式工作,但是我们也可以用web模式进行测试,后期确认不用再关闭web模式。

  ② 隧道分割,可以理解为什么流量进入隧道。要么全部进入隧道,要么指定IP进入隧道,或者指定IP之外的流量进入隧道。这里我们选择【基于策略目标启用】,隧道分离地址选择我们创建的内网服务器地址组。也就是说,只有访问这些服务器IP时候,才会走隧道。源IP池默认选择【SSLVPN_TUNNEL_ADDR1】,这也就是前面介绍的,FortiClient客户端拨号后,会根据这个地址对象,生成IP地址。

  ③ FortiClient客户端的某些访问选项,是由【隧道模式客户端选项】来控制的。只有这里启用了,在FortiClient客户端上才会显示。这里我们试着启用保存密码。

  配置SSL VPN设置

  SSL VPN门户配置内容很少,下面我们看看SSL VPN设置。

  ① 选择菜单【SSL-VPN设置】,接口选择允许登录的宽带接口,可以选择多个宽带接口,要求宽带IP能够被远程访问。象100.64.X.X之类的就无法远程访问。SSL VPN监听端口默认为443,和防火墙的默认管理接口相同,这样会引起冲突,而大部分宽带443端口都会被屏蔽,因此建议更改SSL VPN监听端口。服务器证书选择防火墙自带证书。

  ② 由于防火墙默认选择了SSL_TUNNEL_ADDR1地址对象,所以【自动分配地址】会显示这个地址对象的IP范围。

   ③ 也可以选择【指定自定义IP范围】。

  ④ 最后是认证/门户映射,这里将用户组【SSL_VPN_Users】与门户【tunnel-access】映射,全部其它用户/组默认是没有配置的,建议选择最简单的web-access。

  配置SSL VPN策略

  SSL VPN门户和SSL VPN设置都配置完后,还需要配置SSL VPN策略才能生效。

  ① SSL VPN设置配置完后,会生成一个虚拟接口,SSL VPN策略的流入接口,默认为这个虚拟接口。流出接口,就是拨入后要访问那个内网接口,这里是访问服务器的接口DMZ。

  源地址需要选择两项,地址为SSL VPN门户里默认选择的SSLVPN_TUNNEL_ADDR1,地址对象为SSL VPN设置里最下面认证/门户映射里的地址组。

  为了限制拨号进来访问其它IP,目标地址这里选择只能访问指定的服务器IP。

  服务这项可以根据实际情况选择,服务器少,需要控制严格,就加上指定端口。服务器多,就选择ALL。

  启用NAT只有在一种情况下需要开打,那就是服务器的实际IP地址网段,与防火墙接口IP不在同一网段,例如下面有三层交换机的情况。

  配置FortiClient客户端

  SSL VPN隧道模式需要用到FortiClient客户端。

  ① 可以在forticlient.com网站下载FortiClient客户端。

  ② FortiClient客户端支持常见的平台。

  ③ 这里我们下载FortiClient VPN Windows版本,安装步骤就略过,安装完成后,点击桌面【FortiClient VPN】图标。

  ④ 启动后点击最右边的图标,可以查看FortiClient VPN的版本信息。目前是7.0.8版本,建议FortiClient客户端与FortiGate防火墙固件版本相同或接近,不要版本相差太大。

  ⑤ 首次启动会显示免则信息,这是因为FortiClient VPN是免费提供的。钩选后点击【I accept】。

  ⑥ FortiClient VPN只有一个功能,那就是【配置VPN】。

  ⑦ 配置界面很简单,首先是输入一个自定义的连接名,然后是远程网关,也就是深圳总部防火墙Wan1接口的IP地址。如果大家还记得的话,我们在SSL VPN设置时将端口号由443改为了10443,所以在FortiClient VPN设置里,也要改成10443,重点来了,自定义端口一定要钩选,不要只填数字而不钩选,保存后端口又会回到默认的443。点击保存,FortiClient VPN客户端就配置完了。

  验证效果

  深圳总部防火墙SSL VPN配置完了,笔记本电脑上FortiClient VPN客户端也安装配置好了,下面我们就要看看有没有效果了。

  ① 管理员在家中上网,打开FortiClient VPN,默认选择新建的VPN连接,输入用户名和密码,注意,是输入总部防火墙创建的用户名和密码,而不是防火墙的登录帐号和密码。

  ② 当状态到40%的时候,会停下来,那是因为会弹出一个窗口。

  ③ 点击弹出窗口,会看到一个证书提示,点击【是(Y)】。

  ④ 运气好的话,你会看到VPN已连接的提示,电脑有分配到一个IP地址。运气不好的话,会出现各种报错信息。

  ⑤ 在命令窗口,用ipconfg查看接口信息,可以看到多出一个虚拟网卡,IP地址为防火墙分配的10.212.123.200,而网卡IP显示,笔记本电脑是直接接入互联网的。

  ⑥ 再用route print命令查看笔记本电脑的路由表,基中有一个条,访问10.10.10.254的时候,走虚拟接口,也就是走SSL VPN隧道出去。

  ⑦ 再用ping命令,可以看到能直接ping通远程防火墙内网服务器的IP地址。

  ⑧ 再用telnet连接服务器IP和端口,也是连接成功。

  ⑨ 笔记本电脑打开远程桌面连接,输入服务器的内网IP,注意,这个时候,笔记本电脑是在管理员家里。

  ⑩ 通过FortiClient VPN客户端连接的安全隧道,管理员在家里,用内网IP也能成功通的登录到服务器上了。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/607919.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于Yolov5目标检测的物体分类识别及定位(二) -- yolov5运行环境搭建及label格式转换

刚开始跟着网上的教程做,把环境安装错了,后来直接用GitHub的官方教程来安装环境。 地址是yolov5官方团队代码及教程,看readme文件就可以。 系列文章: 基于Yolov5目标检测的物体分类识别及定位(一) -- 数据集…

【MySQL】一文带你了解表的增删改查 CRUD

文章目录 1. 增加(Create)1.1 单行插入 全列插入1.2 多行插入 指定列插入 2. 查询(Retrieve)2.1 全列查询2.2 指定列查询2.3 查询字段为表达式2.4 别名2.5 去重2.6 排序 3. 条件查询(Where)3.1比较运算符…

【人工智能】— 学习与机器学习、无/有监督学习、强化学习、学习表示

【人工智能】— 学习与机器学习、无/有监督学习、强化学习、学习表示 上一章Bayesian Networks本章:观测学习学习学习元素机器学习概论机器学习对什么有用自动语音识别计算机视觉Information retrieval—信息检索 机器学习机器学习:定义 电子邮件过滤问题…

全志V3S嵌入式驱动开发(gpio输出)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 不管是对mcu,还是对soc来说,gpio肯定是越多越好。但是一个芯片上,它的引脚总是有限的,特别对于非BG…

修改邻接变量-0day漏洞利用原理(6)

大多数情况下,局部变量在栈中的分布是相邻的,但也有可能出于编译优化等需要而有所例外。具体情况我们需要在动态调试中具体对待,这里出于讲述基本原理的目的,可以暂时认为局部变量在栈中是紧挨在一起的。 提供理论基础 下一篇利用:非法的超长密码去修改 bufer 的邻接变量…

支持向量机练习

练习5:支持向量机 介绍 在本练习中,我们将使用支持向量机(SVM)来构建垃圾邮件分类器。 在开始练习前,需要下载如下的文件进行数据上传: data.tgz -包含本练习中所需要用的数据文件 其中: e…

2. 卷积的经典模型

一、什么是卷积神经网络 卷积神经网络就是含有卷积层的网络。 二、有哪些经典的模型?每一次的技术进步在哪里? 卷积神经网络(LeNet) LeNet第一次将卷积神经网络推上舞台,通过梯度下降训练卷积神经网络可以达到手写数字…

chatgpt赋能python:Python中取出中间文本的方法

Python中取出中间文本的方法 在Python开发中,我们常常需要从字符串中取出特定位置的文本,例如从一个网页源码中提取出指定的内容。而且,一份好的代码需要清晰易懂、高效可靠。那么,在Python中如何取出中间文本呢?下面…

超详细Redis入门教程——Redis 主从集群(下)

前言 本文小新为大家带来 Redis 主从集群 相关知识,具体内容包括哨兵机制实现(包括:哨兵机制简介,Redis 高可用集群搭建,Redis 高可用集群的启动,Sentinel 优化配置),哨兵机制原理&a…

史上最全网络安全面试题汇总

最近有不少小伙伴跑来咨询: 想找网络安全工作,应该要怎么进行技术面试准备?工作不到 2 年,想跳槽看下机会,有没有相关的面试题呢? 为了更好地帮助大家高薪就业,今天就给大家分享一份网络安全工…

vmware创建ubuntu服务器>>(使用xshell)配置连接

目录 引言服务器创建准备镜像创建服务器全过程新建虚拟机选择虚拟机硬件兼容性镜像选择服务器目录名和基础信息设置虚拟机命名和存储位置设置处理器配置内存配置网络选型下一步连续点击启动 服务器配置root用户密码设置root用户切换安装ssh服务并启动vmware-ssh配置链接 xshell…

算法(三)—— 双指针

文章目录 27 移除元素344 反转字符串(手写reverse)剑指 Offer 05 替换空格19 删除链表的倒数第N个节点面试题 02.07. 链表相交15 三数之和二、使用步骤1.引入库2.读入数据 总结 27 移除元素 题目:原地移除数组中值为val的元素 思路&#xff…

Jetson Orin Nano nvme系统备份和恢复

大家好,我是虎哥,Jeston Orin nano 8G模块,我自己也玩了一段时间,配置了很多环境后,我就在琢磨如何将系统像之前的模块一样捞取出来后,在新模块上进行恢复。过程是曲折的,结果也是曲折的&#x…

开源字节 考研集训营小程序

考研集训营的价格要比普通的班课贵很多,价格通常在上万元。考研集训营分为春季、暑期、秋季等短期集训营,还有半年和全年长期集训,为学生提供英语、数学、政治的公共课辅导和各种专业课的教学。想要了解更多的考研相关信息,获得适…

自然语言处理从入门到应用——自然语言处理的基本问题:结构预测问题

分类目录:《自然语言处理从入门到应用》总目录 与文本分类问题不同,在结构预测问题中,输出类别之间具有较强的相互关联性。例如,在词性标注任务中,一句话中不同词的词性之间往往相互影响,如副词之后往往出现…

1、mysql的安装与配置

下载安装配置 下载zip文件解压之后配置环境变量 在path后面添加mysql bin文件夹的路径:C:\Program Files (x86)\MySQL\bin 配置完环境变量后,在C:\Program Files (x86)\MySQL目录下新建一个配置文件mysql.ini,同时在bin的同级目录C:\Program …

算法的复杂度【数据结构】

1、时间复杂度 算法在编写成可执行程序后,运行时需要耗费时间资源和空间(内存)资源,因此衡量一个算法的好坏一般是从时间和空间两个维度来衡量的,即时间复杂度和空间复杂度时间复杂度主要衡量一个算法的运行快慢,而空间复杂度主要…

Jenkins安装配置

前言:Jenkins是一款CICD(持续集成与持续交付)工具。Jenkins可以帮你在写完代码后,一键完成开发过程中的一系列自动化部署的工作。 Jenkins 2.346.1 版本支持 jdk1.8 和 jdk11,最后一版支持jdk1.8的版本。 安装Jenkins前…

windows修改Pycharm的右键打开方式

title: windows中open floder as Pycharm太长了怎么修改 date: 2023-06-04 author: IoT_H2 tags: windows系统问题 categories: Markdown 问题描述: Pycharm这一栏这么长,长的我实在是很难受,事实上Jetbrains家的软件都是这个鸟模样 导…

RocketMq的单机版安装以及可视化软件的安装

一 RocketMq的单机版安装 1.1 RocketMq的上传 1.2 解压 [rootlocalhost export]# unzip rocketmq-all-4.9.6-bin-release.zip 1.3 修改配置 使用 vim 命令打开 bin/runserver.sh 文件。现将这些值修改为如下: [rootlocalhost bin]# vi runserver.sh 使用vim命令…