Sprint 5: Monitoratge, Auditories i Programari Client/Servidor

Sprint 5: Monitoratge, Auditories i Programari Client/Servidor

1. Conceptes Fonamentals de Logging

Per gestionar els logs, Linux utilitza dos conceptes principals per classificar la informació:

L’eina logger

La comanda logger permet afegir entrades al log del sistema manualment des de la terminal.

Exemple: logger -i -s -p mail.err "Missatge d'error"

2. Directoris i Fitxers Importants

La majoria dels logs del sistema s’emmagatzemen a /var/log. Tot i que molts serveis escriuen al fitxer general syslog, alguns paquets instal·lats creen les seves pròpies carpetes per gestionar les seves dades de manera independent.

image

Si visualitzem el fitxer syslog, podem veure l’activitat general del sistema en temps real:

image


3. Rotació de Logs (logrotate)

Per evitar que els fitxers de log omplin tot el disc dur, el sistema utilitza logrotate. Aquesta eina:

  1. Comprimeix els logs antics (sovint en format .gz).
  2. Els reanomena (ex: syslog.1, syslog.2.gz).
  3. Elimina els fitxers més vells segons una configuració de dies o mida.

La configuració es troba a /etc/logrotate.d/.

image

Podem veure la configuració específica de rsyslog per entendre com gestiona els seus propis fitxers:

image


4. Configuració de rsyslog

Antigament, tota la configuració es trobava a /etc/rsyslog.conf. Actualment, a les distribucions basades en Ubuntu/Debian, la configuració de les regles per defecte es troba a: /etc/rsyslog.d/50-default.conf

image

Proves de funcionament

Per veure els canvis en directe mentre fem proves, executem en una terminal: tail -f /var/log/syslog

1: Kern.notice

Executem: logger -i -s -p kern.notice "Prova pau" El resultat a la terminal de monitoratge serà:

image

Prova 2: Mail.notice

Podem provar amb diferents serveis com el de correu:

image

image

Prova 3 i 4: Filtres de nivell

Si modifiquem el fitxer de configuració per filtrar nivells específics (per exemple, usant o traient l’igual = a mail.err), el comportament del log canviarà, registrant només aquest nivell o tots els superiors.

image (10) image

Prova 5: Fitxers de log personalitzats

Podem redirigir logs a fitxers propis afegint una línia al fitxer 50-default.conf. Per exemple, per enviar totes les alertes crítiques a un fitxer nou: *crit -/var/log/pau.log

image


5. El sistema journalctl

A més dels fitxers de text tradicionals, els sistemes moderns amb systemd utilitzen un log binari gestionat per journalctl. Això permet fer cerques molt més ràpides i filtrades.

Per exemple, per veure només els logs de correu: journalctl --facility=mail

image


TASCA 1: Rendiment

Per observar el rendiment del sistema utilitzem el Monitor del sistema d’Ubuntu, una eina gràfica que permet veure informació sobre els processos actius, el consum de recursos i l’estat dels sistemes de fitxers.

Aquesta eina és útil per supervisar el funcionament del sistema i detectar possibles problemes de rendiment.


Pestanya 1: Processos

En aquesta pestanya podem veure tots els processos que s’estan executant al sistema.
També mostra informació com el PID, l’usuari, el percentatge de CPU i la memòria utilitzada per cada procés.

image


Pestanya 2: Recursos

En aquesta pestanya es mostren gràfiques del consum de recursos del sistema, com l’ús de CPU, memòria RAM, memòria swap i xarxa.
Això permet veure l’activitat del sistema en temps real.

image


Pestanya 3: Sistemes de fitxers

En aquesta secció es mostra informació sobre els discos i particions del sistema, indicant l’espai utilitzat i l’espai disponible a cada sistema de fitxers.

image


TASCA CONJUNTA: Configuració de Rsyslog per a Enviament de Logs entre Hosts

Data: 03/03/26

Components:

Valle (Grup A)
Pau (Grup B)

En aquesta pràctica configurem un sistema de centralització de logs utilitzant rsyslog entre dues màquines Ubuntu dins la mateixa xarxa. Imaginem que un profe vol visualitzar els logs dels alumnes. En aquesta pràctica simularem aquest escenari: Un host actuarà com a servidor de logs (Profe) i l’altre com a client (Alumne) que enviarà els seus registres al servidor.


Pas 1: Preparació de les màquines (ambdós hosts)

Primer de tot configurem la xarxa i preparem les màquines perquè es puguin comunicar correctament.

Configuració de les IPs

Configurem les adreces IP a cada màquina, ja sigui des de la configuració de xarxa d’Ubuntu o utilitzant eines de terminal com nmcli o netplan.

Configuració IP

Comprovem que les IPs s’han aplicat correctament amb una comanda com:

ip a

IPs dels hosts


Desactivació del Firewall

