Sign inSign up

edtasixm06/pam22

By edtasixm06

•Updated over 3 years ago

@edt ASIX M06-ASO Escola del treball de barcelona. Repositori d'imatges de Docker PAM

Image
0

258

edtasixm06/pam22 repository overview

⁠PAM

⁠@edt ASIX M06-ASO Curs 2022-2023

Podeu trobar les imatges docker al Dockehub de edtasixm06⁠

Podeu trobar la documentació del mòdul a ASIX-M06⁠

ASIX M06-ASO Escola del treball de barcelona

⁠Imatges
  • edtasixm06/pam22:base Container PAM base per practicar regles PAM. Utilitza chfn per practicar els exmples del HowTo per aprendre el funcionament dels type (auth,account,session ipassword) i dels control bàsics (sufficient, required,requisite i optional) i avançats (die, ok). També permet practicar pam_mount.so per muntar unitats de tmpfs o NFS als usuaris.

  • edtasixm06/pam22:ldap Container PAM base per practicar autenticació unix i LDAP. Utilitza els paquets libpam-ldap, libnss-ldap, nscd i nslcd per configurar l'accés al servei ldap i configura les regles PAM per permetre tant usuaris unix com usuaris LDAP. En tots dos casos es munta en el home un recurs tmpfs temporal. En el cs dels usuaris LDAP si el seu home no existeix es crea usant pam_mkhomedir.so.

  • edtasixm06/ssh22:sshfs Host client que accedeix al servidor SSH. Aquest host client està configurat per muntar els homes dels usuaris via sshfs del servidor SSH. S'ha configurat syste-auth per usar pam_mount i configurat pam_mount.conf.xml per muntar un recurs de xarxa al home dels usuaris via SSHFS.

  • edtasixm06/pam22:samba Container PAM que utilitza autenticació d'usuaris LDAP i que munta dins el seu home un recurs de xarxa SAMBA provinent del servdor SAMBA samba22:homes.

⁠PAM Containers:

Exemples d'imatges per practicar PAM individualment i per practicar autnticació PAM amb ldap.

  • edtasixm06/pam22:base Container PAM base per practicar regles PAM. Utilitza chfn per practicar els exmples del HowTo per aprendre el funcionament dels type (auth,account,session ipassword) i dels control bàsics (sufficient, required,requisite i optional) i avançats (die, ok). També permet practicar pam_mount.so per muntar unitats de tmpfs o NFS als usuaris.
docker run --rm --name pam.edt.org -h pam.edt.prg --net 2hisx -it edtasixm06/pam22:base

  • edtasixm06/pam22:ldap Container PAM per practicar l'autenticació PAM unix i PAM ldap. Utilitza els paquets libpam-ldap, libnss-ldap, nscd i nslcd per configurar l'accés al servei ldap i configura les regles PAM per permetre tant usuaris unix com usuaris LDAP. En tots dos casos es munta en el home un recurs tmpfs temporal. En el cs dels usuaris LDAP si el seu home no existeix es crea usant pam_mkhomedir.so.
docker run --rm --name ldap.edt.org -h ldap.edt.org --net 2hisx -d edtasixm06/ldap22:latest
docker run --rm --name pam.edt.org  -h pam.edt.prg  --net 2hisx --privileged -it edtasixm06/pam22:ldap



⁠PAM Containers:
  • edtasixm06/pam22:base Container PAM base per practicar regles PAM. Utilitza chfn per practicar els exmples del HowTo per aprendre el funcionament dels type (auth,account,session ipassword) i dels control bàsics (sufficient, required,requisite i optional) i avançats (die, ok). També permet practicar pam_mount.so per muntar unitats de tmpfs o NFS als usuaris.

Procediment per usar pam_mount.so

  • Instal·lar el paquet libpam-mount.
  • Configurar pam_mount en els dos controls apropiats: auth i session.
  • Configurar el fitxer /etc/security/pam_mount.conf.xml per definir els recursos a muntar. Poden ser globals (per a tots els usuaris: generalment es defineixen al fstab) o individuals (dins el home d'un usuari).
  • Realitzar un exemple usant un sistema tmpfs de 100MB dins el home dels usuaris. Realitzar un exemple muntant dins el home dels usuaris un recurs NFS, per exemple el recurs /usr/share/doc. Per fer-ho cal muntar un servidor NFS per exemple en el propi host de l'alumne (no en un container!).
docker run --rm --name pam.edt.org -h pam.edt.org --net 2hisx --privileged -it edtasixm06/pam22:base 



⁠PAM Containers:
  • edtasixm06/pam22:ldap Container PAM base per practicar autenticació unix i LDAP. Utilitza els paquets libpam-ldap, libnss-ldap, nscd i nslcd per configurar l'accés al servei ldap i configura les regles PAM per permetre tant usuaris unix com usuaris LDAP. En tots dos casos es munta en el home un recurs tmpfs temporal. En el cs dels usuaris LDAP si el seu home no existeix es crea usant pam_mkhomedir.so.
⁠Configuració:
  • Cal instal·lar els paquets libpam-ldap i libnss-ldap.
  • Configurar el client ldap per definir com accedir al servidor ldap per defecte: /etc/ldap/ldap.conf.
  • Configurar la resolució de noms de /etc/nsswitch per indicar files i ldap per a le sbases de dades de passwd i groups.
  • Configurar /etc/nslcd.conf per indicar on s'ha de connectar per obtenir la informació LDAP, el proveïdor d'informació dels comptes d'usuari IP: Information provider i també el AP: Authentication Provider, perquè en aquest exemple LDAP proporciona tant la informació dels comptes d'usuari de xarxa com el seu password.
  • Engegar els serveis nscd i nslcd.
  • Validació-1 Acceś al IP en aquest punt el host PAM està configurat per accedir a la informació LDAP de manera que les ordres getent han de funcionar i serveixen de mecanisme de validació de si tot està correctament configurat o no.
$ getent passwd
$ getent group
  • Configuració de les regles PAM per incloure autenticació unix i autenticació LDAP. Cal configurar tots els type per incloure l'autenticació pam_ldap.so.
  • Validació-2 Autenticació LDAP i unix un cop configurats els fitxers de PAM els usuaris han de poder iniciar sessió tant si són usuaris unix com si són usuaris de LDAP.
  • Configurar /etc/security/pam.mount.conf.xml per incloure el recurs de disk temporal tmpfs que cal muntar automàticament dins del home de cada usuari en iniciar sessió.
⁠Descripció dels usuaris:
  • Usuaris unix: unix01(unix01), unix02(unix02), unix03(unix03), unix04(unix04) i unix05(unix05)
  • Usuaris LDAP: pere(pere), marta(marta), anna(anna), jordi(jordi), pau(pau), user01(jupiter)...user09(jupiter)
docker build --no-cache -t edtasixm06/pam22:ldap .

docker run --rm --name ldap.edt.org -h ldap.edt.org --net 2hisix -d edtasixm06/ldap22:latest
docker run --rm --name pam.edt.org -h pam.edt.prg --net 2hisix --privileged -it edtasixm06/pam22:ldap


⁠PAM Containers
  • edtasixm06/ssh22:sshfs Host client que accedeix al servidor SSH. Aquest host client està configurat per muntar els homes dels usuaris via sshfs del servidor SSH. S'ha configurat syste-auth per usar pam_mount i configurat pam_mount.conf.xml per muntar un recurs de xarxa al home dels usuaris via SSHFS.

    Atenció: aquesta imatge és en ralitat un pam22:sshfs

    Atenció cal usar en el container --privileged per poder fer els muntatges sshfs.

    Atenció al problema del known_hosts, cal que en el client PAM que munta els homes via sshfs abans de muntar cap home estigui al .ssh/known_hosts de root el fingerprint del servidor ssh (ssh.edt.org), si no el pam_mount es quedar�| penjat esperant la confirmació, el yes, del fingerprint.

    Configuració del home amb sshfs

    Per configurar el recurs dins del home de l'usuari consultar com dfinir un recurs SSHFS del pam_mount.conf.xml. Recordar que cal disposar al known_hosts de root del fingerprint del host servidor ssh.

    També que cal assegurar-se de tenir instal·lat el paquet sshfs per poder usar-ne la utilitat de muntatge

    Posar atenció a quin dels ftxers pam_mount.conf.xml volem usar. Si volem també els recursos tmpfs o no i si el servidor al que connecta est�| al port 2022 (aws) o al port ssh normal 22 (exemple amb desplegament local).

docker run --rm --name ldap.edt.org -h ldap.edt.org --net 2hisx -d edtasixm06/ldap22:latest
docker run --rm --name ssh.edt.org -h ssh.edt.org --net 2hisx -d edtasixm06/ssh22:base
docker run --rm --name sshfs.edt.org --hostname sshfs.edt.org --net 2hisx --privileged --cap-add SYS_ADMIN --device /dev/fuse  --security-opt apparmor:unconfined -it edtasixm06/ssh22:sshfs


⁠PAM Containers:
  • edtasixm06/pam22:samba Container PAM que utilitza autenticació d'usuaris LDAP i que munta dins el seu home un recurs de xarxa SAMBA provinent del servdor SAMBA samba22:homes. Pot utilitzar-se per verificar tant la imatge samba22:homes com la imatge samba22:homes_amb_ldap.
⁠Execució i verificació
docker run --rm --name ldap.edt.org -h ldap.edt.org --net 2hisx -d edtasixm06/ldap22:latest
docker run --rm --name samba.edt.org -h samba.edt.org --net 2hisx --privileged -d edtasixm06/samba22:homes
docker logs samba.edt.org
docker run --rm --name pam.edt.org -h pam.edt.org --net 2hisx --privileged -it edtasixm06/pam22:samba
# su - pere
ls -la pere


Tag summary

Content type

Image

Digest

sha256:ffd436b20…

Size

130.7 MB

Last updated

over 3 years ago

docker pull edtasixm06/pam22:samba