【强叔侃墙第二季】18 IP渐欲迷人眼,认证方能辨真身---内置Portal认证

digest [复制链接]
发表于 : 2016-5-5 15:51:36 最新回复:2019-08-16 09:25:21
8313 8
强叔侃墙
强叔侃墙 官方号

关键字:内置Portal认证、本地认证、服务器认证、AD服务器、LDAP服务器、动态组

前期介绍了NGFW用户认证的基础知识,接下来强叔将分几期介绍各类认证方式,本期首先介绍内置Portal认证。

内置Portal认证适用于将NGFW作为认证接入设备,直接由NGFW认证用户的场景。根据认证触发过程不同将内置Portal认证分为会话认证和事前认证两类。

会话认证:当用户访问HTTP80端口)的网页时,流量匹配认证策略,NGFWHTTP业务重定向至内置Portal页面,用户通过认证后才能继续访问网页。

事前认证:当用户访问FTP等非HTTP业务时,用户只能事先访问内置Portal页面进行认证,通过认证后再访问业务。

内置Portal页面的缺省地址是https://接口IP地址:8887,管理员可以修改。

本篇主要以下图为例讲解比较常用的会话认证过程:

572afbc663b5b.png

1、?? 配置认证策略,控制流量必须通过认证才能经过NGFW

572afbd40f1eb.png

2、?? 配置本地用户

572afbe1c2623.png

对应脚本如下:

auth-policy

?rule name test

? source-address 192.168.0.2 32

? action auth

user-manage user test

password *********

3、用户通过浏览器访问http://10.2.2.1/test.html时,被重定向至Portal页面要求进行认证。

572afc23b1f12.png

4、用户输入用户名、密码后,用户在NGFW上线,用户可以正常上网。

572afc3123ab4.png
?

认证前后抓包对比,可以看到认证前用户访问网页时被重定向至https://192.168.0.6:8887

572afc3d7207e.png

用户通过认证后,用户访问网页成功。

572afc494bd2a.png

另外,用户认证成功后缺省显示如下页面,用户需要重新输入需要访问的网页地址。可以通过user-manage redirect [ url url ]命令配置认证后跳转的页面,不指定url代表跳转到认证前访问的网页。

572afc572357c.png

配置内置Portal认证时,安全策略的配置也很关键,下表给出了与内置Portal认证有关的安全策略。第一条是允许用户访问NGFW内置Portal页面的安全策略;第二条是允许用户上网时解析域名的DNS报文通过NGFW的安全策略,因为解析域名后才能发起HTTP连接,进而触发重定向认证。NGFW对触发认证的第一条HTTP连接对应的DNS报文不进行认证,直接透传。

源设备

IP地址

源端口

目的设备

目的IP地址

目的端口

协议

用户

Any

Any

NGFW

192.168.0.6

8887

TCP

用户

Any

Any

DNS服务器

Any

53

DNS

?

本地认证和服务器认证

以上讲了内置Portal认证的基本过程,根据NGFW校验用户名、密码的方式内置Portal认证又可分为本地认证和服务器认证:

l?? 本地认证:通过本地用户校验用户名、密码。

l?? 服务器认证:将用户名、密码转发至认证服务器校验。NGFW支持RADIUSHWTACACSLDAPADSecurID服务器认证。

NGFW根据用户名中携带的“@”后的字符串将用户分流到对应的认证域中,根据认证域中配置的认证方式对用户进行本地或服务器认证。如果用户名中没有携带“@”,则属于缺省的default认证域。

572afc743d3c2.png

上一节的内置Portal认证就是以本地认证为例讲解的,比较简单,只需配置本地用户即可。

以下重点围绕服务器对接、用户/组导入、新用户选项三个概念介绍服务器认证。

【认证服务器对接】

服务器认证的重点是NGFW与认证服务器的对接,对接成功后认证服务器才能接收NGFW转发的用户名、密码。

本文以比较常用的微软的AD服务器为例讲解对接过程,LDAP服务器其实与AD服务器类似,都是以目录的形式存储用户信息。

