Capire ZFS

Vdev, Dataset, pool, disk, volume.. si resta un pochino spiazzati dalla descrizione dei vari termini su questo file system (che è di piu’ di un semplice file system se paragonato a EXT4, BTRFS, ecc..) Se, come me sei rimasto un po’ sbigottito ti faccio subito vedere un’immagine che chiarisce il 90% dei tuoi dubbi:

..mancano solo i volumi per avere chiaro la struttura di ZFS, che vado subito a spiegarti: i volumi sono come i dataset, solo che vengono gestiti da ZFS come ‘pezzi di disco’ ben delimitati dimensionalmente parlando e normalmente si usano quando hai da pubblicare una partizione iScsi… se chiedi a ZFS di farti un volute da 100GB, lui alloca uno spazio dentro al pool in modo che tu possa pubblicarlo come credi. Certo che in ZFS se fai un volume dovrebbe essere chiaro che ti serve per pubblicarlo in iScsi… altrimenti sono molto più flessibili i dataset. Se vuoi fare qualche test con ZFS a costo quasi zero, puoi usare XigmaNAS che gira anche sotto virtualizzatore VirtualBOX.

Approfondimenti:

https://xigmanas.com/xnaswp/ http://kflu.github.io/2017/07/17/2017-07-17-freebsd-zfs/ https://www.xigmanas.com/wiki/doku.php?id=zfs:volume https://arstechnica.com/information-technology/2020/05/zfs-101-understanding-zfs-storage-and-performance/

Windows Eventi significativi

L’intenzione è quella di fare una lista di eventi importanti. Ci sono molti siti che elencano gli eventID, ma non sempre sono spiegati chiaramente per i non addetti ai lavori. La lista non è in ordine di importanza.

4625 – Accesso Negato – Guarda il tipo per maggiori info oppure guarda qui https://docs.microsoft.com/it-it/windows/security/threat-protection/auditing/event-4625

4625 tipo 2 – Modo intereattivo via console

4625 tipo 3 – Via rete (NLA)

4625 tipo 5 – Un servizio ha tentato di startare con credenziali errate

4625 tipo 7 – La macchina era in lock (windows+L) ma la password inserita è sbagliata

4625 tipo 10 – RDP o TS

4624 – Accesso consentito – Guarda il tipo per maggiori info oppure guarda qui https://docs.microsoft.com/it-it/windows/security/threat-protection/auditing/event-4624 – Nota che se il campo ‘Elevated Token’ è uguale a 1 significa che è entrato un account con privilegi amministrativi

4624 tipo 2 – Modo intereattivo via console

4624 tipo 3 – Via rete (NLA)

4624 tipo 5 – Un servizio con credenziali corrette è partito

4624 tipo 7 – La macchina era in lock (windows+L) ed è stata sbloccata

4624 tipo 10 – Accesso RDP o TS

4720 – Creazione di un nuovo utente

4649 – Questo evento indica che è stato rilevato un attacco di riesecuzione Kerberos: una richiesta è stata ricevuta due volte con informazioni identiche. Questa condizione potrebbe essere causata da una configurazione errata della rete. Questo evento può essere un segno di un attacco di riesecuzione Kerberos o, tra l’altro, problemi di configurazione dei dispositivi di rete o di routing. In entrambi i casi, è consigliabile attivare un avviso e analizzare il motivo per cui l’evento è stato generato

5148 – La Windows Filtering Platform ha rilevato un attacco DoS ed è entrata in modalità difensiva. i pacchetti associati a questo attacco verranno eliminati. (evento raro) Questo evento può essere un segno di un attacco DoS ICMP o, tra l’altro, problemi correlati all’hardware o ai dispositivi di rete. In entrambi i casi, è consigliabile attivare un avviso e analizzare il motivo per cui l’evento è stato generato.

1102 – L’audit log è stato cancellato

4621 – Sistema ripristinato dall’amministratore da CrashOnAuditFail. Gli utenti che non sono amministratori potranno accedere. È possibile che alcune attività controllabili non siano state registrate.

4794 – tentativo di impostare la password di amministratore della modalità ripristino servizi directory

