Guia de Despliegue SFTP en Linux CEntOs 7
Enviado por _hanx_ • 16 de Julio de 2023 • Documentos de Investigación • 1.080 Palabras (5 Páginas) • 46 Visitas
GRAMD.COM
Engine Signature WS®.
Procedimiento de instalación de SFTP - Linux
Guía de Despliegue de SFTP Linux CEntOs 7
1.- Prerrequisitos
- Se debe tener identificado el hostname / ip del servidor fileserver Para esta guía considerar:
- Nombre: AppServer IP: 192.168.72.130
- Se debe tener acceso root
- Conexión a Internet para la instalación de paquetes
- Nombre de la ruta raíz del servidor SFTP: /ftp_root
- Nota : el símbolo # indica que los comandos son una sola línea y deben ser ejecutados con permisos de root en una lína de comandos
2.- Alternativas
2.1.- Instalación se SFTP
- Instalar el editor “vim” (opcional, pero recomendado)
# yum install –y vim
- Actualizar el sistema operativo (opcional, pero recomendado)
# yum update -y
- Comprobar la existencia de los paquetes necesarios:
[pic 1]
- Se debe elegir una partición o ruta para el “root folder“ del SFTP y asignar los permisos adecuados:
# mkdir -p /sftp_root/ # chmod 701 /sftp_root/
- Se genera un grupo especial de usuarios para el SFTP
# groupadd sftpusers
- Se crea al usuario que se conectará al SFTP y se le asigna su clave, para este documento la clave será lo que esté dentro de corchetes: [@ftpTESTPeru@33]
# useradd mysftpuser -g sftpusers -d /archivos -s /sbin/nologin # passwd mysftpuser
[pic 2]
- Se debe crear el directorio específico en el sftp root folder para el sftpuser y luego asignar los permisos
# mkdir -p /sftp_root/mysftpuser/archivos
# chown -R root:sftpusers /sftp_root/mysftpuser
# chown -R mysftpuser:sftpusers /sftp_root/mysftpuser/archivos # mkdir -p /sftp_root/mysftpuser/archivos/input
# mkdir -p /sftp_root/mysftpuser/archivos/output # chmod 777 -R /sftp_root/mysftpuser/archivos/
[pic 3]
- Ahora se debe configurar el protocolo SSH para crear un proceso SFTP.
# vim /etc/ssh/sshd_config
- Se debe agregar las siguientes líneas al final del archivo
Match Group sftpusers ChrootDirectory /sftp_root/%u ForceCommand internal-sftp
[pic 4]
- Reiniciar el servicio SSH
# service sshd restart # service sshd status
[pic 5]
2.2.- Prueba de funcionamiento del SFTP
- Con un cliente SFTP, por ejemplo, WINSCP se debe efectuar la conexión y comprobar que nos podemos loguear
[pic 6]
[pic 7]
- Realizamos el envío de un archivo al subdirectorio input
[pic 8]
2.3.- Instalación se FTP implementación VSFTP sin cifrado
- Instalar el editor “vim” (opcional, pero recomendado) y el servicio VSFTPD
# yum install vim vsftpd –y
- Actualizar el sistema operativo (opcional, pero recomendado)
# yum update -y
- Activar el inicio automático del servidor vsftp:
# systemctl enable vsftpd # systemctl start vsftpd # systemctl status vsftpd
[pic 9]
- Se crea al usuario que se conectará al SFTP y se le asigna su clave, para este documento la clave será lo que esté dentro de corchetes: [ @ftpTESTPeru@33]
# useradd mysftpuser # passwd mysftpuser
- Editar el archivo /etc/vsftpd/vsftpd.conf
- Colocar las siguientes opciones con los valores correspondientes
anonymous_enable=NO local_enable=YES
[pic 10]
- Permitir la carga de archivos, editando la opción:
write_enable=YES
[pic 11]
- Prevenir a los usuarios que accedan a directorios del sistema operativo, “enjaulándolos” – chroot jail y permitir la carga de archivos al mismo:
chroot_local_user=YES
[pic 12]
- El método recomendado para permitir la carga de archivos es mantener chroot habilitado y configurar directorios FTP.
- Se creará un directorio ftp dentro de la página de inicio del usuario que servirá como chroot y un directorio de carga de escritura para cargar archivos.
- Agregar al final la línea
allow_writeable_chroot=YES
- VSFTPD puede usar cualquier puerto para conexiones FTP pasivas. Especificaremos el rango mínimo y máximo de puertos y luego abriremos el rango en nuestro firewall.
Las conexiones pasivas permiten liberar el puerto principal y otorgar muchas posibilidades de concurrencia de usuarios
Agregar las siguientes líneas al archivo de configuración para indicar el rango de puertos desde el 30000 al 31000:
pasv_min_port=30000 pasv_max_port=31000
- Agregar las siguientes líneas para limitar los usuarios permitidos de conexión al FTP Server
userlist_file=/etc/vsftpd/user_list userlist_deny=NO
[pic 13]
- Cerramos y guardarmos el archivo con :wq!
- Limitaremos qué usuarios pueden acceder vía FTP editando el archivo [ /etc/vsftpd/user_list ]
[pic 14]
- Permitir a través del Firewall los puertos requeridos para el funcionamiento de VSFTP # firewall-cmd --permanent --add-port=20-21/tcp
# firewall-cmd --permanent --add-port=30000-31000/tcp
# firewall-cmd --reload
NOTA: Si el hosting no permite creación de reglas de Firewall desde comandos, se debe habilitar los puertos en la consola de administración.
...