Authentifier un poste CentOS sur SME avec SSSD - WikiT

Transcription

Authentifier un poste CentOS sur SME avec SSSD - WikiT
13/12/2016 07:06
1/5
Authentifier un poste CentOS sur SME avec SSSD
Authentifier un poste CentOS sur SME avec
SSSD
sssd est aussi disponible sur CentOS 5. Sont principal intérêt par rapport à nss_ldap est qu'il peut
conserver en cache les informations d'authentification, et donc fonctionner en mode hors ligne (si le
serveur central est indisponible)
Installer les paquets
La première étape est d'installer les paquets nécessaires:
yum install sssd
Configurer sssd
sssd se configure de manière classique (idem Ubuntu et Fédora par exemple). Il faut d'abord définir
les domaines utilisés (dans /etc/sssd/sssd.conf):
#
#
#
#
;
SSSD will not start if you do not configure any domains.
Add new domain configurations as [domain/<NAME>] sections, and
then add the list of domains (in the order you want them to be
queried) to the "domains" attribute below and uncomment it.
domains = LOCAL,LDAP
domains = FIREWALL
Puis, vers la fin du fichier, ajouter la configuration de ce domaine
[domain/FIREWALL]
id_provider = ldap
auth_provider = ldap
ldap_schema = rfc2307
ldap_uri = ldap://sme.domain.tld
ldap_default_bind_dn = uid=auth,ou=Users,dc=domain,dc=tld
ldap_default_authtok = something_very_secret
ldap_default_authtok_type = password
ldap_search_base = dc=domain,dc=tld
ldap_user_search_base = ou=Users,dc=domain,dc=tld
ldap_group_search_base = ou=Groups,dc=domain,dc=tld
ldap_user_object_class = inetOrgPerson
ldap_user_gecos = cn
ldap_tls_reqcert = hard
ldap_tls_cacert = /etc/pki/tls/certs/ca.pem
ldap_id_use_start_tls = true
WikiT - https://wikit.firewall-services.com/
Last
update:
tuto:ipasserelle:authentification:centos_sssd_on_sme https://wikit.firewall-services.com/doku.php/tuto/ipasserelle/authentification/centos_sssd_on_sme
23/10/2014
12:53
# à dé-commenter si votre serveur SME est une iPasserelle
# ldap_user_shell = desktopLoginShell
cache_credentials = true
enumerate = true
# Il est possible de limiter l'accès via un filtre LDAP en
# dé-commentant ces deux lignes. Dans cet exemple, seuls les
# membres du groupe netusers seront valides sur cet hôte
# posixMemberOf est un attribut disponible uniquement sur une iPasserelle
# access_provider = ldap
# ldap_access_filter = posixMemberOf=netusers
Au final votre fichier de configuration /etc/sssd/sssd.conf devrait ressembler à ça:
sssd.conf
[sssd]
config_file_version = 2
services = nss, pam
domains = FIREWALL
[nss]
[pam]
[domain/FIREWALL]
id_provider = ldap
auth_provider = ldap
ldap_schema = rfc2307
ldap_uri = ldap://sme.domain.tld
ldap_default_bind_dn = uid=auth,ou=Users,dc=domain,dc=tld
ldap_default_authtok = something_very_secret
ldap_default_authtok_type = password
ldap_search_base = dc=domain,dc=tld
ldap_user_search_base = ou=Users,dc=domain,dc=tld
ldap_group_search_base = ou=Groups,dc=domain,dc=tld
ldap_user_object_class = inetOrgPerson
ldap_user_gecos = cn
ldap_tls_reqcert = hard
ldap_tls_cacert = /etc/pki/tls/certs/ca.pem
ldap_id_use_start_tls = true
# Possible de décommenter cette ligne si votre serveur SME est une
iPasserelle
# ldap_user_shell = desktopLoginShell
cache_credentials = true
enumerate = true
# # Il est possible de limiter l'accès via un filtre LDAP en
# # dé-commentant ces deux lignes. Dans cet exemple, seuls les
# # membres du groupe netusers seront valides sur cet hôte
https://wikit.firewall-services.com/
Printed on 13/12/2016 07:06
13/12/2016 07:06
3/5
Authentifier un poste CentOS sur SME avec SSSD
# # posixMemberOf est un attribut disponible uniquement sur une
iPasserelle
# access_provider = ldap
# ldap_access_filter = posixMemberOf=netusers
Le fichier /etc/sssd/sssd.conf doit être en 600
Configurer nss
Pour que NSS puisse utiliser sssd comme backend, il faut éditer /etc/nsswitch.conf, et rajouter sss
comme source d'utilisateurs et de groupes:
[...]
passwd:
shadow:
group:
[...]
netgroup:
files sss
files sss
files sss
files sss
Cette étape est faite automatiquement à partir de CentOS 7
Une fois cette modification effectuée, on peut vérifier si ça fonctionne, la commande
getent passwd
devrait lister les utilisateurs LDAP. Si ce n'est pas le cas, pas la peine d'aller plus loin. Il faut débuguer
(en lançant sssd en mode interractif avec sssd -i -d 5 par exemple)
Configurer pam
Il ne reste plus qu'à configurer pam pour que lui aussi utilise sssd comme source.
CentOS 5
rm -f /etc/pam.d/system-auth
cat <<'EOF' > /etc/pam.d/system-auth
#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth
required
pam_env.so
auth
sufficient
pam_unix.so nullok try_first_pass
WikiT - https://wikit.firewall-services.com/
Last
update:
tuto:ipasserelle:authentification:centos_sssd_on_sme https://wikit.firewall-services.com/doku.php/tuto/ipasserelle/authentification/centos_sssd_on_sme
23/10/2014
12:53
auth
auth
auth
requisite
sufficient
required
pam_succeed_if.so uid >= 500 quiet
pam_sss.so use_first_pass
pam_deny.so
account
account
account
account
required
pam_unix.so
sufficient
pam_succeed_if.so uid < 500 quiet
[default=bad success=ok user_unknown=ignore] pam_sss.so
required
pam_permit.so
password
password
use_authtok
password
password
requisite
sufficient
pam_cracklib.so try_first_pass retry=3
pam_unix.so md5 shadow nullok try_first_pass
sufficient
required
pam_sss.so use_authtok
pam_deny.so
session
optional
pam_keyinit.so revoke
session
required
pam_limits.so
session
optional
pam_mkhomedir.so skel=/etc/skel umask=0077
session
[success=1 default=ignore] pam_succeed_if.so service in crond
quiet use_uid
session
required
pam_unix.so
session
optional
pam_sss.so
EOF
CentOS 6 / 7
rm -f /etc/pam.d/system-auth
cat <<'EOF' > /etc/pam.d/system-auth
#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth
required
pam_env.so
auth
sufficient
pam_unix.so nullok try_first_pass
auth
requisite
pam_succeed_if.so uid >= 500 quiet
auth
sufficient
pam_sss.so use_first_pass
auth
required
pam_deny.so
account
account
account
account
required
pam_unix.so
sufficient
pam_succeed_if.so uid < 500 quiet
[default=bad success=ok user_unknown=ignore] pam_sss.so
required
pam_permit.so
password
password
use_authtok
password
password
requisite
sufficient
pam_cracklib.so try_first_pass retry=3 type=
pam_unix.so sha512 shadow nullok try_first_pass
sufficient
required
pam_sss.so use_authtok
pam_deny.so
https://wikit.firewall-services.com/
Printed on 13/12/2016 07:06
13/12/2016 07:06
5/5
Authentifier un poste CentOS sur SME avec SSSD
session
optional
pam_keyinit.so revoke
session
required
pam_limits.so
session
optional
pam_mkhomedir.so skel=/etc/skel umask=0077
session
[success=1 default=ignore] pam_succeed_if.so service in crond
quiet use_uid
session
required
pam_unix.so
session
optional
pam_sss.so
EOF
rm -f /etc/pam.d/password-auth
ln -sf system-auth /etc/pam.d/password-auth
Et voilà, reste plus qu'à tester l'ensemble
Une fois que tout fonctionne, il ne manque plus qu'à activer le démon sssd au démarrage:
chkconfig sssd on
ou
systemctl enable sssd
From:
https://wikit.firewall-services.com/ - WikiT
Permanent link:
https://wikit.firewall-services.com/doku.php/tuto/ipasserelle/authentification/centos_sssd_on_sme
Last update: 23/10/2014 12:53
WikiT - https://wikit.firewall-services.com/

Documents pareils