Ventanas.  virus  Cuadernos.  Internet.  oficina.  Utilidades.  Conductores

Recientemente estaba escribiendo sobre eso en mi computadora. Esto es muy útil para un webmaster, ya que al instalar un servidor "doméstico" de este tipo, puede realizar varios experimentos con sitios de prueba o simplemente desarrollarlos.

Pero hay un problema: si tú, por ejemplo, te pruebas tales servidor local instale el mismo complemento en wordpress, será rechazado: " No se pudo conectar al servidor FTP localhost:21"

Como comprenderá, debe instalar y configurar un servidor ftp en su computadora para poder instalar complementos. Cómo instalar un servidor ftp a su máquina Linux?

Hay muchos servidores gratuitos en Linux, probé varios y me decidí por vsftpd. Este servidor es liviano y fácil de configurar.

1. ¿Cómo instalar el servidor ftp vsftpd?

Puedes instalarlo con un comando:

sudo apt-get install vsftpd

Después de instalar el servidor, necesitamos configurarlo un poco. Pero primero, probemos nuestro servidor ftp, ingrese la siguiente dirección en el navegador: ftp://127.0.0.1/ Deberíamos ver lo siguiente:


Pero no es suficiente con instalar el servidor vsftpd, como pueden ver se hace de forma sencilla, es importante configurar el servidor ftp. Pero esto también se hace de forma sencilla, si sigues mi experiencia.

2. ¿Cómo configurar el servidor ftp vsftpd?

Para acceder a la configuración del servidor, ingrese el comando en la terminal:

sudo gedit /etc/vsftpd.conf

Borra todo de este archivo y pega esto:

Listen=YES # hacer acceso anónimo, escribible anonymous_enable=YES no_anon_password=YES anon_root=/ RUTA A LA CARPETA CON EL SITIO! anon_upload_enable=SÍ anon_mkdir_write_enable=SÍ anon_other_write_enable=SÍ anon_umask=022 # permitir a los usuarios locales con acceso de escritura a los directorios principales local_enable=SÍ local_umask=022 write_enable=SÍ # poner a los usuarios locales en sus directorios principales, de lo contrario, el usuario tendrá acceso a la raíz del sistema . chroot_local_user=SÍ chroot_list_enable=SÍ # configuración de registro xferlog_enable=SÍ vsftpd_log_file=/var/log/vsftpd.log

Reinicie el servidor ftp con el comando:

sudo /etc/init.d/vsftpd reiniciar

¡Sí, es muy importante! Debe otorgar acceso a la carpeta con el sitio y todos los archivos 755, derechos de escritura pública a la carpeta ¡NO!

Puede instalar una versión nueva y más correcta del servidor agregando:

sudo add-apt-repository ppa:thefrontiergroup/vsftpd sudo apt-get update sudo apt-get install vsftpd

Después de eso, vamos al panel de administración de WordPress e intentamos instalar algún complemento. Se nos pedirá que introduzcamos la dirección del servidor, el nombre de usuario y la contraseña. En la línea del servidor escribimos 127.0.0.1 , y escriba el nombre de usuario y la contraseña - anónimo

Si obtiene un error: no se pudo determinar el directorio de contenido de WordPress (wp-content), entonces debe insertar el siguiente código al final del archivo wp-config.php:

If (is_admin()) ( add_filter ("filesystem_method", create_function("$a", "return "direct";")); define ("FS_CHMOD_DIR", 0751); )

Después de eso, todo funcionó para mí. Así que configurar el servidor vsftpd ha terminado para mí. Así es como puedes instalar y configurar servidor ftp vsftpd en la computadora de tu casa.

Tal servidor, por supuesto, no será demasiado productivo, este no es un servidor IBM HS23e real en unidades SSD. Y si das acceso a él con todas tus red local, su computadora puede sudar mucho, constantemente copiando algo.

Pero mi objetivo es claro para ti, pero ciertamente no es el único. servidor ftp en su computadora se puede usar para diferentes propósitos, y la mayoría de las veces estos configuraciones simples le conviene. Si no, hay muchos manuales en la red para configurar este servidor FTP. ¡Buena suerte!

Agrego: resultó que, en mi caso, puedes prescindir de FTP en absoluto. Es más fácil trabajar a través de SSH y el complemento ssh-sftp-updater-support, que agrega el protocolo SSH a WordPress. Es mucho más seguro de esta manera y no necesita configurar un servidor FTP.


¿No encontró una respuesta a su pregunta? Usa la búsqueda...

En este tutorial, le mostraremos cómo instalar y configurar VSFTPD en . VSFTPD es un acrónimo de Protocolo de transferencia de archivos muy seguro de Daemon. es gratis y abierto código fuente Servidor FTP rápido, estable, ligero y muy seguro para sistemas operativos Unix y Linux instalados bajo la Licencia Pública General GNU. VSFTPD es uno de los servidores FTP más utilizados para Linux y se utiliza como servidor FTP predeterminado en algunas de las distribuciones más importantes, como Fedora, Ubuntu, NimbleX, Slackware y RHEL.

