Configuración segura del servidor ProfTPD en CentOS 7 con TLS

Configuración segura del servidor ProfTPD en CentOS 7 con TLS

Objetivo

El objetivo es configurar primero un servidor ProfTPD básico en CentOS 7. Una vez que tengamos una configuración básica del servidor FTP, agregaremos el modo pasivo FTP y aumentaremos la seguridad agregando seguridad de la capa de transporte (TLS).

Por último, agregamos una configuración anónima opcional para permitir que el usuario anónimo inicie sesión en el servidor FTP sin nombre de usuario y contraseña.

Sistema operativo y versiones de software

  • Sistema operativo: - Centro Linux Release 7.5.1804
  • Software: - Proftpd versión 1.3.5e

Requisitos

Acceso privilegiado a su sistema Ubuntu como root o a través de sudo se requiere el comando.

Dificultad

MEDIO

Convenciones

  • # - requiere que los comandos de Linux dados se ejecuten con privilegios raíz directamente como un usuario raíz o mediante el uso de sudo dominio
  • ps - Dados los comandos de Linux para ser ejecutados como un usuario regular no privilegiado

Instrucciones

Configuración básica de FTP

Comencemos por la instalación y configuración básicas del servidor ProfTP. Esto incluye, instalación, definición de reglas de firewall y pruebas de clientes.

Configuración del servidor

El servidor FTP ProfTPD es parte de un repositorio EPEL. Por lo tanto, el primer paso es habilitar el repositorio EPEL y luego instalar el servidor ProfTPD:

# yum instalación Epel-liberase # yum instalación Proftpd 

A continuación, inicie el servidor ProfTPD y confirme su inicio correcto al verificar un puerto abierto 21

# Servicio Proftpd Inicio # SS -NLT 

A continuación, necesitamos pasar un todo en el firewall del servidor para permitir el tráfico entrante en el puerto 21

# firewall-cmd --add-port = 21/tcp --Permanent # firewall-cmd --leload 


Para confirmar un puerto entrante abierto 21 ejecutar:

# firewall-cmd --listsports 
Configuración del servidor BASIG FTP utilizando ProfTPD en CentOS 7

En esta etapa, cualquier usuario del sistema existente puede iniciar sesión en el servidor ProfTPD recientemente configurado. Opcionalmente podemos crear un nuevo usuario e.gramo. lubos con acceso al directorio /var/ftp-compartir:

# userAdd lubos -s /sbin /nologin -d /var /ftp -share # passwd lubos # chmod -r 750 /var /ftp -share # setsebool -p plod_ftpd_full_access = 1 

Conexión al cliente

En este punto, deberíamos poder realizar una conexión FTP desde una computadora de cliente remota. La prueba más fácil es usar el ftp dominio.

Dado que nuestro servidor ProfTPD se puede resolver a través de ftp.LinuxConfig.organizar nombre de host y usuario lubos es existente ejecutar:

$ ftp ftp.LinuxConfig.Org conectada a FTP.LinuxConfig.organizar. 220 servidor FTP listo. Nombre (FTP.LinuxConfig.org: lubos): Lubos 331 Contraseña requerida para Lubos Contraseña: 230 Usuario Lubos registrado en el tipo de sistema remoto es UNIX. Usando el modo binario para transferir archivos. FTP> 
NOTA: Tenga en cuenta que en este punto solo podemos hacer "conexiones FTP activas" solamente! Cualquier intento de crear una "conexión FTP pasiva" fallará.

Modo pasivo Configuración FTP



Configuración del servidor

Para habilitar que nuestro servidor FTP acepte también la conexión FTP pasiva, ejecute los siguientes comandos para habilitar las conexiones pasivas en el rango de puerto efímero registrado de IANA:

echo "PassivePorts 49152 65534" >> /etc /profesor.confusión 

Reinicie el servidor ProfTPD:

# Servicio ProfTPD reiniciar 

Abrir firewall para puertos en el rango 49152-65534:

# firewall-cmd --add-puerto = 49152-65534/tcp --Permanent # firewall-cmd--Reload 

Confirme que los puertos se han abierto correctamente:

# firewall-cmd --listsports 
Configurar el servidor ProfTPD para recibir conexiones FTP pasivas.

Conexión de cliente FTP

Como antes, ahora podemos probar la conexión pasiva FTP usando el ftp dominio. Asegúrese de que esta vez use el -pag Opción como se muestra a continuación:

$ ftp -pag ftp.LinuxConfig.Org conectada a FTP.LinuxConfig.organizar. 220 servidor FTP listo. Nombre (FTP.LinuxConfig.org: lubos): Lubos 331 Contraseña requerida para Lubos Contraseña: 230 Usuario Lubos registrado en el tipo de sistema remoto es UNIX. Usando el modo binario para transferir archivos. FTP> LS 227 Entrada Modo pasivo (192,168,1,111,209,252). 150 Abra la conexión de datos de modo ASCII para la lista de archivos 226 Transferir FTP completo> 

