FortiGate & FortiAuthenticator - 使用 Radius 将用户映射到 VPN 组

网络工程 加强 半径 财富网
2022-02-23 17:09:26

我需要你们的帮助,因为我找不到我的设置有任何问题,但它仍然无法正常工作:

我根据 FortiAuthenticator 对我的 Fortigate SSLVPN 用户进行身份验证。我想使用 Radius 属性将一些用户映射到我的 FG 中的防火墙组。我使用了“Fortinet-Group-Name”和“fortinet-Access-profile”属性(设置为“test”)

这是我的 Fortigate 配置:(FAC-Group 用于没有属性的用户,grp-test 用于属性设置为“test”的用户)

config user group
    edit "SSO_Guest_Users"
    next
    edit "FAC-Group"
        set member "FortiAuthenticator"
    next
    edit "grp-test"
        set member "FortiAuthenticator"
        config match
            edit 1
                set server-name "FortiAuthenticator"
                set group-name "test"
            next
        end
    next
end

这是我的调试输出:

[1309] __fnbamd_rad_send-Sent radius req to server 'FortiAuthenticator': fd=16, IP=--------------(------------:1812) code=1 id=100 len=101
 user="domain\user" using PAP
[1179] send_radius_challenge_rsp-Timer of rad 'FortiAuthenticator' is added
[1348] fnbamd_auth_handle_radius_result-Timer of rad 'FortiAuthenticator' is deleted
[1767] fnbamd_radius_auth_validate_pkt-RADIUS resp code 2
[319] extract_success_vsas-FORTINET attr, type 1, val test
[353] extract_success_vsas-FORTINET attr, type 6, val test
[1374] fnbamd_auth_handle_radius_result-->Result for radius svr 'FortiAuthenticator' ---------- is 0
[1304] fnbamd_radius_group_match-Skipping group matching
[1018] find_matched_usr_grps-Skipped group matching
[217] fnbamd_comm_send_result-Sending result 0 (nid 0) for req 1251334245, len=2014
[747] destroy_auth_session-delete session 1251334245
authenticate 'domain\user' against 'pap' succeeded, server=primary assigned_rad_session_id=1251334245 assigned_admin_profile=test s
ession_timeout=0 secs idle_timeout=0 secs!
Group membership(s) - test

如您所见,FortiGate 匹配并提取组名,但仍跳过用户映射到新组。我尝试删除“FAC-Group”,但后来我什至无法连接。

FG:6.4.2 FAC:6.1.2

任何帮助表示赞赏!

1个回答

我刚碰到这个。这是向我解释它的页面的链接。(向下滚动到“陷阱 1:设置组”。)

相关摘录:

如果您将组设置为 Any 以外的任何内容,则将无法正常工作。这可能看起来有点奇怪,例如,您可能希望将 VPN 访问限制为一个名为“VPN 用户”的 AD 组。这会有意义吗?但该组实际上是针对半径服务器可能返回的供应商特定 AV 对的检查,并且与 AD 完全无关。请参阅此链接:https ://kb.fortinet.com/kb/documentLink.do?externalID=FD40923

[...] 结果 0 表示身份验证有效,但随后您会看到组匹配被跳过。这是因为 NPS 服务器没有返回用于匹配的 AV 对 Fortinet-Group-Name。更多详细信息:https ://kb.fortinet.com/kb/documentLink.do?externalID=FD36464

所以基本上你需要以其他方式控制访问。通过单独允许拨入访问。(AD 用户管理器 -> 查找用户 -> 属性 -> 拨入)或通过创建 NPS 策略以允许访问您的 AD 组

我确实找到了一篇 Fortinet 文章,描述了如何使用该组将 Windows NPS 设置为 RADIUS 服务器。我不打算在这里粘贴整篇文章,但这里有一个指向archive.org-saved 版本的链接。

希望有帮助!