Thursday, February 21, 2008

Seguridad en Debian

Si hay una cosa que me encanta de Debian es la facilidad de actualizarlo. Al comprobar los repositorios en busca de paquetes nuevos comprueba las actualizaciones de seguridad por un lado y las de versiones actualizadas por otro y lo muestra separado. Así se puede decidir si es necesario actualizar un paquete, instalando todas las actualizaciones de seguridad y de las versiones nuevas, sólo las que se consideren necesarias o útiles.

Pero todo esto me ha fallado/sorprendido con el reciente bug que salió para el kernel. Afectaba a casi todos los núcelos entre 2.6.17 y 2.6.24.1 inclusive (parece ser que los SELinux se salvaban) y aprovechaba un fallo en la función vm_splice para hacer escalada de privilegios: un usuario normal ejecutaba un programa especial y mágicamente se convertía en root. Naturalmente, para ello antes hay que tener acceso al sistema como usuario normal, así que no es aprovechable de manera demasiado sencilla. En el PC de casa se puede hacer, pero no se puede aplicar a un servidor remoto sin antes obtener una shell local con algún otro fallo de seguridad.

Como el server casero que tengo es basicamente servidor de archivos y router/firewall, no me di demasiada prisa por aplicar el parche, ya que en principio sólo hay 2 puertos expuestos a internet y confío bastante en las protecciones de ambos, así que era bastante difícil que alguien obtuviera shell para aprovechar el exploit. Además, con un uptime de bastante más de 50 días me daba pena reiniciarlo.

Había oído hablar del bug y del exploit, pero yo hacía apt-get update y no veía por ningún lado un aviso para instalar un nuevo kernel. Alguna otra aplicación si que salía de vez en cuando, así que los repositorios funcionaban, pero del kernel ni rastro. Me extrañó muchísimo con todo el tiempo que pasaba, ya que normalmente tardan pocas horas en sacar parches y no días, así que decidí buscar a ver si encontraba algo. Y efectivamente, ya había kernels nuevos, e incluso si los buscaba en aptitude salían, pero como versiones distintas, no como mejoras de seguridad, ni siquiera como actualizaciones del que usaba.

Supongo que la razón es para no cambiar el kernel en sistemas que hacen periódicamente un "apt-get update && apt-get upgrade". Cambiar el kernel puede ser peliagudo y como mínimo requiere reiniciar, así que no sería nada bueno que los sistemas lo hicieran ellos solos. Bueno, Vista sí que reinicia cuando a él le da la gana, pero al Vista hay que darle de comer aparte. Si bien está claro que cambiar el kernel de manera automática no es buena idea, lo que sí que estaría bien sería que apareciera algún aviso al hacer un update, un mensaje por consola o algo que avisara del peligro, quizá algún admin (sobre todo de sistemas caseros) no esté al tanto del problema y se quede con un sistema vulnerable.

Así que ya sabeis, haced un uname -r en una consola y si os da una versión entre 2.6.17 y 2.6.24.1, actualizad el kernel cuanto antes, que el fallo no es moco de pavo.

No comments: