Zerologon: la nuova falla al Netlogon (CVE-2020-1472)


Ad agosto, Microsoft ha rilasciato un patch per diverse versioni di Windows (gratuite per Windows 10 o Windows 2012 in su) per correggere una vulnerabilità che consentirebbe ad un utente malintenzionato di diventare essenzialmente amministratore di dominio facilmente. L’unica cosa che gli serve è un collegamento diretto ad un domain controller, ossia il server che nelle reti di server Windows svolgere il ruolo di gestire gli accessi centralizzati.

La vulnerabilità è possibile grazie ad un errore in uno schema di autenticazione crittografica utilizzato dal Netlogon Remote Protocol, che tra le altre cose può essere utilizzato per aggiornare le password dei computer.
Questo problema consente agli aggressori di impersonare qualsiasi computer, incluso il domain controller (DC) stesso, ed eseguire chiamate di procedura remota (RPC) per conto di un altro computer.

Già l’anno scorso si era scoperta una vulnerabilità al componente Netlogon meno grave ma ora questa seconda vulnerabilità è molto più grave (punteggio CVSS: 10.0). Creando un token di autenticazione per una specifica funzionalità di Netlogon, è stato in grado di utilizzare una funzione per modificare la password di un computer sul domain controller su un valore noto. Dopodiché, l’aggressore può utilizzare questa nuova password per assumere il controllo del domain controller e rubare le credenziali di un amministratore di dominio.

La patch rilasciata ad agosto predispone l’insieme di server all’arrivo di una nuova patch che sarà rilasciata a febbrario 2021.
Questo è stato necessario perchè una volta installata la patch di febbraio i vecchi domain controller Windows 2003 e 2008 per i quali non verrà rilasciata nessuna patch non potranno più comunicare con domain controller patchati.

Linux è affetto?

Ora veniamo a Linux, i tool di configurazione di Samba supportano canali sicuri tra i membri del dominio e i domain controller.
Tuttavia, il comportamento predefinito per il server schannel (secure channel) prima di Samba 4.8 era di negoziare automaticamente il canale sicuro solo se un client lo supportava.
Dalla versione 4.8, il comportamento predefinito di Samba è stato quello di preferire un canale sicuro per tutti i client (come se ci fosse “server schannel = yes” nel file smb.conf), il che è una soluzione sufficiente contro gli exploit noti che sfruttano la vulnerabilità CVE-2020-1472.

La richiesta di un canale sicuro potrebbe rendere inutilizzabili alcune vecchie applicazioni scrite per vecchie versioni di Active Directory (domini NT4).
Per questo motivo, la mitigazione di Microsoft per CVE-2020-1472 non disabilita immediatamente l’accesso non autenticato al servizio di netlogon.

Red Hat non è a conoscenza di applicazioni specifiche che richiedono l’uso di un canale non autenticato per il servizio di netlogon.
Tutti i componenti Samba in tutte le versioni di Red Hat Enterprise Linux (RHEL) supportano il funzionamento con schannel e continueranno a funzionare quando i futuri aggiornamenti di Microsoft disabiliteranno del tutto il supporto del canale non autenticato.

In Red Hat Enterprise Linux 6 le configurazioni predefinite dei pacchetti samba e samba4 forniti con il sistema sono vulnerabili in quanto non impongono la creazione di canali sicuri per tutte le connessioni client al servizio netlogon. La vulnerabilità può essere mitigata mettendo “server schannel = yes” nella sezione [global] del file smb.conf e riavvia Samba su tutti i DC.

Tuttavia , si può usare testparm per verificare che la configurazione di Samba sia in esecuzione in modalità domain controller oppure standalone (ossia membro di dominio) e quale impostazione “server schannel” viene utilizzata.

testparm -v -s | grep schannel

Se nell’output del comando compare “Server role: ROLE_DOMAIN_PDC” oppure “Server role: ROLE_DOMAIN_BDC” il server agisce come domain controller.
Nelle righe successive dell’output è riportato se è attivato o meno il secure channel (schannel).

Qui è installato Samba 4.7, questo server è vulnerabile.

Anche SuSE Linux è affetta dalla problematica per le versioni di Samba precedenti alla 4.8, anche qui il suggerimento per mitigare la falla è quello di inserire lo stesso parametro visto per RHEL: “server schannel = yes” nel file smb.conf e riavviare il servizio con un “sudo service smb restart”. Il supporto di SUSE riporta sono state correzioni e aggiornamenti a tutte le versioni supportate e interessate al problema.

NVIDIA sta per acquistare ARM

NVIDIA ieri sera ha annunciato che acquisterà la società di progettazione di semiconduttori ARM Limited per 40 miliardi di dollari fra contanti e azioni. L’accordo consentirà a SoftBank, la società che possiede ora ARM, di ricevere 12 miliardi in contanti e 21,5 miliardi in azioni NVIDIA.
Tuttavia la strada per la conclusione impeighera parecchi mesi in quanto l’acquisto deve essere approvato dai vari paesi.
SoftBank, che in precedenza aveva acquisito alla cifra di 32 miliardi l’allora indipendente ARM nel 2016, fece questa mossa per fare un investimento prevedendo che il valore della società continuasse a crescere.

Fonte: https://www.anandtech.com/show/16080/nvidia-to-acquire-arm-for-40-billion

Come cancellare la coda di posta in Postfix

In questo articolo vediamo come come eliminare la coda di posta in Postfix.
Per cancellare la coda di posta in Postfix, si può usare il comando chiamato postsuper che viene utilizzato per fare manutenzione alla coda di posta postfix.
Il comando postsuper può essere eseguito solo da un super utente del sistema oppure da root.
Per sapere cosa c’è nella coda della posta si può usare il comando mailq. Se ci sono messaggi non consegnati, è possibile vedere un lungo elenco di messaggi usando mailq.

In questo tutorial useremo il comando postsuper per svuotare la coda di posta di Postfix.

Per prima cosa esegui il comando mailq comando per verificare quante mail sono in coda.

mailq

Invece per svuotare la coda delle email, puoi scegliere una di queste alternative:

rimuovere un particolare messaggio con un ID della coda di posta (eseguendo il comando mailq, otterrai l’ID della coda di posta, ossia “Queue ID”)

postsuper -d id_messaggio

rimuovere TUTTI i messaggi dalla coda

postsuper -d ALL

rimuovere solo TUTTI i messaggi differiti in coda

postsuper -d ALL deferred

Disabilitare Shot on Mi

Come si fa a disattivare la filigrana “shot on mi” sulle foto fatte da dispositivi Xiaomi Android?

Di default, gli smartphone Xiaomi inseriscono in basso a sinistra di una fotografia una dicitura con scritto shot on mi. Questa fastidiosa scritta può essere tolta dalle nuove fotografie andando nel menu “Impostazioni della Fotocamera”, scegliendo la voce “Filigrana”.

Quindi disattivare la filigrana spegnendo il pulsante “Filigrana dispositivo”.

Raccogliere i syslog di BIND Named

Il server DNS Bind, noto anche come Named, è uno dei nameserver più vecchi e diffusi sul web e nelle organizzazioni che utilizzando sistemi Linux e Unix.
Spesso Bind viene configurato in modalità chroot, il che permette di ridurre la superficie di attacco isolando il servizio in una gabbia.
Tuttavia quando una risorsa viene “ingabbiata” si perdono le caratteristiche che permettono una semplice condivisione di messaggi o dati con altri servizi.
In questo caso vorremmo poter raccogliere tutte le query fatte al nostro DNS server e gli errori mediante un server syslog esterno.
La configurazione di default non è sufficiente per fare ciò e bisogna fare delle modifiche ai file di configurazione del syslog (rsyslog) e di Bind.

Qualora rsyslog non sia installato (questo succede in distribuzioni vecchie come Red Hat 5 e simili) è necessario installarlo e sostituire rsyslog al syslog di base, chiamato syslogkd/klogd.

Il server syslog esterno raccoglie i log di Bind con Log Analyzer

Se Named è chrootato, i file di configurazione sono posti (di default) in /var/named/chroot quindi il classico named.conf non si trova più /etc/named.conf ma in /var/named/chroot/etc/named.conf

La prima cosa da fare è modificare il file di configurazione di Bind /var/named/chroot/etc/named.conf aggiungendo nella sezione options la riga “querylog yes“, poi abilitando il logging verso il syslog. Tutto il codice va nel blocco logging.