Para instalar VSFTPD en su servidor Ubuntu 16.04, debe SSH como root

ssh [correo electrónico protegido] _DIRECCIÓN

En primer lugar, asegúrese de que todo paquetes instalados están al día

apt-get actualización && apt-get actualización

Todo lo que tiene que hacer para instalar VSFTPD en su Ubuntu 16.04 VPS es ejecutar el siguiente comando en su terminal Linux

apt-get -y install vsftpd

Una vez que se haya instalado correctamente, debemos realizar algunos cambios en su configuración. Abrir documento /etc/vsftpd.conf busque y cambie las siguientes líneas:

Vim /etc/vsftpd.conf # Controlar inicio de sesión anónimo, permitido o no. anonymous_enable=NO # Usuarios locales para iniciar sesión local_enable=YES # Establezca "write_enable", para permitir cambios en el sistema de archivos write_enable=YES # Habilite el envío a ASCII (para evitar que los scripts de carga, etc. sean pirateados), # sin riesgo Principal tamaño y descarga en formato ASCII. ASCII debe estar # en el cliente de todos modos ascii_upload_enable=YES ascii_download_enable=YES # Puede configurar el directorio raíz para los usuarios de FTP. Si no se especifica, el directorio de inicio del usuario es igual al directorio raíz de FTP local_root=public_html

Guarde el archivo de configuración y reinicie el servidor FTP para que los cambios surtan efecto

systemctl reiniciar vsftpd

Configure VSFTPD para que se inicie automáticamente al iniciar el sistema

Systemctl habilitar vsftpd

Puede encontrar una lista de todas las opciones en el archivo de configuración en http://vsftpd.beasts.org/vsftpd_conf.html

Los inicios de sesión raíz están deshabilitados de forma predeterminada en VSFTPD por razones de seguridad. Para acceder a su servidor FTP, deberá crear un nuevo usuario del sistema

Añadir usuario FTPUSER

Donde FTPUSER es el nombre de usuario que desea crear. Se le pedirá que ingrese una nueva contraseña para el nuevo usuario y algunos detalles adicionales, como el nombre de usuario completo, el número de teléfono, etc. Tenga en cuenta que es muy importante usarla siempre para las cuentas. Lo mejor es usar una combinación de letras y números y al menos 10 caracteres.

Ahora, una vez que su servidor FTP esté instalado y configurado, y se haya creado un nuevo usuario FTP, puede acceder al servidor FTP con el usuario recién creado utilizando una terminal, un navegador web o un cliente FTP como FileZilla.

FTP (Protocolo de transferencia de archivos) es un protocolo de transferencia de archivos. El protocolo FTP le permite transferir y descargar archivos desde un servidor. Hasta la fecha, este protocolo no es particularmente popular, ya que no admite el cifrado de datos. En lugar de FTP, utilizan el protocolo SFTP (transferencia de datos por SSH), así como el protocolo SCP. Este artículo cubre cómo configurar un servidor FTP normal en base de ubuntu.

El protocolo FTP funciona en modo cliente-servidor. El servidor escucha constantemente las solicitudes de clientes remotos en el puerto 21. Cuando se recibe una solicitud, gestiona la entrada y establece la conexión. Durante la sesión, el servidor ejecuta cualquier comando enviado por el cliente FTP. TCP se utiliza como protocolo de la capa de transporte. FTP utiliza dos tipos de conexiones para transferir datos:

  1. Conexión de control (puerto 21)
  2. Conexión de datos (en modo activo puerto 20, en modo pasivo cualquier puerto mayor que 1024)

La división en una conexión de control y una conexión de datos es eficiente. Esto le permite transferir comandos y archivos de forma independiente.

FTP admite dos tipos de autenticación:

  1. Anónimo (ftp o inicio de sesión anónimo, contraseña - correo electrónico)
  2. Autorizado (el nombre de usuario y la contraseña son diferentes para cada usuario)

Cuando se trabaja a través del protocolo FTP, se pueden configurar dos modos entre el cliente y el servidor: activo y pasivo. La conexión de control es la misma para el modo Activo y Pasivo. El cliente inicia una conexión TCP desde un puerto dinámico (1024 - 65535) al puerto número 21 en el servidor FTP, después de lo cual se realiza la autenticación. Otras acciones dependen del modo seleccionado.

En modo activo, después de la autenticación, el cliente también le dice al servidor su número de puerto (de gama dinámica 1024 - 65535) para que el servidor pueda conectarse con el cliente para establecer una conexión de datos. El servidor FTP se conecta al número de puerto de cliente especificado utilizando el puerto TCP número 20 para la transferencia de datos.

