随着越来越多的人远程工作或在混合环境中工作,IT部门和MSP在ASA防火墙上配置Cisco AnyConnect VPN的呼声越来越高。但是Cisco文档可能会非常混乱,这会导致一些组织的配置错误(我们指的是不安全)。
如果步骤安排得很清楚,那么过程实际上相当简单。这就是我们的向导派上用场的地方。
在这篇文章中,我们将分析Cisco AnyConnect的来龙去脉,包括它是什么,为什么它很重要,以及为你的VPN正确配置Cisco AnyConnect需要采取哪些步骤。
Cisco AnyConnect是由Cisco Systems开发的一个软件程序,为用户提供安全的VPN(虚拟专用网络)连接。它主要由企业和组织使用,使远程工作者能够通过互联网安全地访问内部网络和资源。
现在你已经了解了其中的一些好处,让我们来完成为你的VPN配置Cisco AnyConnect所需的步骤。
首先要配置的是AAA身份验证。我倾向于使用RADIUS进行身份验证和授权,但也有其他选项,如LDAP。配置类似:
!
aaa-server MYRADIUS protocol radius
aaa-server MYRADIUS (INSIDE) host 10.10.1.1
key ****
!
这个配置片段说,我的网络中有一个RADIUS服务器,IP地址为10.10.1.1,我在ASA配置中用标签“MYRADIUS”来指代它。它是通过ASA接口访问的,我在接口配置中称之为“INSIDE”。
当用户连接他们的VPN时,他们需要一个VPN会话的IP地址。这是将显示在此用户的公司网络中的地址。它与用户的公共IP地址或他们在家庭网络中可能拥有的任何地址无关。它只是在远程用户的流量通过ASA后在网络内部使用。
!
ip local pool ANYCONNECT_POOL1 10.99.1.1-10.99.1.254 mask 255.255.255.0
ip local pool ANYCONNECT_POOL2 10.99.2.1-10.99.2.254 mask 255.255.255.0
!
我在这里定义了两个池,因为我计划稍后使用多个隧道组。
接下来,我配置我的隧道组。我将创建两个这样的组,原因稍后将解释。
!
tunnel-group ANYCONN_1 type remote-access
tunnel-group ANYCONN_1 type general-attributes
address-pool ANYCONNECT_POOL1
authentication-server-group MYRADIUS
default-group-policy NOACCESS
tunnel-group ANYCONN_1 webvpn-attributes
group-alias EMPLOYEES enable
!
tunnel-group ANYCONN_2 type remote-access
tunnel-group ANYCONN_2 type general-attributes
address-pool ANYCONNECT_POOL2
authentication-server-group MYRADIUS
default-group-policy NOACCESS
tunnel-group ANYCONN_2 webvpn-attributes
group-alias VENDORS enable
!
这将创建两个称为ANYCON_1和ANYCON_2的隧道组。我已经将第一个池分配给第一个隧道组,将第二个池分配给与第二个。
这里我使用的是“group-alias”命令,它在用户电脑上的AnyConnect客户端上创建了一个下拉框。用户将看到他们可以选择Employees或Vendor作为选项。我们正在创建的配置将允许第一组中的用户仅连接到第一个隧道组,而第二组中的使用者仅连接到第二个隧道组。
请注意,“authentication-server-group”命令在这两个隧道组中可能不同。因此,我可以将我的员工发送到一个RADIUS服务器(也许是一个与我的LDAP集成的服务器,或者等效地,我可以在防火墙上本地使用LDAP),并将供应商发送到另一个服务器。
现在我们需要组策略。事实上,我们需要三个。我们需要一个针对员工的组策略,另一个针对供应商的策略。第三种策略适用于以某种方式通过身份验证但未通过授权的任何人。也就是说,他们有有效的登录凭据,但没有被授权使用VPN。
发生这种情况的主要原因是他们只是选择了错误的配置文件。但也有可能有人根本没有被授权使用VPN,即使他们有合法的凭据。这种情况可能会发生,因为许多事情都使用相同的身份验证系统。
!
group-policy STAFF_VPN_GROUP internal
group-policy STAFF_VPN_GROUP attributes
vpn-tunnel-protocol ssl-client
vpn-filter value STAFF_VPN_ACL
!
group-policy VENDOR_VPN_GROUP internal
group-policy VENDOR_VPN_GROUP attributes
vpn-tunnel-protocol ssl-client
vpn-filter value VENDOR_VPN_ACL
!
group-policy NOACCESS internal
group-policy NOACCESS attributes
vpn-tunnel-protocol ssl-client
vpn-simultaneous-logins 0
!
这些名字是从哪里来的?这就是事情变得有点混乱的地方,所以请耐心等待。组策略名称STAFF_VPN_GROUP和VENDOR_VPN_GROUP是由RADIUS或LDAP服务器提供的值。必须对服务器进行配置,以便在成功身份验证后,将这些值交回IETF类型25字段(也称为类)中。并且它必须是特定的格式:OU=STAFF_VPN_GROUP;(包含分号)。
我想提到的另一个重要的配置是“vpn-filter”命令。这为这些用户应用了一个特殊的ACL(访问控制列表),并允许我们限制他们可以访问和不能访问的内容。例如,如果我想允许员工组访问公司网络中的任何内容,但要限制供应商只能访问特定的子网,我可以这样做:
!
access-list STAFF_VPN_ACL extended permit ip any any
access-list VENDOR_VPN_ACL extended permit ip any 10.99.99.0 255.255.255.0
!
最后,我们需要将配置应用于防火墙的OUTSIDE接口:
!
webvpn
enable OUTSIDE
anyconnect enable
tunnel-group-list enable