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

Convertire certificato .pfx in cer + key per linux

  1. openssl pkcs12 -in [yourfile.pfx] -nocerts -out [keyfile-encrypted.key]

openssl pkcs12 -in [yourfile.pfx] -nocerts -nodes -out [keyfile-encrypted.key] # use this command if the first command generates empty certificate.

2. openssl rsa -in [keyfile-encrypted.key] -out server.key

3. openssl pkcs12 -in [yourfile.pfx] -clcerts -nokeys -out server.crt

4. openssl pkcs12 -in [certificate.pfx] -cacerts -nokeys -out [server-ca.crt]

5. openssl pkcs7 -print_certs -in [yourfile.p7b] -out server.crt (OPZIONALE)

A questo punto copiare il .cer in /etc/pki/tls/certs/ e il .key in /etc/pki/tls/private/

Dopo puntare questi file come in esempio:

Firma digitale sulle email – A cosa serve?

Convalida l’indentità del mittente.

Le persone si confondono sempre tra la firma e-mail personalizzata (che funziona come un piè di pagina per le e-mail in uscita) e la firma digitale del certificato di firma digitale dell’e-mail. La firma e-mail personalizzata viene aggiunta automaticamente a tutti i messaggi in uscita (in base alle impostazioni e-mail), ma chiunque può semplicemente copiarla e incollarla e manometterla. Il certificato di firma digitale della posta elettronica, invece, ti consente di inserire una firma digitale sulla tua posta elettronica, che solo tu puoi generare utilizzando le chiavi private del tuo server. Questo aiuta i tuoi destinatari di posta elettronica ad autenticarti come mittente. Quando un’e-mail è firmata digitalmente, i destinatari possono vedere una piccola icona a nastro nell’e-mail (vedi lo screenshot qui sotto). Quando i destinatari fanno clic sull’icona, verranno visualizzati il ​​nome del mittente, l’indirizzo e-mail e l’oggetto dell’e-mail originale. Nessuno può modificare questi dettagli. Questo è il modo in cui un certificato di firma digitale della posta elettronica fornisce la prova dell’identità del mittente.

Benefici:

  1. Il mittente non può negare di aver inviato il messaggio. Ciò significa che nessun ripudio è possibile.
  2. La firma digitale protegge i destinatari dell’e-mail dallo spoofing dell’e-mail. Nessuno può impersonare le email autentiche dell’azienda.

Garantisce l’integrità del messaggio

Un certificato di firma digitale e-mail esegue l’hashing e crittografa l’intero contenuto dell’e-mail, inclusi eventuali allegati, insieme alla firma digitale. Hashing significa convertire i dati in una stringa di numeri e lettere di dimensioni fisse utilizzando un algoritmo. Ogni valore hash è unico. Quindi, anche se il mittente invia nuovamente la stessa e-mail allo stesso destinatario, il valore hash sarebbe diverso per entrambe le e-mail. Quando il destinatario riceve l’e-mail, il suo server genera un altro valore hash, che deve corrispondere al valore hash dell’e-mail ricevuta. Anche la più piccola modifica ai dati inviati si tradurrà in un diverso valore hash, che aiuta i destinatari a riconoscere che c’è qualcosa di sospetto nell’e-mail. L’identico valore hash garantisce che il contenuto delle e-mail sia intatto e nelle stesse condizioni in cui si trovava al momento dell’invio.

  1. Nessuno può corrompere l’e-mail mentre è in transito. Ciò significa che nessun utente malintenzionato può inserire collegamenti dannosi, reindirizzamenti, virus, ransomware, spyware, rootkit o qualsiasi altro tipo di malware nell’e-mail.  
  2. Il diverso valore di hash avverte immediatamente i destinatari dell’e-mail della manomissione dei dati prima che sia troppo tardi.
  3. La reputazione dell’azienda viene rovinata se viene inviata un’e-mail dannosa dai suoi indirizzi e-mail ufficiali. Poiché un certificato di firma digitale e-mail impedisce la manomissione dei dati, svolge indirettamente un ruolo cruciale nella protezione della reputazione di un’organizzazione.