AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 397087
Accepted
mgorven
mgorven
Asked: 2012-06-09 15:28:07 +0800 CST2012-06-09 15:28:07 +0800 CST 2012-06-09 15:28:07 +0800 CST

Auth-Type :- RADIUS 用户文件中的拒绝匹配内部隧道请求但发送 Access-Accept

  • 772

我在 Ubuntu 10.04.4 上使用 FreeRADIUS 2.1.8 与 OpenLDAP 进行了 WPA2 802.11x EAP 身份验证设置,并且可以使用 PEAP/MSCHAPv2、TTLS/MSCHAPv2 和 TTLS/PAP(均通过 AP 和使用eapol_test)成功进行身份验证。我现在正在尝试根据用户所属的 LDAP 组限制对特定 SSID 的访问。

我已经/etc/freeradius/modules/ldap像这样配置了组成员身份检查:

groupname_attribute = cn
groupmembership_filter = "(|(&(objectClass=posixGroup)(memberUid=%{User-Name}))(&(objectClass=posixGroup)(uniquemember=%{User-Name})))"

并且我已经根据Mac Auth wiki 页面配置了将 SSID 从 Called-Station-Id 提取到 Called-Station-SSID 中。我启用了将属性从外部隧道复制到内部隧道,并在/etc/freeradius/eap.conf外部隧道中使用内部隧道响应(对于 PEAP 和 TTLS)。但是,在更改这些选项之前,我有相同的行为。

copy_request_to_tunnel = yes
use_tunneled_reply = yes

我eapol_test像这样运行来测试设置:

eapol_test -c peap-mschapv2.conf -a 172.16.0.16 -s testing123 -N 30:s:01-23-45-67-89-01:Example-EAP

使用以下peap-mschapv2.conf文件:

network={
    ssid="Example-EAP"
    key_mgmt=WPA-EAP
    eap=PEAP
    identity="mgorven"
    anonymous_identity="anonymous"
    password="foobar"
    phase2="autheap=MSCHAPV2"
}

在以下内容中/etc/freeradius/users:

DEFAULT Ldap-Group == "employees"

并运行freeradius-Xx,我可以看到 LDAP 组检索有效,并且提取了 SSID。

Debug:   [ldap] performing search in dc=example,dc=com, with filter (&(cn=employees)(|(&(objectClass=posixGroup)(memberUid=mgorven))(&(objectClass=posixGroup)(uniquemember=mgorven))))
Debug: rlm_ldap::ldap_groupcmp: User found in group employees
...
Info:        expand: %{7} -> Example-EAP

接下来我尝试只允许employees组中的用户访问(不管 SSID 是什么),所以我将以下内容放入/etc/freeradius/users:

DEFAULT Ldap-Group == "employees"

DEFAULT Auth-Type := Reject

但这会立即拒绝外部隧道中的访问请求,因为anonymous用户不在employees组中。所以我将其修改为仅匹配内部隧道请求,如下所示:

DEFAULT Ldap-Group == "employees"

DEFAULT FreeRADIUS-Proxied-To == "127.0.0.1"
        Auth-Type := Reject, Reply-Message = "User does not belong to any groups which may access this SSID."

现在组中的用户已employees通过身份验证,但不在employees组中的用户也已通过身份验证。我看到拒绝条目被匹配,并且设置了回复消息,但客户端收到了一个访问接受。

Debug: rlm_ldap::ldap_groupcmp: Group employees not found or user is not a member.
Info: [files] users: Matched entry DEFAULT at line 209
Info: ++[files] returns ok
...
Auth: Login OK: [mgorven] (from client test port 0 cli 02-00-00-00-00-01 via TLS tunnel)
Info:   WARNING: Empty section.  Using default return values.
...
Info: [peap] Got tunneled reply code 2
        Auth-Type := Reject
        Reply-Message = "User does not belong to any groups which may access this SSID."
...
Info: [peap] Got tunneled reply RADIUS code 2
        Auth-Type := Reject
        Reply-Message = "User does not belong to any groups which may access this SSID."
...
Info: [peap] Tunneled authentication was successful.
Info: [peap] SUCCESS
Info: [peap] Saving tunneled attributes for later
...
Sending Access-Accept of id 11 to 172.16.2.44 port 60746
        Reply-Message = "User does not belong to any groups which may access this SSID."
        User-Name = "mgorven"

和eapol_test报告:

RADIUS message: code=2 (Access-Accept) identifier=11 length=233
   Attribute 18 (Reply-Message) length=64
      Value: 'User does not belong to any groups which may access this SSID.'
   Attribute 1 (User-Name) length=9
      Value: 'mgorven'
...
SUCCESS

为什么请求没有被拒绝,这是实现它的正确方法吗?

ldap wpa2 radius freeradius eap
  • 1 1 个回答
  • 5305 Views

1 个回答

  • Voted
  1. Best Answer
    mgorven
    2012-06-13T14:29:01+08:002012-06-13T14:29:01+08:00

    出于某种奇怪的原因,设置Auth-Type是检查项,而不是回复项,因此必须在规则的第一行完成。以下工作正常:

    DEFAULT FreeRADIUS-Proxied-To == "127.0.0.1", Auth-Type := Reject
        Reply-Message = "User does not belong to any groups which may access this SSID."
    
    • 1

相关问题

  • Cygwin sshd 和 LDAP 身份验证

  • 从 OpenLDAP 检索操作属性

  • 为 Mac 网络使用 Linux 和 Open LDAP

  • 使用LDAP服务器身份验证的Linux中单个用户的多个登录名

  • 使用 smbldap 管理用户/组的 Web 前端

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve