Alberto Garcia

Control de versions de codi

Control de versions de codi Abans de fer la tasca hem fet un curs de formació, amb un certificat del Curs de Git, a la plataforma de openwebinals. Una vegada el curs fet el que farem serà crear el repositori, per fer-ho vaig escollir GitHub, ja que és una eina que ja havíem utilitzat una mica en un passat i era la més còmoda per nosaltres, per fer-ho anirem a GitHub amb el nostre conta, després seleccionarem el botó verd on posa New, aquí entrarem a la configuració del nostre repositori, on haurem de configurar coses com el nom del repositori, la descripció, la visibilitat és a dir si serà públic o privat, i un parell d’opcions  perquè estiguin predestinats com el README que el seleccionarem, una vegada tot omplert donarem a Create Repositori baix en verd. Una vegada el repositori creat el que farem serà convidar els altres membres del grup, per fer-ho anirem a dalt a la dreta on posa Settings, aquí entrarem al primer apartat de configuració, que són col·laboradors, una vegada aquí clicarem a add people, i se’ns obrirà un menú on podrem afegir als nostres companys tant pel nom complet que tenen a GitHub o pel seu correu amb el qual inicien sessió. Ara passarem al nostre Debian, el que farem serà primer còpia al nostre repositori, a local, per fer un parell de modificacions i després tornar a pollar les actualitzacions, però primer el que farem serà compartir les claus SSH amb GitHub per poder anant pujar els arxius sense cap problema d’usuari.Per instal·lar les nostres claus SSH primer hem de generales que es fan amb la següent comanda, jo poso entre cometes amb el -C per posa un comentari, així sabre quina clau uso. ssh-keygen -t ed25519 -C "albgarciamarin@gmail.comm" Amb la clau creada anirem a GITHUB donarem al nostre perfil, i anirem a settings, després a ssh and GPG Keys i clicarem a new SSH key, una vegada dintre d’aquest menú ja veurem per posar-li “nom” aquesta nova clau que estem afegint a GITHUB, al type posarem authentication Key hi ha key la key que prèviament hem generat, donarem a add ssh key. Ara el que farem serà  copiar el fitxer Vagrantfile dins de l’estructura del nostre repositori Git, Un cop ja tenim les nostres claus SSH configurades i vinculades correctament amb el nostre compte de GitHub, el següent pas és portar el projecte a la nostra màquina local. Per fer-ho, utilitzarem la comanda git clone, però en lloc d’usar l’enllaç HTTPS (que ens demanaria usuari i contrasenya cada vegada), farem servir l’enllaç SSH que per això hem fet tot allò d’afegir les claus per comoditat, per agafar l’enllaç de SSH és donant dintre del nostre repositor a code hi ha SSH aquí copiarem la línia. Git necessita saber qui signa els canvis. Si no ho has fet mai en aquesta màquina, llança aquestes dues comandes. git config –global user.name "Alberto Garcia" git config –global user.email "Albgarciamarin@gmail.com" Ara ja per clonar el repositori es farà el git clone més l’enllaç, en ser la primera vegada que fem SSH ens demanarà si volem connectar la nostra fingerprint posarem Yes i ja instal·larà tot el repositori en local. vagrant@GitHub:~$ git clone git@github.com:AlbertoDEV0/Reto3-g3.git Cloning into 'Reto3-g3'… The authenticity of host 'github.com (140.82.121.4)' can't be established. ED25519 key fingerprint is SHA256:+DiY3wvvV6TuJJhbpZisF/zLDA0zPMSvHdkr4UvCOqU. This key is not known by any other names. Are you sure you want to continue connecting (yes/no/[fingerprint])? yes Warning: Permanently added 'github.com' (ED25519) to the list of known hosts. remote: Enumerating objects: 3, done. remote: Counting objects: 100% (3/3), done. remote: Compressing objects: 100% (2/2), done. remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0) Receiving objects: 100% (3/3), done. Finalment, entrem a la carpeta del projecte amb cd i fem un ls -la per verificar que tots els fitxers, inclòs el directori ocult .git, s’han descarregat correctament. vagrant@GitHub:~$ cd Reto3-g3 ls -la total 16 drwxr-xr-x 3 vagrant vagrant 4096 Mar 19 11:03 . drwxr-xr-x 5 vagrant vagrant 4096 Mar 19 11:03 .. drwxr-xr-x 8 vagrant vagrant 4096 Mar 19 11:03 .git -rw-r–r– 1 vagrant vagrant 55 Mar 19 11:03 README.md Per posar a prova el control de versions, hem realitzat una modificació al fitxer README.md. L’objectiu és verificar que els canvis fets localment a la nostra màquina es reflecteixen correctament al repositori web de GitHub després d’executar un push. vagrant@GitHub:~$ cd Reto3-g3 ls -la total 16 drwxr-xr-x 3 vagrant vagrant 4096 Mar 19 11:03 . drwxr-xr-x 5 vagrant vagrant 4096 Mar 19 11:03 .. drwxr-xr-x 8 vagrant vagrant 4096 Mar 19 11:03 .git -rw-r–r– 1 vagrant vagrant 55 Mar 19 11:03 README.md El següent pas en la nostra gestió de versions és personalitzar la presentació del projecte. Hem editat el fitxer README.md per incloure la informació del nostre grup, ara veurem l’estat amb la seguent comanda. vagrant@GitHub:~/Reto3-g3$ sudo vim README.md vagrant@GitHub:~/Reto3-g3$ git status On branch main Your branch is up to date with 'origin/main'. Changes not staged for commit: (use "git add <file>…" to update what will be committed) (use "git restore <file>…" to discard changes in working directory) modified: README.md no changes added to commit (use "git add" and/or "git commit -a") Això ens indica que la modificació està feta però encara no s’ha afegit a l’índex de Git. Per confirmar el canvi, procedim a fer un git add per preparar el fitxer, un commit per registrar la versió amb un missatge descriptiu, i finalment un push per actualitzar el repositori remot a GitHub. vagrant@GitHub:~/Reto3-g3$ git add README.md git commit -m "Actualització del README amb la info del Grup 3" git push origin main [main 803de04] Actualització del README amb la info del Grup 3 1 file changed, 17 insertions(+), 1 deletion(-) Enumerating objects: 5, done. Counting objects: 100% (5/5), done. Compressing objects: 100% (2/2), done. Writing objects: 100% (3/3), 618 bytes | 618.00 KiB/s, done. Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 To github.com:AlbertoDEV0/Reto3-g3.git 8fd23d5..803de04 main -> main Ara anirem a GITHUB per veure … Read more