Todo está funcionando como se espera!

Servicio de servidor FTP con TLS

Configuración del servidor

En caso de que planee usar su servidor FTP fuera de la red de su área local, se recomienda usar algún tipo de cifrado. Afortunadamente, configurar profesor con TLS es extremadamente fácil. Primero, si ya no está disponible, instale el openssl paquete:

# yum instalación OpenSSL 

A continuación, cree un certificado usando el siguiente comando. El único valor requerido es Nombre común Cuál es el nombre de host de su servidor FTP:

# OpenSSL REQ -X509 -Nodes -Newkey RSA: 1024 -Keyout/etc/PKI/TLS/Certs/Proftpd.PEM -out/etc/pki/tls/certs/profesor.PEM Generación de una tecla privada RSA de 1024 bit ... +++++++ ... +++++++ Mediendo nueva clave privada a '/etc/pki/tls/certs/profesor/profesor.PEM '------ Está a punto de que se le solicite que ingrese información que se incorporará a su solicitud de certificado. Lo que está a punto de ingresar es lo que se llama un nombre distinguido o un DN. Hay bastantes campos, pero puede dejar algo de blanco para algunos campos, habrá un valor predeterminado, si ingresa '.', el campo se dejará en blanco. ----- Nombre del país (código de 2 letras) [xx]: nombre de estado o provincia (nombre completo) []: Nombre de la localidad (por ejemplo, ciudad) [Ciudad predeterminada]: Nombre de la organización (por ejemplo, empresa) [Compañía predeterminada Ltd]: Nombre de la unidad organizacional (por ejemplo, sección) []: nombre común (por ejemplo, su nombre o el nombre de host de su servidor) []:ftp.LinuxConfig.organizar Dirección de correo electrónico []: 

A continuación, como usuario de raíz, abra /etc/sysconfig/profesor Usando su editor de texto favorito y cambia:

De: a: profesor_options = "-dtls" 

Una vez listo, reinicie el servidor ProfTPD:

# Servicio ProfTPD reiniciar 


Conexión al cliente

Esta vez usamos FileZilla como nuestro cliente de prueba FTP:

Crear una nueva conexión FTP. Para probar TLS, asegúrese de seleccionar un correcto Encriptación y Tipo de inicio de sesión. El cliente FTP le advertirá sobre el Certificado desconocido. Garrapata Siempre confía y golpear DE ACUERDO.

TLS CONEXIÓN CONEXIÓN EXCETAMIENTO.

Configurar usuario anónimo de FTP

Configuración del servidor

Para permitir que el usuario anónimo inicie sesión en el servidor FTP abierto /etc/sysconfig/profesor Usando su editor de texto favorito y cambia:

Desde: profesor ,_options = "-dtls" a: Proftpd_options = "-dtls -danonymous_ftp" 

Arriba suponemos que tiene Alredy habilitado TLS anteriormente. Cuando está listo para reiniciar el servidor FTP:

# Servicio ProfTPD reiniciar 

Conexión al cliente

Uso de FileZilla como nuestro cliente de prueba FTP:

Como Tipo de inicio de sesión seleccionar Anónimo

Conexión FTP anónima exitosa.

Apéndice

Bloquear/rechazar el acceso FTP del usuario

En caso de que necesite bloquear/rechazar el acceso al servidor FTP de cualquier usuario del sistema, agregue su nombre de usuario a /etc/ftpusers. Un nombre de usuario por línea. Al hacerlo, cualquier intento de usuario de inicio de sesión fallará con 530 error de inicio de sesión:

$ ftp ftp.LinuxConfig.Org conectada a FTP.LinuxConfig.organizar. 220 servidor FTP listo. Nombre (FTP.LinuxConfig.org: lubos): Lubos 331 Contraseña requerida para Lubos Contraseña: 530 Iniciar sesión Incorrecto. error de inicio de sesion. El tipo de sistema remoto es unix. Usando el modo binario para transferir archivos. FTP> 

Tutoriales de Linux relacionados:

  • Cosas para instalar en Ubuntu 20.04
  • Cosas que hacer después de instalar Ubuntu 20.04 fossa focal Linux
  • Configurar servidor FTP en Linux
  • Una introducción a la automatización, herramientas y técnicas de Linux
  • Cómo configurar VSFTPD en Debian
  • Archivos de configuración de Linux: los 30 principales más importantes
  • Cómo configurar el servidor FTP/SFTP y el cliente en Almalinux
  • Lista e instalación de clientes FTP en Ubuntu 22.04 Linux ..
  • ¿Puede Linux obtener virus?? Explorando la vulnerabilidad de Linux ..
  • Mint 20: Mejor que Ubuntu y Microsoft Windows?