Description

Golf est une VM hébergeant les sites des clubs.
Elle est dans le pool de VM du I11. Plus d'infos techniques sur proxmox.

Golf est sur Debian 7. C'est une vieille VM, et le projet RWS va remplacer le service.

Particularités

  • Golf est dans la DMZ, une IP fixe du ResEl est nattée depuis le Firewall directement vers elle.

  • La procédure pour ajouter un compte admin est spéciale, voir Ajouter un Compte admin

Services hebergés & Configuration

Comme Golf sert pour l'hébergement des sites de clubs, cette machine héberge une serveur FTP pour que les clubs puissent pousser du code pour leur site.

Il y a deux choses : NSS qui gère le LDAP comme bdd de configuration pour le système, et PAM qui permet d'authentifier depuis le LDAP.

Synchronisation webmestres & sites via LDAP

Les webmestres des sites de clubs doivent pouvoir y accéder, via le ftp. Pour cela, Golf est configuré pour synchroniser ses comptes utilisateurs et ses groupes avec le LDAP

Authentification via PAM

PAM : Pluggable Authentication Module est le gestionnaire des authentifications sous linux, il est configuré pour accepter leurs connexion en les authentifiant depuis le LDAP.

La configuration globale du ldap pour pam est dans : /etc/pam_ldap.conf, elle contient le lien vers la branche du LDAP.

Ensuite les modules d'interface de pam (ce sont les différent aspect du processus d'authentification), qui sont dans /etc/pam.d sont configurés pour accepter un accord de pam_ldap comme suffisant (sufficient) :

  • common-password : pour modifier son mot de passe
  • common-session : pour configurer la session
  • common-auth : pour authentifier l'utilisateur
  • common-account : pour vérifier que le compte est valide
  • sshd : pour les connexions ssh.

La configuration actuelle du LDAP accepte une connexion de n'importe quel membre du ResEl dans la branche

Ajouter un compte admin

Comme le compte existe déjà en tant que compte user, il faut ajouter un compte admin avec un pseudo différent.

Il est peut-être possible de modifier dans la conf de pam le provider d'authentification pour des exceptions, pour le mettre en compte Linux classique :

Synchronisation des informations via NSS

Une fois qu'on utilisateur est authentifié, les programmes qui ont besoin des infos d'un user, traditionnellement vont les chercher dans /etc/passwd, /etc/group et doivent demander à NSS : Name service Switch. On utilise nss_ldap pour synchroniser le LDAP comme bdd pour ces services, par exemple passwd est sur Linux la base de donnée qui store les comptes des utilisateurs.

Il est installé via apt install libnss-ldap.

La configuration globale de NSS est dans /etc/nsswitch.conf et précise et les utilisateurs et les groupes vont être recuperé depuis le LDAP.

La configuration globale du LDAP pour NSS est dans /etc/nss-ldap.conf. Cette configuration contient aussi une partie intéressante :

nss_base_passwd         ou=webmasters,dc=maisel,dc=enst-bretagne,dc=fr?one
nss_base_group          ou=sites,dc=resel,dc=enst-bretagne,dc=fr?one
logdir /var/log/libnss-ldap
nss_default_attribute_value uidNumber 179
nss_override_attribute_value uidNumber 179
nss_default_attribute_value gidNumber 1029
nss_map_objectclass posixAccount genericPerson
nss_map_objectclass shadowAccount genericPerson
nss_default_attribute_value cn ldap_user
nss_default_attribute_value loginShell /usr/bin/scponlyc_umask
nss_override_attribute_value loginShell /usr/bin/scponlyc_umask

Cela signifie :

  • Les comptes (qui sont les webmestres) vont êtes récupérés depuis ou=webmasters
  • Les groupes (qui sont les sites de clubs) vont être récuperés depuis ou=sites.
  • On map un posixAccount a un genericPerson
  • Le shell autorisé pour les utilisateurs depuis le ldap est scponly qui est un cli pour scp.

Historique

  • Migration et re-rédaction des articles sur Golf et Sites Clubs par Théo Jacquin en 2017.
  • Golf mise en place, refonte entière du système de site de clubs : mise en place de webmasters et plus de compte par clubs, refonte de l'architecture.
  • Avant Golf, les sites clubs étaient hébergés sur Baal.

Liens utiles