Servidor

Cómo configurar el servidor FTP en CentOS

Cómo configurar el servidor FTP en CentOS

La configuración de un servidor FTP (Protocolo de transferencia de archivos) en su PC con Linux le permitirá transferir archivos entre su sistema y una máquina remota. Le mostraremos cómo configurar un servidor FTP en CentOS.

Linux ya tiene una tonelada de servidores FTP de código abierto que puede usar para el trabajo. Esto incluye servidores populares como PureFTPd, ProFTPD y vsftpd.

Se le permite utilizar cualquiera de los servidores FTP que desee. Sin embargo, en este tutorial, instalaremos y usaremos vsftpd, abreviatura de Very Secure FTP Daemon. Es un servidor FTP rápido, estable y seguro que le ayudará a transferir archivos desde y hacia un sistema remoto en un santiamén.

Configuración del servidor FTP en CentOS

Entonces, sin más preámbulos, comencemos:

Instalación de vsftpd

Primero, necesitaremos instalar vsftpd en CentOS. Para hacer esto, ingrese el siguiente comando en la terminal:

$ sudo dnf instalar vsftpd

Instalación de vsftpd en CentOS

Con vsftpd instalado en su sistema CentOS, debe configurarlo para que se inicie y arranque automáticamente. Esto se puede hacer usando el siguiente comando:

$ sudo systemctl enable vsftpd --ahora

Una vez hecho esto, verifique el estado del servicio vsftpd ingresando este comando:

$ sudo systemctl status vsftpd

Aparecerá una pantalla de salida similar a la siguiente. Debería ver que vsftpd no está "activo" en su sistema CentOS.

vsftpd activo y ejecutándose en CentOS

Configurar vsftpd

Con vsftpd activo y ejecutándose en su sistema, deberá configurar los ajustes del servidor. Para hacerlo, deberá acceder a / etc / vsftpd / vsftpd.conf archivo de configuración. Esto se puede hacer abriendo el archivo de configuración en el editor nano ingresando el siguiente comando en la terminal:

$ sudo nano / etc / vsftpd / vsftpd.conf

Con el archivo ahora abierto en el editor, hay varios cambios que debe realizar para configurar vsftpd en su sistema. Vamos a repasarlos uno por uno.

1. Configurar el acceso FTP

Primero, configuremos el servidor FTP para permitir el acceso solo a los usuarios locales. Para hacer esto, necesitará encontrar las directivas anonymous_enable y local_enable en el archivo y editarlas como se muestra en la imagen a continuación:

Configuración de acceso FTP

Como puede ver, deberá establecer anonymous_enable = NO y local_enable = YES.

2. Habilitar subidas

A continuación, deberá configurar el servidor FTP para permitir la carga y eliminación de archivos.

Para hacer esto, deberá ubicar la directiva write_enable y cambiarla a YES, como se muestra en la imagen.

Opción para habilitar cargas de vsftpd

3. Limitar los inicios de sesión de los usuarios

Una vez hecho esto, querrá limitar el número total de inicios de sesión de usuarios i.mi., solo desea que ciertos usuarios inicien sesión en su servidor FTP. Para hacer esto, primero, ubique esta línea en el .conf archivo - userlist_enable = YES. Después de eso, agregue estas dos líneas en el archivo:

userlist_file = / etc / vsftpd / user_list userlist_deny = NO

Utilice la imagen a continuación como referencia:

Configuración para limitar los inicios de sesión de los usuarios

También puede optar por habilitar esta opción. Si lo hace, deberá especificar explícitamente a qué usuarios desea dar acceso al servidor FTP. Para permitir a los usuarios, deberá agregar sus nombres de usuario al archivo / etc / vsftpd / user_list con solo un nombre de usuario en cada línea.

4. Configurar conexiones FTP pasivas

Es posible que también desee configurar conexiones FTP pasivas.

Como tal, aquí le mostraremos cómo puede especificar los rangos mínimo y máximo de los puertos agregando un par de líneas dentro del .conf archivo.

Configurar conexiones FTP pasivas

Todo lo que necesita hacer es desplazarse hacia abajo hasta el final del archivo y agregar estas dos líneas, como se muestra en la imagen.

pasv_min_port = 30000 pasv_max_port = 31000

También discutiremos cómo puede abrir el rango en su firewall más adelante en este tutorial.

5. Configurar transmisiones seguras mediante SSL / TLS

Finalmente, surge la cuestión de proteger la conexión FTP mediante SSL / TLS. Para hacer esto, necesitará tener un certificado SSL y configurar su servidor FTP para usarlo.

Sin embargo, por el bien de este tutorial, generaremos un certificado SSL autofirmado utilizando la herramienta OpenSSL y luego lo usaremos para cifrar nuestra transmisión FTP.

Entonces, lo primero es lo primero, deberá usar OpenSSL para generar un nuevo certificado SSL. Puede hacer esto ingresando el siguiente comando en la terminal:

sudo openssl req -x509 -nodes -days 3650 -newkey rsa: 2048 -keyout / etc / vsftpd / vsftpd.pem -out / etc / vsftpd / vsftpd.pem

Creación de un certificado OpenSSL autofirmado en CentOS

La ejecución del comando anterior generará una clave privada de 2048 bits y un certificado autofirmado. Ambos tienen una validez de diez años y se guardan en el mismo archivo.

Después de crear su nuevo certificado SSL, abra el archivo de configuración vsftpd usando el comando anterior:

sudo nano / etc / vsftpd / vsftpd.conf

Desplácese hacia abajo y agregue las siguientes líneas como se muestra en la imagen:

