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.

Instalando y Configurando VSFTP

¿Qué es VSFTP?

La traducción de las siglas son Very Secure File Transfer Protocol Deamon (VSFTP) y es uno de los servicios de FTP seguros mas usados hoy en día. En algunas de las distribuciones como Ubuntu, CentOS, Fedora, etc suele venir instalado por defecto.

Aparte de una instalación correcta nos centraremos también en ciertos aspectos de seguridad que nos ayudaran a tener el entorno FTP controlado.

Leer más