我正在建立一个freeradius服务器进行身份验证。
我对policy.conf
有疑问:
policy.conf
已作为radius.conf
加载到$INCLUDE policy.conf
中,但是此文件的内容无效。
我以“ test”用户登录进行了测试,但并未拒绝。有人可以帮我吗,非常感谢。
policy {
#
# Forbid all EAP types.
#
if (User-Name == 'test'){
reject
}
forbid_eap {
if (EAP-Message) {
reject
}
}
#
# Forbid all non-EAP types outside of an EAP tunnel.
#
permit_only_eap {
if (!EAP-Message) {
# We MAY be inside of a TTLS tunnel.
# PEAP and EAP-FAST require EAP inside of
# the tunnel, so this check is OK.
# If so, then there MUST be an outer EAP message.
if (!"%{outer.request:EAP-Message}") {
reject
}
}
}
#
# Forbid all attempts to login via realms.
#
deny_realms {
if (User-Name =~ /@|\\/) {
reject
}
}
}
答案 0 :(得分:0)
首先,您需要给您的策略命名(如“策略”部分中的其他策略一样)。
policy {
reject_test {
if (User-Name == 'test'){
reject
}
}
}
然后,您需要在其中一台虚拟服务器的部分(authorize
,authenticate
,post-auth
等)中列出该策略。
请参阅FreeRADIUS Wiki中的concepts page,以获取有关运行哪些部分以及在何处运行的一些基本信息。
如果您使用的是库存配置,则可能需要编辑raddb/sites-available/default
。
在这种情况下,您可能希望将策略添加到authorize section
。
authorize {
reject_test
...
}
您实际上不需要定义策略即可使用策略语言运行,您可以将条件直接插入授权部分。
authorize {
if (User-Name == 'test'){
reject
}
}