让我们先看下AD服务器长什么样?AD服务器是以域名为顶级节点的树形目录结构,域名下级有组织单位(部门)和用户。

572afc85e8818.png

但是一看NGFWAD服务器对接参数就有点傻眼了,各种字段怎么与AD服务器对应啊?

572afc902478c.png

这就需要借助AD/LDAP服务器查看工具,一探究竟目录树的内部结构。使用微软的AD Explorer工具连接到AD服务器上可以看到AD服务器的每一个条目都是由一些列属性、对应的属性值组成的。常用的属性如下表所示:

属性

说明

DC(域控制器)

代表域名,可以分多级。

OU(组织单位)

相当于分级组织的部门。

NGFWOU作为组过滤字段,取OU的取值作为NGFW上的用户组名。

CN(通用名称)

除域、组织单位以外的对象名称,例如组名称、用户名称等。

Distinguished NameDN,区别名)

唯一标识某个节点在目录树上的位置,相当于从第一级域名到该节点所在位置的路径。

例如下图中组织单位employeeDNOU=employee,DC=cce,DC=com

sAMAccountName

用户的登录名,也就是用户登录使用的帐号。

NGFWsAMAccountName作为用户过滤字段,取sAMAccountName的取值作为NGFW上的用户登录名。

借助AD Explorer可以非常方便地完成AD服务器对接配置。

572afca38c2e2.png

AD服务器对接是服务器认证的难点,除了本贴中讲的内容,强叔还奉上了视频讲解,妹子配音哦。

?20161202102918705001.png

以上介绍了AD服务器对接过程。NGFW与其他LDAP服务器对接的常用属性如下,不具体展开介绍了。

项目

Sun ONE LDAP属性

Open LDAP属性

域名

DC

DC

组织单位(组过滤字段)

OU

OU

区别名(DN

DN

DN

用户ID(用户过滤字段)

UID

CN

?

【用户/组导入】

不是认证服务器校验用户名、密码吗?为啥还要将服务器的用户导入到NGFW呢?这是因为NGFW需要在策略中引用用户或用户组进行权限控制。将认证服务器上的组织结构导入NGFW,用户在NGFW上对应的用户所属组上线,享有用户或用户组的权限。

NGFW支持从AD服务器、Sun ONE LDAP服务器、Open LDAP服务器和TSM服务器(即华为公司的Agile Controller)导入用户。其他类型服务器的用户只能通过CSV文件导入。

从服务器导入用户/组需要配置服务器导入策略:

572afcb437a74.png

上图中的参数都比较好理解,解释几个重点参数:

导入类型:根据权限控制方式可选择不同导入类型,例如需要同时基于用户组(部门)和用户配置策略,则选择“导入用户和用户组到本地”;仅通过用户所属用户组(部门)配置策略,则选择“仅导入用户组到本地”。

导入到用户组:指的是将服务器上用户导入到NGFW的位置。对于AD/LDAP服务器导入,该组只能是与服务器上用户域名同名的认证域或default认证域下的组。对于TSMController)导入只能是default认证域下的组。

什么叫“与服务器上用户域名同名的认证域”呢?,例如AD服务器的域名是DC=cce,DC=com,那么NGFW上与其同名的认证域就是cce.com

过滤参数:用于从AD/LDAP服务器过滤需要导入到NGFW的信息,在执行导入操作时,服务器会根据该过滤条件搜索满足条件的用户/用户组/安全组信息,发送给NGFW

一般情况下,NGFW为各种服务器预置的过滤参数已经可以满足需要。如果管理员非常了解AD/LDAP服务器的过滤语法,可以根据需要修改。

过滤参数是由一系列属性以及运算符组成的过滤语句,oucn已经介绍过分别代表服务器上的组织单位、用户名称,现在介绍一下新出现的objectClassgroupType

AD/LDAP服务器中,一个条目必须包含一个objectClass属性,且至少需要赋予一个值。每个值都相当于一个数据存储的模板,类似于软件中的Class,模板中规定了属于这个objectClass的条目的必选属性和可选的属性。

例如,AD服务器上的用户的objectClass包含toppersonorganizationalPersonuser