En modo pasivo, después de la autenticación, el servidor le dice al cliente el número de puerto TCP (del rango dinámico 1024 - 65535) al que puede conectarse para establecer una conexión de datos.

Así, en modo activo, la conexión la inicia el servidor, ya que se conecta con el cliente. En modo pasivo, el iniciador de la conexión es el cliente.

El modo activo es "dañino" para el cliente porque cuando un servidor se conecta a él en un puerto aleatorio, lo más probable es que dicha conexión sea bloqueada por un firewall en el lado del cliente. Por lo tanto, es necesario abrir puertos en el lado del cliente, lo que genera agujeros de seguridad. Por otro lado, este modo será útil para el servidor, ya que el conocido puerto 20 se utiliza para la transferencia de datos.

El modo pasivo es a su vez "perjudicial" para el servidor, pero "beneficioso" para el cliente. El cliente realizará ambas conexiones al servidor, pero una de ellas será a un puerto alto aleatorio, dicha conexión será bloqueada por el firewall en el lado del servidor.

El modo pasivo se usa, por regla general, cuando hay un cortafuegos entre el cliente y el servidor.

Comandos FTP más populares:

Equipo Descripción
USUARIO Especificar nombre de usuario
APROBAR Especificar una contraseña
LISTA Ver el contenido de un directorio
CWD Cambiar directorio actual
RETR Transferir archivo del servidor al cliente
DETENER Transferir archivo del cliente al servidor
TIPO Establecer el modo de transferencia
DELEÁTUR Eliminar un archivo
MDK Crear directorio
RMD Eliminar directorio
PASV Usa el modo pasivo
ABANDONAR Cerrar sesión y desconectarse

FTP tiene tres modos de transferencia:

  1. Streaming: transmisión continua de datos como un flujo (sin procesamiento, el procesamiento lo realiza TCP)
  2. Bloque: FTP divide los datos en bloques (encabezado, campo de datos, tamaño de archivo en bytes) y los transfiere a TCP
  3. Modo de compresión por un único algoritmo

Un servidor FTP es una "biblioteca" de archivos en un alojamiento, que se utiliza para almacenar archivos de varios formatos. Los servidores ftp más populares son vsftpd y proftpd. Se necesitan servidores FTP para alojar grandes cantidades de datos para descargas públicas y privadas. Los servidores se utilizan a menudo para el acceso anónimo (invitado) a distribuciones de código abierto de software, música y fotos. El acceso para usuarios anónimos, por regla general, solo le permite navegar por directorios y descargar la información necesaria, pero en algunos servidores, por el contrario, hay directorios especiales donde cualquier usuario puede cargar un archivo para compartir.

Con el acceso no anónimo, hay más posibilidades, pero están limitadas al directorio donde se otorga el acceso.

Pasemos a configurar el servidor. Trabajaremos con tal esquema.

Tanto el administrador como el usuario tendrán acceso al servidor FTP. El administrador y el usuario tienen acceso autorizado. En este caso, es necesario configurar los derechos de acceso de tal manera que el administrador tenga acceso ilimitado y el usuario solo tenga acceso a su directorio de inicio. También debe configurar el acceso anónimo.

En Ubuntu para servidores DHCP el demonio vsftpd está disponible. Instale el servidor DHCP, esto se hace con el comando:

testServer$ sudo apt-get install vsftpd

De forma predeterminada, la carga anónima está deshabilitada. Debe cambiar la configuración en el archivo /etc/vsftpd.conf.

servidor de prueba$ sudo nano /etc/vsftpd.conf

Encontramos la línea "anonymous_enable" allí y le asignamos el valor "Sí". línea dada es responsable de acceder al servidor FTP para usuarios anónimos.

También debe descomentar dos líneas: "write_enable" y "chroot_local_user". La primera línea es responsable de la capacidad de escribir en el servidor, la segunda línea bloquea la capacidad de los usuarios locales para subir a un directorio superior a su carpeta de inicio.

Al final del archivo de configuración, agregue dos configuraciones:

Esta configuración establece carpetas de inicio para usuarios anónimos y locales.

Guardamos la configuración del archivo con la combinación de teclas Ctrl + X (cuando se le solicite reemplazar archivo actual elija Sí). A continuación, debe reiniciar el servidor FTP con el comando

testServer$ sudo servicio vsftpd reiniciar

El siguiente paso es crear usuarios.

Crea un superusuario con el comando:

testServer$ sudo adduser superusuario

Dale una contraseña:

testServer$ sudo passwd superusuario

Le damos derechos ilimitados:

testServer$ sudo adduser superusuario sudo

Crear un usuario normal:

testServer$ sudo adduser usuario

Dale una contraseña:

testServer$ sudo contraseña usuario

Introduzca la nueva contraseña de UNIX: 12345

Cree un grupo de usuarios para administrar carpetas:

testServer$ sudo addgroup groupl

servidor de prueba$ sudo nano /etc/group

Encuentra la línea "groupl" con Ctrl + W.

En esta línea añadimos nuestros usuarios superusuario y usuario.

Crear carpetas para usuarios:

servidor de prueba$ sudo mkdir /srv/ftp/upload

testServer$ sudo mkdir /srv/ftp/superusuario

servidor de prueba$ sudo mkdir /srv/ftp/usuario

Establecer permisos para carpetas:

testServer$ sudo chmod 700 /srv/ftp/superusuario

servidor de prueba$ sudo chmod 770 /srv/ftp/usuario

servidor de prueba$ sudo chmod 575 /srv/ftp/upload

Cambio de propietarios de carpetas:

testServer$ sudo chown superusuario: /srv/ftp/superusuario

testServer$ sudo chown usuario:groupl /srv/ftp/usuario

testServer$ sudo chown:groupl /srv/ftp/upload

Así, obtenemos la siguiente imagen:

  1. Solo el usuario superusuario tiene acceso a la carpeta de superusuario, también es el propietario de esta carpeta
  2. La carpeta de usuario tiene acceso tanto al usuario como al superusuario. Esto se debe al hecho de que establecemos los derechos a 7 7 0. El segundo siete establece todos los derechos para el grupo de usuarios groupl, al que agregamos superusuario.
  3. Tanto el usuario como el superusuario tienen acceso completo a la carpeta de carga. Para todos los demás, solo se establecen permisos de lectura y ejecución. 5 75 . 5 = 101 (en binario). 101 ~ rx. Es decir, otros usuarios (que incluyen anónimos) no pueden escribir nada en la carpeta de carga.

Comprobamos los derechos de acceso y los propietarios con el comando:

servidor de prueba$ ls -l /srv/ftp

Para verificar el acceso al servidor FTP, es necesario en cualquier navegador en Barra de dirección marcar:

ftp://172.16.1.2

EN este caso obtenemos como un usuario anónimo, porque no ingresamos un nombre y contraseña.

Vemos tres carpetas. superusuario/, cargar/, usuario/. Como iniciamos sesión como usuario anónimo, solo hay acceso a la carpeta subir/.

Para iniciar sesión como superusuario, escriba:

ftp:// [correo electrónico protegido]

Introduzca su nombre de usuario: superusuario, contraseña: 12345 . Bajo superusuario tenemos acceso a todas las carpetas.

Finalmente, verifiquemos al usuario normal. Para no ingresar un nombre de usuario y contraseña cada vez que inicie sesión, puede escribir lo siguiente en la barra de direcciones:

ftp://usuario: [correo electrónico protegido]

En usuario solo podemos entrar en carpetas subir/ Y usuario/. ir a la carpeta superusuario/ Acceso cerrado.

Apoya el proyecto

Amigos, el sitio web de Netcloud se desarrolla todos los días gracias a su apoyo. Planeamos lanzar nuevas secciones de artículos, así como algunos servicios útiles.

Tienes la oportunidad de apoyar el proyecto y aportar la cantidad que creas conveniente.

En esta guía, le mostraremos cómo instalar un servidor FTP en un VPS con Ubuntu. Usaremos el servidor vsftpd, que se considera el servidor FTP más rápido y seguro para sistemas UNIX.

FTP o F isla T transferencia PAG rotocol es un protocolo para recibir y transmitir archivos en la red. Usando un modelo de cliente/servidor y seguridad SSL/TLS, FTP permite a los usuarios intercambiar archivos con computadoras remotas de manera segura, eficiente y segura mediante la transferencia de datos a través del protocolo TCP/IP.

FTP funciona como HTTP o SMTP, con la única diferencia de que es responsable de la transferencia segura de datos del remitente al destinatario, en lugar de una página web del servidor al usuario o correo electrónico a través de Internet. Esta guía cubre la creación de un servidor FTP en el sistema operativo Versiones de Ubuntu 16.04.

Nota: esta guía se basa en Ubuntu 16.04. Pero puede aplicar los mismos pasos para crear un servidor FTP en Ubuntu 14.04.

En primer lugar, actualicemos todos los paquetes antes de iniciar la instalación del demonio vsftpd. Para hacer esto, ejecute el comando:

Sudo apt-obtener actualización

Espere a que se completen todos los procesos y verá un mensaje de confirmación:

Luego instale el demonio vsftpd con el siguiente comando:

sudo apt-get install vsftpd

Recibirá un mensaje de confirmación, haga clic en Y Y Ingresar para continuar con la instalación.

Una vez que se complete la instalación, haga una copia de seguridad del archivo de configuración original para comenzar con un archivo de configuración limpio:

sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.original

Ahora podemos pasar al siguiente paso y configurar el firewall.

Paso 2: permitir el tráfico FTP en el cortafuegos

Para permitir que el servidor FTP implementado en Ubuntu OS se comunique con el mundo exterior, debe configurar una ruta a través del firewall. Primero, veamos si el firewall está habilitado. Ejecute el siguiente comando para determinar el estado:

Sudo ufw estado

Si ves un mensaje como este:

Ufw: comando no encontrado

Esto significa que el firewall no está instalado y puede continuar con el siguiente paso.

Si el resultado muestra reglas o un mensaje de que el firewall está activo, debe determinar cómo procesará el tráfico FTP. Hagamos lo siguiente, abra los puertos 20 y 21 para el tráfico FTP; los puertos 40000-50000 se reservarán como un rango de puertos pasivos, que eventualmente se establecerán en el archivo de configuración; el puerto 990 se utilizará cuando TLS esté habilitado. Ejecutemos los siguientes comandos:

sudo ufw permite 20/tcp sudo ufw permite 21/tcp sudo ufw permite 990/tcp sudo ufw permite 40000:50000/tcp

Ahora veamos el estado:

El resultado será algo como esto:

Estado de salida: activo A acción desde -- -- -- -- -- -- 990 / tcp PERMITIR Cualquier lugar 20 / tcp PERMITIR Cualquier lugar 21 / tcp PERMITIR Cualquier lugar 40000 : 50000 / tcp PERMITIR Cualquier lugar 20 / tcp (v6 ) PERMITIR Cualquier lugar ( v6 ) 21 / tcp (v6 ) PERMITIR en cualquier lugar (v6 ) 990 / tcp (v6 ) PERMITIR en cualquier lugar (v6 ) 40000 : 50000 / tcp (v6 ) PERMITIR en cualquier lugar (v6 )

Ahora, todos los puertos necesarios están abiertos y disponibles para nosotros y podemos pasar al siguiente paso.

Paso 3: creación de un directorio de usuarios

En el tercer paso creando Ubuntu Servidor FTP, debe seleccionar un usuario que se conectará a través de FTP. Para hacer esto, cree un nuevo usuario ejecutando el siguiente comando:

sudo adduser alex

Complete la contraseña y otros detalles cuando se le solicite. Idealmente, desde el punto de vista de la seguridad, el FTP debería estar limitado a un directorio especial. Vsftpd usa chroot para crear esta protección. Con chroot habilitado, el usuario local está restringido a su directorio de inicio (por defecto). Sin embargo, es posible que debido a la seguridad de vsftpd, el usuario no pueda crear nada en el directorio. No eliminaremos los permisos de escritura en el directorio de inicio, sino que crearemos un directorio ftp que se comporte como un chroot además de conservar la capacidad de escritura, lo que permitirá que se almacenen los archivos. Use el siguiente comando para crear un directorio FTP:

sudo mkdir /inicio/alex/ftp

Establecer propiedad:

sudo chown nadie : ningún grupo /home/alex/ftp

Finalmente, elimine los permisos de escritura:

sudo chmod a -w /home/alex/ftp

Ahora, usando el siguiente comando, verifique los permisos:

sudo ls -la /home/alex/ftp

En la salida, veremos algo como esto:

total 8 dr - xr - xr - x 2 nadie ningún grupo 4096 29 de junio 11:32 . drwxr-xr-x 3 alex alex 4096 29 de junio 11:32. .

En el siguiente paso, crearemos un archivo que contenga los directorios y sus permisos:

sudo mkdir /home/alex/ftp/files sudo chown alex : alex/home/alex/ftp/files

Y finalmente, agregue un archivo de prueba al directorio que usaremos mientras probamos algo:

echo "archivo de muestra vsftpd" | sudo tee /home/alex/ftp/files/sample. TXT

Paso 4: Configuración de vsftpd

Para continuar con la instalación de un servidor FTP en un Ubuntu VPS, debemos configurar vsftpd y nuestro acceso FTP. En este tutorial, permitiremos que un solo usuario se conecte a través de FTP usando la consola local. La configuración de dos pasos requerida para esto ya está establecida en el archivo de configuración ( vsftpd.conf). Primero verifique que la configuración en el archivo coincida con lo siguiente:

sudo nano /etc/vsftpd. conferencia . . # ¿Permitir FTP anónimo? (Deshabilitado por defecto). habilitación_anónima=NO# # Descomente esto para permitir que los usuarios locales inicien sesión. habilitar_local = SÍ. . .

En el mismo archivo, continuar eliminando # encender escribir_habilitar:

. . . escribir_habilitar = SÍ. . .

Chroot tampoco estará comentado para asegurarse de que el usuario conectado a través de FTP tenga acceso a los archivos dentro del directorio permitido:

