radius客户端的每个IP多个机密

时间:2017-01-07 14:48:18

标签: freeradius

我有各种连接到我的radius系统的路由器,它们的IP可能会因为它通过NAT网络遍布整个网络而改变。

每个路由器都有一个唯一的secret。所有在本地数据库中都知道

现在我希望以每个路由器可以使用自定义secret通过任何IP进行身份验证的方式设置半径,但是freeradius不会让我像这样配置它: / p>

client 0.0.0.0/0 {
    shortname = test1
    secret = AA
}   
client 0.0.0.0/0 {
    shortname = test2
    secret = AB
}

有没有办法让我可以禁用freeradius IP检查(并仅检查秘密?),或者强制客户端(/ ip)拥有多于1个密钥?

遗憾的是,重新配置所有相同的秘密是不可能的,因为一些路由器已经部署了非常有限的网络访问。

我正在使用:

 freeradius: FreeRADIUS Version 2.2.8, for host x86_64-pc-linux-gnu, built on Apr  5 2016 at 13:40:43
 Copyright (C) 1999-2015 The FreeRADIUS server project and contributors.

1 个答案:

答案 0 :(得分:1)

为什么你想要的东西不能单独使用RADIUS / FreeRADIUS

FreeRADIUS在数据包解码之前将数据包进行客户端匹配。在执行匹配之前解码数据包会使对服务器的DoS攻击更容易,因为虚假请求会导致服务器使用更多的CPU时间。

忽略这个秘密也不是一个选择。接入点使用该密钥来解码受保护的属性,例如WPA2 Enterprise的MPPE密钥属性。

对于使用PAP的带围墙的花园,共享密钥用于加密用户提供的明文密码,因此如果您不知道共享密钥,则无法获得明文值以进行验证。

在v4.0.x中,计划是将来自未知IP地址的数据包发送到工作线程进行处理。此时,工作人员将完全了解所有属性,并可以使用该附加信息将秘密绑定到IP地址。

它仍然不允许您使用RADIUS属性映射传入的数据包,但是您不太可能看到两个AP交换其WAN IP的冲突...除了可能在具有小型公共池的CGN环境中。< / p>

可用选项

  • 使用RADSEC(DTLS / TLS)。客户端使用证书进行验证,共享密钥已修复。
  • 在AP和RADIUS服务器之间建立隧道(L2TP / IPSEC / PPP)。用它来提供一致的本地IP地址。
  • 运行AP双栈,希望绕过NAT。一些ISP已经开始提供具有前缀委派的IPv6连接。在这些情况下,CPE后面的所有设备都可以获得可公开访问的IPv6地址。前缀可能会偶尔发生变化,因此您需要使用某种“电话主页”系统,AP可以通知服务器其公共地址。
  • 开发自己的软件,监听传入的RADIUS数据包,并检查IP是否与客户端数据库中的IP匹配。如果没有,它会尝试所有共享机密,看看是否有任何可用于验证数据包内容,然后更新该客户端的IP绑定。这可能最适合您的一组限制。

我认为还有一些针对v2.x.x的补丁,它允许使用已解码的属性创建动态客户端,但v2.x.x在一段时间之前就被EOL了,并且它们没有得到官方支持。