教程篇(5.4) NSE4 06. SSL VPN ❀ 飞塔 (Fortinet) 网络安全专家

来源:互联网 发布:fc-san网络 编辑:程序博客网 时间:2024/05/17 08:15


在这节课中你将学习如何使用和配置SSL VPN。SSL VPN是为远程用户提供访问你的私有网络的一种简单方法


在完成这一课程之后,你应该具备为组织配置SSL VPN所需的实际技能。你应该能够做到:

  • 描述SSL VPN和IPsec VPN之间的差异

  • 描述SSL VPN模式之间的差异

  • 配置SSL VPN的选项

  • 为SSL VPN配置防火墙策略和身份验证

  • 加强SSL VPN访问的安全性

  • 监视SSL VPN连接用户


在我们展示如何配置SSL VPN之前,让我们先来看看SSL VPN是如何工作的。SSL VPN是什么呢?它与其他类型的VPN又有什么不同?


虚拟专用网络(VPN)创建了一个隧道,它可以让用户或远程局域网安全访问你的私有网络,就好像它们是在本地局域网中连接的一样。

  当局域网被一个不受信任的公共网络(例如因特网)分开时,通常会使用VPN将它们连接起来。除了为用户提供安全访问私人网络的同时,VPN还可以连接互联网上的分支机构网络,甚至对方可能在世界的另一端。

  为了保护隐私,在VPN隧道内的用户数据是加密的,即使数据被未授权的用户拦截也无法读取。VPN还使用安全方法来确保只有经过授权的用户可以建立VPN并访问私有网络的资源。它们通常也提供防篡改功能。


大多数VPN是SSL或IPsec VPN。FortiOS既支持这两种VPN,也支持更弱的VPN,比如PPTP。在这节课中我们将重点讨论SSL VPN。

  那么,SSL VPN与IPsec VPN有什么不同的呢?

  首先,它们的协议不同。SSL和TLS通常用于封装和保护网络上的电子商务和在线银行(HTTP)。SSL VPN使用类似的技术,但通常使用非http协议封装。SSL在网络堆栈上比IP要高,因此,SSL VPN报头通常需要更多的比特带宽。相比之下,IPsec使用了一些特殊的协议。最主要的是ESP,它封装和加密UDP、RDP、HTTP或其他协议,这些协议在IPsec隧道内部。

  还有什么不同呢?

  IPsec VPN是一个标准。它可以与多个供应商进行互操作,并支持设备和网关的对等点,而不仅仅是只有SSL VPN这样的用户客户端。

  客户端软件也是不同的。


在SSL VPN中,你的web浏览器可能是你所需要的唯一客户端软件。到FortiGate的SSL VPN门户(一个HTTPS web页面),然后登录。或者你还可以安装一个插件或一个FortiClient。这增加了通过VPN隧道发送的协议的数量。

  登录后,SSL VPN将你的计算机连接到你的私有网络。不需要用户配置的设置,并且防火墙通常配置为允许出站HTTP,因此技术支持调用不太可能。简单性使SSL VPN成为非技术用户的理想选择,或者是连接公共计算机的用户,比如公共图书馆和网吧中的用户。

  相比之下,如果要使用IPsec VPN,通常需要安装特殊的客户端软件,或者有一个本地网关(比如桌面型的FortiGate)以便连接到远程网关。你可能还需要在VPN对等点之间配置防火墙,以允许IPsec协议。但是,IPsec是大多数供应商支持的标准协议,因此VPN会话不仅可以在两个FortiGate设备之间建立,也可以在不同供应商的设备之间,以及网关和客户端之间建立。它具有高度的可扩展性和可配置性。相比之下,SSL VPN只能在公司之间建立。

  一般来说,当隧道必须连续不断地和多种设备进行互操作时,IPsec VPN是首选,而当人们出行需要连接到办公室时,SSL VPN是首选。


你可以使用三种模式来访问SSL VPN。让我们来看看是哪三种。


这里看到的就是访问SSL VPN可以使用的三种模式来。它们都可以构建SSL VPN连接,但它们支持的功能都不相同。

  那它们有什么区别呢?

  Web访问是最简单的访问方式。与其他任何HTTPS网站一样,你只需登录位于FortiGate的SSL VPN门户网站。它就像一个服务器端反向代理,将你与私有网络上的应用程序连接起来。但是这种机制并不适用于所有的东西,只是一些流行的协议,比如HTTP、FTP和Windows共享。

  端口转发访问扩展了仅由web访问提供的功能。不再只使用浏览器和FortiGate的HTTP代理,而是在客户机的计算机上安装了一个Java applet,它充当一个本地代理。你或你的用户必须配置应用程序来将IP流量发送到本地代理applet。然后,applet可以将数据包重定向到FortiGate的SSL VPN网关。你还必须在SSL VPN门户中配置书签。

  隧道模式支持大多数协议。但是,它需要管理员或root权限,因为你需要安装一个VPN客户端,或者更确切地说,是一个虚拟网络适配器。要开始使用这个虚拟适配器进行隧道通信,你必须使用FortiClient或兼容Fortissl VPN的客户端组件。

  你应该选择哪一个呢?这取决于你需要通过VPN发送哪些应用程序、你的用户的技术知识,以及你的计算机是否具有管理权限。


任何浏览器只使用Web模式连接到FortiGate,连接之后,用户需要凭证才能通过身份验证检查。一旦通过身份验证,用户就会看到一个门户,其中包含了用于访问的资源。不同的用户可以拥有不同的门户,拥有不同的资源和访问权限。


  书签部分包含所有或部分可用资源的链接供用户访问。【Quick Connection / 快速连接】小部件允许用户输入他们想要到达的服务器的URL或IP地址。只使用web的SSL VPN用户就可以使用这两个小部件访问内部网络。Web模式的主要优点是它通常不需要你安装额外的软件。


  网络模式有两个主要缺点:

  • 首先,所有与内部网络的交互都必须从浏览器(通过Web门户)完成。在用户PC上运行的外部网络应用程序不能通过VPN发送数据。

  • 其次,受支持的协议数量有限,例如http/https、FTP、RDP、SMB/CIFS、SSH、Telnet、VNC和Ping。


隧道模式SSL VPN要求SSL VPN客户端FortiClient连接到FortiGate。用户必须通过FortiClient成功的认证连接到FortiGate。当用户通过SSL VPN客户端启动VPN连接时,FortiGate将与客户端建立一条隧道,并将一系列预定的地址分配给客户端虚拟IP地址。客户端在连接期间使用指定的IP地址作为其源地址。隧道内部的流量被封装在SSL/TLS中,并发送到另一端。FortiGate接收到流量和封装IP数据包,将它们转发到私有网络,就好像它们来自网络内部一样。

  隧道模式在网络模式下的主要优点是,一旦VPN建立,任何在客户端运行的IP网络应用程序都可以通过隧道发送流量。

  最主要的缺点是,隧道模式需要安装VPN软件客户端,这需要管理权限。


隧道模式可以以两种不同的方式进行操作:启用和不启用分割隧道。


  当分割隧道被禁用时,由客户端计算机生成的所有IP流量,包括因特网流量,都被路由到SSL隧道到FortiGate。这就设置了FortiGate作为主机的默认网关。你可以使用此方法来将UTM功能应用于SSL VPN客户端上的通信,或者监视或限制Internet访问。这会增加更多的延迟,并占用更多的带宽。

  当启用了分割隧道时,只有通过隧道路由,才能在远程FortiGate后面的私有网络中传输。


你可以使用两种方法来连接SSL VPN。

  第一种方法是通过浏览器。限制在于,SSL VPN门户的浏览器窗口或选项卡必须保持开放,以便保持SSL VPN的连接。

  第二种方法是通过一个独立的SSL VPN客户端,它要求你在用户的PC上安装SSL VPN客户端。当安装SSL VPN客户端时,会将一个名为fortissl的虚拟网络适配器添加到用户的PC上。这个虚拟适配器每次建立一个新的VPN时,都会动态地从FortiGate接收到一个IP地址。客户端发送的所有数据包都使用这个虚拟IP地址作为源地址。


隧道模式需要安装虚拟网络适配器,这需要管理级别的访问才能完成。由于这种访问要求,隧道模式并不总是被采用。对于那些在隧道模式不实用、网络模式不够灵活的情况下,有一个web模式的扩展称为端口转发模式。

  端口转发不是使用虚拟适配器创建一个与本地IP分离的IP的隧道,而是使用Java applet来设置一个本地代理,该代理通过连接回环地址来访问。