options {
	  querylog yes;
};

channel log2syslog  { 
    print-time yes;
    print-category yes;
    print-severity yes;

    syslog daemon;
    severity info; 
};
category queries { queries_log; };

L’uso delle istruzioni che cominciano con print è facolatativo ma consente un migliore filtraggio sul server di destinazione.

L’abilitazione del logging via syslog crea un socket unix in /dev/log. Visto che il nostro Bind è in chroot, il socket sarà creato nella sua cartella chrootata, quindi il socket sarà /var/named/chroot/dev/log.

Ora abilitiamo l’ascolto sul socket da parte di rsyslog e modifichiamo la configurazione di /etc/rsyslog.conf aggiungendo le seguenti righe:

$ModLoad imuxsock
$AddUnixListenSocket /var/named/chroot/dev/log
input(type="imuxsock" Socket="/var/named/chroot/dev/log" CreatePath="on")

:programname, isequal, "named" @172.16.0.2
:programname, isequal, "named" ~

Dove 172.16.0.2 è l’indirizzo IP del server syslog esterno.
Così facendo avremmo inoltrato i messaggi di syslog alla porta 514 (UDP) del syslog esterno.

E’ importante verificare che se è attivo SELINUX, sia permessa la comunicazione dei 2 servizi e qualora il firewall fosse attivo, sia abilitata l’uscita dei datagrammi UDP verso il server syslog esterno.

Fatto questo possibile riavviare il servizio rsyslog e named.

service rsyslog restart
service named restart

Note: Questo articolo è stato scritto per essere il più generico possibile, ossia utilizzabile sia su sistemi recenti o vecchi come Red Hat 5 e derivate. Per questo motivo potrebbero esserci delle differenze su altre distribuzioni.

Requisiti di sistema per Microsoft Flight Simulator 2020

Aggiornato 26 settembre 2020 – Sono passati veramente molti anni dall’ultima versione di Microsoft Flight Simulator, Microsoft Flight Simulator X detto anche FSX o FS10. Ora la casa madre ha rilasciato una nuova release: Microsoft Flight Simulator 2020 (FS 2020).

Flight Simulator 2020 è disponibile in più versioni: quella più economica, ossia la versione standard, mette a disposizione meno aerei e gli aeroporti sono meno dettagliati delle versioni superiori.

Il videogame è acquistabile presso il Windows Store: https://www.microsoft.com/it-it/p/microsoft-flight-simulator-standard-preorder/9nxn8gf8n9ht

In alternativa per provare il videogame è possibile acquistare l’Xbox Game Pass il quale, per circa 10 euro al mese in abbonamento, offre l’accesso a centinaia di giochi tra cui FS2020.

Per giocare a Flight Simulator è necessario usare Windows 10 (64 bit) versione 1903, ma è meglio aggiornato all’ultimo update. Notare che è necessario avere una connessione ad Internet per giocare.

Ecco la lista dei requisiti per giocare a Microsoft Flight Simulator 2020 che sono indicati da Microsoft:

Requisiti minimi Flight Simulator 2020:

  • CPU: AMD Ryzen 3 1200 oppure Intel Core i5 4460
  • GPU: Radeon RX 570 oppure Nvidia GTX 700
  • RAM della scheda video: 2 GB
  • RAM: 8 GB
  • Spazio su hard disc: 150 GB
  • Velocità Internet: 5 Mbps (0,6 MB/s)

Requisiti consigliati:

  • CPU: AMD Ryzen 5 1500X oppure Intel Core i5 8400
  • GPU: Radeon RX 590 oppure Nvidia GTX 970
  • RAM della scheda video: 4 GB
  • RAM: 16 GB
  • Spazio su hard disc: 150 GB
  • Velocità Internet: 20 Mbps (2,5 MB/s)

Requisiti ideali per FS 2020:

  • CPU: AMD Ryzen 7 2700X o Intel Core i7 9800X
  • GPU: Radeon VII oppure Nvidia RTX 2080
  • RAM della scheda video: 8 GB
  • RAM: 32 GB
  • Spazio su hard disc: SSD da 150 GB
  • Velocità Internet: 50 Mbps (6,3 MB/s)

