Recientemente los desarrolladores que están detrás del proyecto de Samba anunciaron mediante un comunicado la liberación de una nueva versión correctiva del protocolo Samba, llegando este a su nueva versión 4.11.2.
Para quienes desconocen de Samba deben saber que esta es una implementación libre del protocolo de archivos compartidos de Microsoft Windows (antiguamente llamado SMB, renombrado recientemente a CIFS) para sistemas de tipo UNIX. De esta forma, es posible que computadoras con GNU/Linux, Mac OS X o Unix en general se vean como servidores o actúen como clientes en redes de Windows.
Samba también permite validar usuarios haciendo de Controlador Principal de Dominio (PDC), como miembro de dominio e incluso como un dominio Active Directory para redes basadas en Windows; aparte de ser capaz de servir colas de impresión, directorios compartidos y autentificar con su propio archivo de usuarios.
Entre los sistemas tipo Unix en los que se puede ejecutar Samba, están las distribuciones GNU/Linux, Solaris y las diferentes variantes BSD entre las que podemos encontrar el Mac OS X Server de Apple.
Sobre Samba 4.11.2
Esta nueva versión de Samba 4.11.2 es una versión correctiva, que fue liberada para poder abordar algunos problemas de seguridad que se presentaban en el protocolo. De los cuales se trataron las vulnerabilidades:
- CVE-2019-10218: Los servidores malintencionados pueden hacer que el código del cliente Samba devuelva nombres de archivo que contengan separadores de ruta al código de llamada.
- CVE-2019-14833: el script de verificación de contraseña de Samba AD DC no recibe completa la contraseña. Cuando la contraseña contiene caracteres de varios bytes (no ASCII), la comprobación el script de contraseña no recibe la cadena de contraseña completa.
- CVE-2019-14847: el usuario con permiso de “obtener cambios” puede bloquear el servidor AD DC LDAP a través de dirsync.
¿Cómo instalar o actualizar a Samba 4.11.2 en Ubuntu y derivados?
Bien, para quienes estén interesados en poder instalar esta nueva versión de Samba o quieren actualizar su versión anterior a esta nueva, pueden hacerlo siguiendo los pasos que compartimos a continuación.
Lo primero que vamos a hacer es compartir los pasos para la instalación de Samba 4.11.2. Debido a que la actualización fue liberada recientemente, las compilaciones preparadas para Ubuntu aun no se han generado en los repositorios. Por lo que la instalación la realizaremos desde el código fuente.
Ahora como dato adicional para los usuarios de Ubuntu 18.04 LTS pueden hacer uso de un repositorio el cual les ayudara a instalar la nueva versión de samba de una forma sencilla.
Para añadirlo solo tecleamos en una terminal:
sudo add-apt-repository ppa:linux-schools/samba-latest
sudo apt-get update
Y podemos instalar samba con:
sudo apt install samba
Para el resto, debemos hacer la compilación. Primero vamos a descargar el paquete de Samba el cual podemos obtener abriendo una terminal (puedes hacerlo con la combinación de teclas Ctrl + Alt + T) y en ella vamos a teclear el siguiente comando:
wget https://download.samba.org/pub/samba/stable/samba-4.11.2.tar.gz
Después de ello vamos a extraer el paquete con:
tar -zxf samba-4.11.2.tar.gz
Entramos a la carpeta creada con:
cd samba-4.11.2
Estando dentro de ella vamos a realizar la compilación del paquete para posteriormente realizar la instalación. Lo primero que debemos hacer es instalar algunas dependencias:
sudo apt-get install acl attr autoconf bind9utils bison build-essential \
debhelper dnsutils docbook-xml docbook-xsl flex gdb libjansson-dev krb5-user \
libacl1-dev libaio-dev libarchive-dev libattr1-dev libblkid-dev libbsd-dev \
libcap-dev libcups2-dev libgnutls-dev libgpgme-dev libjson-perl \
libldap2-dev libncurses5-dev libpam0g-dev libparse-yapp-perl \
libpopt-dev libreadline-dev nettle-dev perl perl-modules-5.26 pkg-config \
python-all-dev python-crypto python-dbg python-dev python-dnspython \
python3-dnspython python-gpgme python3-gpgme python-markdown python3-markdown \
python3-dev xsltproc zlib1g-dev liblmdb-dev lmdb-utils
Hecho esto ahora vamos a teclear:
./configure --prefix=/usr/local
Para comenzar con la compilación vamos a teclear:
make
Si todo salió bien, la instalación la realizamos con:
make install
Y finalmente vamos a configurar la variable de entorno con:
export PATH=/usr/local/samba/bin/:/usr/local/samba/sbin/:$PATH
Finalmente para quienes cuentan con una versión anterior, es decir la versión 4.11.1, pueden aplicar el parche descargándolo con:
wget https://download.samba.org/pub/samba/patches/samba-4.11.1-4.11.2.diffs.gz
Lo extraemos con:
gzip -9 samba-4.11.1-4.11.2.diffs.gz
Entramos al directorio:
cd samba-4.11.1-4.11.2.diffs
Y aplicamos el parche con:
patch -p0 < samba-4.11.1-4.11.2.diffs
Y listo.
Fuente: ubunlog