Ejecutar SFTP y FTP con Proftpd

Hola a todos!

En este documento vamos a trabajar sobre como ejecutar SFTP y FTP con Proftpd sin tener ninguna complicación para ello. Al parecer en la última versión de Debian 8 (no he probado en los demás) viene por defecto con la instalación de Proftpd que te fuerce directamente a realizar el SFTP. La cuestión es que, si no recuerdo mal, no te lo hace por el puerto por defecto. De hecho el puerto 21 lo deja deshabilitado.

Existen clientes que le gustan tener opciones de poder elegir:

  1. Que solo escuche por el puerto 21 y solo SFTP.
  2. Que estén los dos servicios corriendo FTP por el 21 y SFTP por el 22.
  3. Ejecutar el SFTP en otro puerto.

Intentaré explicar los 3 casos o por lo menos morir en el intento.

Leer más

Configurando Chroot con SFTP

Introducción

Se nos presentó la problemática de que un cliente quería crear un SFTP (Secure File Transfer Protocol) para que un usuario solo pudiera acceder de esa manera. Es decir, que no quería que por FTP tuviera acceso. Aparte de ello quería enjaularlo en su propio directorio y que no pudiera navegar a ningún lugar.

Recordemos que SFTP utiliza el puerto del SSH para realizar la transferencia de ficheros proporcionando una capa de seguridad extra.

Recordamos también que existe otras maneras de hacerlo cifrado y seguro con ssl sobre ftp con VSFTP y ssl sobre ftp con PROFTPD.

Configurando Chroot con SFTP

Antes de empezar debemos crear el entorno cerrado, en nuestro caso vamos a usar el directorio «/var/www/sftpusuarios/».

Los pasos que vamos a seguir para configurar Chroot con SFTP son los siguientes:

# Creando el grupo de sftp
groupadd sftp_users

# Creamos el usuario
adduser -d /var/www/sftpusuarios/ -G sftp_users sftpuser1

# Configuramos el SSH
vim /etc/ssh/sshd_config

# Comentamos la siguiente línea, suele estar al final
Subsystem sftp /usr/libexec/openssh/sftp-server


#Añadimos las siguientes
Subsystem sftp internal-sftp
Match Group sftp_users
X11Forwarding no
AllowTcpForwarding no
ChrootDirectory /var/www/sftpusuarios
ForceCommand internal-sftp

Ahora mismo después de ejecutar dicha configuración tan solo tenemos que reiniciar y probar nuestro acceso por SFTP (recordad el mismo puerto del SSH).

Deshabilitar el usuario por FTP

Actualmente solo lo hemos probado por VSFTP, no sabemos si será igual para otros clientes FTP:

# Editamos el fichero siguiente
vim /etc/vsftpd/ftpusers

# Añadimos el usuario que no queremos que tenga FTP
sftpuser1

Guardamos el fichero y reiniciamos el servicio de VSFTP.

SCP transferencia de ficheros segura

Introducción a SCP

Antes de empezar hablar de SCP tenemos que hablar de SSH. Para hacer un breve resumen de ello es un protocolo que nos permite encriptar la comunicación desde principio a fin entre dos sistemas Linux.

Los principales beneficios que obtenemos a través del SSH:

  • Utiliza un algoritmo de encriptación del tipo RSA para generar las claves públicas y privadas, aumentando la seguridad.
  • Protocolos como SCP y SFTP corren a través de SSH por lo tanto hace que la transferencias de fichero sea segura.
  • SSH permite la configuración de siempre logado en el sistema, para poder trabajar sin problemas entre varias máquinas sin que tenga que pedir la contraseña.

Leer más