Come proteggere un server dalla vulnerabilità Linux Dirty COW

Introduzione

In data 19 ottobre 2016 è stata scoperta una vulnerabilità di privilege escalation nel kernel Linux. Il bug è stato rinominato Dirty COW dato che il problema di fondo sta nel modo in cui il kernel gestisce il Copy-on-write (COW). Dirty COW esiste da molto tempo, almeno dal 2007 con la versione 2.6.22 del kernel, quindi la maggior parte dei server è a rischio.

Sfruttare questa vulnerabilità vuol dire che nel vostro server un regolare utente senza privilegi può ottenere il permesso di scrittura per ogni file che può leggere, e quindi può aumentare i propri privilegi nel sistema. Potrete trovare maggiori informazioni su CVE-2016-5195 sui siti di Canonical, Red Hat e Debian.

Fortunatamente le principali distribuzioni hanno già provveduto a rilasciare una fix. Tutte le immagini [delle VPS, NdT] base di DigitalOcean sono state aggiornate in modo da avere le versioni del kernel con la patch applicata, quindi le prossime Droplets [le VPS di DigitalOcean, Ndt] che create non avranno bisogno di essere aggiornate. Tuttavia, se state utilizzando un vecchio server, potete seguire questa guida per assicurarvi di essere protetti.

Verificare la vulnerabilità

Ubuntu/Debian

Per vedere se il vostro server ne è affetto, controllate la versione del vostro kernel.

$ uname -rv

Avrete un output del tipo:

4.4.0-42-generic #62-Ubuntu SMP Fri Oct 7 23:11:45 UTC 2016

Se la vostra versione è meno recente delle seguenti significa che ne siete affetti:

  • 4.8.0-26.28 per Ubuntu 16.10
  • 4.4.0-45.66 per Ubuntu 16.04 LTS
  • 3.13.0-100.147 per Ubuntu 14.04 LTS
  • 3.2.0-113.155 per Ubuntu 12.04 LTS
  • 3.16.36-1+deb8u2 per Debian 8
  • 3.2.82-1 per Debian 7
  • 4.7.8-1 per Debian unstable

CentOS

Certe versioni di CentOS, per testare la vulnerabilità del vostro server, possono usare questo script fornito da RedHat per RHEL. Per provarlo, per prima cosa scarichiamo lo script.

$ wget https://access.redhat.com/sites/default/files/rh-cve-2016-5195_1.sh

Ora eseguitelo con bash.

$ bash rh-cve-2016-5195_1.sh

Se siete vulnerabili vedrete un output come questo:

Your kernel is 3.10.0-327.36.1.el7.x86_64 which IS vulnerable.
Red Hat recommends that you update your kernel. Alternatively, you can apply partial
mitigation described at https://access.redhat.com/security/vulnerabilities/2706661 .

Riparare la vulnerabilità

Fortunatamente, applicare la correzione è semplice: aggiornate il vostro sistema e riavviate il vostro server.

In Ubuntu e Debian aggiornate i vostri pacchetti usando apt-get.

$ sudo apt-get update && sudo apt-get dist-upgrade

Potete aggiornare tutti i vostri pacchetti in CentOS 6 e 7 usando sudo yum update ma, se per risolvere il bug volete aggiornare solamente il kernel, usate:

$ sudo yum update kernel

Al momento siamo ancora in attesa di una correzione per CentOS 5. Nel frattempo potete usare questa soluzione dal bug tracker di Red Hat.

Nelle Droplets più datate, con la gestione del kernel esterna, è inoltre necessario selezionare il kernel GrubLoader di DigitalOcean. Per farlo andate nel pannello di controllo e cliccate sul server che volete aggiornare. Cliccate quindi Kernel nel menu sulla sinistra e selezionate il kernel GrubLoader. Potete approfondire la modalità di aggiornamento dei kernel della vostra Droplet in questa guida alla gestione del kernel. Le nuove Droplet con la gestione del kernel interna possono saltare questo passaggio.

Per concludere, avete bisogno di riavviare il vostro server per applicare i cambiamenti.

$ sudo reboot

Conclusioni

Assicuratevi di aggiornare i vostri kernel Linux per essere protetti da questo bug di privilege escalation.

Autore: Hazel Virdó

Traduzione di Zantx dell’articolo https://www.digitalocean.com/community/tutorials/how-to-protect-your-server-against-the-dirty-cow-linux-vulnerability Copyright © 2016 DigitalOcean™ Inc.

Facebooktwittergoogle_plusredditpinterestlinkedinmail

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *