254 lines
7.4 KiB
Plaintext
254 lines
7.4 KiB
Plaintext
# -*- text -*-
|
|
#
|
|
# $Id: 1748d5747f5b2fda08a017ad3095d9b96b0c2ee0 $
|
|
|
|
#
|
|
# Microsoft CHAP authentication
|
|
#
|
|
# This module supports MS-CHAP and MS-CHAPv2 authentication.
|
|
# It also enforces the SMB-Account-Ctrl attribute.
|
|
#
|
|
mschap {
|
|
#
|
|
# If you are using /etc/smbpasswd, see the 'passwd'
|
|
# module for an example of how to use /etc/smbpasswd
|
|
#
|
|
|
|
#
|
|
# If use_mppe is not set to no mschap, will
|
|
# add MS-CHAP-MPPE-Keys for MS-CHAPv1 and
|
|
# MS-MPPE-Recv-Key/MS-MPPE-Send-Key for MS-CHAPv2
|
|
#
|
|
# use_mppe = no
|
|
|
|
#
|
|
# If MPPE is enabled, require_encryption makes
|
|
# encryption moderate
|
|
#
|
|
# require_encryption = yes
|
|
|
|
#
|
|
# require_strong always requires 128 bit key
|
|
# encryption
|
|
#
|
|
# require_strong = yes
|
|
|
|
#
|
|
# This module can perform authentication itself, OR
|
|
# use a Windows Domain Controller. This configuration
|
|
# directive tells the module to call the ntlm_auth
|
|
# program, which will do the authentication, and return
|
|
# the NT-Key. Note that you MUST have "winbindd" and
|
|
# "nmbd" running on the local machine for ntlm_auth
|
|
# to work. See the ntlm_auth program documentation
|
|
# for details.
|
|
#
|
|
# If ntlm_auth is configured below, then the mschap
|
|
# module will call ntlm_auth for every MS-CHAP
|
|
# authentication request. If there is a cleartext
|
|
# or NT hashed password available, you can set
|
|
# "MS-CHAP-Use-NTLM-Auth := No" in the control items,
|
|
# and the mschap module will do the authentication itself,
|
|
# without calling ntlm_auth.
|
|
#
|
|
# Be VERY careful when editing the following line!
|
|
#
|
|
# You can also try setting the user name as:
|
|
#
|
|
# ... --username=%{mschap:User-Name} ...
|
|
#
|
|
# In that case, the mschap module will look at the User-Name
|
|
# attribute, and do prefix/suffix checks in order to obtain
|
|
# the "best" user name for the request.
|
|
#
|
|
# For Samba 4, you should also set the "ntlm auth" parameter
|
|
# in the Samba configuration:
|
|
#
|
|
# ntlm auth = yes
|
|
#
|
|
# or
|
|
#
|
|
# ntlm auth = mschapv2-and-ntlmv2-only
|
|
#
|
|
# This will let Samba 4 accept the MS-CHAP authentication
|
|
# method that is needed by FreeRADIUS.
|
|
#
|
|
# Depending on the Samba version, you may also need to add:
|
|
#
|
|
# --allow-mschapv2
|
|
#
|
|
# to the command-line parameters.
|
|
#
|
|
# ntlm_auth = "/path/to/ntlm_auth --request-nt-key --allow-mschapv2 --username=%{%{Stripped-User-Name}:-%{%{User-Name}:-None}} --challenge=%{%{mschap:Challenge}:-00} --nt-response=%{%{mschap:NT-Response}:-00}"
|
|
|
|
#
|
|
# The default is to wait 10 seconds for ntlm_auth to
|
|
# complete. This is a long time, and if it's taking that
|
|
# long then you likely have other problems in your domain.
|
|
# The length of time can be decreased with the following
|
|
# option, which can save clients waiting if your ntlm_auth
|
|
# usually finishes quicker. Range 1 to 10 seconds.
|
|
#
|
|
# ntlm_auth_timeout = 10
|
|
|
|
#
|
|
# An alternative to using ntlm_auth is to connect to the
|
|
# winbind daemon directly for authentication. This option
|
|
# is likely to be faster and may be useful on busy systems,
|
|
# but is less well tested.
|
|
#
|
|
# Using this option requires libwbclient from Samba 4.2.1
|
|
# or later to be installed. Make sure that ntlm_auth above is
|
|
# commented out.
|
|
#
|
|
# winbind_username = "%{mschap:User-Name}"
|
|
# winbind_domain = "%{mschap:NT-Domain}"
|
|
|
|
#
|
|
# When using single sign-on with a winbind connection and the
|
|
# client uses a different casing for the username than the
|
|
# casing is according to the backend, reauth may fail because
|
|
# of some Windows internals. This switch tries to find the
|
|
# user in the correct casing in the backend, and retry
|
|
# authentication with that username.
|
|
#
|
|
# winbind_retry_with_normalised_username = no
|
|
|
|
#
|
|
# Information for the winbind connection pool. The configuration
|
|
# items below are the same for all modules which use the new
|
|
# connection pool.
|
|
#
|
|
pool {
|
|
#
|
|
# Connections to create during module instantiation.
|
|
# If the server cannot create specified number of
|
|
# connections during instantiation it will exit.
|
|
# Set to 0 to allow the server to start without the
|
|
# winbind daemon being available.
|
|
#
|
|
start = ${thread[pool].start_servers}
|
|
|
|
#
|
|
# Minimum number of connections to keep open
|
|
#
|
|
min = ${thread[pool].min_spare_servers}
|
|
|
|
#
|
|
# Maximum number of connections
|
|
#
|
|
# If these connections are all in use and a new one
|
|
# is requested, the request will NOT get a connection.
|
|
#
|
|
# Setting 'max' to LESS than the number of threads means
|
|
# that some threads may starve, and you will see errors
|
|
# like 'No connections available and at max connection limit'
|
|
#
|
|
# Setting 'max' to MORE than the number of threads means
|
|
# that there are more connections than necessary.
|
|
#
|
|
max = ${thread[pool].max_servers}
|
|
|
|
#
|
|
# Spare connections to be left idle
|
|
#
|
|
# NOTE: Idle connections WILL be closed if "idle_timeout"
|
|
# is set. This should be less than or equal to "max" above.
|
|
#
|
|
spare = ${thread[pool].max_spare_servers}
|
|
|
|
#
|
|
# Number of uses before the connection is closed
|
|
#
|
|
# 0 means "infinite"
|
|
#
|
|
uses = 0
|
|
|
|
#
|
|
# The number of seconds to wait after the server tries
|
|
# to open a connection, and fails. During this time,
|
|
# no new connections will be opened.
|
|
#
|
|
retry_delay = 30
|
|
|
|
#
|
|
# The lifetime (in seconds) of the connection
|
|
#
|
|
# NOTE: A setting of 0 means infinite (no limit).
|
|
#
|
|
lifetime = 86400
|
|
|
|
#
|
|
# The pool is checked for free connections every
|
|
# "cleanup_interval". If there are free connections,
|
|
# then one of them is closed.
|
|
#
|
|
cleanup_interval = 300
|
|
|
|
#
|
|
# The idle timeout (in seconds). A connection which is
|
|
# unused for this length of time will be closed.
|
|
#
|
|
# NOTE: A setting of 0 means infinite (no timeout).
|
|
#
|
|
idle_timeout = 600
|
|
|
|
#
|
|
# NOTE: All configuration settings are enforced. If a
|
|
# connection is closed because of "idle_timeout",
|
|
# "uses", or "lifetime", then the total number of
|
|
# connections MAY fall below "min". When that
|
|
# happens, it will open a new connection. It will
|
|
# also log a WARNING message.
|
|
#
|
|
# The solution is to either lower the "min" connections,
|
|
# or increase lifetime/idle_timeout.
|
|
#
|
|
}
|
|
|
|
passchange {
|
|
#
|
|
# This support MS-CHAPv2 (not v1) password change
|
|
# requests. See doc/mschap.rst for more IMPORTANT
|
|
# information.
|
|
#
|
|
# Samba/ntlm_auth - if you are using ntlm_auth to
|
|
# validate passwords, you will need to use ntlm_auth
|
|
# to change passwords. Uncomment the three lines
|
|
# below, and change the path to ntlm_auth.
|
|
#
|
|
# ntlm_auth = "/usr/bin/ntlm_auth --helper-protocol=ntlm-change-password-1"
|
|
# ntlm_auth_username = "username: %{mschap:User-Name}"
|
|
# ntlm_auth_domain = "nt-domain: %{mschap:NT-Domain}"
|
|
|
|
#
|
|
# To implement a local password change, you need to
|
|
# supply a string which is then expanded, so that the
|
|
# password can be placed somewhere. e.g. passed to a
|
|
# script (exec), or written to SQL (UPDATE/INSERT).
|
|
# We give both examples here, but only one will be
|
|
# used.
|
|
#
|
|
# local_cpw = "%{exec:/path/to/script %{mschap:User-Name} %{MS-CHAP-New-Cleartext-Password}}"
|
|
#
|
|
# local_cpw = "%{sql:UPDATE radcheck set value='%{MS-CHAP-New-NT-Password}' where username='%{SQL-User-Name}' and attribute='NT-Password'}"
|
|
}
|
|
|
|
#
|
|
# For Apple Server, when running on the same machine as
|
|
# Open Directory. It has no effect on other systems.
|
|
#
|
|
# use_open_directory = yes
|
|
|
|
#
|
|
# On failure, set (or not) the MS-CHAP error code saying
|
|
# "retries allowed".
|
|
#
|
|
# allow_retry = yes
|
|
|
|
#
|
|
# An optional retry message.
|
|
#
|
|
# retry_msg = "Re-enter (or reset) the password"
|
|
}
|