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 – 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.

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.

Firmare digitalmente i messaggi email (gratis)

Se viene voglia di firmare digitalmente i messaggi in uscita, e non volete acquistare un certifcato perche’ siete dei MDF (morti di fame NDR) basta andare sul sito:

https://extrassl.actalis.it/portal/uapub/freemail?lang=en

Dopo qualche email di verifica, lo installate sulla vostra macchina e ora potete firmare digitalmente i messaggi in uscita… con outlook potete fare riferimento a questo link:

https://support.microsoft.com/it-it/office/proteggere-i-messaggi-di-posta-elettronica-con-una-firma-digitale-549ca2f1-a68f-4366-85fa-b3f4b5856fc6

Buon divertimento…

Synology – Snapshot compliants (BTRFS)

Which Synology NAS models support the Btrfs file system?

Ricordati: solo con BTRFS Synology NAS puo’ eseguire snapshot.

SeriesModels
FS-seriesFS6400, FS3600, FS3400, FS3017, FS2017, FS1018
SA-seriesSA3600, SA3400, SA3200D
22-seriesDS3622xs+, DS2422+
21-seriesRS4021xs+, RS3621xs+, RS3621RPxs, RS2821RP+, RS2421RP+, RS2421+, RS1221RP+, RS1221+, DS1821+, DS1621xs+, DS1621+, DVA3221
20-seriesRS820RP+, RS820+, DS1520+, DS920+, DS720+, DS420+, DS220+, DS620slim
19-seriesRS1619xs+, RS1219+, RS819, DS2419+II, DS2419+, DS1819+, DS1019+, DVA3219
18-seriesRS3618xs, RS2818RP+, RS2418RP+, RS2418+, RS818RP+, RS818+, DS3018xs, DS1618+, DS918+, DS718+, DS218+, DS218, DS418, DS418play
17-seriesRS18017xs+, RS4017xs+, RS3617xs+, RS3617RPxs, RS3617xs, DS3617xsII, DS3617xs, DS1817+, DS1517+
16-seriesRS18016xs+, RS2416RP+, RS2416+, DS916+, DS716+II, DS716+, DS216+II, DS216+, DS416play
15-seriesRS815RP+, RS815+, RC18015xs+, DS3615xs, DS2415+, DS1815+, DS1515+, DS415+
14-seriesRS3614xs+, RS3614RPxs, RS3614xs, RS2414RP+, RS2414+, RS814RP+, RS814+
13-seriesRS10613xs+, RS3413xs+, DS2413+, DS1813+, DS1513+, DS713+
12-seriesRS3412RPxs, RS3412xs, RS2212RP+, RS2212+, RS812RP+, RS812+, DS3612xs, DS1812+, DS1512+, DS412+
11-seriesRS3411RPxs, RS3411xs, DS3611xs

https://kb.synology.com/en-us/DSM/tutorial/Which_Synology_NAS_models_support_the_Btrfs_file_system

Inoltre stai attento che molti modelli (ad esempio il DS-418) non e’ possibile aumentare la Ram, fai riferimento al link qui sotto.

https://nascompares.com/2019/05/09/synology-nas-unofficial-memory-upgrade-guide/

Compatibili con DSM 7

  1. This version of DSM is compatible with the models below.
    • FS-Series: FS6400, FS3600, FS3400, FS3017, FS2017, FS1018
    • SA-Series: SA3600, SA3400, SA3200D
    • 21-Series: RS2821RP+, RS2421RP+, RS2421+, RS1221RP+, RS1221+, DS1821+, DS1621+, DS1621xs+, DVA3221, RS4021xs+, RS3621xs+, RS3621RPxs
    • 20-Series: RS820RP+, RS820+, DS1520+, DS920+, DS720+, DS620slim, DS420+, DS420j, DS220+, DS220j, DS120j
    • 19-Series: RS1219+, RS819, DS2419+II, DS2419+, DS1819+, DS1019+, DS419slim, DS119j, DVA3219, RS1619xs+
    • 18-Series: RS2818RP+, RS2418RP+, RS2418+, RS818RP+, RS818+, DS1618+, DS918+, DS718+, DS418, DS418play, DS418j, DS218+, DS218, DS218play, DS218j, DS118, RS3618xs, DS3018xs
    • 17-Series: RS217, DS1817+, DS1817, DS1517+, DS1517, RS4017xs+, RS3617xs+, RS3617xs, RS3617RPxs, RS18017xs+, DS3617xs, DS3617xsII
    • 16-Series: RS2416RP+, RS2416+, RS816, DS916+, DS716+II, DS716+, DS416, DS416play, DS416slim, DS416j, DS216+II, DS216+, DS216, DS216play, DS216j, DS216se, DS116, RS18016xs+
    • 15-Series: RS815RP+, RS815+, RS815, DS2415+, DS1815+, DS1515+, DS1515, DS715, DS415+, DS415play, DS215+, DS215j, DS115, DS115j, RC18015xs+, DS3615xs, DS2015xs
    • 14-Series: RS2414RP+, RS2414+, RS814RP+, RS814+, RS814, RS214, DS414, DS414slim, DS414j, DS214+, DS214, DS214play, DS214se, DS114, RS3614xs+, RS3614xs, RS3614RPxs
    • 13-Series: DS2413+, DS1813+, DS1513+, DS713+, DS213j, RS3413xs+, RS10613xs+
  2. For the models below, you can only download the upgrade patch from Synology Download Center because you won’t receive notifications for this update on your DSM.
    • XS Series: RS3413xs+, RS3614xs+, RS3614xs, RS3614RPxs, RS10613xs+
    • Plus Series: DS214+, DS713+, DS1513+, DS1813+, DS2413+, RS814RP+, RS814+, RS2414RP+, RS2414+
    • Value Series: DS114, DS214, DS214play, DS414, RS214, RS814,
    • J Series: DS119j, DS213j, DS214se, DS414j, DS414slim