🧱 – Seguretat perimetral

Seguretat perimetral Implementar un firewall perimetral Click Configurar un proxy per la navegació web dels clients Click Configura una WLAN d’administració dels servidors Click Configurar el proxy de manera transparent pels clients Click Configuració de fail2ban Click

Configurar un proxy per la navegació web dels clients

Configurar un proxy per la navegació web dels clients El primer que farem serà instal·lar el servei Squid i realitzar una còpia de seguretat del fitxer de configuració original per poder revertir canvis si fos necessari. sudo apt update && sudo apt install squid -y sudo cp /etc/squid/squid.conf /etc/squid/squid.conf.bak Abans de configurar el fitxer principal, crearem un fitxer de text on posarem els dominis que volem bloquejar. Això ens permet tindre llistes negres externes, que és molt més útil així no hem de tocar com tal el arxiu de configuració principal.Dins del fitxer afegim els dominis (el punt inicial serveix per bloquejar també els subdominis): # Creem el fitxer de bloqueig sudo vim /etc/squid/blacklist.txt .facebook.com .instagram.com .tiktok.com Abans de procedir amb la configuració, detallarem les decisions preses per complir amb els objectius de seguretat i optimització: Segmentació de Xarxa: S’ha definit l’ACL xarxa_smx utilitzant la subxarxa 192.168.100.0/28. Això limita l’ús del proxy exclusivament als 14 hosts de la meva VLAN, evitant accessos no autoritzats des d’altres segments, aquesta subxarxa es cambiara a cada membre del grup per que funcioni en tots els routers. Control de Continguts (Filtratge): Per dotar el sistema de flexibilitat, s’ha implementat una Llista Negra externa (blacklist.txt). Aquesta configuració permet actualitzar els dominis prohibits sense necessitat de modificar el codi principal del servei. Seguretat de Ports: S’aplica una política de “Deny by Default”. Només es permet el trànsit a través dels ports segurs (80 HTTP i 443 HTTPS), bloquejant qualsevol altre protocol que pugui suposar un risc. Optimització de l’Amplada de Banda: S’ha configurat una memòria caché combinada: RAM (cache_mem): Per a una resposta immediata dels objectes més consultats. Disc (cache_dir): Per emmagatzemar fins a 100MB de contingut web, reduint el consum de dades de la nostra sortida a Internet. sudo vim /etc/squid/squid.conf # CONFIGURACIÓ PROXY # — Definició de Xarxes i Fitxers — acl xarxa_smx src 192.168.100.0/28 acl webs_bloquejades dstdomain "/etc/squid/blacklist.txt" # — Secció de Seguretat (Ports) — acl Safe_ports port 80 acl Safe_ports port 443 acl CONNECT method CONNECT # — Regles Accés — http_access deny !Safe_ports http_access deny webs_bloquejades http_access allow xarxa_smx http_access allow localhost http_access deny all # — Paràmetres del Servei — http_port 3128 # — Secció d'Optimització (Caché) — cache_mem 128 MB cache_dir ufs /var/spool/squid 100 16 256 Ara reiniciarem el servei per activar la teva nova configuració i comprovarem que estigui “Running” vagrant@debian:~$ sudo systemctl restart squid vagrant@debian:~$ sudo systemctl status squid ● squid.service – Squid Web Proxy Server Loaded: loaded (/lib/systemd/system/squid.service; enabled; preset: enabled) Active: active (running) since Mon 2026-03-16 09:38:19 CET; 1s ago Docs: man:squid(8) Process: 2182 ExecStartPre=/usr/sbin/squid –foreground -z (code=exited, status=0/SUCCESS) Main PID: 2186 (squid) Tasks: 5 (limit: 487) Memory: 40.5M CPU: 162ms CGroup: /system.slice/squid.service ├─2186 /usr/sbin/squid –foreground -sYC ├─2188 "(squid-1)" –kid squid-1 –foreground -sYC ├─2189 "(logfile-daemon)" /var/log/squid/access.log ├─2190 "(unlinkd)" └─2191 "(pinger)" Mar 16 09:38:19 debian squid[2188]: 0 Objects expired. Mar 16 09:38:19 debian squid[2188]: 0 Objects cancelled. Mar 16 09:38:19 debian squid[2188]: 0 Duplicate URLs purged. Mar 16 09:38:19 debian squid[2188]: 0 Swapfile clashes avoided. Mar 16 09:38:19 debian squid[2188]: Took 0.04 seconds ( 0.00 objects/sec). Mar 16 09:38:19 debian squid[2188]: Beginning Validation Procedure Mar 16 09:38:19 debian squid[2188]: Completed Validation Procedure Mar 16 09:38:19 debian squid[2188]: Validated 0 Entries Mar 16 09:38:19 debian squid[2188]: store_swap_size = 0.00 KB Mar 16 09:38:20 debian squid[2188]: storeLateRelease: released 0 objects Ara que farem serà una prova bàsica, per fer-ho utilitzarem tant la màquina de router amb el proxy amb una comanda, que farà que vagi sortint tot el contingut de  l’arxiu de log, on es veu el trànsit de la xarxa, també utilitzarem una altra màquina Ubuntu per busca  alguna pàgina bloquejada per veure es bloqueja, i per últim buscarem google.com per veure com podem accedir. Tambe s’ha configurat el navegador Firefox de manera específica per garantir que tot el trànsit web passi pel nostre servidor Debian. Dins de Settings > Network Settings, s’han aplicat els següents paràmetres: Manual proxy configuration: S’ha seleccionat aquesta opció per introduir manualment les dades del nostre servidor. HTTP Proxy: S’ha introduït l’adreça IP del router, 192.168.100.1. Port: S’ha definit el port 3128, que és el port d’escolta per defecte del servei Squid configurat al router. Petició a un domini prohibit. Es veu el codi 403 Forbidden, confirmant que el Proxy denega. vagrant@ubuntu:~$ curl -I http://www.facebook.com HTTP/1.1 403 Forbidden Server: squid/5.7 Mime-Version: 1.0 Date: Mon, 16 Mar 2026 10:46:14 GMT Content-Type: text/html;charset=utf-8 Content-Length: 3070 X-Squid-Error: ERR_ACCESS_DENIED 0 Vary: Accept-Language Content-Language: en X-Cache: MISS from debian X-Cache-Lookup: NONE from debian:3128 Via: 1.1 debian (squid/5.7) Connection: keep-alive Petició a un domini permès. El codi 200 OK indica que el trànsit flueix correctament a través del servidor. vagrant@super-VirtualBox:~$ curl -I http://www.google.com HTTP/1.1 200 OK Content-Type: text/html; charset=ISO-8859-1 Content-Security-Policy-Report-Only: object-src 'none';base-uri 'self';script-src 'nonce-0YqOu5E-MU2rgqxpZM9Fog' 'strict-dynamic' 'report-sample' 'unsafe-eval' 'unsafe-inline' https: http:;report-uri https://csp.withgoogle.com/csp/gws/other-hp Reporting-Endpoints: default="//www.google.com/httpservice/retry/jserror?ei=GeC3afX2Bczy7M8Piq-L8Ag&cad=crash&error=Page%20Crash&jsel=1&bver=2397&dpf=Ng6uYl74jlEq2r7cbHIWJj-t0bOpZPEednZknlLPizE" Date: Mon, 16 Mar 2026 10:48:57 GMT Server: gws X-XSS-Protection: 0 X-Frame-Options: SAMEORIGIN Expires: Mon, 16 Mar 2026 10:48:57 GMT Cache-Control: private Set-Cookie: AEC=AaJma5vGUrkejT4msm-p_t8aPrnjb1ZhZdv1S6qkW1x_5WpLLlZD6TC7GfM; expires=Sat, 12-Sep-2026 10:48:57 GMT; path=/; domain=.google.com; Secure; HttpOnly; SameSite=lax X-Cache: MISS from debian X-Cache-Lookup: MISS from debian:3128 Via: 1.1 debian (squid/5.7) Connection: keep-alive I el registre d’activitat al servidor Squid. Es pot veure la traça de les dues peticions anteriors amb els estats TCP_DENIED/403 i TCP_MISS/200 vagrant@router:~$ sudo tail -f /var/log/squid/access.log 1773656493.172 3035 192.168.100.9 TCP_MISS_ABORTED/000 0 GET http://detectportal.firefox.com/canonical.html – HIER_NONE/- – 1773656529.827 39624 192.168.100.9 NONE_NONE/500 0 CONNECT ads.mozilla.org:443 – HIER_NONE/- – 1773656529.827 39620 192.168.100.9 NONE_NONE/500 0 CONNECT ads.mozilla.org:443 – HIER_NONE/- – 1773656529.827 39480 192.168.100.9 NONE_NONE/500 0 CONNECT www.google.com:443 – HIER_NONE/- – 1773656529.827 36857 192.168.100.9 NONE_NONE/500 0 CONNECT www.google.com:443 – HIER_NONE/- – 1773656529.827 39423 192.168.100.9 NONE_NONE/500 0 CONNECT firefox.settings.services.mozilla.com:443 – HIER_NONE/- – 1773656529.827 39359 192.168.100.9 NONE_NONE/500 0 CONNECT safebrowsing.googleapis.com:443 – HIER_NONE/- – 1773656529.827 39014 192.168.100.9 NONE_NONE/500 0 CONNECT push.services.mozilla.com:443 – HIER_NONE/- – 1773656529.827 38874 192.168.100.9 NONE_NONE/500 0 CONNECT incoming.telemetry.mozilla.org:443 – HIER_NONE/- – 1773656529.827 37251 192.168.100.9 NONE_NONE/500 0 CONNECT www.reddit.com:443 – HIER_NONE/- – 1773657974.044 0 192.168.100.10 TCP_DENIED/403 362 HEAD http://www.facebook.com/ – HIER_NONE/- text/html 1773658137.397 353 192.168.100.10 TCP_MISS/200 964 HEAD http://www.google.com/ – HIER_DIRECT/142.251.29.106 text/html