Microsoft ha pubblicato una lista di event id ordinata per criticità a questo link: https://docs.microsoft.com/it-it/windows-server/identity/ad-ds/plan/appendix-l–events-to-monitor

Graylog

Graylog è un’applicazione linux che permette di registrare i log provenienti dai device di una rete. Graylog è molto di più di un syslog server come rsyslog. Elenco alcune caratteristiche chiave che rendono fruibile questo prodotto.

  • Input: ovviamente può ascoltare i messaggi sulla classica porta 514udp ma puoi avere diversi imput in modo da differenziare i tuoi dispositivi anche a seconda di quel che possono inviare: mi spiego meglio, se hai uno switch HP 1920 hai poco da giocare, imposti l’ip del server e lui invia quello che il progettista del software ha programmato e via; ma se hai un sistema più complesso, come ad esempio un server linux o peggio una macchina Windows ti piacerebbe ‘forse’ ricevere solo le cose che reputi interessanti o/e magari con certi livelli di priorità, quindi potrebbe essere meglio usare un collector che possa inviare ‘solo’ le cose che reputi interessanti e magari in tcp e non in udp. Ad esempio puoi usare WinFileBeat che comunica con il server in porta 5044/tcp e quindi Graylog ti permette di aprire una porta in ascolto compatibile con quel collector.
  • Gli Stream sono delle regole che ti permettono di isolare gli eventi registrati in modo da esaminare solo le source (il dispositivo che invia i log) che ti interessano in quel momento attraverso un semplice meccanismo di regole e di input. Riassumendo uno stream si collega ad un input e attraverso delle regole estrae solo quello che ti interessa. Puo’ essere usato anche per ridirigere la registrazione su un set di indici dedicati con una politica di cancellazione diversa dalla default.
  • Gli Alert sono come dice il nome degli avvisi quado si verifica qualcosa che vale la pesa evidenziare all IT. Ti faccio un esempio banalissimo: se normalmente ricevi 1000 eventi all’ora potresti essere interessato se gli eventi nell’ultima ora sono 2000
  • Dashboard sono delle particolari visualizzazioni che ti permettono di salvare delle query correate da grafici e dati in modo da poterle richiamare quando vuoi, come ad esempio una dashboard che ti visualizza il numero di eventi nelle ultime 24 ore per sorgente
  • Sidecar: è forse la caratteristica più eclatante di Graylog. E’ possibile avere la gestione centralizzata degli agent che inviano i log attraversoil collector. Mi soffermo su sidecar in quanto è secondo me un ottimo modo per collezionare i log provenienti da Windows filtrando solo gli eventi interessanti per i nostri scopi. In sostanza sidecar è ‘solo’ un’applicazione che gira sulla macchina della quale vogliamo raccogliere i log che ogni pochi secondi controlla sul server Graylog se esiste una nuova configurazione per il collettore di eventi. Per spiegarsi meglio, nel caso di una macchina Windows Sidecar (agent di management) e WinLogBeat (agent collector) sono installati sulla macchina Windows. Il compito di sidecar è lanciare/fermare/riconfigurare il servizio WinLogBeat presente sulla macchina Windows. Quindi abbiamo un sistema dal quale posso riconfigurare gli agenti collettori dei log in modo da istruirli in modo da farmi arrivare solo gli eventi interessanti o che reputo tali. Questo potrebbe sembrare poco importante ma considerando installazioni con centinaia di macchine Windows (con collettore WinLogBeat)oppure Linux (con collettore FileBeat) posso riconfigurare in pochi secondi tutto il sistema di collezione dei log. Posso inoltre avere diversi file di configurazione con i quali posso fare dei test solo su alcune macchine per verificare che la configurazione funzioni correttamente. E anche se invio un file di configurazione che blocca il collector, non e’ un problema, dalla console vedo che il collector non sta funzionando e posso riconfigurarlo attraverso il sidecar. Tieni a mente che tutto ciò è gratuito e open source.
  • Politiche di ritenzione degli eventi: i dati vengono immagazinati nello storage ma occorre che ci sia una politica di cancellazione degli stessi in modo da essere compliants con GDPR (o privacy) e comunque per non saturare lo storage. Graylog scrive su un database basato su Elastic che chima indici. Un indice viene chiuso quando raggiunge un certo numero di byte oppure di eventi al suo interno. Puoi configurare quanti indici mantenere sul tuo storage, di norma un indice viene chiuso quando hai 20 milioni di eventi (che Graylog chiama docs) e sempre di default hai uno storico di 20 indici, quando arriva al numero 20 gli indici ruotano cancellando il più vecchio. Inoltre puoi avere indici dedicati ad un particolare input: metti caso che c’e’ un dispositivo che (per ragioni allucinanti che non so dirti ma se chiedi al tuo DPO ti spiegherà) devi mantenere solo per 3 indici da 1000 eventi ciascuno, puoi fare in modo di avere un’altra politica di storage che cancellera’ i tuoi indici con quel criterio. Questa caratteristica si ottiene attraverso gli stream.

