Table of Contents
Cómo reparar la vulnerabilidad de SambaCry (CVE-2017-7494) en sistemas Linux
Samba ha sido durante mucho tiempo el estándar para proporcionar servicios de impresión y archivos compartidos a clientes de Windows en sistemas * nix. Utilizado por usuarios domésticos, medianas y grandes empresas por igual, se destaca como la solución de referencia en entornos donde coexisten diferentes sistemas operativos.
Como lamentablemente sucede con las herramientas de uso generalizado, la mayoría Las instalaciones de Samba corren el riesgo de sufrir un ataque que pueda aprovechar una vulnerabilidad conocida, que no se consideró grave hasta que el ataque de ransomware WannaCry. llegó a las noticias no hace mucho.
En En este artículo, explicaremos qué es esta vulnerabilidad de Samba y cómo proteger contra ella los sistemas de los que es responsable. Dependiendo de su tipo de instalación (de los repositorios o de la fuente), necesitará adoptar un enfoque diferente para hacerlo.
Si actualmente está usando Samba en cualquier entorno o conoce a alguien que lo haga, ¡siga leyendo!
La vulnerabilidad
Los sistemas obsoletos y sin parches son vulnerables a una vulnerabilidad de ejecución remota de código. En términos simples, esto significa que una persona con acceso a un recurso compartido grabable puede cargar un fragmento de código arbitrario y ejecutarlo con permisos de root en el servidor.
freestar.config.enabled_slots.push
El problema se describe en el sitio web de Samba como CVE-2017-7494 y se sabe que afecta a las versiones 3.5 de Samba (lanzadas a principios de marzo de 2010) y posteriores. Extraoficialmente, se le ha denominado SambaCry. debido a sus similitudes con WannaCry. ambos se dirigen al protocolo SMB y son potencialmente susceptibles de gusano, lo que puede hacer que se propague de un sistema a otro.
Debian, Ubuntu, CentOS y Red Hat han tomado medidas rápidas para proteger a sus usuarios y han lanzado parches para sus versiones compatibles. Además, también se han proporcionado soluciones de seguridad para las que no son compatibles.
Actualización de Samba
Como se mencionó anteriormente, hay dos enfoques a seguir dependiendo del método de instalación anterior:
Si instaló Samba desde los repositorios de su distribución.
Echemos un vistazo a lo que debe hacer en este caso:
Arregle Sambacry en Debian
Asegúrese de que apt esté configurado para obtener las últimas actualizaciones de seguridad agregando las siguientes líneas a su lista de fuentes (/etc/apt/sources.list. :
deb http://security.debian.org stable/updates main deb-src http://security.debian.org/stable/updates main
A continuación, actualice la lista de paquetes disponibles:
# aptitude update
Finalmente, asegúrese de que la versión del paquete samba coincida con la versión donde se ha corregido la vulnerabilidad (ver CVE-2017-7494):
# aptitude show samba
Arreglar Sambacry en Debian Arreglar Sambacry en Ubuntu
Para comenzar, busque nuevos paquetes disponibles y actualice el paquete samba de la siguiente manera:
$ sudo apt-get update $ sudo apt-get install samba
The Samba las versiones en las que ya se ha aplicado la corrección para CVE-2017-7494. son las siguientes:
- 17.04: samba 2: 4.5.8 + dfsg-0ubuntu0 .17.04.2.
- 16.10: samba 2: 4.4.5 + dfsg-2ubuntu5.6.
- 16.04 LTS: samba 2: 4.3.11 + dfsg-0ubuntu0.16.04.7.
- 14.04 LTS: samba 2: 4.3.11 + dfsg-0ubuntu0.14.04.8.
Finalmente, ejecute el siguiente comando para verificar que su caja de Ubuntu ahora tenga instalada la versión correcta de Samba.
$ sudo apt-cache show samba Arregle Sambacry en CentOS/RHEL 7
La versión parcheada de Samba en EL 7. es samba-4.4.4-14.el7_3. Para instalarlo, haz
# yum makecache fast # yum update samba
Como antes, asegúrate de tener ahora la versión parcheada de Samba:
# yum info samba
Arreglar Sambacry en CentOS
Versiones más antiguas y aún compatibles de CentOS y RHEL también tienen correcciones disponibles. Consulte RHSA-2017-1270 para obtener más información.
Si instaló Samba desde la fuente
Nota. El siguiente procedimiento asume que ha compilado previamente Samba de fuente. Le recomendamos que lo pruebe ampliamente en un entorno de prueba ANTES de implementarlo en un servidor de producción.
Además, asegúrese de hacer una copia de seguridad del archivo smb.conf. antes de comenzar .
En este caso, también compilaremos y actualizaremos Samba desde la fuente. Sin embargo, antes de comenzar, debemos asegurarnos de que todas las dependencias estén instaladas previamente. Tenga en cuenta que esto puede llevar varios minutos.
En Debian y Ubuntu: # aptitude install acl attr autoconf bison build-essential \ debhelper dnsutils docbook-xml docbook-xsl flex gdb krb5-user \ libacl1-dev libaio-dev libattr1-dev libblkid-dev libbsd-dev \ libcap-dev libcups2-dev libgnutls28-dev libjson-perl \ libldap2-dev libncurses5-dev libpam0g-dev libparse-yapp-perl \ libpopt-dev libreadline-dev perl perl-modules pkg-config \ python-all-dev python-dev python-dnspython python-crypto xsltproc \ zlib1g-dev libsystemd-dev libgpgme11-dev python-gpgme python-m2crypto En CentOS 7 o similar: # yum install attr bind-utils docbook-style-xsl gcc gdb krb5-workstation \ libsemanage-python libxslt perl perl-ExtUtils-MakeMaker \ perl-Parse-Yapp perl-Test-Base pkgconfig policycoreutils-python \ python-crypto gnutls-devel libattr-devel keyutils-libs-devel libaiocl-devel-devel libblkid-devel libxml2-devel openldap-devel \ pam-devel p opt-devel python-devel readline-devel zlib-devel
Detenga el servicio:
# systemctl stop smbd
Descargue y descomprima la fuente (siendo 4.6.4 la última versión en el momento de escribir este artículo ):
# wget https://www.samba.org/samba/ftp/samba-latest.tar.gz # tar xzf samba-latest.tar.gz # cd samba-4.6.4
Para Solo con fines informativos, verifique las opciones de configuración disponibles para la versión actual con.
# ./configure–help
Puede incluir algunas de las opciones devueltas por el comando anterior si se usaron en la compilación anterior, o puede optar por ir con el predeterminado:
# ./configure # make # make install
Finalmente, reinicie el servicio.
# systemctl restart smbd
y verifique que esté ejecutando el versión actualizada:
# smbstatus–version
que debería devolver 4.6.4.
Consideraciones generales
Si está ejecutando un versión no compatible de una distribución determinada y no puede actualizar a una más reciente por alguna razón, yo Puede que desee tener en cuenta las siguientes sugerencias:
- Si SELinux está habilitado, ¡está protegido!
- Asegúrese de que los recursos compartidos de Samba estén montados con la opción noexec. Esto evitará la ejecución de binarios que residen en el sistema de archivos montado.
Agregue,
nt pipe support = no
a la sección [global] de su smb .conf. y reinicie el servicio. Es posible que desee tener en cuenta que esto “puede deshabilitar algunas funciones en los clientes de Windows”, según el proyecto Samba.
Importante. Sea consciente de que la opción “ nt pipe support = no. inhabilitaría la lista de recursos compartidos de los clientes de Windows. Por ejemplo: cuando escribe \\ 10.100.10.2 \. desde el Explorador de Windows en un servidor samba, obtendrá un permiso denegado. Los clientes de Windows tendrían que especificar manualmente el recurso compartido como \\ 10.100.10.2 \ share_name. para acceder al recurso compartido.
Resumen
En este artículo, hemos descrito la vulnerabilidad conocida como SambaCry y cómo mitigarlo. Esperamos que pueda utilizar esta información para proteger los sistemas de los que es responsable.
Si tiene alguna pregunta o comentario sobre este artículo, no dude en utilizar el formulario a continuación para hacérnoslo saber. .