Cómo proteger Linux de Dirty Cow

Cómo proteger Linux de Dirty Cow

Recientemente se ha reportado un bug conocido como “Dirty Cow” o “CVE-2016-5195” publicado en Canonical, Red Hat, y Debian, que afecta a la mayoría de los sistemas Linux.

El mismo fue apodado Dirty COW debido a que el problema reportado es originado en el método que se encarga de la técnica llamada copy-on-write (COW) del kernel. Este bug permite que un usuario sin privilegios pueda obtener permisos de escritura para cualquier archivo del sistema y por ende, pueda entre otras cosas, aumentar sus privilegios.

¿Qué es el escalado de privilegios? Significa que un usuario con una cuenta “estándar”, puede “escalar” o subir sus privilegios en el sistema a través de esta vulnerabilidad, hasta obtener la administración completa del mismo, es decir, hasta llegar a ser el “root” del sistema.

Afortunadamente la mayoría de las distribuciones ya han publicado parches y todas las imágenes de WNPower se han actualizado para incluir las versiones del núcleo parcheado. En este momento si tu servicio es gestionado por WNPower (servidor administrado), ya se encuentra parcheado.

Sin embargo, si tu servicio no está contratado en esta modalidad, es decir contratado en la modalidad “gestionado por el cliente” (en la que el cliente es quién accede como usuario “root” al servidor), es probable que tengas que realizar algunas acciones para aplicar el parche. En ese caso, podés seguir leyendo este artículo donde encontrarás la forma de parchear las distribuciones más comunes:

Ubuntu / Debian

Para averiguar si tu servidor está afectado, primero deberás chequear la versión del kernel.

[code language=”bash” light=”true”]
uname -rv
[/code]

Verás una salida como la siguiente:

[code light=”true”]
4.4.0-42-generic #62-Ubuntu SMP Fri Oct 7 23:11:45 UTC 2016
[/code]

Si la versión del kernel es anterior a las siguientes, estará afectada y por ende deberás aplicar el parche:

[code light=”true”]
– 4.4.0-45.66 para Ubuntu 16.04 LTS
– 3.13.0-100.147 para Ubuntu 14.04 LTS
– 3.2.0-113.155 para Ubuntu 12.04 LTS
– 3.16.36-1+deb8u2 para Debian 8
– 3.2.82-1 para Debian 7
[/code]

CentOS

Podés utilizar este script provisto por Red Hat para RHEL para chequear la vulnerabilidad de tu servidor. Para probarlo, primero descargá el script.

[code language=”bash” light=”true”]
wget https://access.redhat.com/sites/default/files/rh-cve-2016-5195_1.sh
[/code]

Posteriormente, ejecutalo.

[code language=”bash” light=”true”]
bash rh-cve-2016-5195_1.sh
[/code]

Si tu sistema es vulnerable, verás una salida como esta:

[code light=”true” autolinks=”false”]
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 .
[/code]

Solución a la vulnerabilidad Dirty Cow

Simplemente deberás actualizar el sistema y reiniciar el servidor.

En Ubuntu y Debian, podemos actualizar utilizando “apt”:

[code language=”bash” light=”true”]
sudo apt-get update && sudo apt-get dist-upgrade
[/code]

En el caso de CentOS 5, 6 y 7, podés actualizar el sistema con “yum”, ejecutando lo siguiente:

[code language=”bash” light=”true”]
sudo yum update kernel
[/code]

Por último, en todas las distribuciones, deberás reiniciar el servidor para aplicar los cambios.

[code language=”bash” light=”true”]
sudo reboot
[/code]

En este punto, si sos de los que no le gusta reiniciar o estás orgulloso del uptime de tu Linux, te recordamos que WNPower ofrece el addon “Kernel-Care” con el cual podés aplicar parches al kernel de Linux sin necesidad de tener que reiniciar el sistema para que se apliquen los cambios.

Conclusión

Asegurate de actualizar tus servidores Linux para mantenerte protegido de este bug. Podés encontrar más información sobre Dirty COW en su sitio web oficial. Sí… un bug con sitio web oficial 🙂 https://dirtycow.ninja/

Si tenés alguna pregunta sobre tu servidor o deseás nuestra asistencia, por favor abrí un ticket de soporte en tu Panel de Autogestión.