ProFTPD es un servidor FTP de código abierto en sistema operativo tipo Unix. ProFTPD significa “Demonio de protocolo de transferencia de archivos profesional (FTP)” y viene bajo licencia GPL. El archivo de configuración de ProFTPD es similar al de ‘Servidor Apache HTTPD‘ y puede configurarse como servidor Stand alone o vía Xinetd.
En este artículo instalaremos y configuraremos ProFTPD en Fedora 23 . El nombre de host y la dirección IP de mi máquina son:
- nombre de host = fedora23.linuxtechi.com
- dirección IP = 192.168.1.21
Paso: 1 Instale el paquete ProFTPD usando el siguiente comando.
Utilice el siguiente comando dnf para instalar proftpd y proftpd-utils.
[[email protected] ~]# dnf install proftpd proftpd-utils
Paso:2 Edite el archivo de configuración de ProFTPD.
Configure ProFTPD realizando los cambios necesarios en el archivo de configuración ‘/etc/proftpd.conf’
Establezca los siguientes parámetros en el archivo de configuración.
[[email protected] ~]# vi /etc/proftpd.conf ServerName "fedora23.linuxtechi.com" ServerIdent on "FTP Server ready." ServerAdmin [email protected] DefaultServer on ExtendedLog /var/log/proftpd/access.log WRITE,READ default ExtendedLog /var/log/proftpd/auth.log AUTH auth DefaultRoot ~ !adm AuthPAMConfig proftpd AuthOrder mod_auth_pam.c* mod_auth_unix.c
Cambie el nombre del servidor y la dirección de correo electrónico del administrador del servidor según su configuración.
Nota : Todos los usuarios serán chroot a su directorio de inicio, lo que significa que los usuarios no pueden acceder a los archivos fuera de su directorio de inicio.
Inicie y habilite el servicio ProFTPD.
[[email protected] ~]# systemctl start proftpd [[email protected] ~]# systemctl enable proftpd Created symlink from /etc/systemd/system/multi-user.target.wants/proftpd.service to /usr/lib/systemd/system/proftpd.service. [[email protected] ~]#
Ahora cree grupos y usuarios para ProFTPD y establezca los permisos necesarios en el directorio de inicio del usuario.
[[email protected] ~]# groupadd proftp_grp [[email protected] ~]# mkdir /opt/ftp_dir [[email protected] ~]# useradd -G proftp_grp -s /sbin/nologin -d /opt/ftp_dir pradeep [[email protected] ~]# [[email protected] ~]# chmod 1775 /opt/ftp_dir [[email protected] ~]# chgrp proftp_grp /opt/ftp_dir [[email protected] ~]# ls -ld /opt/ftp_dir/ drwxrwxr-t. 2 root proftp_grp 4096 Jan 24 09:55 /opt/ftp_dir/ [[email protected] ~]#
Ahora asigne la contraseña al usuario.
[[email protected] ~]# passwd pradeep
Nota: En mi caso he creado un usuario ‘pradeep’ cuyo directorio principal es “/opt/ftp_dir/” y el grupo secundario es “proftp_grp”. Ahora, al usar el cliente ftp, pradeep puede descargar y cargar archivos desde su directorio de inicio.
Paso:3 Establezca las reglas de SELinux y Firewall.
En caso de que SELinux esté habilitado, configure las siguientes reglas de selinux para FTP.
[[email protected] ~]# setsebool -P ftp_home_dir=1 [[email protected] ~]# setsebool -P allow_ftpd_full_access=1
Abra el puerto FTP en el Firewall del sistema operativo (SO)
[[email protected] ~]# firewall-cmd --permanent --add-port=21/tcp success [[email protected] ~]# firewall-cmd --reload success [[email protected] ~]#
Paso:4 Habilite el cifrado entre el servidor ProFTPD y los clientes FTP
La conexión entre el servidor ProFTPD y su cliente se considera menos segura, por lo que para realizar una comunicación segura entre el servidor y sus clientes podemos utilizar certificados SSL.
Para generar certificados SSL utilizaremos abressl comando, use el siguiente comando para instalar openssl si no está instalado.
[[email protected] ~]# dnf install openssl
Ahora generar certificados SSL
[[email protected] ~]# openssl req -x509 -nodes -newkey rsa:2048 -keyout /etc/pki/tls/certs/ftpserver.pem -out /etc/pki/tls/certs/ftpserver.pem
Le pedirá que ingrese la información asociada con el certificado y creará una clave privada ‘/etc/pki/tls/certs/ftpserver.pem’
Establezca el permiso en clave privada:
[[email protected] ~]# chmod 600 /etc/pki/tls/certs/ftpserver.pem [[email protected] ~]#
Agregue las siguientes líneas en ‘/etc/proftpd.conf‘
[[email protected] ~]# vi /etc/proftpd.conf TLSEngine on TLSRequired on TLSProtocol SSLv23 TLSLog /var/log/proftpd/tls.log TLSRSACertificateFile /etc/pki/tls/certs/ftpserver.pem TLSRSACertificateKeyFile /etc/pki/tls/certs/ftpserver.pem
Reinicie el servicio ProFTPD.
[[email protected] ~]# systemctl restart proftpd [[email protected] ~]#
Abra los puertos en el firewall del sistema operativo para TLS.
[[email protected] ~]# firewall-cmd --add-port=1024-65534/tcp success [[email protected] ~]# firewall-cmd --add-port=1024-65534/tcp --permanent success [[email protected] ~]# firewall-cmd --reload success
Paso:5 Conéctese al servidor ProFTPD usando Filezilla.
Haga clic en Conectar…
Haga clic en ‘Aceptar’ para confiar en el Certificado.
Como podemos iniciar sesión correctamente, ahora puede descargar y cargar archivos en su directorio de inicio.
Espero que te gusten los pasos de instalación y configuración 🙂