. . . chroot_local_user = SÍ. . .

También será necesario agregar manualmente algunos valores nuevos. Simplemente puede pegarlos al final del archivo. En primer lugar, usuario_sub_token agregue raíz_local a la ruta del directorio. Esto permitirá que la configuración funcione con el usuario actual y cualquier otro usuario que se agregue más adelante:

user_sub_token=$USUARIO local_root=/home/$USUARIO/ftp

Para asegurarnos de que haya suficientes conexiones disponibles, limitaremos la cantidad de puertos utilizados en el archivo de configuración:

pasv_min_port = 40000 pasv_max_port = 50000

En esta guía, planeamos otorgar acceso de forma individual, así que establezcamos la configuración para otorgar acceso solo a los usuarios que se agregan directamente a la lista:

userlist_enable = SÍ userlist_file = /etc/vsftpd . lista de usuarios lista de usuarios_deny = NO

Bandera userlist_deny es el encargado de cambiar la lógica, cuando está en “NO”, solo tienen acceso aquellos usuarios que están en la lista. Haga clic cuando termine CTRL+X y confirme guardar los cambios en el archivo.

Finalmente, sigamos creando y agregando nuestro usuario al archivo:

eco "alex" | sudo tee-a/etc/vsftpd. Lista de usuarios

Verifique que el usuario esté realmente activo ejecutando el comando:

gato /etc/vsftpd. Lista de usuarios

La salida debe ser " Alex”, como se muestra en la captura de pantalla:

Reinicie el daemon usando el siguiente comando para iniciar los cambios de configuración:

sudo systemctl reiniciar vsftpd

Paso 5 - Hacer un FTP seguro

De forma predeterminada, FTP no realiza ningún cifrado de datos, por lo que utilizaremos TLS/SSL para cuidar la seguridad. Como primer paso, necesitamos crear certificado SSL y usarlo para protección ubuntu servidor FTP. Para comenzar, ejecute el siguiente comando:

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

Bandera - días hace que el certificado sea válido por un año e incluimos la clave privada RSA de 2048 bits en el mismo comando. Cuando se le soliciten los datos requeridos, ingréselos en el campo proporcionado.

Después de crear el certificado, ábralo de nuevo archivo de configuración:

sudo nano /etc/vsftpd.conf

Al final del archivo hay una línea con " _rsa". Comenta estas dos líneas:

# rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem # rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key

En su lugar, dirigiremos el archivo de configuración al certificado que creamos. Añade estas líneas:

rsa_cert_file=/etc/ssl/private/vsftpd.pem rsa_private_key_file=/etc/ssl/private/vsftpd.pem

Ahora habilitaremos SSL y nos aseguraremos de que solo los usuarios con SSL habilitado puedan comunicarse con nosotros. cambiar el valor ssl_habilitar en :

ssl_enable = SÍ

Ahora agregue las siguientes líneas para continuar creando la protección (esto evitará cualquier conexión anónima usando SSL):

allow_anon_ssl=NO force_local_data_ssl=SI force_local_logins_ssl=SI

Configure TLS usando:

ssl_tlsv1=SÍ ssl_sslv2=NO ssl_sslv3=NO

Aquí añadiremos 2 opciones más. En primer lugar, la reutilización de SSL no será necesaria porque puede provocar interrupciones para una gran cantidad de clientes. En segundo lugar, utilizaremos un código de cifrado de alta seguridad, lo que supondrá que la longitud de la clave sea igual (o superior) a 128 bits.

Require_ssl_reuse=NO ssl_ciphers=ALTO

Volvamos a reiniciar para que los cambios surtan efecto:

sudo systemctl reiniciar vsftpd

¡Maravilloso! Aquí ha configurado el servidor FTP en su Ubuntu VPS para que funcione con el protocolo SSL/TLS.

Paso 6: Comprobación de la conexión con FileZilla

Hoy Clientes FTP admite la configuración del cifrado TLS, por lo que esta es una gran oportunidad para verificar si nuestro servidor FTP de Ubuntu funciona correctamente. Para probar la conexión, usaremos . Para comenzar, inicie FileZilla haciendo clic en el icono administrador del sitio.

Haga clic en el botón nuevo sitio en la ventana que aparece, comience a completar la información sobre el servidor FTP de Ubuntu.

Rellene los campos obligatorios con información sobre el servidor FTP de Ubuntu recién creado. Como lo configuramos usando TLS, podemos verificar la configuración de cifrado en " FTP explícito sobre TLS” posición. La ventana de configuración final se ve así:

Una vez configurado, presione Conectar y aparecerá una ventana pidiéndole que introduzca la contraseña de usuario FTP.

Finalmente, deberá validar el certificado SSL en su servidor FTP Ubuntu VPS.

