El día 1 del campamento de entrenamiento de ECS configuró el servicio FTP

Instalar vsftpd

  1. Ejecute el siguiente comando para instalar vsftpd.
    yum install -y vsftpd
    Inserte la descripción de la imagen aquí
  2. Ejecute el siguiente comando para configurar el servicio FTP para que se inicie automáticamente.
    systemctl habilitar vsftpd.service
  3. Inicie el servicio FTP.
    systemctl start vsftpd.service
  4. Ejecute el siguiente comando para ver el puerto monitoreado por el servicio FTP.
    netstat -antup | grep ftp
    muestra la interfaz como se muestra en la figura siguiente, lo que indica que se ha iniciado el servicio FTP y que el número de puerto de escucha es 21. En este punto, vsftpd ha habilitado el acceso anónimo de manera predeterminada.Puede iniciar sesión en el servidor FTP sin ingresar un nombre de usuario y contraseña, pero no tiene la autoridad para modificar o cargar archivos.
    Inserte la descripción de la imagen aquí

Configurar vsftpd

vsftpd (demonio FTP muy seguro) es el servidor FTP más respetado en las distribuciones de Linux. vsftpd admite dos métodos de acceso: acceso anónimo y modo de usuario local. Modo de acceso anónimo Cualquier usuario puede acceder al servicio FTP integrado; el modo de usuario local solo admite usuarios locales agregados para acceder al servicio FTP integrado.

Nota: Solo se puede configurar un modo de usuario anónimo y un modo de usuario local al mismo tiempo.

  • Modo de usuario anónimo
  1. Modifique el archivo de configuración vsftpd.conf.
    vim /etc/vsftpd/vsftpd.conf
    Presione la tecla i para ingresar al modo de edición y descomente el permiso de carga anónimo anon_upload_enable = YES.
    Inserte la descripción de la imagen aquí
  2. Presione la tecla ESC para salir del modo de edición, ingrese: wq para guardar y salir de vim.
  3. Cambie los permisos del directorio / var / ftp / pub y agregue permisos de escritura para los usuarios de FTP.
    chmod o + w / var / ftp / pub /
  4. Reinicie el servicio FTP.
    systemctl reiniciar vsftpd.service
  • Modo de usuario local
  1. Cree un usuario de Linux para el servicio FTP.
    adduser ftptest
    establece una contraseña para el usuario.
    passwd ftptest
  2. Cree un directorio de archivos para el servicio FTP.
    mkdir / var / ftp / prueba
  3. Cambie el propietario del directorio / var / ftp / test a ftptest.
    chown -R ftptest: ftptest / var / ftp / test
  4. Modifique el archivo de configuración vsftpd.conf.

Para configurar FTP en modo activo, ejecute el siguiente comando:

sed -i 's/anonymous_enable=YES/anonymous_enable=NO/' /etc/vsftpd/vsftpd.conf #禁止匿名登录FTP服务器 
sed -i 's/listen=NO/listen=YES/' /etc/vsftpd/vsftpd.conf #监听IPv4 sockets 
sed -i 's/listen_ipv6=YES/#listen_ipv6=YES/' /etc/vsftpd/vsftpd.conf #关闭监听IPv6 sockets 
sed -i 's/#chroot_local_user=YES/chroot_local_user=YES/' /etc/vsftpd/vsftpd.conf #全部用户被限制在主目录 
sed -i 's/#chroot_list_enable=YES/chroot_list_enable=YES/' /etc/vsftpd/vsftpd.conf #启用例外用户名单 
sed -i 's/#chroot_list_file=/chroot_list_file=/' /etc/vsftpd/vsftpd.conf #指定例外用户列表文件,列表中的用户不被锁定在主目录 
echo "allow_writeable_chroot=YES" >> /etc/vsftpd/vsftpd.conf 
echo "local_root=/var/ftp/test" >> /etc/vsftpd/vsftpd.conf #设置本地用户登录后所在的目录

Para configurar FTP en modo pasivo, ejecute el siguiente comando:

