2 # This file contains the configuration for experimental modules.
4 # By default, it is NOT included in the build.
9 # Configuration for the Python module.
11 # Where radiusd is a Python module, radiusd.py, and the
12 # function 'authorize' is called. Here is a dummy piece
15 # def authorize(params):
17 # return (5, ('Reply-Message', 'banned'))
19 # The RADIUS value-pairs are passed as a tuple of tuple
20 # pairs as the first argument, e.g. (('attribute1',
21 # 'value1'), ('attribute2', 'value2'))
23 # The function return is a tuple with the first element
24 # being the return value of the function.
25 # The 5 corresponds to RLM_MODULE_USERLOCK. I plan to
26 # write the return values as Python symbols to avoid
29 # The remaining tuple members are the string form of
30 # value-pairs which are passed on to pairmake().
33 mod_instantiate = radiusd_test
34 func_instantiate = instantiate
36 mod_authorize = radiusd_test
37 func_authorize = authorize
39 mod_accounting = radiusd_test
40 func_accounting = accounting
42 mod_pre_proxy = radiusd_test
43 func_pre_proxy = pre_proxy
45 mod_post_proxy = radiusd_test
46 func_post_proxy = post_proxy
48 mod_post_auth = radiusd_test
49 func_post_auth = post_auth
51 mod_recv_coa = radiusd_test
52 func_recv_coa = recv_coa
54 mod_send_coa = radiusd_test
55 func_send_coa = send_coa
57 mod_detach = radiusd_test
62 # Configuration for the example module. Uncommenting it will cause it
63 # to get loaded and initialized, but should have no real effect as long
64 # it is not referencened in one of the autz/auth/preacct/acct sections
67 # allowed values: {no, yes}
70 # An integer, of any value.
74 string = "This is an example configuration string"
76 # An IP address, either in dotted quad (1.2.3.4) or hostname
85 string = "This is a different string"
91 # To create a dbm users file, do:
93 # cat test.users | rlm_dbm_parser -f /etc/raddb/users_db
95 # Then add 'dbm' in 'authorize' section.
97 # Note that even if the file has a ".db" or ".dbm" extension,
98 # you may have to specify it here without that extension. This
99 # is because the DBM libraries "helpfully" add a ".db" to the
100 # filename, but don't check if it's already there.
103 usersfile = ${confdir}/users_db
107 # Perform NT-Domain authentication. This only works
108 # with PAP authentication. That is, Authentication-Request
109 # packets containing a User-Password attribute.
111 # To use it, add 'smb' into the 'authenticate' section,
112 # and then in another module (usually the 'users' file),
113 # set 'Auth-Type := SMB'
115 # WARNING: this module is not only experimental, it's also
116 # a security threat. It's not recommended to use it until
120 server = ntdomain.server.example.com
121 backup = backup.server.example.com
125 # See doc/rlm_fastusers before using this
126 # module or changing these values.
129 usersfile = ${confdir}/users_fast
132 # Reload the hash every 600 seconds (10mins)
138 # Should be added in the post-auth section (after all other modules)
139 # and in the authorize section (before any other modules)
145 # [... other modules ...]
148 # [... other modules ...]
152 # The caching module will cache the Auth-Type and reply items
153 # and send them back on any subsequent requests for the same key
157 # filename: The gdbm file to use for the cache database
158 # (can be memory mapped for more speed)
160 # key: A string to xlat and use as a key. For instance,
161 # "%{Acct-Unique-Session-Id}"
163 # post-auth: If we find a cached entry, set the post-auth to that value
165 # cache-ttl: The time to cache the entry. The same time format
166 # as the counter module apply here.
168 # h: hours, d: days, w: weeks, m: months
169 # If the letter is ommited days will be assumed.
172 # cache-size: The gdbm cache size to request (default 1000)
174 # hit-ratio: If set to non-zero we print out statistical
175 # information after so many cache requests
177 # cache-rejects: Do we also cache rejects, or not? (default 'yes')
180 filename = ${db_dir}/db.cache
183 key = "%{Acct-Unique-Session-Id}"
186 # cache-rejects = yes
190 # Simple module for logging of Account packets to radiusd.log
191 # You need to declare it in the accounting section for it to work
194 acctlog_start = "Connect: [%{User-Name}] (did %{Called-Station-Id} cli %{Calling-Station-Id} port %{NAS-Port} ip %{Framed-IP-Address})"
195 acctlog_stop = "Disconnect: [%{User-Name}] (did %{Called-Station-Id} cli %{Calling-Station-Id} port %{NAS-Port} ip %{Framed-IP-Address}) %{Acct-Session-Time} seconds"
196 acctlog_on = "NAS %C (%{NAS-IP-Address}) just came online"
197 acctlog_off = "NAS %C (%{NAS-IP-Address}) just went offline"
200 # Another implementation of the EAP module.
202 # This module requires the libeap.so file from the hostap
203 # software (http://hostap.epitest.fi/hostapd/). It has been
204 # tested on the development version of hostapd (0.6.1) ONLY.
206 # In order to use it, you MUST build a "libeap.so" in hostapd,
207 # which is not done by default.
209 # You MUST also edit the file: src/modules/rlm_eap2/Makefile
210 # to point to the location of the hostap include files.
212 # This module CANNOT be used in the same way as the current
213 # FreeRADIUS "eap" module. There is NO way to look inside of
214 # a tunneled request. There is NO way to proxy a tunneled
215 # request. There is NO way to even look at the user name inside
216 # of the tunneled request. There is NO way to control the
217 # choice of EAP types inside of the tunnel. You MUST force
218 # the server to choose "eap2" for authentication, because this
219 # module has no "authorize" section.
221 # If you want to use this module for experimentation, please
222 # post your comments to the freeradius-devel list:
224 # http://lists.freeradius.org/mailman/listinfo/freeradius-devel
226 # If you want to use this module in a production (i.e. real-world)
229 # !!! DO NOT USE IT IN A PRODUCTION ENVIRONMENT !!!
231 # The module needs additional work to make it ready for
232 # production use.. Please supply patches, or sponsor the
233 # work by hiring a developer. Do NOT ask when the work will
234 # be done, because there is no plan to finish this module
235 # unless there is demand for it.
238 # EAP types are chosen in the order that they are
239 # listed in this section. There is no "default_eap_type"
240 # as with rlm_eap. Instead, the *first* EAP type is
241 # used as the default type.
249 # This is the ONLY EAP type that has any configuration.
250 # All other EAP types have no configuration.
253 ca_cert = ${confdir}/certs/ca.pem
254 server_cert = ${confdir}/certs/server.pem
255 private_key_file = ${confdir}/certs/server.pem
256 private_key_password = whatever
260 # These next two methods do not supply keying material.
269 pac_opaque_encr_key = 000102030405060708090a0b0c0d0e0f
270 eap_fast_a_id = xxxxxx
271 eap_fast_a_id_info = my_server
273 pac_key_lifetime = 604800 # 7 days
274 pac_key_refresh_tim = 86400
277 # LEAP is NOT supported by this module.
278 # Use the "eap" module instead.
280 # For other methods that MIGHT work, see the
281 # configuration of hostap. The methods are statically
282 # linked in at compile time, and cannot be controlled
286 # Configuration for experimental EAP types. The sub-sections
287 # can be copied into eap.conf.
292 # Allowed values are:
293 # cert - for certificate based server authentication,
294 # other required settings for this type are
295 # 'private_key_file' and 'certificate_file'
296 # secret - for shared secret based server authentication,
297 # other required settings for this type is 'id'
298 # Default value of this option is 'secret'
299 # server_authtype=cert
301 # Allowed default client auth types
302 # Allowed values are:
303 # secret - for shared secret based client authentication
304 # cert - for certificate based client authentication
305 # both - shared secret and certificate is allowed
306 # none - authentication will always fail
307 # Default value for this option is 'both'. This option could
308 # be overwritten within 'usersfile' file by EAP-IKEv2-Auth
310 # default_authtype = both
312 # path to trusted CA certificate file
313 CA_file="/path/to/CA/cacert.pem"
315 # path to CRL file, if not set, then there will be no
317 # crl_file="/path/to/crl.pem"
319 # path to file with user settings
321 # Note that this file is read ONLY on module initialization!
323 # default ${confdir}/eap_ikev2_users
324 # usersfile=${confdir}/eap_ikev2_users
327 # Sample "eap_ikev2_users" file entry:
329 #username EAP-IKEv2-IDType := KEY_ID, EAP-IKEv2-Secret := "tajne"
332 ## username - client user name from IKE-AUTH (IDr) or CommonName
333 ## from x509 certificate
334 ## EAP-IKEv2-IDType - ID Type - same as in expected IDType payload
335 ## allowable attributes for EAP-IKEv2-IDType:
336 ## IPV4_ADDR FQDN RFC822_ADDR IPV6_ADDR DER_ASN1_DN
337 ## DER_ASN1_GN KEY_ID
338 ## EAP-IKEv2-Secret - shared secret
339 ## EAP-IKEv2-AuthType - optional parameter which defines expected client auth
340 ## type. Allowed values are: secret,cert,both,none.
341 ## For the meaning of this values, please see the
342 ## description of 'default_authtype'.
343 ## This attribute can overwrite 'default_authtype' value.
347 # path to file with server private key
348 private_key_file="/path/to/srv-private-key.pem"
350 # password to private key file
351 private_key_password="passwd"
353 # path to file with server certificate
354 certificate_file="/path/to/srv-cert.pem"
356 # server identity string
359 # Server identity type. Allowed values are:
360 # IPV4_ADDR, FQDN, RFC822_ADDR, IPV6_ADDR, ASN1_DN, ASN1_GN,
362 # Default value is: KEY_ID
366 # MTU (default: 1398)
367 # fragment_size = 1398
369 # maximal allowed number of resends SA_INIT after receiving
370 # 'invalid KEY' notification (default 3)
373 # option which is used to control whenever send CERT REQ
375 # Allowed values for this option are "yes" or "no".
376 #Default value is "no".
379 # option which cotrols fast reconnect capability.
380 # Allowed valuse for this option are "yes" or "no".
381 # Default value is "yes".
382 # enable_fast_reauth = "no"
384 # option which is used to control performing of DH exchange
385 # during fast rekeying protocol run.
386 # Allowed values for this option are "yes" or "no".
387 # Default value is "no"
388 # fast_DH_exchange = "yes"
390 # Option which is used to set up expiration time of inactive
392 # After selected period of time (in seconds), inactive
393 # session data will be deleted.
394 # Default value of this option is set to 900 seconds
395 # fast_timer_expire = 900
397 # list of server proposals of available cryptographic
403 # Supported transforms types: encryption,
404 # prf, integrity, dhgroup. For multiple
405 # transforms just simple repeat key (i.e.
408 # encryption algorithm
409 # supported algorithms:
410 # null,3des,aes_128_cbc,aes_192_cbc,
412 # blowfish:n, where n range from 8 to 448 bits,
414 # cast:n, where n range from 40 to 128 bits,
418 # pseudo random function. Supported prf's:
419 # hmac_md5, hmac_sha1, hmac_tiger
422 # integrity algorithm. Supported algorithms:
423 # hmac_md5_96, hmac_sha1_96,des_mac
424 integrity = hmac_sha1_96
425 integrity = hmac_md5_96
427 # Diffie-Hellman groups:
428 # modp768, modp1024, modp1536, modp2048,
429 # modp3072, modp4096, modp6144, modp8192
437 integrity = hmac_md5_96
445 integrity=hmac_md5_96