• HCIE-Security Day47:AC准入控制MAC


    MAC认证是一种基于接口和终端MAC地址对用户的访问权限进行控制的认证方法。

    特点

    免安装:用户终端不需要安装任何客户端软件。

    免输入:认证过程中,不需要手动输入用户名和口令。

    哑终端友好:能够对不具备802.1x认证能力的终端进行认证,比如打印机和传真机等哑终端。

    C/S架构:终端、接入设备、认证服务器

    用户名形式

    进行mac认证时使用的用户名和密码需要在接入设备上预先配置。

    缺省情况下,终端进行mac认证时使用的用户名和密码均为终端的mac地址。

    MAC认证时使用的用户名

    密码

    适用场景

    终端的MAC地址

    两种形式:

    1. 终端的MAC地址
    2. 指定的密码

    客户端少量部署且MAC地址容易获取的场景,例如对少量接入网络的打印机进行认证。

    指定的用户名

    指定的密码

    由于同一个接口下可以存在多个终端,此时所有终端均使用指定的用户名和密码进行MAC认证,服务器端仅需要配置一个账户即可满足所有终端的认证需求,适用于终端比较可信的网络环境。

    DHCP选项,有三种形式:

    • circuit-id子选项
    • remote-id子选项
    • circuit-id子选项和remote-id子选项的组合

    指定的密码

    该场景下终端需通过DHCP方式获取IP地址,且需保证DHCP报文能够触发MAC认证。

    认证流程

    对于MAC认证用户密码的处理,有PAP和CHAP两种方式:

    PAP:设备将MAC地址、共享密钥、随机值依次排列后,经过HASH处理后封装在属性“user-password”中。

    CHAP:设备将CHAP ID、MAC地址、随机值依次排列后,经过HASH处理后封装在属性“CHAP-Password”和“CHAP-Challenge”中。

    pap方式

    1、接入设备收到终端发送的arp/dhcp/dhcpv6/nd报文,触发MAC认证。

    2、设备随机生成一个随机值,并对MAC认证用户的MAC地址、共享密钥、随机值依次排列后经过MD5算法进行HASH处理,然后将用户名、HASH处理结果以及随机值封装在RADIUS认证请求报文中发送给RADIUS服务器,请求RADIUS服务器对该终端进行MAC认证。

    3、RADIUS服务器使用收到的随机值对本地数据库中对应mac认证用户进行mac地址、共享密钥、随机值依次排列后经过md5算法进行HASH处理,如果与设备发来的值相同,则向设备发送认证接受报文,表示终端mac认证成功,允许该终端访问网络。

    chap方式

    认证授权

    认证用于确认尝试接入网络的用户身份是否合法,而授权则用于指定身份合法的用户所能拥有的网络访问权限,即用户能够访问哪些资源。授权最基础也是最常使用的授权参数是VLAN、ACL和UCL组。

    vlan

    为了将受限的网络资源与未认证用户隔离,通常将受限的网络资源和未认证的用户划分到不同的VLAN。用户认证成功后,认证服务器将指定VLAN授权给用户。此时,设备会将用户所属的VLAN修改为授权的VLAN,授权的VLAN并不改变接口的配置。但是,授权的VLAN优先级高于用户配置的VLAN,即用户认证成功后生效的VLAN是授权的VLAN,用户配置的VLAN在用户下线后生效。RADIUS服务器授权VLAN时,必须同时使用以下RADIUS标准属性:

    • Tunnel-Type:必须配置为“VLAN”或“13”
    • Tunnel-Medium-Type:必须配置为“802”或“6”
    • Tunnel-Private-Group-ID:可以是VLAN ID、VLAN描述

    ACL

    用户认证成功后,认证服务器将指定ACL授权给用户,则设备会根据该ACL对用户报文进行控制。

    • 如果用户报文匹配到该ACL中动作为permit的规则,则允许其通过。
    • 如果用户报文匹配到该ACL中动作为deny的规则,则将其丢弃。

    RADIUS服务器授权ACL有两种方法:

    • 授权静态ACL:RADIUS服务器通过RADIUS标准属性Filter-Id将ACL ID授权给用户。为使授权的ACL生效,需要提前在设备上配置相应的ACL及规则。
    • 授权动态ACL:RADIUS服务器通过华为RADIUS扩展属性HW-Data-Filter将ACL ID及其ACL规则授权给用户。ACL ID及其ACL规则需要在RADIUS服务器上配置,设备上不需要配置。

    UCL

    用户控制列表UCL组(User Control List)是网络成员的集合。UCL组里面的成员,可以是PC、手机等网络终端设备。借助UCL组,管理员可以将具有相同网络访问策略的一类用户划分为同一个组,然后为其部署一组网络访问策略,满足该类别所有用户的网络访问需求。相对于为每个用户部署网络访问策略,基于UCL组的网络控制方案能够极大的减少管理员的工作量。RADIUS服务器授权UCL组有两种方式:

    • 授权UCL组名称:RADIUS服务器通过RADIUS标准属性Filter-Id将UCL组名称授权给指定用户。
    • 授权UCL组ID:RADIUS服务器通过华为RADIUS扩展属性HW-UCL-Group将UCL组ID授权给指定用户。无论是哪一种授权UCL组方式,都必须提前在设备上配置相应的UCL组及UCL组的网络访问策略。

    free-rule

    用户认证成功之前,为满足用户基本的网络访问需求,需要用户认证成功前就能获取部分网络访问权限。可在free-rule模板中配置free-rule规则,满足用户的认证成功前的网络访问需求。

    用户的free-rule可以通过普通的free-rule定义,也可以通过ACL定义。普通的free-rule由IP地址、MAC地址、接口、VLAN等参数确定;通过ACL定义的free-rule由ACL规则确定。两种方式定义的free-rule都能够指定用户无需认证就可以访问的目的IP地址。除此之外,ACL定义的free-rule还能够指定用户认证成功前就可以访问的目的域名。

    基于域名定义用户的free-rule有时要比基于IP地址简单方便。例如,某些认证用户由于没有认证账号,必须首先在运营商提供的官方网站上注册申请会员账号;或者通过微博、微信等第三方账号进行登录。这就要求用户认证通过前,能够访问特定的网站。由于用户记忆网站的域名要比记忆其IP地址容易的多,所以,此时可以通过ACL定义的free-rule,指定用户认证成功前即可访问以上网站域名。

    实验案例

    实验拓扑

    配置思路

    1、底层网络互通配置

    2、交换机mac认证配置

    3、ac配置

    3.1、添加mac认证设备

    3.2、配置认证规则

    3.3、配置授权结果

    3.4、配置授权规则

    3.5、验证结果

    具体配置

    1、防火墙基础配置

    1. #接口配置
    2. sys fw1
    3. int g0/0/0
    4. ip add 192.168.0.10 24
    5. int g0/0/1
    6. ip add 10.1.1.10 24
    7. int g0/0/3
    8. ip add 192.168.1.10 24
    9. int g0/0/2
    10. ip add 202.100.1.10 24
    11. #配置安全区域
    12. fire zone trust
    13. add int g0/0/1
    14. fire zone dmz
    15. add int g0/0/3
    16. fire zone untrust
    17. add int g0/0/2
    18. quit
    19. ip route-static 0.0.0.0 0 202.100.1.254
    20. ip route-static 10.1.2.0 24 10.1.1.254
    21. user-interface con 0
    22. id 0

    2、路由器配置

    1. sys ISP
    2. undo int vlanif1
    3. acl 2000
    4. rule permit
    5. int g0/0/0
    6. undo portswitch
    7. nat outbound 2000
    8. ip add dhcp-alloc
    9. int g0/0/1
    10. undo portswitch
    11. ip add 202.100.1.254 24
    12. quit
    13. ip route-static 10.1.0.0 16 202.100.1.10
    14. user-interface con 0
    15. id 0

    3、接入交换机配置MAC认证

    3.1、创建并配置radius服务器模板

    1. #配置radius
    2. radius-server template RADIUS-POLICY
    3. radius-server shared-key cipher Huawei@123
    4. radius-server authentication 192.168.1.100 1812
    5. radius-server accounting 192.168.1.100 1813
    6. quit
    7. radius-server auththorization 192.168.1.100 shared-key cipher Huawei@123

    3.2、创建并配置AAA认证、计费方案

    1. aaa
    2. authentication-scheme AUTH
    3. authentication-mode radius
    4. accounting-scheme ACCOUNT
    5. accounting-mode radius
    6. accounting realtime 3

    3.3、配置认证域,并在其上绑定aaa认证、计费方案、radius服务器模板

    1. aaa
    2. domain default
    3. authentication-scheme AUTH
    4. accounting-scheme ACCOUNT
    5. radius-server RADIUS-POLICY

    3.4、在认证模板下绑定MAC模板并在接入接口下调用认证模板

    1. #配置MAC认证
    2. #统一模式
    3. #第一步:配置接入模板
    4. mac-access-profile name MAC-ACC-PROFILE
    5. #第二步:配置认证模板
    6. authentication-profile name AUTH-RPOFILE
    7. mac-access-profile MAC-ACC-PROFILE #调用MAC模板
    8. #第三步:接口下应用认证模板
    9. interface GigabitEthernet0/0/9
    10. authentication-profile AUTH-RPOFILE #调用认证模

    4、ac配置

    4.1、增加接入设备

    资源---设备--设备管理---所有设备----添加

    新增设备组--接入设备,并将刚刚增加的设备接入设备移动到接入设备组

    4.2、添加终端设备

    资源--终端---终端列表--增加设备组

    在设备组内增加设备,注意提前获知设备mac地址00-50-56-9E-CE-30

    4.3、配置认证规则

    创建认证规则

    选择mac旁路认证业务

    关联接入设备组

    关联终端设备组

    注意和dot1x的区别是不需要关联认证协议。

    4.4、配置动态acl

    4.5、配置授权结果

    新增授权结果

    关联动态acl

    4.6、配置授权规则

    新增授权规则

    关联接入设备组

    关联终端设备组

    关联授权结果

    5、验证结果

    0、在终端pc上访问公网

    1、在sw上检查在线用户

    1. [sw1]dis access-user
    2. UserID Username IP address MAC Status
    3. 19 0050569ece30 10.1.2.1 0050-569e-ce30 Success
    4. Total: 1, printed: 1

    2、检查在线用户详细信息

    1. [sw1]dis access-user user-id 19
    2. Basic:
    3. User ID : 19
    4. User name : 0050569ece30
    5. Domain-name : default
    6. User MAC : 0050-569e-ce30
    7. User IP address : 10.1.2.1
    8. User vpn-instance : -
    9. User IPv6 address : -
    10. User access Interface : GigabitEthernet0/0/9
    11. User vlan event : Success
    12. QinQVlan/UserVlan : 0/11
    13. User vlan source : user request
    14. User access time : 2021/02/10 09:53:31
    15. User accounting session ID : sw100009000000011ac****0000013
    16. Option82 information : -
    17. User access type : MAC
    18. Terminal Device Type : Data Terminal
    19. Service Scheme Priority : 0
    20. AAA:
    21. User authentication type : MAC authentication
    22. Current authentication method : RADIUS
    23. Current authorization method : -
    24. Current accounting method : RADIUS

    3、ac检查日志

  • 相关阅读:
    学校网页设计成品 基于HTML+CSS+JavaScript仿山东财经大学官网 学校班级网页制作模板 校园网页设计成品
    Reactor反应器模式
    FPGA与CPU进行数据通信有哪些方法?
    短视频创作,变现的建议、变现方式和举例,建议收藏反复阅读-上
    FPGA - 7系列 FPGA SelectIO -05- 逻辑资源之OLOGIC
    K8s配置集群自动LoadBalancer以及IstioGateWay
    java调用其他项目接口
    详解Renko图表如何表现价格变动
    UI自动化测试 —— Jenkins配置
    多种DNS的详细搭建方案和实现步骤,自建DNS防止DNS污染、DNS劫持,包括基于bind的named、dnsmasq、c-l-a-s-hdns等。
  • 原文地址:https://blog.csdn.net/qq_36813857/article/details/126492706