rsa_cert_file = / etc / vsftpd / vsftpd.pem rsa_private_key_file = / etc / vsftpd / vsftpd.pem ssl_enable = SÍ

Configurar los ajustes de SSL para vsftpd

Y eso es. Ha configurado correctamente el certificado SSL para su servidor FTP.

6. Finalizar

Una vez hecho esto, vuelva a verificar el archivo de configuración vsftpd para ver si todas las siguientes configuraciones son como están:

anonymous_enable = NO local_enable = YES write_enable = YES local_umask = 022 dirmessage_enable = YES xferlog_enable = YES connect_from_port_20 = YES xferlog_std_format = YES listen = NO listen_ipv6 = YES pam_service_name = vsft_filepd userlist / etc. pasv_max_port = 31000 rsa_cert_file = / etc / vsftpd / vsftpd.pem rsa_private_key_file = / etc / vsftpd / vsftpd.pem ssl_enable = SÍ

Una vez que se haya asegurado de que se hayan realizado todos los cambios anteriores en el archivo, deberá guardarlo. Una vez guardado, reinicie el servicio vsftpd usando el siguiente comando:

$ sudo systemctl reiniciar vsftpd

Configurar el cortafuegos

Si tiene un firewall habilitado junto con el servidor FTP, entonces necesita configurar el firewall para que permita las transmisiones FTP.

Para hacer esto, deberá ingresar los siguientes comandos en la terminal:

$ sudo firewall-cmd --permanent --add-port = 20-21 / tcp

El comando anterior abre el puerto 21, que es el puerto de comando FTP, y el puerto 20, que es el puerto de datos FTP.

También deberá ingresar este comando:

$ sudo firewall-cmd --permanent --add-port = 30000-31000 / tcp

Este comando abre el rango de puertos pasivos 30000-31000, que configuramos previamente.

Permitir que el servidor vsftpd pase a través del firewall CentOS

Una vez hecho esto, deberá volver a cargar el firewall con el siguiente comando:

$ firewall-cmd --recargar

Cómo crear un nuevo usuario de FTP

Ahora que ha configurado su servidor vsftpd en su sistema CentOS, es hora de crear un nuevo usuario de FTP y probarlo.

Primero, creemos un nuevo usuario FTP (newftpuser) usando el siguiente comando:

$ sudo adduser newftpuser

A continuación, deberá establecer una contraseña para el nuevo usuario. Para hacer esto, use este comando:

$ sudo passwd newftpuser

Asegúrese de que la contraseña sea segura y de más de ocho caracteres.

Creando un nuevo usuario de FTP

Después de crear el nuevo usuario, deberá agregarlo a la lista de usuarios de FTP. Esto se puede hacer ingresando el siguiente comando en la terminal:

$ echo "newftpuser" | sudo tee -a / etc / vsftpd / lista_usuario

Finalmente, deberá crear un árbol de directorios FTP donde establecerá todos los permisos correctos. Para hacer esto, deberá ingresar la siguiente serie de comandos en la terminal:

$ sudo mkdir -p / home / newftpuser / ftp / upload $ sudo chmod 550 / home / newftpuser / ftp $ sudo chmod 750 / home / newftpuser / ftp / upload $ sudo chown -R newftpuser: / home / newftpuser / ftp

Cree un árbol de directorio FTP

A estas alturas, su servidor FTP es completamente funcional y está listo para funcionar. Ahora puede conectarse a él utilizando cualquier cliente FTP como FileZilla. Solo asegúrese de que el cliente FTP también se pueda configurar para utilizar el cifrado TLS, ya que se utiliza para cifrar las transmisiones FTP.

Deshabilitar el acceso a Shell

Una cosa que debe tener en cuenta al crear un nuevo usuario de FTP es que, a menos que se especifique explícitamente, el usuario tendrá acceso SSH al servidor.

Si desea deshabilitar el acceso de shell del usuario, deberá crear un nuevo shell que imprimirá un mensaje informándole al usuario que: "Esta cuenta está limitada al acceso FTP únicamente."

Para hacer esto, deberá ingresar el siguiente comando en la terminal:

$ echo -e '#!/ bin / sh \ necho "Esta cuenta está limitada solo al acceso FTP."'| sudo tee -a / bin / ftponly $ sudo chmod a + x / bin / ftponly

El comando anterior creará el shell / bin / ftponly y lo ejecutará.

A continuación, deberá agregar el nuevo shell a la lista de shells válidos que se encuentran dentro del / etc / shells expediente. Esto se hace usando el siguiente comando:

$ echo "/ bin / ftponly" | sudo tee -a / etc / shells

Y como paso final, todo lo que necesita hacer es cambiar el shell del usuario a / bin / ftponly usando este comando:

$ sudo usermod newftpuser -s / bin / ftponly

Además, para los futuros usuarios de FTP, puede usar el mismo comando para cambiar su shell de modo que solo puedan tener acceso a FTP.

Instale el último juego de estrategia de OpenRA en Ubuntu Linux
OpenRA es un motor de juego de estrategia en tiempo real libre / gratuito que recrea los primeros juegos de Westwood como el clásico Command & Conquer...
Instale el último emulador de Dolphin para Gamecube y Wii en Linux
Dolphin Emulator te permite jugar los juegos de Gamecube y Wii que elijas en computadoras personales con Linux (PC). Al ser un emulador de juegos de ...
Cómo usar GameConqueror Cheat Engine en Linux
El artículo cubre una guía sobre el uso del motor de trucos GameConqueror en Linux. Muchos usuarios que juegan juegos en Windows a menudo usan la apli...