• 全部
  • 经验案例
  • 典型配置
  • 技术公告
  • FAQ
  • 漏洞说明
  • 全部
  • 全部
  • 大数据引擎
  • 知了引擎
产品线
搜索
取消
案例类型
发布者
是否解决
是否官方
时间
搜索引擎
匹配模式
高级搜索

防火墙SSL VPN结合LDAP认证和授权-1.0

2022-02-17 发表
  • 0关注
  • 9收藏 4442浏览
胡伟 九段
粉丝:28人 关注:2人

组网及说明

如下图组网,用户alicebob需要通过防火墙提供的SSL VPN网关接口来访问内网的服务器资源,防火墙使用第三方LDAP服务器进行用户认证,且授权用户alice只能访问server1,用户bob只能访问server2


关于LDAP服务器的组织架构和基本原理,需要事先了解好DNDCOUCN等相关概念,否则会对配置过程产生困难。LDAP服务器目前通常使用微软的Active Directory,参考资料:

1https://blog.csdn.net/jfyy/article/details/86070119 Active Directory的基本概念

2https://blog.csdn.net/qq_38684504/article/details/88125773域服务的建立与测试

配置步骤

一,配置LDAP服务器

1,登录Windows Server,打开【Active Directory用户和计算机】界面,可以查看到系统对应的目录结构信息,比如这里的根目录DNDC=h3c,DC=com,即h3c.com


2,在对应的目录下右键新建所需【组织单位】(即OU),名称为sslvpn或者使用其他名称。



如果目录中已经存在所需的OU,可以直接按照下面方式新建用户即可。

3,在对应的OU下右键新建【用户】(即CN),分别新建名称为alicebob两个用户或者使用其他名称。


这里请将【用户下次登录时须更改密码】去勾选,将【密码永不过期】勾选。

 

按照同样的方式再新建名称为bob的用户。


4,在用户的LDAP授权过程中,设备会通过查询操作得到用户的授权信息,该授权信息由LDAP服务器通过若干LDAP属性下发给设备。若设备从LDAP服务器查询得到某LDAP属性,则该属性只有在被设备的AAA模块解析之后才能实际生效。如果某LDAP服务器下发给用户的属性不能被AAA模块解析,则该属性将被忽略。因此,需要通过配置LDAP属性映射表来指定要获取哪些LDAP属性,以及LDAP服务器下发的这些属性将被AAA模块解析为什么类型的AAA属性,具体映射为哪种类型的AAA属性由实际应用需求决定。每一个LDAP属性映射表项定义了一个LDAP属性与一个AAA属性的对应关系。将一个LDAP属性表在指定的LDAP方案视图中引用后,该映射关系将在LDAP授权过程中生效。

通常情况下,我们将授权特定安全组(即memberof属性)的用户显示特定资源,将LDAP上对应的用户所在的安全组与设备上到用户组(user-group)进行映射,用户组下绑定对应SSL VPN资源,从而为接入用户达到授权的目的。SSL VPN结合LDAP授权流程图如下:


在对应的目录下右键新建【】(即Memberof),分别新建名称为hangzhou或者beijing的两个安全组。

右键点击用户alice 的属性,点击【隶属于】模块,将用户alice与安全组hangzhou关联;同样的,将用户bob与安全组beijing关联。



AD的查看【详细信息的功能打开,点击对应的用户属性,点击【属性编辑器】后可以查看其具体的属性信息。

比如可以查看到用户alice对应的DN(即distinguishname)为:CN=alice,OU=sslvpn,DC=h3c,DC=com


这样就在LDAP服务器上创建好了对应的用户及其隶属信息,接下来可以在防火墙设备做相关的配置了。


二,配置LDAP服务器

1,    配置LDAP

创建LDAP属性映射表,使用用户的memberof属性,即LDAP服务器上为用户所隶属的的【组】。前缀和分隔符参数表示按照一定的格式提取LDAP

属性字符串中的内容映射为AAA属性。其中,前缀表示LDAP属性字符串中的某内容前缀(例如cn=),分隔符表示LDAP属性字符串中的内容分隔符

(例如逗号)。经过上述操作,可以将CN=beijing,OU=sslvpn,DC=h3c,DC=com中的beijing这一关键字顺利提取出来。

新建LDAP方案,引用属性映射表,输入正确且可达的LDAP服务器地址,配置好管理员DN和密码,以及用户查询的起始节点。LDAP客户端以LDAP管理员DN和管理员DN密码为参数向LDAP服务器发送管理员绑定请求报文获得查询权限,服务器管理员(Administrator账户)作为LDAP管理员账户用于设备和LDAP服务器绑定,如果客户Administrator账户由于保密性原因无法提供,也可以使用其他具体查询功能的账户,比如本配置案例中就以用户alice举例,至于DN如何获取可参考上文。用户查询的起始节点通常使用根目录,但是在生产环境中,LDAP服务器上的目录结构可能具有很深的层二,配置LDAP服务器次,如果从根目录进行用户DN的查找,耗费的时间将会较长,因此可以使用一些子目录,但是必须保证SSL VPN用户在此子目录内。

2,新建一个ISP域,选择接入方式为SSL VPN


设置SSL VPN 认证和授权使用上述创建的名称为ldap的方案,由于LDAP不支持计费,所以这里计费勾选为不计费。


3,创建并使能SSL VPN网关。

4,创建SSL VPN IP接入接口即AC口,这里使用IP地址20.1.1.1,并加入好对应的安全域,放通与内网接口的安全策略。

5,创建客户端地址池,地址范围从20.1.1.220.1.1.100。 

