如何从iOS获取内部隧道中的用户密码

时间:2015-04-19 16:18:05

标签: freeradius

我正在尝试设置freeradius服务以允许针对https api进行身份验证。我有它适用于大多数Android设备,甚至我的Mac书专业工作。但是,当我们尝试使用iOS设备(iPad,iPhone)时,内部隧道无法获取用户密码字段。

所以目前的设置是EAP - > TTLS - >自定义身份验证

eap.conf ttls section

ttls {   
  default_eap_type = md5
  copy_request_to_tunnel = yes  
  use_tunneled_reply = yes
  virtual_server = "inner-tunnel"
}

内部隧道自定义身份验证

authorize {
   ...
   update control {
            Auth-Type := `/usr/local/bin/admin_portal.py %{User-Name} '%{User-Password}' %{Calling-Station-Id}`,
            Fall-Through = Yes
    }
}

当我在调试模式下运行时,我得到以下输出

expand: %{User-Name} -> user@somedomain.com
expand: '%{User-Password}' -> ''
expand: %{Calling-Station-Id} -> 01-23-45-67-89-ab

但是,当我使用非iOS设备时,会填充密码。

任何帮助将不胜感激。 谢谢。

1 个答案:

答案 0 :(得分:1)

您需要一个TTLS内部方法,以明确方式发送密码。最常见的方法是TTLS-PAP。

如果请求者使用TTLS-PAP进行身份验证,则代理请求(到内部隧道)将包含User-Password属性,其中包含用户输入(或缓存)的请求者的值。

以下是使用Apple Configurator设置配置文件的示例。

Example of setting up TTLS-PAP with the apple configurator