Connexió client Windows

Connexió client Windows El primer que farem serà instal·lar el programa que utilitzarem després d’una cerca he trobat que l’eina que millor ens pot funcionar per connectar al nostre Windows 10 amb el servidor LDAP es pGina és una eina orientada a AD, però també és compatible algunes opcions amb LDAP, aquest es el repositori de GIT oficial Release pGina 3.1.8.0 · pgina/pgina · GitHub Ara el que farem una vegada el programa instal·lat obrirem al programa per primer fer una petita configuració d’activar els plugins de LDAP, per fer-ho seguirem aquest menú primer passarem de general a plugin selection, una vegada aquí activarem  les 3 caselles de LDAP, i per últim donarem a aply. Ara el que farem amb la casella de LDAP seleccionada anirem a fer la configuració de LDAP, per entrar aquesta configuració és tan fàcil com donar-li a configurar baix a la dreta, amb casella seleccionada en blau. Se’ns obrirà una nova finestra on haurem d’introduir les dades del nostre servidor: LDAP Host(s): Introduirem l’adreça IP del nostre servidor Debian (en aquest cas, 192.168.100.6). LDAP Port: El deixarem per defecte en el port 389. Search DN: Aquí posarem la base del nostre directori, que  el nostre exemple és dc=illa3,dc=es. A la part inferior d’aquesta finestra, a la pestanya Authentication, haurem de definir el User DN Pattern. Aquest pas és vital per a que el programa sàpiga on buscar els usuaris dins de l’arbre LDAP. Utilitzarem la ruta on es troben els nostres objectes de tipus usuari: uid=%u,ou=usuaris,dc=illa3,dc=es. Una vegada hem configurat la comunicació amb el servidor, hem de definir què ha de fer Windows quan el servidor LDAP confirmi que l’usuari és vàlid. Per això utilitzarem la pestanya Gateway, que és l’encarregada de crear el perfil de l’usuari a la màquina local. Dins de la configuració del plugin LDAP, anirem a la pestanya Gateway i seguirem aquests passos per definir les regles d’accés: A la part inferior, seleccionarem l’opció “If member of LDAP group“. Definir l’abast: En el següent quadre de text escriurem un asterisc *. Això serveix per indicar que qualsevol usuari que estigui registrat al nostre LDAP de Debian podrà iniciar sessió. En el quadre “add to local group“, escriurem el nom del grup d’usuaris de Windows, en el nostre cas com esta en ingles el nostre sistema es Users  I per ultim pulsarem el botó Add Rule i veurem com la regla s’afegeix a la llista superior. Per acabar la configuració i fer que pGina aparegui a la pantalla d’inici de Windows, anirem a la pestanya Credential Provider Options. Aquí ens assegurarem que la casella pGinaCredentialProvider estigui marcada en totes les seves columnes (Logon, Unlock, etc.). Això permetrà que el sistema utilitzi pGina com a mètode d’entrada oficial. Per confirmar-ho, farem clic a Apply i finalment a Save & Close. Amb aquest pas, el nostre Windows 10 ja està llest per rebre usuaris del servidor LDAP. Per comprovar que tota la configuració anterior funciona correctament abans de tancar la sessió, utilitzarem la pestanya Simulation. Aquest pas és fonamental per assegurar-nos que Windows es pot comunicar amb el servidor Debian sense errors. Introduirem les credencials d’un usuari real del nostre LDAP i li donem el botó de play. Com podem veure a la captura, si tot és correcte, els indicadors d’Authentication, Authorization i Gateway es posaran en verd amb el resultat True. Això ens confirma que el servidor LDAP ha validat la contrasenya i que pGina està llista per crear la sessió local a Windows 10.

