¿Cuáles son algunas alternativas seguras para FTP? [cerrado]

22

Esta historia de Hacker News trata sobre las desventajas de FTP. La única razón por la que podría configurar FTP es que es fácil.

Ya lo conozco y lo uso scp, pero a veces quiero compartir archivos con alguien sin darle sshacceso a mi servidor. Quiero que puedan cargar y descargar archivos, pero nada más, y quiero restringirlos a un solo directorio. También quiero que su conexión se encripte como ssh.

¿Cuáles son algunas alternativas al FTP que cumplen con estos criterios?

Nathan Long
fuente
2
Puede usar scp sin ssh, consulte: serverfault.com/questions/354615/allow-sftp-but-disallow-ssh
Stone
1
No me voy a molestar en leer ese artículo, pero vale la pena recordar que FTP fue diseñado para su uso en una red cerrada (laboratorio de arriba a / desde los servidores en el sótano), por lo que la seguridad nunca fue una consideración. Es sorprendente que todavía esté en uso en redes públicas.
John Gardeniers
1
Algunos podrían argumentar que ftp no fue diseñado en absoluto, sino que evolucionó a través de Good Ideas imaginado por varias personas creando software para la transferencia de archivos mucho antes de que el cierre se convirtiera en una propiedad observable para las redes, cuando el control de acceso ocurrió con puertas cerradas y miradas enojadas.
Eroen

Respuestas:

7

Proftpd tiene un servidor sftp incorporado que le permitiría segregar completamente a los usuarios de sshd con el propósito de transferir archivos. Puede configurarlo para que use un archivo passwd completamente separado para aislarlos aún más (es difícil iniciar sesión en un sistema con ssh y romper un chroot si realmente no tiene un usuario en / etc / passwd .. .)

proftpd también le permite hacer chroot y aislar al usuario sftp a un conjunto de directorios con bastante facilidad.

Hacemos algo como esto:

LoadModule mod_sftp.c

<VirtualHost 10.1.1.217>

    ServerName  "ftp.example.com"

    # from http://www.proftpd.org/docs/howto/NAT.html
    MasqueradeAddress   1.2.3.4
    PassivePorts 27001 27050

    UseSendfile off

    ExtendedLog         /var/log/proftpd/access.log WRITE,READ default
    ExtendedLog         /var/log/proftpd/auth.log AUTH auth

    AuthUserFile /etc/proftpd/AuthUsersFile
    AuthOrder           mod_auth_file.c 

    <IfModule mod_sftp.c>
        Port 10022
    SFTPAuthorizedUserKeys file:/etc/proftpd/ssh_authorized_keys/%u
        SFTPEngine On
        SFTPLog /var/log/proftpd/sftp.log
        SFTPHostKey /etc/ssh/proftpd-ssh_host_rsa_key
        SFTPHostKey /etc/ssh/proftpd-ssh_host_dsa_key
        MaxLoginAttempts 6
    </IfModule>
</VirtualHost>
Travis Campbell
fuente
1
Para ayudar al novato, si el OP necesita ayuda para configurar esto, tengo un tutorial completamente básico aquí: csrdu.org/nauman/2011/02/13/…
recluze
3

¡ Usaría WebDav con un servidor habilitado para https! La autenticación se basa en el esquema de autorización http estándar. Una guía para configurar WebDAV con Apache se puede encontrar aquí, entonces sólo es necesario recurrir a poner detrás de ese recurso https, y aquí he encontrado una descripción agradable de cómo hacer que .

joecks
fuente
Dado el idioma en uso aquí, al menos podría haber vinculado a una versión en inglés del artículo.
John Gardeniers
jaja lo siento no se dio cuenta de ese error. Gracias por corregir!
joecks
1

No especificó "gratis" como un requisito, por lo que voy a tirar el paquete de transporte público por grouplogic. Probablemente sea un poco exagerado para la mayoría de las personas, y fuera de su rango de precios, pero el conjunto de características es fantástico. Obtenga un segundo servidor de Mass Transit e ilumine la automatización y estará moviendo algunos archivos muy rápido.

SpacemanSpiff
fuente
0

Puede configurar sftpque utiliza sshen un modo similar a ftp.

Puede crear algunos usuarios (uno o más, depende de si está bien o no que cada usuario acceda a los archivos del otro) en su máquina, darles shell / bin / false y chrootcada usuario a algún directorio donde estén esos archivos metido.

Luis
fuente
0

Puede usar pure-ftpd con cifrado TLS habilitado. La configuración es muy simple, para habilitar la opción TLS sin cifrar en el archivo de configuración (solo una línea :)), configure sus clientes para conectarse a través de ftps y eso es todo. (Debe recordar que no todos los clientes ftp admiten ftps).

B14D3
fuente
-1

Puede habilitar la descarga y la descarga con rsync a través de ssh sin permitir inicios de sesión configurando rsync como el shell de inicio de sesión para el usuario. Esto habilita todas las ventajas de ssh, incluidos los inicios de sesión de certificados, el cifrado y la operación de permisos del sistema de archivos estándar, mientras que no habilita las cuentas de shell (ya que la cuenta no tendrá un shell sino rsync =)).

Eroen
fuente
¿Y cómo sería eso más seguro?
Texto sin formato
Eso depende de cómo lo configure. La forma común (la única forma en que lo he visto) es usando ssh y configurando rsync como el shell de inicio de sesión, o (para acceso de raíz) certificados ssh específicos del comando.
Eroen
1
Rsync, cuando ejecuta un servicio (como recomienda en su respuesta) no tiene cifrado. Por supuesto, ese no es el caso con rsync + ssh. Puede editar su respuesta para que su significado sea más claro.
EEAA
Se han producido cambios (en caso de que alguien encuentre que los comentarios anteriores se ajustan mal).
Eroen
Aunque no se solicitó, también vale la pena mencionar que, aunque existen varias interfaces fáciles de usar para FTP y protocolos similares a FTP, personalmente no conozco una para rsync. Si los usuarios previstos no son técnicos, puede ser un problema.
John Gardeniers