Installazione su Windows in modalità silent:

graylog_sidecar_installer_1.0.0-1.exe /S -SERVERURL=http:/put.your.ip.here:9000/api -APITOKEN=yourapitoken

"C:\Program Files\graylog\sidecar\graylog-sidecar.exe" -service install
"C:\Program Files\graylog\sidecar\graylog-sidecar.exe" -service start

Installazione su linux Redhat/CentOS/Rocky/Alma

Bisogna installare sia il sidecar che il filebeat che sarebbe il collector:

[root@mario~]# rpm -Uvh graylog-sidecar-1.2.0-1.x86_64.rpm
Verifying… ################################# [100%]
Preparing… ################################# [100%]
Updating / installing…
1:graylog-sidecar-1.2.0-1 ################################# [100%]

graylog-sidecar -service install
systemctl enable graylog-sidecar
systemctl start graylog-sidecar

[root@mario ~]# rpm -Uvh filebeat-8.5.2-x86_64.rpm
warning: filebeat-8.5.2-x86_64.rpm: Header V4 RSA/SHA512 Signature, key ID d88e42b4: NOKEY
Verifying… ################################# [100%]
Preparing… ################################# [100%]
Updating / installing…
1:filebeat-8.5.2-1 ################################# [100%]

Poi bisogna configurare Sidecar per connettersi al server graylog con la propria API editando il file:

[root@mario ~]# vi /etc/graylog/sidecar/sidecar.yml

Semplicemente inserire in questo file, nelle prime righe l’ip del server e la API generata precedentemente.

Qnap – snmp non risponde (ma se vei a vedere non parte nemmeno)

Potrebbe capitare che snmp che funzionava sino a ieri, oggi non parte e non da nessun errore.. via cli con il comando “/etc/init.d/snmp start” non da nessun errore. Io ho risolto cosi’:

ps ax | grep snmp (non vedi nessun processo attivo)

netstat -nau (vedi che c’e’ la posta 161 in ascolto su 0.0.0.0)

lsof -i :161 (ti accorgi che c’e’ un processo che la tiene attiva)

nel mio cas era top e sh – killando entrambi i processi puoi far ripartire il tuo snmp ed ora funziona normalmente.

Qnap – rallentamenti vistosi sulle share SMB

Mi e’ capitato che, dopo uno shutdown inatteso, le share della qnap diventino inspiegabilmente lente, del tipo che se sfogli i folder si aprono normalmente sinao a che ne apri uno che ci mette un paio di minuti ad aprirlo. Questo è il sintomo piu’ evidente. Se ti logghi in CLI e fai un “px ax” trovi che quando si ‘blocca’ il listing del ‘ps ax’ si ferma.. se dai un po’ di enter vedrai che la macchina ti fa l’eco sul video del tuo enter facendoti vedere delle linee vuote. Quando il ‘ps ax’ si sblocca se vai a vedere la prossima riga è un processo SMB connesso ad un utente. Non farti fregare, l’utente non centra anche se ti pare che sia sempre lo stesso o quasi. Dopo numerosi tentativi e aggiornamenti la soluzione è nel fare il rejoin al dominio.

Syslog e nome host

Potrebbe succedere che rsyslog non invii il nome che desideriamo nel server syslog. Per avere l’host inviato al syslog corrispondente al nome dell’host basta scrivere in /etc/rsyslog.conf la seguente istruzione:

$PreserveFQDN on