6,新建SSL VPN访问实例,引用创建的SSL VPN网关,这里将ISP认证域设置为名称为ldap的认证域。

7,使能IP业务,引用创建好的IP接入接口和客户端地址池,并创建好内网对应的资源。这里rt1192.168.1.0/24允许用户alice访问,rt2192.168.2.0/24允许用户bob访问。



8,创建资源组pg1引用子网资源rt1,资源组pg2引用子网资源rt2。



9,防火墙本地新建名称为hangzhoubeijiang的两个用户组,分别管理SSL VPN策略组pg1pg2。这里用户组名称一定要与LDAP服务器上的安全组名称要保持一致,否则无法进行授权。

    


    10,使用inode拨号,可以看到用户alicebob分别获取到不同的路由。

    使用此cmd命令打印PC上IPv4路由:C:\Users\Administrator>route print -4



至此,防火墙SSL VPN结合LDAP认证和授权已顺利完成。

【命令行主要配置如下(安全策略路由等请自行核对下)】

#

interface GigabitEthernet1/0/1

 ip address 172.31.0.22 255.255.255.0

#

ldap server ldap

 login-dn cn=alice,ou=sslvpn,dc=h3c,dc=com

 search-base-dn dc=h3c,dc=com

 ip 172.31.0.96

 login-password cipher $c$3$NaZlbPm7E/JJ2AvhhuI0nKgvB8FHtUvcdaa5dmo=

#

ldap attribute-map map

 map ldap-attribute memberof prefix cn= delimiter , aaa-attribute user-group

#

ldap scheme ldap

 authentication-server ldap

 authorization-server ldap

 attribute-map map

#

domain ldap

 authentication sslvpn ldap-scheme ldap

 authorization sslvpn ldap-scheme ldap

 accounting sslvpn none

#

user-group beijing

 authorization-attribute sslvpn-policy-group pg2

#

user-group hangzhou

 authorization-attribute sslvpn-policy-group pg1

#

interface SSLVPN-AC0

 ip address 20.1.1.1 255.255.255.0

#

security-zone name Untrust

  import interface GigabitEthernet1/0/1

  import interface SSLVPN-AC0

#

sslvpn ip address-pool ldap 20.1.1.2 20.1.1.100

#

sslvpn gateway ldap

 ip address 0.0.0.0 port 4433

 service enable

#

sslvpn context ldap

 gateway ldap

 ip-tunnel interface SSLVPN-AC0

 ip-tunnel address-pool ldap mask 255.255.255.0

 ip-route-list rt1

  include 192.168.1.0 255.255.255.0

 ip-route-list rt2

  include 192.168.2.0 255.255.255.0

 policy-group pg1

  ip-tunnel access-route ip-route-list rt1

 policy-group pg2

  ip-tunnel access-route ip-route-list rt2

 default-policy-group pg1

 aaa domain ldap

 service enable

#

配置关键点

1,由于LDAP服务器通常使用UTF-8编码格式,但是设备Web界面编码使用GB2312,所以在Web界面配置LDAP方案时,请不要使用中文DN。如需中

文,请用CRT或者Xshell等工具,将编码设置为UTF-8格式,再输入中文。


2,当防火墙设备手工配置dns serverdhcp获取到dns server时,可能会认证失败。建议删除设备上的dns server相关配置。原因是LDAP 服务器会下发URL,目的是要求到URL指定的LDAP服务器上继续查询用户,配置DNS server后如果解析不了URL,就会认证失败。现在去掉DNS server配置相当于让openldap直接走DNS server 不可达逃生流程,中止了查询操作。


3,建议在配置LDAP认证之前,先测试下SSL VPN本地认证是否正常。

该案例对您是否有帮助:

您的评价:1

若您有关于案例的建议,请反馈:

作者在2022-02-17对此案例进行了修订
1 个评论
zhiliao_pVqiBF 知了小白
粉丝:0人 关注:0人

用户移动到其他的ou就不能使用了吧

编辑评论

举报

×

侵犯我的权益 >
对根叔知了社区有害的内容 >
辱骂、歧视、挑衅等(不友善)

侵犯我的权益

×

泄露了我的隐私 >
侵犯了我企业的权益 >
抄袭了我的内容 >
诽谤我 >
辱骂、歧视、挑衅等(不友善)
骚扰我

泄露了我的隐私

×

您好,当您发现根叔知了上有泄漏您隐私的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到pub.zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您认为哪些内容泄露了您的隐私?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)

侵犯了我企业的权益

×

您好,当您发现根叔知了上有关于您企业的造谣与诽谤、商业侵权等内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到 pub.zhiliao@h3c.com 邮箱,我们会在审核后尽快给您答复。
  • 1. 您举报的内容是什么?(请在邮件中列出您举报的内容和链接地址)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
  • 3. 是哪家企业?(营业执照,单位登记证明等证件)
  • 4. 您与该企业的关系是?(您是企业法人或被授权人,需提供企业委托授权书)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

抄袭了我的内容

×

原文链接或出处

诽谤我

×

您好,当您发现根叔知了上有诽谤您的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到pub.zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您举报的内容以及侵犯了您什么权益?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

对根叔知了社区有害的内容

×

垃圾广告信息
色情、暴力、血腥等违反法律法规的内容
政治敏感
不规范转载 >
辱骂、歧视、挑衅等(不友善)
骚扰我
诱导投票

不规范转载

×

举报说明

提出建议

    +

亲~登录后才可以操作哦!

确定

亲~检测到您登陆的账号未在http://hclhub.h3c.com进行注册

注册后可访问此模块

跳转hclhub

你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作