572afcd0211ce.png

通过在过滤参数中指定objectClass,确定了NGFWAD服务器的搜索范围。

看完了objectClass再来看groupType,在上一篇“用户与认证基础”中,介绍过NGFW的安全组对应AD服务器的安全组、LDAP服务器的静态组/动态组。其中AD服务器的安全组分为本地域安全组、全局安全组和通用安全组,每个安全组使用groupType属性标识组类型。下图的group3的组类型是本地域安全组。

572afcdaaddd9.png

除属性外,过滤参数中还有=(等于)、>=(大于等于)、<=(小于等于)、*(通配符)、&(与)、|(或)、!(非)等运算符。

现在我们再回过头来看AD服务器的4个缺省过滤参数的含义:

属性

说明

用户

(&(|(objectclass=person)(objectclass=organizationalPerson))(cn=*)(!(objectclass=computer)))

搜索objectClass包含personorganizationalPerson但不包含computer,且cn属性有值的条目作为NGFW的用户。

用户组

(|(objectclass=organizationalUnit)(ou=*))

搜索objectClassorganizationalUnitou属性有值的条目作为NGFW的用户组。

安全组

(&(objectclass=group)(|(grouptype=-2147483640)(grouptype=-2147483644)(grouptype=-2147483646)))

搜索本地域安全组、全局安全组和通用安全组作为NGFW中的安全组。

用户属性

sAMAccountName

表示搜索到用户条目后,取条目的sAMAccountName属性作为NGFW上的用户名。

前边已经提到,确实有定制需求时才会修改上述的过滤参数,例如查询AD服务器上所有姓张且邮件地址中包含163的用户,用户的过滤语句为:(&(sn=*)(mail=163*))

【新用户选项】

新用户指的是通过了认证服务器的认证,但是在NGFW不存的用户。之所以提出这个概念,还是因为用户需要在NGFW的某个用户组上线,然后享有这个组的权限。因此当用户不在本地时,需要通过认证域下的新用户选项功能指定其所属组。

572afceb5f403.png

从上图可以看到,分为不允许新用户登录、将用户加入本地、作为临时用户上线三个选项,都比较好理解。只解释一下“选择服务器导入策略”这个参数:

l? 当选择“添加到指定的用户组或安全组中”时,如果配置“选择服务器导入策略”,则通过服务器导入策略自动将用户及其组织结构导入到NGFW

此种方式的应用场景是已经将服务器上整个组织结构导入到NGFW, 有基于具体用户控制权限的需求。当发现有新用户时,自动导入用户。

l? ?当选择“仅作为临时用户,不添加到本地用户列表中”时,如果配置“选择服务器导入策略”,则用户在NGFW上与服务器对应的所属组上线。

此种方式的应用场景是仅将服务器上的组织单位或安全组导入到NGFW,基于用户所属组控制权限。所有通过认证的用户对于NGFW来说都是新用户,通过选择导入策略使新用户在与服务器对应的所属组上线,使用该组权限。

光说不练假把式,下边给出两个配置示例。

示例一:AD服务器认证

572afcf73fb14.png

用户访问Internet时必须经过NGFW认证,NGFW转发认证请求至AD服务器认证。

1、? 配置认证策略,控制用户访问Internet需要认证。

572afd0059fe3.png

2、? 配置AD服务器对接。

572afd0abba44.png

配置完成后,单击检测可以使用AD服务器上存在的用户名、密码检测AD服务器连通性。

3、? 创建认证域,只能使用default认证域或与服务器同名的认证域。这里以服务器同名认证域cce.com为例。

572afd186490c.png

4、? 配置导入策略。

只将用户组导入用户,基于用户组控制用户权限。

572afd220107e.png

5、? 配置认证域的认证服务器、新用户选项。

572afd2c85291.png

以上配置对应脚本如下:

ad-server template ad_server???????????

?ad-server authentication 10.2.0.155 88??????

?ad-server authentication base-dn dc=cce,dc=com

?ad-server authentication manager cn=administrator,cn=users Admin@123

?ad-server authentication host-name info-server.cce.com

?ad-server authentication ldap-port 389??????

?ad-server user-filter sAMAccountName????????

?ad-server group-filter ou?

#

auth-policy

?rule name test

? source-zone trust

? destination-zone ?untrust

? source-address 192.168.0.0 24

? action auth

#?

user-manage import-policy ad_import from ad

?server template ad_server

?server basedn dc=cce,dc=com

server searchdn dc=cce,dc=com

?destination-group /cce.com

?user-attribute sAMAccountName

?user-filter (&(|(objectclass=person)(objectclass=organizationalPerson))(cn=*)(!(objectclass=computer)))

?group-filter (|(objectclass=organizationalUnit)(ou=*))

?import-type group?????????

?sync-mode incremental schedule interval 120

sync-mode full schedule daily 01:00

#

aaa

authentication-scheme ad

??authentication-mode ad

#

?domain cce.com

authentication-scheme ad

? ad-server ad_server

? service-type internetaccess

? new-user add-temporary group /cce.com auto-import ad_import

?

完成上述配置后,用户访问Internet时将被NGFW重定向至Portal页面,用户输入用户名@cce.com、密码进行认证

上述步骤省略了允许NGFW访问AD服务器、允许用户访问Portal页面、允许上网时解析域名的DNS报文通过NGFW的安全策略配置,实际使用注意配置。

?

示例二:Sun ONE LDAP服务器认证、动态安全组控制权限

NGFW通过Sun ONE LDAP服务器对用户进行认证,并且基于Sun ONE LDAP服务器中的动态组控制用户权限,符合安全组过滤条件的用户的权限相同。

这里以如下动态组举例,用户ID包含“user”的用户都属于test组。

572afd398edd1.png

Sun ONE LDAP上创建动态组的步骤比较简单,动态组的过滤条件是由用户属性组成的语句,具体步骤可以查阅Sun ONE LDAP对应的文档。

NGFW配置如下:

1、? 配置认证策略,控制用户访问Internet需要认证。

572afd4d514f6.png

2、? 配置LDAP服务器对接。

通过LDAP Browser软件连接到Sun ONE LDAP服务器可以清晰地看到服务器的属性。

572afd5a7e836.png

3、 配置导入策略将安全组导入NGFW

572afd67cdb3b.png

注意使用动态安全组功能时,服务器导入类型不能包含用户,用户只能作为临时用户动态地在其所属动态安全组上线。

导入到本地的动态安全组如下图所示,有的防火墙版本不支持导入服务器中的过滤条件,此时就要手动配置过滤条件了。

572afd72000a9.png

4、 配置认证域的认证服务器、新用户选项。

只能使用default认证域或与服务器同名的认证域,这里以default认证域为例。

572afd7e2501b.png

使用动态安全组功能时,新用户选项必须配置为临时用户,并指定服务器导入策略。即使NGFW上的动态安全组是手动创建的也必须指定导入策略,导入策略的导入的类型可以随意配置。

以上配置对应脚本如下:

ldap-server template ldap_server

?ldap-server authentication 10.7.1.8 389???????????

?ldap-server authentication base-dn dc=svn5000test,dc=com?????????

?ldap-server authentication manager uid=manager_user Admin@123

?ldap-server group-filter ou

?ldap-server user-filter uid

?ldap-server server-type sun-one

undo ldap-server authentication manager-with-base-dn enable

#

auth-policy

?rule name test

? source-zone trust

? destination-zone ?untrust

? source-address 192.168.0.0 24

? action auth

#?

user-manage import-policy ldap_import from ldap

?server template ldap_server

?server basedn dc=svn5000test,dc=com

server searchdn dc=svn5000test,dc=com

user-attribute uid

?user-filter (&(|(objectclass=person)(objectclass=organizationalPerson))(uid=*))

?group-filter (|(objectclass=organizationalUnit)(ou=*))

(|(objectclass=organizationalUnit)(ou=*))

security-group-filter (&(objectclass=groupofuniquenames)(!(memberURL=*)))

?import-type security-group?????????

?sync-mode incremental schedule interval 120

sync-mode full schedule daily 01:00

#

aaa

authentication-scheme ldap

??authentication-mode ldap

#

?domain default

authentication-scheme ldap

? ldap-server ldap_server

? service-type internetaccess

? new-user add-temporary group /cce.com auto-import ldap_import

完成上述配置后,用户在test安全组上线。

572afd8f487ed.png

内部的处理过程:用户认证时NGFW依次将用户ID与每个动态安全组的过滤条件拼装成过滤器,然后根据过滤器到认证域对应的LDAP服务器上查找是否存在该用户,如果存在,则用户属于这个动态安全组。

抓包可以清楚地看到NGFWuid=user_0002与动态安全组的过滤条件拼接成过滤器,然后向LDAP服务器发起查询操作,LDAP服务器返回查询结果。

572afd996d3fe.png

除了Sun ONE LDAP服务器,NGFW还支持向AD服务器查询是用户是否属于动态安全组,区别在于AD服务器上不支持动态安全组这个对象,因此只能在NGFW上手动创建而不支持导入。

?

【返回汇总贴】

?

本帖最后由 强叔侃墙 于 2016-12-02 10:29 编辑

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

本帖被以下专题推荐:

  • x
  • 常规:

点评 回复

跳转到指定楼层
我只是调设备的
我只是调设备的  导师 发表于 2016-5-5 19:58:57 已赞(0) 赞(0)

一如既往的点赞

  • x
  • 常规:

点评 回复

li yue
li yue   发表于 2016-5-5 20:13:12 已赞(0) 赞(0)

多谢分享!

  • x
  • 常规:

点评 回复

zjmx_wuhan
zjmx_wuhan   发表于 2016-6-12 15:33:57 已赞(0) 赞(0)

学习一下,非常实战

  • x
  • 常规:

点评 回复

Nana00
Nana00  新锐 发表于 2016-5-15 21:52:45 已赞(0) 赞(0)

赞!多谢分享!

  • x
  • 常规:

点评 回复

脑袋不好使
脑袋不好使   发表于 2016-5-12 19:06:32 已赞(0) 赞(0)

AD对接有用
  • x
  • 常规:

点评 回复

纳兰诺兰
纳兰诺兰   发表于 2017-2-3 16:31:07 已赞(0) 赞(0)

防火墙内置portal认证,支持多少个账号?
  • x
  • 常规:

点评 回复

jx142_liuz.w
jx142_liuz.w   发表于 2017-3-21 15:47:54 已赞(0) 赞(0)

感谢分享
  • x
  • 常规:

点评 回复

GhostBoy
GhostBoy   发表于 2019-8-16 09:25:21 已赞(0) 赞(0)

不错【强叔侃墙第二季】18 IP渐欲迷人眼,认证方能辨真身---内置Portal认证-3035721-1【强叔侃墙第二季】18 IP渐欲迷人眼,认证方能辨真身---内置Portal认证-3035721-2【强叔侃墙第二季】18 IP渐欲迷人眼,认证方能辨真身---内置Portal认证-3035721-3【强叔侃墙第二季】18 IP渐欲迷人眼,认证方能辨真身---内置Portal认证-3035721-4【强叔侃墙第二季】18 IP渐欲迷人眼,认证方能辨真身---内置Portal认证-3035721-5
  • x
  • 常规:

点评 回复

发表回复
您需要登录后才可以回帖 登录 | 注册

警告 内容安全提示:尊敬的用户您好,为了保障您、社区及第三方的合法权益,请勿发布可能给各方带来法律风险的内容,包括但不限于政治敏感内容,涉黄赌毒内容,泄露、侵犯他人商业秘密的内容,侵犯他人商标、版本、专利等知识产权的内容,侵犯个人隐私的内容等。也请勿向他人共享您的账号及密码,通过您的账号执行的所有操作,将视同您本人的行为,由您本人承担操作后果。详情请参看“隐私声明
如果附件按钮无法使用,请将Adobe Flash Player 更新到最新版本!
登录参与交流分享

登录参与交流分享

登录