Sputtaniamo ZFS

Antepongo a tutto, che questo articolo è frutto di una mia ignorantissima opinione, e visto che il sito e’ il mio, scrivo quello che voglio.

Oggi pare che ZFS sia il file system (certi dicono che e’ riduttivo chiamarlo cosi’.. magari lo chiamiamo pdorr che da piu’ l’idea di cosa fa). Diciamo che nel 2021 se non hai ZFS nei tuoi storage sei un poveraccio, [ https://www.youtube.com/watch?v=oRJFyHRasOU ] fa di tutto e di piu’ perche’ utilizzare NTFS oppure EXT4 che funzionano su 5×1019 server da 50 anni e hanno scritto e letto 5×10213 exabyte in tutto questo tempo.. vuoi mettere un superFS che fa troppe cose in piu’… ma cosa fa in piu’? Scrive e legge bit su un supporto magnetico/solito/ottico/alla crema .. ca%%0 vuoi che faccia un file system.. il frappe’?

Detto cio’ partiamo con i contro.. i pro li sanno tutti:

Vi siete mai chiesti perche’ se implementi ZFS su un NAS freeware dei piu’ noti (FreeNAS/TrueNAS) hai bisogno delle ram ECC? Diciamola meglio: e’ caldamente consigliata una motherboard che abbia ram/dimm ECC. Perche’ se un bit si gira, e’ meglio che la motherboard si fermi li dov’e’ che senno tutti i tiu dati vanni a finire nel ce%%0. Se invece si gira con un file system normale? Non succede nulla.. perche’ non ci sono controlli di errore, al massimo ti trovi un file rovinato (un file e non un file system.. sembra la stessa cosa ma non lo e’) inoltre continua a funzionare.. non ferma tutto il sistema.

Aggiunta di un disco, perche’ ti serve piu’ spazio. Ehm.. non si puo’.. eh ma minchia, non hai progettato il tuo storage in maniera precisa? Non sapevi che ‘praticamente’ un sistema ZFS-based non e’ scalabile? Cioe, mi spiego meglio, non e’ che non e’ scalabile.. ma devi comprargli N dischi alla volta.. devi fare un nuovo vdev e di solito un vdev è (almeno) un raidZ1 (3 HD) .. in sostanza se devi aumentare la dimensione del tuo pool devi aggiungere un vdev dello stesso ‘livello’ del precedente: esempio se ha un pool fatto da 3 hd da 6TB devi fare un’altro vdev con 3 hd da ‘almeno’ 6TB e aggiungerlo al pool… ora magari ti viene in mente che NON hai 3 posti per mettere 3 nuovi hard disk.. e allora.. pazienza.. c’e’ sempre l’ozione di sostituire i dischi uno a uno. Guarda qua: https://arstechnica.com/information-technology/2020/05/zfs-101-understanding-zfs-storage-and-performance/

Ma come??? Non posso aggiungere un disco nel 2021 con il file system piu’ fico del mondo?

Ehm.. no.. guarda qui: https://qastack.it/server/190207/how-can-i-add-one-disk-to-an-existing-raidz-zpool – in realta’ basta che cancelli tutto e lo rifai.. ah ah ah ma porc.. ma non era il massimo della vita? Con una qnap da 4 palanche aggiungi un disco e via.. per non parlare della Synology che con il loro SHR fanno anche di peggio fonte: https://kb.synology.com/it-it/DSM/tutorial/What_is_Synology_Hybrid_RAID_SHR

Vi pare che basti? Detto cio’ vi consiglio di usare ZFS perche’ e’ il massimo della vita a livello file system, pero’ devi usarlo su hardware di classe server con memorie ECC (mettici un buon UPS che non si sa mai) e almeno una dozzina di dischi da 6TB (che tanto non costa no un ca%%0

Qui c’e’ un articolo ‘serio’ su ZFS : https://www.guruadvisor.net/it/storage/238-alla-scoperta-di-zfs

Anche QNAP ammette che sul suo QTS Hero non e’ possibile aggiungere un hard drive al pool ZFS https://www.qnap.com/it-it/how-to/faq/article/can-i-add-an-individual-disk-to-expand-my-storage-pool-in-quts-hero-like-qts

In realtà c’e’ un motivo serio dietro a questa limitazione: ZFS è un sistema pensato per aziende e non per escape-from-the-house con budget limitati quindi il fatto di aggiungere un solo disco ad un raid5 ad esempio mette in serio pericolo i dati in quanto esegue delle operazioni potenzialmente senza ‘paracadute’… inoltre un raid5 che sta inserendo un nuovo membro è soggetto a prestazioni basse. Da qui l’idea che non e’ proprio una limitazione, ma e’ ‘by-design’ che non sia possibile modificare un VDEV…

Dmarc

Diciamo che per aggiungere DMARC devi prima avere attivato SPF e Dkim. Nella realta’ DMARC è solo un record nel dns che in sostanza definisce cosa fare con i messaggi che violano spf e dkim.

Esempio di record DMARC preso da aruba.it che si spiega praticamente da solo:

_dmarc.aruba.it. 581 IN TXT “v=DMARC1; p=none; sp=none; fo=1; rua=mailto:dmarcreport@aruba.it”

Nel dns si inserisce un record TXT che come nome ha _dmarc e nei valori si inseriscono i seguenti parametri:

v=DMARC1 ; la versione di DMARC per ora è un campo obbligatorio che come valore ha sempre DMARC1 (almeno per ora)

p=none ; Cosa fare con le email che violano spf e/o dkim : puoi dire none ovvero non fare nulla, p=quarantine oppure p=reject – tipicamente ho visto che si usa none.. ma puoi scegliere cosa deve fare il ricevente delle email che violano il protocollo.

sp=none ; cosa fare con le email dei sottodomini che violano il protocollo

fo=1 ; fornisce informazioni sulla generazione dei report di violazione

rua=dmarcreport@aruba.it ; dove inviare i report delle violazioni.

In un record DMARC devono essere ALMENO presenti i seguenti parametri:

v=DMARC1; p=none; rua=mailto:mail@mail.it

Dkim

Il sistema DKIM serve per firmare digitalmente le email in uscita da un server ma non crittograffate, quindi se non controlli dkim, pazienza.. semplicemente non vedi che la mail e’ firmata digitalmente ma ricevi normalmente.

Il dkim funziona in questo modo: si mette la chiave pubblica su un record TXT del dns mentre la chiave privata e’ usata dal server SMTP per firmare digitalmente la mail in uscita. In questo modo si ottengono due vantaggi:

1 – Certifica che la mail in uscita arriva realmente dal server email sorgente.

2 – Certifica che la mail non ha subito modifiche durante il trasferimento.

Facciamo un esempio pratico: prendiamo una mail in arrivo da esempio@test.it che e’ firmata digitalmente da dkim,
Come vedi ci sono diverse variabili, una di queste è il ‘selector’ che e’ una stringa di caratteri ‘a caso’ che serve al server email ricevente di contattare il DNS per richiesdere la chiave pubblica. Aruba ha scelto di scrivere ‘a1’ nel selector, poteva scrivere ‘a2’ oppure ‘paperina’ o quello che gli fosse venuto in mente al sistemista in quel momento.

[..omissis..]
X-Mailer: Microsoft Office Outlook 12.0
Thread-Index: Ade8I+Jli02Jj2LVTOKCKH/OaxGujg==
Content-Language: it
Disposition-Notification-To: Mario Rossi esempio@test.it
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aruba.it; s=a1;
t=1633684055; bh=IMwliN/qHuqefSN08Vcj8iyYFidAJRE58SVHaL45adg=;
h=From:To:Subject:Date:MIME-Version:Content-Type;
b=dpmKCqeVV7NXrgXd3Kc0w40LAWyRJu66TlMQWAYrZPhs8cZBHLntByB3vQ19t+vEx
WyFjDDsrFnHN7+44dLTpIltjGgZG5fP62YMvm4Z6Hl6/E8zpej75eQtByYPjYQkX2Y
JKxz7uRozhSM58F1qJDA1OLzcuKFMtm9ZWN5pqeycyvRHA8FIMowB+3KRfp/6uF3eL
64D6vn9n1ZoH0B2RcYvEIOdyiwVKBbnhBlBSXN7jnXB771t10HrKrAVf3AqrejLOB6 [..omissis..]


Il server che riceve questa mail (e che effettua attivamente il controllo DKIM) va a estrarre il selector e poi chiede al suo dns il record TXT
corrispondente a

a1._domainkey.aruba.it

Riassumendo il selector è estratto da ‘s=’ mentre la parte “_domainkey” è una parte fissa della richiesta della chiave pubblica e il dominio, il quale è estratto dalla variabile ‘d=’ immediatamente prima del selector nella header della mail da controllare. Nota che se non hai ricevuto una mail non puoi chiedere la chiave pubblica di un dominio, perchè non sai che selector usare per richiede il record TXT.

Per chiarezza possiamo usare l’utility ‘nslookup’ per richiedere la chiave pubblica di aruba.it

Ora il server che ha ricevuto la email, attraverso una processo matematico puo’ verificare che la email non sia stata modificata nel trasporto e che sia stata firmata con la chiave privata accoppiata alla chiave pubblica, ottenendo i due vantaggi che ho scritto sopra.