sed -i 's/anonymous_enable=YES/anonymous_enable=NO/' /etc/vsftpd/vsftpd.conf #禁止匿名登录FTP服务器 
sed -i 's/listen=NO/listen=YES/' /etc/vsftpd/vsftpd.conf #监听IPv4 sockets 
sed -i 's/listen_ipv6=YES/#listen_ipv6=YES/' /etc/vsftpd/vsftpd.conf #关闭监听IPv6 sockets 
sed -i 's/#chroot_local_user=YES/chroot_local_user=YES/' /etc/vsftpd/vsftpd.conf #全部用户被限制在主目录 
sed -i 's/#chroot_list_enable=YES/chroot_list_enable=YES/' /etc/vsftpd/vsftpd.conf #启用例外用户名单 
sed -i 's/#chroot_list_file=/chroot_list_file=/' /etc/vsftpd/vsftpd.conf #指定例外用户列表文件,列表中的用户不被锁定在主目录 
echo "allow_writeable_chroot=YES" >> /etc/vsftpd/vsftpd.conf 
echo "local_root=/var/ftp/test" >> /etc/vsftpd/vsftpd.conf #设置本地用户登录后所在的目录 

echo "pasv_enable=YES" >> /etc/vsftpd/vsftpd.conf #开启被动模式 
echo "pasv_address=<FTP服务器公网IP地址>" >> /etc/vsftpd/vsftpd.conf #本教程中为ECS服务器弹性IP 
echo "pasv_min_port=20" >> /etc/vsftpd/vsftpd.conf #设置被动模式下,建立数据传输可使用的端口范围的最小值 
echo "pasv_max_port=21" >> /etc/vsftpd/vsftpd.conf #设置被动模式下,建立数据传输可使用的端口范围的最大值

FTP activo y pasivo: el
protocolo FTP utiliza dos conexiones TCP,
una es una conexión de comando, que se usa para transferir comandos entre el cliente FTP y el servidor; la
otra es una conexión de datos, que se usa para cargar o descargar datos.
Independientemente del modo activo o pasivo, se deben establecer dos conexiones en secuencia para la transferencia de archivos, a saber, una conexión de comando y una conexión de datos. La diferencia entre el modo activo y el modo pasivo se refleja principalmente en el canal de enlace de datos.
 
El modo activo FTP significa que el servidor se conecta activamente al puerto de datos del cliente.
En el modo activo, el cliente FTP abre aleatoriamente un puerto mayor que 1024 al puerto 21 del servidor. Inicie una conexión, luego abra el puerto N + 1 para monitorear y emita un comando PORT N + 1 al servidor. Una vez que el servidor recibe el comando, utilizará su puerto de datos FTP local (generalmente 20) para conectarse al puerto N + 1 designado por el cliente para la transmisión de datos.
 
El modo de operación PASV es que cuando el servidor recibe una solicitud de conexión de cliente, automáticamente seleccionará una al azar de los puertos 1024 a 5000 para establecer una conexión con el cliente para transferir datos. Debido al establecimiento de conexión pasiva y automática, es vulnerable a los ataques, por lo que la seguridad es deficiente.

  1. Cree un archivo chroot_list en el directorio / etc / vsftpd y escriba una lista de usuarios de excepción en el archivo.
    # Utilice el comando vim para editar el archivo chroot_list y agregar una lista de usuarios de excepción. Los usuarios de esta lista no estarán bloqueados en el directorio de inicio y podrán acceder a otros directorios.
    vim / etc / vsftpd / chroot_list
    Descripción: Cuando no hay usuarios de excepción, se debe crear el archivo chroot_list y el contenido puede estar vacío.

  2. Reinicie el servicio FTP.
    systemctl reiniciar vsftpd.service

Prueba de cliente

  1. Abra el navegador Chrom e ingrese ftp: // <dirección IP de red pública del servidor FTP>: puerto FTP en la barra de direcciones. La dirección IP de red pública del servidor FTP es la dirección IP elástica del servidor ECS. Por ejemplo: ftp://106.15.8.127:21
    .

  2. En el cuadro de diálogo emergente, ingrese el nombre de usuario y la contraseña.
    ftp://106.15.8.127:21
    Inserte la descripción de la imagen aquí

  3. La interfaz de inicio de sesión exitoso es la siguiente; en este momento, puede realizar operaciones con los permisos correspondientes en el archivo FTP.
    Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/qq_39578545/article/details/108755461
Recomendado
Clasificación