admin:services:wififederez:configfederez
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
admin:services:wififederez:configfederez [2017/11/24 02:27] – [Configuration des proxy] chirac | admin:services:wififederez:configfederez [2022/02/09 16:51] (Version actuelle) – chapeau | ||
---|---|---|---|
Ligne 45: | Ligne 45: | ||
# FEDEREZ - Dodecagon | # FEDEREZ - Dodecagon | ||
client dodecagon { | client dodecagon { | ||
- | | + | |
- | | + | |
} | } | ||
Ligne 60: | Ligne 60: | ||
On met le même secret pour une asso. Il est nécessaire d' | On met le même secret pour une asso. Il est nécessaire d' | ||
- | |||
===== Configuration des proxy ===== | ===== Configuration des proxy ===== | ||
Ligne 161: | Ligne 160: | ||
# Supelec REZO STOP ################################ | # Supelec REZO STOP ################################ | ||
+ | |||
+ | |||
+ | etc | ||
</ | </ | ||
+ | |||
+ | |||
+ | ===== Configuration des sites ====== | ||
+ | |||
+ | Dans sites-enabled, | ||
+ | |||
+ | Dans default, on met les réglages qui permettent de forwarder les requêtes en fonction du suffixe. Ex, un login@rezometz.org sera forwarder au radius enregistré dans proxy sous le nom de REZOMETZ. | ||
+ | |||
+ | Pour cela, on modifie légèrement le fichier default, en ajoutant dans autorize ce qui est pasté ci dessous. | ||
+ | |||
+ | La notation unlang est facile à comprendre : si login@plop.org -> on active le proxy PLOP. | ||
+ | |||
+ | On note à la fin le cas où le login est @federez.net, | ||
+ | |||
+ | < | ||
+ | authorize { | ||
+ | if (" | ||
+ | update control { | ||
+ | Proxy-To-Realm := ' | ||
+ | } | ||
+ | } | ||
+ | |||
+ | if (" | ||
+ | update control { | ||
+ | Proxy-To-Realm := ' | ||
+ | } | ||
+ | } | ||
+ | |||
+ | if (" | ||
+ | update control { | ||
+ | Proxy-To-Realm := ' | ||
+ | } | ||
+ | } | ||
+ | |||
+ | |||
+ | if (" | ||
+ | update control { | ||
+ | Proxy-To-Realm := ' | ||
+ | } | ||
+ | } | ||
+ | |||
+ | if (" | ||
+ | update control { | ||
+ | Proxy-To-Realm := ' | ||
+ | } | ||
+ | } | ||
+ | |||
+ | if (" | ||
+ | update control { | ||
+ | Proxy-To-Realm := ' | ||
+ | } | ||
+ | } | ||
+ | |||
+ | if (" | ||
+ | update control { | ||
+ | Proxy-To-Realm := ' | ||
+ | } | ||
+ | } | ||
+ | |||
+ | if (" | ||
+ | update control { | ||
+ | Proxy-To-Realm := ' | ||
+ | } | ||
+ | } | ||
+ | |||
+ | |||
+ | if (" | ||
+ | update control { | ||
+ | Proxy-To-Realm := ' | ||
+ | } | ||
+ | } | ||
+ | |||
+ | if (" | ||
+ | update request{ | ||
+ | Stripped-User-Name := " | ||
+ | } | ||
+ | } | ||
+ | |||
+ | |||
+ | </ | ||
+ | |||
+ | On peut décommenter la ligne qui va bien pour effacer les paramètres post_proxy au passage, en effet, il n'y a pas de raison de transmettre des informations tels que vlan id. | ||
+ | |||
+ | ===== Config de l'auth FedeRez ===== | ||
+ | |||
+ | On aurait très bien pu s' | ||
+ | |||
+ | Par conséquent, | ||
+ | |||
+ | < | ||
+ | ldap { | ||
+ | server = ' | ||
+ | |||
+ | # Administrator account for searching and possibly modifying. | ||
+ | # If using SASL + KRB5 these should be commented out. | ||
+ | identity = ' | ||
+ | password = plop | ||
+ | |||
+ | # Unless overridden in another section, the dn from which all | ||
+ | # searches will start from. | ||
+ | base_dn = ' | ||
+ | |||
+ | sasl { | ||
+ | # SASL mechanism | ||
+ | # mech = ' | ||
+ | |||
+ | # SASL authorisation identity to proxy. | ||
+ | # proxy = ' | ||
+ | |||
+ | # SASL realm. Used for kerberos. | ||
+ | # realm = ' | ||
+ | } | ||
+ | # WARNING: Although this format is almost identical to the unlang | ||
+ | # update section format, it does *NOT* mean that you can use other | ||
+ | # unlang constructs in module configuration files. | ||
+ | # | ||
+ | # Configuration items are in the format: | ||
+ | # <radius attr> <op> <ldap attr> | ||
+ | # | ||
+ | # Request and list qualifiers may also be placed after the ' | ||
+ | # section name to set defaults destination requests/ | ||
+ | # for unqualified RADIUS attributes. | ||
+ | # | ||
+ | # Note: LDAP attribute names should be single quoted unless you want | ||
+ | # the name value to be derived from an xlat expansion, or an | ||
+ | # attribute ref. | ||
+ | update { | ||
+ | control: | ||
+ | control: | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # Where only a list is specified as the RADIUS attribute, | ||
+ | # the value of the LDAP attribute is parsed as a valuepair | ||
+ | # in the same format as the ' | ||
+ | control: | ||
+ | request: | ||
+ | reply: | ||
+ | } | ||
+ | user { | ||
+ | # Where to start searching in the tree for users | ||
+ | base_dn = " | ||
+ | |||
+ | # Filter for user objects, should be specific enough | ||
+ | # to identify a single user object. | ||
+ | filter = " | ||
+ | |||
+ | # SASL parameters to use for user binds | ||
+ | sasl { | ||
+ | } | ||
+ | |||
+ | # Search scope, may be ' | ||
+ | # scope = ' | ||
+ | |||
+ | # Server side result sorting | ||
+ | # sort_by = ' | ||
+ | |||
+ | # If this is undefined, anyone is authorised. | ||
+ | # If it is defined, the contents of this attribute | ||
+ | # determine whether or not the user is authorised | ||
+ | # | ||
+ | |||
+ | # | ||
+ | } | ||
+ | |||
+ | # | ||
+ | # User membership checking. | ||
+ | # | ||
+ | group { | ||
+ | # Where to start searching in the tree for groups | ||
+ | base_dn = " | ||
+ | |||
+ | # Filter for group objects, should match all available | ||
+ | # group objects a user might be a member of. | ||
+ | filter = ' | ||
+ | |||
+ | # Search scope, may be ' | ||
+ | # scope = ' | ||
+ | |||
+ | # Attribute that uniquely identifies a group. | ||
+ | # Is used when converting group DNs to group | ||
+ | # names. | ||
+ | # | ||
+ | |||
+ | # Filter to find group objects a user is a member of. | ||
+ | # That is, group objects with attributes that | ||
+ | # identify members (the inverse of membership_attribute). | ||
+ | # | ||
+ | |||
+ | # The attribute in user objects which contain the names | ||
+ | # or DNs of groups a user is a member of. | ||
+ | # | ||
+ | # Unless a conversion between group name and group DN is | ||
+ | # needed, there' | ||
+ | # referenced to actually exist. | ||
+ | membership_attribute = ' | ||
+ | |||
+ | # Override the normal cache attribute (< | ||
+ | # LDAP-Group if using the default instance) and create a | ||
+ | # custom attribute. | ||
+ | # are used in fail-over. | ||
+ | # | ||
+ | } | ||
+ | |||
+ | profile { | ||
+ | } | ||
+ | |||
+ | client { | ||
+ | # Where to start searching in the tree for clients | ||
+ | base_dn = " | ||
+ | |||
+ | # | ||
+ | # Filter to match client objects | ||
+ | # | ||
+ | filter = ' | ||
+ | |||
+ | # | ||
+ | # Sets default values (not obtained from LDAP) for new client entries | ||
+ | # | ||
+ | template { | ||
+ | } | ||
+ | |||
+ | attribute { | ||
+ | ipaddr = ' | ||
+ | secret = ' | ||
+ | } | ||
+ | } | ||
+ | |||
+ | # Load clients on startup | ||
+ | # | ||
+ | |||
+ | accounting { | ||
+ | reference = " | ||
+ | |||
+ | type { | ||
+ | start { | ||
+ | update { | ||
+ | description := " | ||
+ | } | ||
+ | } | ||
+ | |||
+ | interim-update { | ||
+ | update { | ||
+ | description := "Last seen at %S" | ||
+ | } | ||
+ | } | ||
+ | |||
+ | stop { | ||
+ | update { | ||
+ | description := " | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | |||
+ | # | ||
+ | # Post-Auth can modify LDAP objects too | ||
+ | # | ||
+ | post-auth { | ||
+ | update { | ||
+ | description := " | ||
+ | } | ||
+ | } | ||
+ | |||
+ | # | ||
+ | # LDAP connection-specific options. | ||
+ | # | ||
+ | # These options set timeouts, keep-alives, | ||
+ | # | ||
+ | options { | ||
+ | # Control under which situations aliases are followed. | ||
+ | # May be one of ' | ||
+ | # default: libldap' | ||
+ | # | ||
+ | # LDAP_OPT_DEREF is set to this value. | ||
+ | # | ||
+ | |||
+ | # | ||
+ | # The following two configuration items control whether the | ||
+ | # server follows references returned by LDAP directory. | ||
+ | # They are mostly for Active Directory compatibility. | ||
+ | # If you set these to ' | ||
+ | # ' | ||
+ | # | ||
+ | chase_referrals = yes | ||
+ | rebind = yes | ||
+ | |||
+ | # Seconds to wait for LDAP query to finish. default: 20 | ||
+ | res_timeout = 10 | ||
+ | |||
+ | # Seconds LDAP server has to process the query (server-side | ||
+ | # time limit). default: 20 | ||
+ | # | ||
+ | # LDAP_OPT_TIMELIMIT is set to this value. | ||
+ | srv_timelimit = 3 | ||
+ | |||
+ | # Seconds to wait for response of the server. (network | ||
+ | # failures) default: 10 | ||
+ | # | ||
+ | # LDAP_OPT_NETWORK_TIMEOUT is set to this value. | ||
+ | net_timeout = 1 | ||
+ | |||
+ | # LDAP_OPT_X_KEEPALIVE_IDLE | ||
+ | idle = 60 | ||
+ | |||
+ | # LDAP_OPT_X_KEEPALIVE_PROBES | ||
+ | probes = 3 | ||
+ | |||
+ | # LDAP_OPT_X_KEEPALIVE_INTERVAL | ||
+ | interval = 3 | ||
+ | |||
+ | # ldap_debug: debug flag for LDAP SDK | ||
+ | # (see OpenLDAP documentation). | ||
+ | # huge amounts of LDAP debugging on the screen. | ||
+ | # You should only use this if you are an LDAP expert. | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | ldap_debug = 0x0028 | ||
+ | } | ||
+ | |||
+ | tls { | ||
+ | |||
+ | # | ||
+ | |||
+ | # | ||
+ | |||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # | ||
+ | } | ||
+ | |||
+ | # As of version 3.0, the ' | ||
+ | # following configuration items: | ||
+ | # | ||
+ | # When the server is not threaded, the connection pool | ||
+ | # limits are ignored, and only one connection is used. | ||
+ | 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 | ||
+ | # directory being available. | ||
+ | start = ${thread[pool].start_servers} | ||
+ | |||
+ | # Minimum number of connections to keep open | ||
+ | min = ${thread[pool].min_spare_servers} | ||
+ | |||
+ | max = ${thread[pool].max_servers} | ||
+ | |||
+ | # Spare connections to be left idle | ||
+ | # | ||
+ | # NOTE: Idle connections WILL be closed if " | ||
+ | # is set. This should be less than or equal to " | ||
+ | spare = ${thread[pool].max_spare_servers} | ||
+ | |||
+ | # Number of uses before the connection is closed | ||
+ | # | ||
+ | # 0 means " | ||
+ | uses = 0 | ||
+ | |||
+ | # The number of seconds to wait after the server tries | ||
+ | # to open a connection, and fails. | ||
+ | # no new connections will be opened. | ||
+ | retry_delay = 30 | ||
+ | |||
+ | # The lifetime (in seconds) of the connection | ||
+ | lifetime = 0 | ||
+ | |||
+ | # Idle timeout (in seconds). | ||
+ | # unused for this length of time will be closed. | ||
+ | idle_timeout = 60 | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | On active ensuite le module ldap en faisant un lien symbolique dans mods-enabled. On vérifie que dans les sites il est bien fait référence à ldap (non commenté). | ||
+ | |||
+ | |||
+ | ==== Configuration des certificats ==== | ||
+ | |||
+ | Afin d' | ||
+ | < | ||
+ | cd / | ||
+ | ln -s / | ||
+ | ln -s / | ||
+ | ln -s / | ||
+ | </ | ||
+ | On peut ensuite modifier la configuration de eap pour en tenir compte : | ||
+ | < | ||
+ | eap { | ||
+ | [...] | ||
+ | tls-config tls-LEcert { | ||
+ | private_key_file = ${certdir}/ | ||
+ | certificate_file = ${certdir}/ | ||
+ | ca_file = ${certdir}/ | ||
+ | dh_file = ${certdir}/ | ||
+ | ca_path = ${cadir} | ||
+ | cipher_list = " | ||
+ | cipher_server_preference = no | ||
+ | tls_min_version = " | ||
+ | tls_max_version = " | ||
+ | ecdh_curve = " | ||
+ | |||
+ | cache { | ||
+ | enable = yes | ||
+ | lifetime = 1 # hours | ||
+ | } | ||
+ | |||
+ | verify { | ||
+ | } | ||
+ | |||
+ | ocsp { | ||
+ | enable = no | ||
+ | override_cert_url = yes | ||
+ | url = " | ||
+ | } | ||
+ | } | ||
+ | [...] | ||
+ | ttls { | ||
+ | tls = tls-LEcert | ||
+ | } | ||
+ | [...] | ||
+ | peap { | ||
+ | tls = tls-LEcert | ||
+ | } | ||
+ | [...] | ||
+ | } | ||
+ | </ | ||
+ |
admin/services/wififederez/configfederez.1511490463.txt.gz · Dernière modification : 2017/11/24 02:27 de chirac