Per evitar que el firewall bloquegi el tràfic de logs, desactivem ufw temporalment:

sudo ufw disable

Desactivar firewall


Instal·lació de rsyslog

Normalment rsyslog ja està instal·lat per defecte a Ubuntu, però per assegurar-nos-ho executem:

sudo apt update
sudo apt install rsyslog -y

Instal·lació rsyslog


Pas 2: Configuració del servidor (Profe)

Ara configurem la màquina que actuarà com a servidor de logs, és a dir, la que rebrà els registres dels altres hosts.

Editem el fitxer de configuració principal de rsyslog:

sudo nano /etc/rsyslog.conf

Edició rsyslog.conf

Busquem les següents línies i eliminem el comentari (#) per habilitar la recepció de logs via UDP:

module(load="imudp")
input(type="imudp" port="514")

Aquestes línies indiquen a rsyslog que escolti missatges entrants al port 514, que és el port estàndard per a syslog.

Si volguéssim utilitzar TCP, hauríem d’habilitar també el mòdul imtcp.


Reiniciar el servei

Un cop guardada la configuració reiniciem el servei:

sudo systemctl restart rsyslog

Reiniciar rsyslog


Pas 3: Configuració del client (Alumne)

Ara configurem la màquina client perquè envii tots els logs al servidor.

Editem el fitxer de configuració de regles per defecte:

sudo nano /etc/rsyslog.d/50-default.conf

Configuració client

Al final del fitxer afegim la següent línia:

*.* @192.168.1.10:514

Significat de la configuració:


Reiniciar el servei al client

Després de modificar la configuració reiniciem rsyslog:

sudo systemctl restart rsyslog

Reiniciar rsyslog client


Pas 4: Verificació i prova final

Finalment comprovem que el sistema de logs funciona correctament.

Al servidor (Profe)

Deixem el servidor escoltant els logs en temps real:

tail -f /var/log/syslog

Al client (Alumne)

Enviem un missatge de prova amb la comanda logger:

logger "prova d’enviament de logs"

I tal com es veu a la captura, ho ha rebut correctament:

Recepció dels logs


Conclusió

Amb aquesta configuració hem aconseguit implementar un sistema de centralització de logs utilitzant rsyslog.

Això permet que un servidor rebi i emmagatzemi els registres de múltiples màquines, facilitant:

Aquest tipus de configuració és molt utilitzada en infraestructures de sistemes i xarxes per tenir un control centralitzat de tots els esdeveniments del sistema.


Servidor d’Actualitzacions

Data: 09/03/26

Aquesta documentació explica com configurar un servidor local d’actualitzacions amb apt-mirror i Apache, i com configurar un client per obtenir paquets des d’aquest servidor.


1. Obrir el servidor

Accedim com a root:

sudo su

Actualitzem els repositoris:

apt update

Instal·lem Apache2:

apt install apache2

Apache instal·lat

Instal·lem apt-mirror:

apt install apt-mirror

Apt-mirror instal·lat


2. Configurar apt-mirror

Editem la configuració:

nano /etc/apt/mirror.list

Configuració mirror.list

Executem la descàrrega dels paquets:

apt-mirror

Execució apt-mirror


3. Configurar Apache

Creem un softlink per servir els paquets amb Apache:

ln -s /var/spool/apt-mirror/mirror/dl.google.com/linux/chrome/deb /var/www/html/

Softlink creat

Verifiquem que el softlink s’ha creat correctament:

Verificació softlink

Comprovem la IP del servidor (en aquest exemple 10.0.2.9):

IP del servidor


4. Configurar el client

Obrim el fitxer de repositoris del client:

nano /etc/apt/sources.list

Sources.list client

Com que Google Chrome necessita signatura, la importem:

Signatura Chrome

Fem un apt update per comprovar que el client obté els paquets del servidor local:

Apt update client

Instal·lem el paquet des del servidor:

apt install google-chrome-stable

Instal·lació Chrome

I tal com es veu a la captura s’ha instal·lat correctament: image


Tasca Servidor d’Actualitzacions (Amb un altre paquet)

Ara repetiré el procés fet a classe amb un altre paquet, per exemple Opera.

1. Configurar apt-mirror

Accedim com a root:

sudo su

Editem la configuració:

nano /etc/apt/mirror.list

Executem la descàrrega dels paquets:

apt-mirror

image


2. Configurar Apache

Creem un softlink per servir els paquets amb Apache:

ln -s /var/spool/apt-mirror/mirror/deb.opera.com/opera-stable /var/www/html/

image

Verifiquem que el softlink s’ha creat correctament:

image


3. Configurar el client

Obrim el fitxer de repositoris del client. I afegim aquesta linea:

nano /etc/apt/sources.list

image

Fem un apt update per comprovar que el client obté els paquets del servidor local:

image

I tal com es veu a la captura s’ha instal·lat correctament: image