在本节中你将了解如何在一个FortiGate和相关的组件上配置SSL VPN。


要配置SSL VPN,你必须采取以下步骤:

  1. 配置用户帐户和组。

  2. 配置portal(门户)。

  3. 配置SSL VPN设置。

  4. 创建一个防火墙策略来接受和解密包。该策略还用于提供对内部网络的访问。

  5. 你可以选择配置防火墙策略,将SSL VPN用户流量路由到Internet,并应用安全配置文件。用户流量将通过FortiGate进入互联网,在那里你可以监控或限制客户访问互联网。

  有些步骤可以按照不同的顺序进行配置,但并不总是这样。


第一步是为SSL VPN客户端创建帐户和用户组。

  除了使用Fortinet单点登录(FSSO)协议的远程密码身份验证之外,所有的强化认证方法都可以用于SSL VPN身份验证。这包括本地密码身份验证和远程密码身份验证(使用LDAP、RADIUS和TACACS+协议)。

  你还可以使用FortiToken来配置双因子身份验证。


第二步是配置门户。门户仅仅是一个web页面,它包含用于用户访问的工具和资源链接。

  可以启用或禁用门户上的选项以允许或拒绝访问。你可以配置诸如隧道模式、显示登录历史、预定义书签等选项。你可以单独配置并将每个门户链接到一个特定的用户或用户组,这样他们就可以访问所需的资源。

  在隧道模式中,当启用分割隧道时,你需要选择一个路由地址设置,该设置通常指定了用于SSL VPN用户访问的FortiGate后面的网络。

  有几个不同的主题选项为门户提供不同的颜色编码。


这是一个用户登录之后的SSL VPN web模式门户页面的示例。

  它包含了基于门户配置的各种小部件。书签、你的书签和快速连接小部件都是基于web的模式。你可以从下载的下拉菜单中下载一个独立的客户端。这个独立的客户端用于在隧道模式中连接SSL VPN。


第三步是配置通用设置。首先,我们将讨论连接设置,然后是隧道模式客户端设置,最后是身份验证门户映射设置。


  与其他HTTPS网站一样,SSL VPN门户在用户连接时提供了一个数字证书。默认情况下,提交的证书是自签名的,它会触发浏览器显示一个证书警告。为了避免警告,你应该使用由浏览器所知道的证书颁发机构(CA)签署的数字证书。或者,你可以将数字证书加载到浏览器中作为受信任的权威。

  默认情况下,一个不活动的SSL VPN在300秒(5分钟)不活动之后断开连接。你可以通过GUI中的Idle Logout设置来更改这个超时。请注意,空闲注销与在防火墙身份验证课程中讨论的身份验证闲置超时是分开的。

  默认情况下,SSL VPN端口的端口是443。这意味着用户需要使用HTTPS连接到FortiGate的IP地址和端口443(这也是管理HTTPS协议的标准端口)。在CLI中,你还可以在con vpn ssl设置下启用https-redirect,在此设置中,使用HTTP(TCP端口80)连接的用户将自动重定向到HTTPS。


在缺省配置中,SSL VPN登录门户和用于HTTPS的管理员登录都使用端口443。

  这很方便,因为用户不需要在浏览器中指定端口。例如,https://www.example。在任何浏览器中自动使用端口443。这在FortiGate上被认为是一个有效的设置,因为你通常不会通过每个接口访问SSL VPN登录。同样,你通常也不能在你的FortiGate的每一个接口上启用管理访问。因此,即使端口可能会重叠,但每个端口都可能不会使用接口。

  如果SSL VPN登录门户和HTTPS管理访问都使用相同的端口,并且都在相同的接口上启用,那么只会出现SSL VPN登录门户。为了在相同的接口上访问这两个接口,你需要更改其中一个服务的端口号。这将影响所有接口上该服务的端口号。


