Por qué nunca debemos usar SMB/CIFS/SAMBA a través de Internet

Escrito por Rubén Velasco

SMB, conocido como CIFS, es un protocolo para compartir archivos, impresoras y otros dispositivos a través de la red desarrollado por Microsoft e implementado en sus sistemas operativos como una de las formas más sencillas de conectarse con otros ordenadores y dispositivos a través de la red local. Este protocolo es, probablemente, el más sencillo para conectarnos a otros ordenadores dentro de la red local ya que no necesita prácticamente ninguna configuración. Además, también podemos utilizarlo desde la WAN, a través de Internet, para acceder así a nuestros datos, aunque la verdad es que esto no es para nada recomendable como os vamos a explicar.

SMB, CIFS o SAMBA, la implementación libre de este protocolo para sistemas Linux, está pensada para utilizarse en una red local, generalmente redes seguras y de confianza, de manera que podamos compartir información en LAN con el resto de equipos conectados a esta red. Sin embargo, también podemos utilizar este ordenador desde WAN, en Internet. Para ello, lo único que tendríamos que hacer sería abrir el puerto 445 en nuestro router apuntando a nuestro ordenador o servidor CIFS y conectarnos a él desde el propio explorador de Windows utilizando una ruta de red como, por ejemplo (cambiando esta IP por la nuestra):

  • \\87.222.xxx.xxx

En el caso de Linux con SAMBA, la forma de conectarnos desde Nautilus o terminal sería:

  • smb://87.222.xxx.xxx

También puede que necesitemos abrir el puerto 139, aunque en nuestras pruebas con el 445 ha bastado. De esta manera vamos a poder acceder de forma remota a todos nuestros archivos a través de este protocolo, pudiendo configurar algunos pequeños detalles como, por ejemplo, proteger el acceso con usuario y contraseña o dejarlo abierto normal (esto es posible al usar SAMBA desde Linux).

SMB/CIFS, un protocolo muy simple, pero muy peligroso

Desde luego, compartir archivos con otros ordenadores conectados a la red a través de este protocolo es muy sencillo y cómodo. Sin embargo, también es realmente peligroso. Lo primero que debemos tener en cuenta es que el tráfico SAMBA/SMB/CIFS no está cifrado. Cualquiera capaz de interceptar nuestras comunicaciones, como un pirata en un ataque MITM o incluso nuestro ISP, puede interceptar todos los archivos que enviamos y recibimos. Además, si no usamos contraseña para controlar el acceso al servidor cualquiera podría acceder a él, lo mismo que si la usamos esta viajará por la red en texto plano, sin cifrar.

Además, no podemos olvidarnos de las vulnerabilidades existentes en este protocolo, como EternalBlue, la vulnerabilidad de la NSA utilizada por WannaCry. Si este ransomware causó estragos a través de este protocolo siendo utilizando solo en LAN, imaginemos qué hubiera pasado si el protocolo se hubiera podido utilizar por defecto a través de WAN.

Aunque SMB/CIFS no es un protocolo seguro para WAN (y tampoco para LAN, aunque suponemos que la red LAN es de confianza), tampoco es el único que puede poner en peligro nuestra seguridad. Sin ir más lejos, el conocido protocolo FTP envía usuarios y contraseñas en texto plano, así como los archivos en paquetes de tráfico de red sin cifrar, o lo mismo ocurre con Telnet que, además de enviar usuarios y contraseñas sin cifrar, puede llegar a permitir la ejecución de código.

Por suerte, para FTP y Telnet hay alternativas seguras (SFTP/FTPS y SSH), pero en el caso de SMB/CIFS esto no es así.

¿Alguna vez has usado SMB/CIFS/SAMBA para acceder a tus datos de forma remota desde WAN?