Perfils mòbils

Perfils mòbils El primer que fem és crear l’usuari en el servidor ldap, aquest usuari era el que després convertirem a un perfil mòbil, per fer-ho crearem un arxiu amb l’extensió .ldif. i dintre d’aquest arxiu ficarem la seguent informacio. sudo vim usuari.ldif dn: uid=joan,ou=usuaris,dc=illa3,dc=es objectClass: inetOrgPerson objectClass: posixAccount objectClass: shadowAccount uid: joan sn: Garcia givenName: Joan cn: Joan Garcia uidNumber: 10005 gidNumber: 10005 userPassword: password123 loginShell: /bin/bash homeDirectory: /home/joan Ara una vegada l’arxiu creat hem de pujar a LDAP, per fer-ho utilitzarem la següent comanda, Una vegada ja tenim l’usuari creat i necessitem apunta un número important per ara anar al nfs, hem de recordar-nos del número uidNumber: 10005. ldapadd -x -D "cn=admin,dc=illa3,dc=es" -W -f usuari.ldif Ara anem al servidor NFS  i crearem la carpeta de l’usuari Joan, i després li donarem la propietat d’aquesta carpeta a l’usuari amb el uidNumber: 10005, i per últim donarem permisos perquè únicament ell pugui veure els seus fitxers. sudo mkdir -p /export/perfils/joan sudo chown 10005:10005 /export/perfils/joan sudo chmod 700 /export/perfils/joan Per poder comprovar si el perfil es munta correctament més endavant, crearem un fitxer de text dins de la carpeta de l’usuari Joan directament des del servidor. sudo touch /export/perfils/joan/hola_soc_el_joan.txt sudo chown 10005:10005 /export/perfils/joan/hola_soc_el_joan.txt Ara hem de dir-li al servidor NFS que permeti que el client pugui connectar-se a la carpeta del Joan. Editarem el fitxer de configuració d’exportacions. sudo nano /etc/exports # Carpeta JOAN /export/perfils/joan 192.168.100.0/24(rw,sync,no_subtree_check,no_root_squash) Ara el que farem serà actualitzar les carpetes compartides, i farem un restart del servei, per fer que tota la configuració s’apliqui. sudo exportfs -ra sudo systemctl restart nfs-kernel-server Ara anirem al client el qual es connectarà al ldap i al nfs, amb l’usuari Joan, el primer que he de fer és instal·lar un paquet que permetrà que el directori de l’usuari es munti automàticament en fer el login, i el paquet de NFS client. sudo apt update sudo apt install libpam-mount nfs-common -y Editarem el fitxer de configuració del mòdul PAM per definir que, quan l’usuari “joan” entri al sistema, es connecti la seva carpeta remota del servidor NFS al seu directori /home/joan local, dintre del fitxer afegirem aquesta linea abans del  </pam_mount> <volume user=”joan” fstype=”nfs” server=”192.168.100.5″ path=”/export/perfils/joan” mountpoint=”/home/joan” /> sudo vim /etc/security/pam_mount.conf.xml <volume user="joan" fstype="nfs" server="192.168.100.5" path="/export/perfils/joan" mountpoint="/home/joan" /> </pam_mount> També haurem de fer la instal·lació del paquet de ldap client perquè aquest client trobi l’usuari creat al OpenLDAP server. Per fer-ho únicament utilitzarem la següent comandes. sudo apt install libnss-ldap libpam-ldap ldap-utils nscd -y També hem de fer una petita configuració a l’arxiu del LDAP a l’arxiu sudo vim /etc/nsswitch.conf Afegirem el ldap en les lineas seguentspasswd: files systemd ldapgroup: files systemd ldapshadow: files systemd ldapgshadow: files systemd # /etc/nsswitch.conf # # Example configuration of GNU Name Service Switch functionality. # If you have the `glibc-doc-reference' and `info' packages installed, try: # `info libc "Name Service Switch"' for information about this file. passwd: files systemd ldap group: files systemd ldap shadow: files systemd ldap gshadow: files systemd Finalment, provarem d’entrar amb l’usuari de l’LDAP per verificar que tot funciona i que podem crear fitxers nous que es guardaran al servidor, utilitzarem les seguents commandes per primer iniciar sessio com el usuari joan, despres crearem un arxiu per veure si tenmi permisos y per ultim ls per veure si es ha creat  su – joantouch fitxer_creat_des_del_client.txtls -l vagrant@super-VirtualBox:~$ su – joan Password: groups: cannot find name for group ID 10005 joan@super-VirtualBox:~$ ls fitxer_creat_des_del_client.txt hola_soc_el_joan.txt joan@super-VirtualBox:~$ També des de la màquina NFS farem un LS en la carpeta de Joan per veure si està l’arxiu creat. vagrant@debian:~$ sudo ls /export/perfils/joan fitxer_creat_des_del_client.txt hola_soc_el_joan.txt

Interfície gràfica d’administració

Interfície gràfica d’administració Per a gestionar el nostre servidor LDAP de manera visual, hem decidit utilitzar LDAP Account Manager (LAM). Aquesta és la justificació tècnica de la meva elecció: Per què hem triat LAM? Eina oficial i actualitzada: He comprovat que és un projecte actiu. No és una eina abandonada, sinó que rep actualitzacions de seguretat i millores constants, cosa que és important perquè no sigui una eina antiquada. Facilitat d’ús (GUI): Encara que podem fer-ho tot per terminal amb fitxers .ldif, LAM ens permet crear usuaris i grups amb un formulari web normal. Això evita cometre errors de sintaxis que podrien causar problemas i estropitjar el servei LDAP Seguretat: Permet connectar-se al servidor LDAP de forma segura i gestionar les contrasenyes dels usuaris. Compatibilitat total: Funciona perfectament sobre un servidor Apache i es comunica sense problemes amb OpenLDAP, que és el que estem fent servir per aquest repte. Ara ja passarem a fer la instal·lació i configuració, el primer  de tot, ens assegurem que el repositori estigui al dia i instal·lem el paquet de LAM. Això també instal·larà automàticament el servidor web Apache i el PHP per si qencara no estaba instal·lat sudo apt update sudo apt install ldap-account-manager -y Una vegada instal·lat el paquet, accedirem a l’URL de la pàgina que està creada en el meu cas hem de posar la IP de la nostra màquina/lam que és el nom on està els arxius del programa.http://192.168.100.6/lam Una vegada dintre nos ens deixarà iniciar sessió amb aquesta pestanya perquè primer haurem de configurar un parell de coses, per anar a la configuració que toca ara haurem d’anar a LAM configuration -> Edit server profiles -> i posarem de password “lam” que és la predeterminada, i per últim a Account types, aquí és on es farà la primera part de la configuració per poder iniciar sessió. Una vegada dintre de Account types a baix de tot és on hem de modificar dos paràmetres perquè la pàgina trobi el nostre domini i les nostre OU per gestionar els usuaris i els grups. i per aconseguir aquesta informacio el que farme sera executar la seguent comanda en la terminal de la nostra maquina  sudo slapcat | grep dn: vagrant@debian:~$ sudo slapcat | grep dn: dn: dc=illa3,dc=es dn: ou=usuaris,dc=illa3,dc=es dn: ou=grups,dc=illa3,dc=es Per fer l’última configuració tornarem a General settings, a baix del tot veurem l’apartat de Security settings aquí és on haurem d’assignar amb quin usuari iniciarem sessió, a la pàgina per administrar-ho, jo he posat a l’usuari admin. (aquest usuari ha d’existir ja en el ldap) cn=admin,dc=illa3,dc=es Ara ja podrem tornar a la pàgina principal a iniciar sessió i veurem que ha canviat l’usuari mànager al qual nosaltres hem posat únicament ens quedarà posa la contrasenya d’aquest usuari i ja ens deixaria entrar administrar diferents opcions com les principals, que és crear i gestionar tant OU com usuaris, o també diverses opcions que té aquest programa.