Come possiamo osservare requisiti necessari per far girare bene Flight Simulator 2020 non sono esagerati, ma se vogliamo dettagli ultra è opportuno predisporre di un computer di fascia alta. Per chi intende comperare un nuovo PC da utilizzare per il videogioco, consiglio caldamente di scegliere una configurazione come quella indicata se il budget non consente una spesa maggiore di 1000 euro. Con questa configurazione sarà possibile giocare con un dettaglio High e con una risoluzione 1920×1080 (Full HD) ad un frame rate superiore ai 60 fps:

CPU: Intel Core i5-10400F (circa 175 euro)
GPU: MSI GeForce GTX 1660 SUPER VENTUS XS OC 6GB (circa 225 euro)
RAM: 32 GB (2 X 16 GB) Corsair Vengeance DDR4-3200 CMK32GX4M2B3200C160 (circa 130 euro)
SSD: M.2 da 500 GB (circa 65 euro)
Scheda madre: ASUS TUF GAMING B460-PLUS (circa 130 euro)
Alimentatore: be quiet! System Power 9 da 600W (circa 65 euro)
Case: Corsair 110Q ATX (60 euro)

Totale: 850 euro.

Consigli per massimizzare le prestazioni di FS2020

Se volete migliorare le performance di Flight Simulator 2020 vi suggerisco di installare il driver 452.06 WHQL, per chi possiede una scheda video Nvidia. Mentre per chi possiede una scheda AMD aggiornare il driver almeno alla versione 20.8.2. Entrambi i driver contengono delle fix per massimizzare le performance delle rispettive schede grafiche. Penalizzano le performance driver più vecchi.

Prima di installre i driver, si consiglia di rimuovere il driver precedente installato (con Display Driver Uninstaller) e poi di installare quello per la propria GPU.

Per aumentare le prestazioni di FS2020, è opportuno attivare in Windows 10 anche la modalità gioco, in maniera da priorizzare l’allocazione delle risorse al videogame anzichè alle routine del sistema.

Per attivarela basta andare in Impostazioni quindi cliccare sull’icona Giochi.

Cliccando su Modalità gioco nella colonna di sinistra si dovrà quindi attivare l'”interruttore” Usa modalità gioco.

Miniedit, l’interfaccia grafica per Mininet

Mininet è uno strumento utile a costruire, su un computer oppure su una virtual machine, una rete virtuale realistica composta da host, switch e programmi vari. Uno degli ambiti in cui Mininet è molto usato è la sperimentare di sistemi OpenFlow e Software-Defined Networking (SDN).
MiniEdit, invece, è un’interfaccia grafica basata su Python e TK che consente di disegnare delle reti da usare con Mininet usando un tool con interfaccia grafica.

Il software può essere installato e configurato sullo stesso sistema in cui c’è Mininet. Nel nostro caso, Mininet è installato su Ubuntu 20.04 e oltre alle dipendenze di quest’ultimo è necessario installare alcuni pacchetti aggiuntivi come python-tk:

sudo apt install python-tk

Qualora non lo avessimo già fatto precedentemente in fase di installazione di Mininet, è opportuno installare anche openvswitch-testcontroller e creare un link per poter testare la nostra topologia personalizzata.

sudo apt-get install openvswitch-testcontroller
sudo ln /usr/bin/ovs-testcontroller /usr/bin/controller

Poi per lanciare MiniEdit, si può usare il comando python2 (attualmente python3 non funziona):

sudo python2 ~/mininet/examples/miniedit.py

Per disegnare una semplice rete, basta selezionare dal menù laterale gli oggetti: host, switch, controller e altro, da collegare con un link. Per esempio questo è il risultato della progettazione di una semplice rete.

Per modificare lo script del disegno che si potrà esportare, basta andare nel menù Edit, Preferences e cambiare qua le varie impostazioni:

E’ possibile optare per una configurazione che supporti versioni più recenti di OpenFlow, oppure uno switch diverso dal classico Open vSwitch, nonchè aggiungere il supporto per un controller di rete esterno a Mininet. E’ utile attivare la casella Start CLI.

Per esportare la configurazione in uno script python, andare nel menù, File e selezionare Export level 2 script.

Ora per lanciare il tool mininet con la topologia personalizzata è sufficiente lanciare il comando:

sudo python2 miatopologia.py

Lettori Blu-ray Samsung in riavvio continuo

Aggiornamento 26/06/2020 – In fondo al post. Quello che è successo negli ultimi giorni è alquanto bizzarro, ma non di certo infrequente: all’improvviso una serie di lettori Blu-ray Samsung ha praticamente smesso di di funzionare.
In un post della community sul sito di supporto di Samsung ci sono ormai centinaia di interventi di utenti che confermano il problema su vari modelli: Samsung J5900, BD-J5100, BD-JM56C, BD-JM57C, BD-J5700, HT-J5500W.
Quando il lettore Blu-ray Samsung si accende dopo poco inizia a riavviarsi all’infinito ogni pochi secondi, classico esempio di boot loop.
I comandi di accensione e di espulsione del disco vengono ignorati e tutti i tentativi di ripristinare i lettori blu-ray non hanno avuto buon seguito.

L’assistenza Samsung ha riferito che i dispositivi che presentano il problema vanno inviati alla riparazione hardware, e a questo punto Samsung sembra aver ammesso che il continuo riavvio dei lettori Blu-ray è un problema comune, non un singolo caso.
Per chi ha un lettore Blu-ray Samsung fuori garanzia che manifesta il problema del continuo riavvio del lettore Blu-ray ha precluso il normale processo di aggiornamento del software; purtroppo in questo caso si ha ben poco da fare se non attendere e sperare che un’eventuale riparazione sia poco costosa. Per il momento conviene lasciare spento il proprio lettore Blu-ray Samsung onde evitare che possa verificarsi il problema del riavvio continuo.

Aggiornamento 23/06/2020: ieri il supporto tecnico di Samsung scrive nel thread aperto sulla community: “Siamo a conoscenza dei clienti che hanno segnalato un problema con i loop di avvio su alcuni lettori Blu-Ray e stiamo esaminando ulteriormente questo aspetto. Pubblicheremo un aggiornamento qui su questo thread quando avremo ulteriori informazioni.”

Aggiornamento 26/06/2020: sembra che sia sufficiente conttare il centro di assistenza di Samsung (o telefonare al numero verde 800 726 7864) anche se il proprio lettore Blu-Ray è fuori garanzia per ricevere supporto, il lettore va inviato ai centri di riparazione di Samsung che poi provvederanno a ripararlo e a rispedirlo all’utente.

Come aumentare lo spazio di una partizione ext4 montata

A volte capita di dover estendere lo spazio disco associato ad una partizione di tipo EXT4 che è attiva (online) su un server. Nel nostro caso abbiamo un server con Ubuntu 14.04 sul quale è necessario più spazio per cui bisogna estendere la partizione / del sistema operativo.

Il server non ha logical volume (LVM) ma le partizioni sono le solite standard.

Il problema di questa configurazione è la swap. Infatti la partizione di swap è posta alla fine del disco SDA, quindi è necessario toglierla perchè una classica partizione EXT4 deve essere contigua.

Come si può vedere abbiamo una partizione SDA5 di swap a fine disco.

La prima cosa da fare è estendere il disco, se è un disco virtuale spesso è opportuno spegnere la virtual machine ed estendere il disco. Poi riaccendere la virtual machine. Se il disco è fisico, rimuovere la swap e usare quello spazio per estendere la partizione principale. La swap può essere ricreata su un altro disco oppure fatta su file.

Nel nostro caso vogliamo espandere la partizione / e mantenere la partizione di swap di 3 GB sullo stesso disco.

Attenzione questa procedura è rischiosa e potrebbe portarvi alla perdita di tutti i dati, per cui in primis è necessario fare un backup di tutto.

Ok. Ora il disco SDA è stato espanso di ulteriori 4 GB passando dai precedenti 8 GB ai 12 GB. Dobbiamo rimuovere la swap, cancellare le partizioni, ricreare la partizione / e quella di swap.

La partizione di swap va disattivata.

swapoff /dev/sda5

Poi va lanciato fdisk sul disco che contiente il tutto.

fdisk /dev/sda

Premendo il carattere p, si ottiene la situazione attuale delle partizioni.

Cancelliamo la partizione 5 e la 2 che sono rispettivamente la swap e una partizione estesa. Per cancellare una partizione premere il tasto d, seguito dal numero della partizione es. 5.

Ora c’è la parte più delicata: quella di cancellare anche la partizione 1. Premendo d, si cancella l’ultima partizione esistente.

La partizione / va ricreata come una nuova partizione primaria la cui dimensione deve essere pari allo spazio del disco meno lo spazio della swap, quindi se il nostro disco è di 12 GB e la nostra swap di 3 GB, la partizione / sarà di 9 GB.

Per creare una partizione nuova premere n, poi p (per primaria), +9G per assegnare 9 gigabyte di spazio.

Ora è possibile creare la partizione di swap. Premere n per una nuova partizione, p per una primaria, come partition number premere INVIO per confermare l’opzione di default. Siccome è l’ultima partizione del disco anche la dimensione è quell di default, quindi basta premere INVIO.

E’ opportuno, a differenza della partizione di root, modificare l’etichetta (tag) del codice, premendo t, indicando la seconda partizione premendo 2 e inserendo l’hex code 82.

questo è lo stato dopo tutte le operazioni:

Per confermare tutte le operazioni bisogna premere il tasto w.

Può essere che compaia un messaggio di avvertimento. In questo caso, la tabella delle partizioni modificata non è stata ricaricata dal kernel, quindi per poter estendere il disco, occorre ricaricare la tabella.

Per ricaricare la tabella usare il comando partprobe.

partprobe

Creiamo la nuova swap, usando il classico comando:

mkswap /dev/sda2

Annotiamoci l’UUID (quello che nell esempio inizia con 1c8…) che è apparso sopra. Apriamo il file fstab e modifichiamo l’UUID associato alla swap vecchia con quello nuovo.

vi /etc/fstab

Il nuovo file fstab avrà queste informazioni:

La swap va nuovamente attiva con il comando swapon, per verificare poi lo stato si può ricorrere allo stesso comando con il parametro -s.

swapon /dev/sda2
swapon -s

Finalmente possiamo estendere la partizione / con il semplice ma efficace resize2fs.

resize2fs /dev/sda1

Il ridimensionamento è online, ossia senza la necessità di smontare il filesystem / per estendere la partizione. Ora la partizione è molto più grande.

Assegnare un IP statico in Ubuntu 20.04

Impostare un IP statico, ossia un indirizzo IP che non cambia, in Ubuntu 20.04 non è molto difficile. La modifica può essere fatta via interfaccia grafica nella versione desktop, mentre nella versione server di Ubuntu 20.04 è necessario usare la riga di comando.

Per prima cosa occorre individuare il nome dell’interfaccia di rete alla quale sarà assegnato l’indirizzo IP statico. Per scoprirlo basta usare il comando:

ip a

Nell’output generato dal comando si può vedere che la scheda di rete che ha l’IP 192.168.217.9 (assegnato tramite DHCP ossia dinamicamente) si chiama ens192.

Ora possiamo creare un file di configurazione della scheda di rete.

sudo vi /etc/netplan/50-my-init.yaml

In questo file incolliamo questo testo, opportunamente modificato con i nostri parametri.

network:
    ethernets:
        ens192:
            dhcp4: false
            addresses: [192.168.217.32/24]
            gateway4: 192.168.217.1
            nameservers:
              addresses: [192.168.217.1,8.8.8.8]
    version: 2

ens160 corrisponde al nome dell’interfaccia di rete recuperato col comando ip a. 192.168.217.32 è l’IP statico che abbiamo scelto per la nostra rete, mentre /24 corrisponde alla netmask. Il gateway della rete è specificato dalla voce gateway4.

Si possono aggiungere anche diversi indirizzi IP dei DNS, questi vanno separati con una virgola; per esempio nel caso sopra gli indirizzi dei server DNS sono 192.168.217.1 e 8.8.8.8.

La vecchia configurazione della scheda di rete era in DHCP, quindi spostiamo il vecchio file in modo che esso possa essere recuperato ma non sia attivo:

sudo mv /etc/netplan/00-installer-config.yaml /etc/netplan/00-installer-config.yaml_old

A questo punto è possibile applicare la nuova configurazione usando il comando:

sudo netplan apply

Ora eseguendo il comando ip a potremmo scoprire come la scheda di rete ha un indirizzo IP statico.