一旦设置了SSL VPN连接设置,就可以定义隧道模式客户端设置。当用户连接时,隧道被分配一个IP地址。你可以选择使用默认范围或创建你自己的范围。IP范围决定了多少用户可以同时连接。

  如果DNS流量通过VPN隧道发送,DNS服务只会有效。一般来说,只有当分割隧道模式被禁用,所有的流量都从客户端PC发送到隧道的时候才会出现这种情况。


第三步的最后一部分是建立将用户映射到适当的门户和领域的身份验证规则。这些设置允许不同的用户组访问不同的门户或领域。


  默认规则应用于根域,并且必须存在,否则会出现一个错误消息,防止任何设置更改被保存。

  在上面的例子中,Accountants和Teachers只能进入他们自己的领域。如果需要访问根域以查看全局门户,则需要添加一个额外的身份验证规则。


第四步,也是最后一个强制步骤,涉及为登录创建防火墙策略。

  在FortiGate上的SSL VPN流量使用了一个名为ssl.<域名>的虚拟接口。每个虚拟域(VDOM)都包含一个基于其名称的不同的虚拟接口。默认情况下,如果不启用VDOM,则该设备使用一个名为root的单一的VDOM操作。

  为了激活并成功登录SSL VPN,必须有一条防火墙策略,从SSL VPN接口到你希望允许SSL VPN用户访问的接口,包括所有可以作为源登录的用户/组。如果没有这样的策略,就不会向用户提供登录门户。

  如果用户需要访问其他接口的资源,那么你需要创建额外的策略来允许来自ssl.root的流量访问这些接口。

  【提示】可以建立策略,指定SSL VPN隧道的流量进入对方的互联网或已经建好的另一组IPsec VPN隧道。


SSL VPN用户的任何流量,无论是在web门户还是隧道模式,都从ssl.<域名>接口中退出。下面是一个防火墙策略的例子,它被配置为允许在通过SSL VPN连接时,用户需要访问其他接口的资源。


如果禁用了分割隧道,你需要从SSL创建一个额外的防火墙策略。从ssl.root到流出接口,允许客户端提供对Internet的访问。在这个防火墙策略中,你还可以应用安全配置文件来限制对Internet的用户访问。


在本节中你将学习如何配置领域和书签。


默认情况下,所有SSL VPN用户将看到相同的书签,由管理员配置,以及相同的主题。


为了增加SSL VPN部署的灵活性,你可以考虑配置SSL-VPN领域。领域是自定义登录页面,通常用于用户组,比如你的会计团队和销售团队,但也可以用于单独的用户。使用领域,用户和用户组可以根据他们输入的URL访问不同的门户。这与缺省部署不同,SSL VPN登录是通过直接访问FortiGate的IP地址来处理的。对于不同的门户,你可以分别定制每个登录页面,并分别限制并发用户登录。


  一个FortiGate领域的例子:

  https://192.168.1.1
  https://192.168.1.1/Accounting
  https://192.168.1.1/TechnicalSupport
  https://192.168.1.1/Sales


SSL VPN书签提供了网络资源的链接。你可以使用管理员定义的书签,你也可以添加自己的个人书签。


从FortiGate的CLI中,你可以为每个用户创建书签。即使在门户中禁用了用户书签选项,这些书签也会出现,因为该选项只会影响用户创建和修改他们自己的书签的能力,而不是管理员定义的书签。

  根据你想要创建的书签类型,你可能需要配置应用程序需要的附加信息,比如网站的url和FTP站点的文件夹。

  只有两种类型的书签可以用于端口转发方法(一种只支持web的模式):citrix和port转发。Citrix是用来连接客户端到Citrix服务器的。Portforward是一种通用类型的书签,你可以对其进行定制。


当用户登录到他们的单独的门户时,有一个选项允许他们创建自己的书签。管理员必须启用SSL-VPN门户页面上的用户书签选项来允许此选项。

  管理员可以通过SSL-VPN个人书签页面查看和删除用户添加的书签。这允许管理员监视和删除不符合公司策略的任何不需要的书签。

  注意:如果SSL-VPN个人书签没有在菜单选项显示,那么你可以在功能选择页面上启用它。


管理员不仅可以为单个用户添加书签,还可以为每个使用每个门户的用户添加书签。这允许对登录到该特定门户的所有用户进行书签。这些书签使用了与个人书签相同的配置选项,但是可以从GUI配置,而不是使用CLI。用户不能修改管理员添加的书签,无论你是在每用户或每门户基础上创建的。


在本节中你将了解如何使用附加选项来限制连接到SSL VPN的用户,这有助于确保你的内部网络是安全的,并且可以限制来自外部源的攻击和病毒进入网络的可能性。


由于SSL VPN是在网络之外的人连接到网络内资源,所以必须采取适当的措施来确保网络中信息的安全性。有多种选项和设置可用于帮助SSL VPN访问。

  下面我们将介绍客户端完整性检查和限制主机连接地址。


当用户通过SSL VPN连接到你的网络时,将在你的网络和用户PC之间建立一个门户。VPN会话是通过两种方式获得的:连接是加密的和用户必须使用他们的凭证登录,比如用户名和密码。但是,你可以配置额外的安全检查以增加连接的安全性。

  提高安全性的一种方法是通过客户端完整性检查。客户端完整性确保连接计算机是安全的,检查是否安装和运行了特定的安全软件,如杀毒软件或防火墙软件。这个功能只支持Microsoft Windows客户端,因为它访问Windows安全中心来执行检查。或者你也可以定制该功能,通过使用全局唯一标识符(GUID)来检查其他应用程序的状态。GUID是Windows配置注册表中唯一标识每个Windows应用程序的ID。客户端完整性还可以检查当前的软件和签名版本,用于防病毒和防火墙应用程序。


客户端完整性检查是在VPN仍在建立的时候执行的,就在用户身份验证完成之后。如果所需的软件没有在客户端PC上运行,那么VPN连接尝试就会被拒绝,即使有有效的用户凭证。每个web门户都启用了客户端完整性,并且只使用CLI命令。

  识别软件的列表和相关的注册表键值可以通过CLI获得。软件分为三类:反病毒(av)、防火墙(fw)和自定义。自定义用于定制或专有软件,组织可能需要这些软件。管理员只能通过CLI配置这些设置。

  启用客户端完整性检查的缺点是它可能导致大量的管理开销。首先,为了成功地建立连接,所有用户都必须更新他们的安全软件。其次,软件更新可能导致注册表键值的更改,这也会阻止用户成功地连接。因此,管理员必须对Windows操作系统和随后的注册表行为有深入的了解,以便正确地使用和维护这一特性。


你可以使用的第二种方法来帮助SSL VPN访问,它限制了主机连接地址。在考虑适当的安全配置时,设置IP限制规则非常有用。并不是所有的IP都需要,或者应该被允许访问登录页面。这种方法允许你设置规则来限制对特定IP的访问。一个简单的规则是允许或不允许基于地理IP地址的流量。从CLI中,你可以配置VPN SSL设置,以取消特定的IP。

  缺省配置设置为限制对特定主机的访问,但主机字段是空的。你必须在主机字段中指定IP地址或网络。这将只允许那些用户访问登录页面。允许从任何主机设置允许所有IP连接。


在本节中,我们将研究如何监视SSL VPN用户。


你可以监视从SSL-VPN监视页面连接到哪些SSL VPN用户。这显示了当前连接到FortiGate的所有SSL VPN用户的名字,他们的IP地址(在隧道和外部),以及连接时间。


当SSL VPN断开连接时,无论是用户还是通过SSL VPN闲置设置,在FortiGate会话表中的所有相关会话都将被删除。这就防止了在初始用户终止通道之后,通过身份验证的SSL VPN会话(尚未过期)的重用。

  SSL VPN用户闲置设置与防火墙身份验证超时设置没有关联。对于SSL VPN用户来说,这是一个单独的空闲选项。当FortiGate在配置的超时期间没有看到来自用户的任何数据包或活动时,远程用户被认为是空闲的。


在这节课中我们讨论了下面内容:

  • SSL VPN是什么以及它是如何操作的

  • SSL VPN和IPsec VPN之间的差异

  • Web模式、隧道模式(包括分割隧道)和端口转发

  • 连接SSL VPN隧道的方法

  • 配置SSL VPN,包括门户、书签和领域

  • 通过客户端完整性检查和限制主机连接访问来保护SSL VPN访问

  • 监视SSL VPN用户


飞塔技术 - 老梅子   QQ:57389522



阅读全文
0 0
原创粉丝点击