Connexió client Linux

Connexió client Linux El primer que farem sera executar la següent comanda que servirà per instal·lar els paquets necessaris per a la comunicació del nostre client amb el servidor LDAP: sudo apt update && sudo apt install libnss-ldap libpam-ldap ldap-utils nscd Una vegada executada la comanda ens surtira una pestaña amb opcions, anem seleccionan la que necesitem Ara hem de dir al sistema que, a més de mirar als seus fitxers de text locals, consulteu a LDAP per trobar usuaris, grups i contrasenyes. La següent comanda obrirà el fitxer on hem d’indicar que el sistema cerqui usuaris a LDAP: sudo vim /etc/nsswitch.conf Ara una vegada dintre busca les línies de passwd, group i shadow i afegeix ldap al final de cadascuna, perquè quedin així: passwd: files systemd ldap group: files systemd ldap shadow: files ldap sudo vim /etc/nsswitch.vagrant@super-VirtualBox:~$ sudo cat /etc/nsswitch.conf # /etc/nsswitch.conf # # Example configuration of GNU Name Service Switch functionality. # If you have the `glibc-doc-reference' and `info' packages installed, try: # `info libc "Name Service Switch"' for information about this file. passwd: files systemd ldap group: files systemd ldap shadow: files systemd ldap gshadow: files systemd Per contínua, farem una ràpida configuració per fer que quan ens logegem amb un usuari que està al ldap, es creï la carpeta a l’home de l’equip.La següent comanda obrirà un menú interactiu per activar el mòdul LDAP i la creació automàtica de directoris de l’usuari, és a dir activarem l’opció.       -LDAP Authentication       -Create home directory on loginDintre d’aquest menú es mou amb les fletxes, l’espai per seleccionar i per donar-li a ok o cancel amb el tabulador. sudo pam-auth-update També haurem de configurar un altre arxiu, perquè el nostre client pugui trobar el nostre servidor de ldap, utilitzarem la següent comanda, i posarem aquestes dues línies, modificant el contingut en el qual necessitis, és a dir el domini és heura de cambia al teu domini, i la IP a la teva IP. sudo vim /etc/ldap/ldap.conf # LDAP Defaults # See ldap.conf(5) for details # This file should be world readable but not world writable. BASE dc=illa3,dc=es URI ldap://192.168.100.6 #SIZELIMIT 12 #TIMELIMIT 15 #DEREF never # TLS certificates (needed for GnuTLS) TLS_CACERT /etc/ssl/certs/ca-certificates.crt Després de fer tota aquesta configuració el que ens falta ser afer un parell de proves, per veure que el nostre client troba el nostre servidor ldap, i pot fer conexio amb ell, per fer això uitilzarem un parell de comandes, la primera la farem servir per veure si troba l’usuari Álvaro que vam crear al ldap, i després si aquesta funciona correctament intentarem inicia sessió amb aquest usuari, i veure si crea automaticament la carpeta home. getent passwd alvaro vagrant@super-VirtualBox:~$ getent passwd alvaro alvaro:x:10000:10000:Alvaro Perez:/home/Alvaro:/bin/bash su – alvaro vagrant@super-VirtualBox:~$ su – alvaro Password: Creating directory '/home/Alvaro'. groups: cannot find name for group ID 10000