aboutsummaryrefslogtreecommitdiff
path: root/files/usr/local/etc/raddb/mods-available/ldap.radius_server
blob: 09442f0f8ac52c76cffbed30eea5868f34652a57 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
ldap {
  $(printf "  server = '%s'\n" ${ldap_hosts})

  base_dn = '${users_basedn}'

  sasl {
    mech = 'GSSAPI'
    realm = '${realm}'
  }

  update {
    control:Password-With-Header  += 'userPassword'
    control:      += 'radiusControlAttribute'
    request:      += 'radiusRequestAttribute'
    reply:        += 'radiusReplyAttribute'
  }

  user_dn = "LDAP-UserDn"

  user {
    base_dn = "\${..base_dn}"
    filter = "(uid=%{%{Stripped-User-Name}:-%{User-Name}})"
  }

  group {
    base_dn = '${groups_basedn}'
    filter = '(objectClass=groupOfMembers)'
    name_attribute = cn
    membership_filter = "(member=%{control:\${..user_dn}})"
    membership_attribute = 'memberOf'
    cacheable_name = 'yes'
    cacheable_dn = 'yes'
    allow_dangling_group_ref = 'yes'
  }

  profile { }

  client {
    base_dn = "\${..base_dn}"
    filter = '(objectClass=radiusClient)'

    template { }

    attribute {
      ipaddr        = 'radiusClientIdentifier'
      secret        = 'radiusClientSecret'
    }
  }

  read_clients = no

  accounting {
    reference = "%{tolower:type.%{Acct-Status-Type}}"

    type {
      start {
        update {
          description := "Online at %S"
        }
      }

      interim-update {
        update {
          description := "Last seen at %S"
        }
      }

      stop {
        update {
          description := "Offline at %S"
        }
      }
    }
  }

  post-auth {
    update {
      description := "Authenticated at %S"
    }
  }

  options {
    chase_referrals = yes
    rebind = yes
    res_timeout = 10
    srv_timelimit = 3
    net_timeout = 1
    idle = 60
    probes = 3
    interval = 3
    ldap_debug = 0x0000
  }

  tls { }

  pool {
    start = \${thread[pool].start_servers}
    min = \${thread[pool].min_spare_servers}
    max = \${thread[pool].max_servers}

    spare = \${thread[pool].max_spare_servers}
    uses = 0
    retry_delay = 30
    lifetime = 0
    idle_timeout = 60
  }
}