Después de la confirmación, el directorio raíz con el archivo de prueba aparecerá en su pantalla.

¡Esto es todo! Ahora puede realizar cualquier transferencia de archivos desde su computadora al servidor FTP de Ubuntu y viceversa.

Conclusión

En este tutorial, hemos realizado un proceso paso a paso para crear una forma segura para que un usuario local transfiera archivos a través de FTP con SSL/TLS en un servidor FTP de Ubuntu. También probamos las conexiones usando FileZilla para asegurarnos de que todo funciona.

De vez en cuando todos administrador de sistema existe la necesidad de un servidor FTP, la mayoría de las veces esto se debe a la necesidad de garantizar el intercambio de información en modo automatico entre aplicaciones, por ejemplo, cuando se intercambia automáticamente una base de datos 1C distribuida, o para acceder a archivos en un servidor web. Hoy le diremos cómo crear un servidor de este tipo en la plataforma Ubuntu en menos de media hora.

Pero primero, algo de teoría. El protocolo FTP (File Transfer Protocol) está destinado, como su nombre indica, a la transferencia de archivos y apareció en 1971, pero a pesar de su avanzada edad sigue siendo muy utilizado hasta el día de hoy. Aunque su uso actual es de naturaleza más técnica, los usuarios finales suelen utilizar un navegador y un protocolo HTTP para acceder a los datos. Las ventajas de FTP incluyen la capacidad de reanudar el archivo cuando se interrumpe la conexión y la capacidad de leer y escribir archivos con la misma facilidad. Pero también hay desventajas, la más grave es la baja seguridad, por lo que se debe prestar la máxima atención a este problema.

FTP, como PPTP, utiliza diferentes conexiones para transferir comandos y transferir datos. Al iniciar una conexión, el cliente envía comandos de control al puerto 21 del servidor, que a su vez establece una conexión de datos salientes en el puerto 20, el puerto del lado del cliente se determina como resultado de la negociación. Sin embargo, cuando el cliente está detrás de NAT, la conexión no se puede establecer de esta manera, por lo tanto, se desarrolló un modo pasivo FTP adicional (modo pasivo), cuando la conexión de datos no la establece el servidor, sino el cliente, sin embargo, con los parámetros especificados por el servidor. Estos puntos deben tenerse en cuenta al reenviar FTP y al configurar un filtro de red.

Para nuestro servidor usaremos vsftpd- Servidor FTP simple, rápido y seguro. Dado que servirá tanto para exteriores como para red interna, entonces tiene sentido agregar este rol a nuestro . La instalación del servidor es extremadamente simple:

apt-get install vsftpd

El servidor se configura a través del archivo de configuración /etc/vsftpd.confél tiene estructura simple, está bien comentado y le permite configurar el servidor sin instrucciones con un conocimiento mínimo. Considere sus principales parámetros.

El servidor se puede iniciar constantemente, como un servicio, o iniciar cuando sea necesario, la primera opción es más adecuada para nosotros:

Escuchar=SI

Esta opción tiene una entrada mutuamente excluyente, que debe cambiarse a:

Listen_ipv6=NO

Permitir que solo los usuarios locales inicien sesión:

Anonymous_enable=NO
local_enable=SÍ

Permita que los usuarios escriban archivos y dígale al servidor que exponga automáticamente derechos necesarios(755 para carpetas y 644 para archivos):

Write_enable=SÍ
local_umask=022

Si desea establecer un conjunto diferente de derechos: 775 y 664, entonces la umask debe ser igual a 002.

De manera predeterminada, el servidor usa la hora GMT, para que los archivos se establezcan en la hora de su zona horaria, use la opción:

Use_localtime=SÍ

Habilite el registro de archivos cargados y descargados:

Xferlog_enable=SÍ

Permita que el servidor establezca conexiones de datos en el puerto 20 (modo activo):

Connect_from_port_20=SÍ

Las siguientes opciones establecen la ubicación y el formato para almacenar registros:

xferlog_file=/var/log/vsftpd.log
xferlog_std_format=SÍ

Establecer tiempos de espera de sesión:

inactividad_sesión_tiempo de espera=600
tiempo_de_conexión_de_datos=120

Además, por razones de seguridad, aislamos al usuario en su directorio de inicio e inmediatamente permitimos escribir en su raíz:

chroot_local_user=SÍ
allow_writeable_chroot=SÍ

Para un trabajo correcto con datos de texto, puede habilitar el soporte ASCII, esto le permitirá transferir Archivo de texto Con sistemas Windows en UNIX (Linux) es correcto cambiar los caracteres de salto de línea de CR+LF a LF para mostrar el contenido correctamente e invertir la conversión al devolverlo.

Ascii_upload_enable=SÍ
ascii_download_enable=SÍ

Puede habilitar solo una opción, para cargar o descargar. Tenga en cuenta que al transferir un archivo binario en modo ASCII, este último puede estar dañado.

Una opción bastante interesante:

ls_recurse_enable=SÍ

Permite la exploración recursiva de directorios, por un lado es conveniente, por otro lado puede causar una gran carga en el servidor si, por ejemplo, obtiene una lista de un directorio que contiene un gran número de archivos y directorios.

Dejamos todas las demás opciones por defecto, aunque puedes editar el saludo del servidor escribiendo lo que quieras allí:

Ftpd_banner=Bienvenido al FTP de Roga i Kopyta LLC

Al final del archivo de configuración, estableceremos la configuración para el modo pasivo, se recomienda establecer explícitamente los puertos para que pueda especificarlos durante el reenvío si el servidor está detrás de NAT o en las reglas del firewall:

pasv_enable=SÍ
pasv_min_port=62000
pasv_max_port=62999

Reinicie el servidor (esto debe hacerse cada vez que realice cambios en la configuración):

Reinicio del servicio vsftpd

e intente conectarse con cualquier cliente FTP utilizando las credenciales de un usuario existente. Necesitamos ingresar a su directorio de inicio y aislarnos en él.

En caso de un error relacionado con el funcionamiento incorrecto de vsftpd y el sistema de seguridad seccomp:

500 OOPS: prctl PR_SET_SECCOMP falló

agregue una opción no documentada al archivo:

seccomp_sandbox=NO

Sin embargo, recuerda que FTP es un protocolo inseguro, por lo que dejar entrar al servidor a cualquier usuario local, como se hace ahora, no es lo mejor. la mejor opción. Para evitar esta situación, vsftpd tiene un mecanismo de control de usuario incorporado. Agreguemos una opción al archivo de configuración:

userlist_enable=SÍ

y crea un archivo de lista de usuarios:

Toque /etc/vsftpd.user_list

vsftpd predeterminado prohíbe acceso al servidor a los usuarios especificados en esta lista incluso antes de ingresar la contraseña, es decir. implementa el principio permitido a todos los que no están prohibidos. Pero sería mucho mejor implementar un enfoque diferente: prohibido a todos los que no están permitidos. Aquellos. permitir acceso solo a usuarios especificados. Para hacer esto, agregue la opción:

userlist_deny=NO

Ahora solo los usuarios especificados explícitamente tendrán acceso al servidor FTP, deben especificarse en vsftpd.lista_usuario uno por línea, por ejemplo:

Ivánov
petrov

A menos que se especifique lo contrario, al conectarse a través de FTP, los usuarios son llevados a su directorio de inicio. Esto no siempre es conveniente, a menudo es necesario redirigirlos a un directorio diferente. Si se trata de una carpeta compartida, diga /var/ftp, puede configurar la opción:

Raíz_local=/var/ftp

Lo que redirigirá a todos los usuarios al directorio especificado y los aislará allí.

Esta es la situación más simple, las tareas reales suelen ser más complicadas, digamos que necesitamos configurar el usuario Ivanov como el directorio raíz /var/www/ejemplo1.com y Petrov /var/www/ejemplo2.com para que cada uno de ellos trabaje con su propia carpeta. Para estos fines, puede utilizar otra función de vsftpd: la configuración del usuario que anula la configuración del archivo de configuración principal.

Para hacer esto, agregue la opción:

User_config_dir=/etc/vsftpd_user_conf

Luego crearemos el propio directorio.

Mkdir /etc/vsftpd_user_conf

Para preguntar al usuario ajustes propios en este directorio, cree un archivo con el nombre del usuario y agregue las opciones necesarias. Los cambios se aplican sin reiniciar el servidor FTP la próxima vez que el cliente se conecte.

Vamos a crear un archivo con la configuración de Ivanov:

Tocuh /etc/vsftpd_user_conf/ivanov

y añádele una opción:

raíz_local=/var/www/ejemplo1.com

La próxima vez que se conecte, el directorio raíz del usuario cambiará al especificado. También en este archivo podemos configurar cualquier opción personal, por ejemplo, otra máscara o permisos de archivo. Sin embargo, no podemos usar configuraciones globales aquí: conexión, inicio de sesión, opciones de autenticación, simplemente se ignorarán.

Si necesita ocultar los propietarios reales de archivos y carpetas, puede usar la opción:

Hide_ids=SÍ

En este caso, se especificará ftp:ftp en lugar de propietarios y grupos reales, esto puede ser útil en el caso de un servidor público o si hay personas no autorizadas en la lista de usuarios a quienes no desea revelar los nombres de usuario reales de tu sistema.

Como puede ver, realmente creamos un servidor FTP en funcionamiento en menos de media hora.

Si nota un error, seleccione un fragmento de texto y presione Ctrl + Enter
COMPARTIR: