Tengo un NAS casero (Debian) que uso ocasionalmente desde dispositivos remotos. El NAS tiene un servidor de archivos SMB y actualmente accedo a él de forma remota mediante SSH (cifrado de clave privada) y túnel de puerto SSH.
ssh [email protected] -L 448:localhost:445
Luego conéctese smb://localhost:448
al cliente remoto.
Esto no funciona muy bien cuando uso mi Android TV de forma remota, ya que tengo que usar Termux y realizar toda la configuración de ssh antes de tener acceso.
Tengo entendido que no es seguro exponer el puerto de mi servidor SMB directamente a la Internet pública. ¿Existe un protocolo de intercambio de archivos de red con soporte para clientes en todas las plataformas principales que sea lo suficientemente seguro para exponer a través de Internet?
Respuesta1
Nunca exponga ningún sistema de archivos de red. En su lugar, utilice una VPN (o túnel ssh) y luego exponga el sistema de archivos de la red a través de la VPN.
También tenga en cuenta que un sistema de archivos de red a mayor distancia será bastante lento y no será una experiencia agradable.
Si configurar la VPN o el túnel ssh supone demasiado esfuerzo, automatícelo.
Respuesta2
Tengo entendido que no es seguro exponer el puerto de mi servidor SMB directamente a la Internet pública. ¿Existe un protocolo de intercambio de archivos de red con soporte para clientes en todas las plataformas principales que sea lo suficientemente seguro para exponer a través de Internet?
SSH tiene uno integrado: SFTP. Muchas aplicaciones de administración de archivos de Android lo admiten y se puede manejar como un sistema de archivos montable a través de sshfs
.
WebDAV puede ser una opción, aunque su compatibilidad es relativamente rara (a veces puede denominarse "Nextcloud", ya que es el uso más común de WebDAV).
(Se considera que las PYMES son en su mayoría inseguras, pero unagrandeParte de esto se debió específicamente a errores dentro del servidor SMB interno de Windows. Las implementaciones alternativas de servidores SMB (por ejemplo, Samba) son mucho menos riesgosas, debido a una base de código diferente que no se ve afectada por el mismo tipo de errores y porque un proceso smbd de espacio de usuario en Linux es significativamente más fácil de confinar que un controlador de kernel en Windows. .
Entonces, si ejecuta un servidor de archivos SMB basado en Samba, está medio bien. Todavía lo recomendaríaal menosSin embargo, hay una lista de permisos de firewall basada en IP en la parte superior, pero al menos los exploits orientados a Windows no funcionarán con él.
Desafortunadamente, muchas aplicaciones de Android no admiten las nuevas funciones SMBv3, como el cifrado de transporte; harán lo mínimo para soportar SMBv2 si tiene suerte, y requerirán SMBv1 en caso contrario; en ambos casos, lo que queda esencialmente es un protocolo de texto claro. Además, usar SMBv1 a través de WAN no es una buena experiencia incluso si fuera seguro).
Una solución fácil a todo lo anterior es dejar de exponer el protocolo del sistema de archivos de red y en su lugar exponer un protocolo VPN, ya que los servidores VPN están diseñados teniendo en cuenta el acceso remoto (al igual que SSH) y son mucho menos riesgosos de exponer en general. Luego, una vez que te hayas conectado a la VPN, usa SMB o NFS o lo que quieras.