28-3-2017
Servicios de red en Fedora - FTP Este Es un documento donde se detalla la configuración de servicios en
red basados en Linux Fedora, dhcp, dns, web, correo, ssh, ftp y proxy
Ing – Esp PEDRO ALBERTO ARIAS QUINTERO
SERVIDOR FTP
¿Qué significa FTP?
FTP significa “File Transfer Protocol”, Protocolo para la Transferencia de Archivos. ¿Qué es un servidor FTP? Un servidor FTP es un programa especial que se ejecuta en un servidor conectado normalmente en Internet (aunque puede estar conectado en otros tipos de redes, LAN, MAN, etc.). La función del mismo es permitir el desplazamiento de datos entre diferentes servidores / ordenadores. Para entenderlo mejor, podemos ver un ejemplo gráfico que hemos preparado a continuación:
Observamos que intervienen tres elementos:
El servidor FTP, donde subiremos / descargaremos los archivos.
Usuario 1, es el usuario que en este ejemplo, sube un archivo al servidor FTP.
Usuario 2, es el usuario que en este ejemplo, se descarga el archivo subido por el usuario 1 y a continuación sube otro archivo.
¿Qué casos prácticos existen? Los usos son múltiples, por ejemplo en el caso de los clientes de CDmon.com, usan los servidores FTP para subir sus páginas web y su contenido a Internet. Más ejemplos: Como servidor para compartir archivos de imágenes para fotógrafos y sus clientes; de esta manera se ahorran tener que ir hasta la tienda para dejarles los archivos. Como servidor de backup (copia de seguridad) de los archivos importantes que pueda tener una empresa. Para ello, existen protocolos de comunicación FTP para que los datos viajen encriptados, como el SFTP (Secure File Transfer Protocol).
¿Cómo puedo conectarme a un servidor FTP?
La conexión a un servidor FTP se realiza mediante otros programas llamados Clientes de FTP. Existen múltiples clientes FTP en Internet, hay gratuitos y de pago. En CDmon.com recomendamos WinSCP, que es 100% gratuito, multilingüe y desarrollado por programadores de todo el mundo; otro cliente conocido es el filezilla Client (https://filezilla-project.org/download.php) .
RED A CONFIGURAR
Tarea 1: Instalación de paquete vsftp
Paso 1: Entramos a un terminal e instalamos los contenidos del servidor DHCP:
Forma 1 Instalar desde consola mediante dnf (desde conexión a intenet)
o /usr/bin/dnf –y install vsftp ó dnf –y install vsftp
Forma 2 Instalación mediante montaje de un dispositivo cd_imagen de paquete .rpm
o 1 crear punto de montaje: mkdir /media/CD (debes estar como root)
o Montar la imagen en el virtualizador
o 2 Montar dispositivo cdrom: mount /dev/cdrom /media/CD
o 3 instalación: rpm –ivh /media/CD/Packages/v/vsftpd-3.0……….
Para verificar que el contenido que correctamente instalado vamos a la siguiente dirección:
#ls /etc/vsftpd
Tarea 2: CONFIGURACION TARJETA DE RED CON IP FIJA
Paso 1: Configuramos la tarjeta de red que está en la siguiente dirección:
cd /etc/sysconfig/network-scripts
Una vez dentro dame un ls y veremos un archive de texto llamado ifcfg-Nombre de su
tarjeta.
Modificamos el archivo ifcfg-enp0p3 con la herramienta vi o nano:
nano ifcfg-enp0p3
Colocamos la ip de nuestro servidor y modificamos donde dice BOOTPROTO colocamos
static.
Paso 2: reiniciamos el servicio de tarjeta de red con el siguiente comando:
service network restart
Tarea 3: configuración servicio DHCP
Paso 1: vamos a /etc/dhcp y modificamos el archivo de texto dhcpd.conf:
Modificamos el archivo tan cual como esta en la imagen pero ten en cuenta las direcciones
que utilizaste y el nombre del servidor que le asignaste, También veremos que están los dos
equipo los cuales le colocamos nombres de maquina1 y maquina2, ambos tienen la MAC y
una dirección IP estática.
Paso 2: reiniciar dhcp
Una vez modificado el archivo guardamos y cerramos, procedemos a encender el servidor
DHCP y verificar su estado con los siguientes comandos:
service dhcp start ó /bin/systemctl restart dhcpd.service
service dhcpd status ó /bin/systemctl status dhcpd.service verificamos que el servidor
esta funcionando correctamente.
Tarea 4: PRUEBA DE VSFTPD
Paso 1 Con esta prueba se verifica el correcto funcionamiento del servicio ftp, inicialmente
verificamos un usuario anónimo que se configura al momento de la instalación,
Verificar la existencia del usuario anonymous, ingresando al archivo con un editor de texto
Ejemplo vi /etc/vsftpd/vsftpd.conf como se muestra
Paso 2 iniciar servicio ftp y verificar estado mediante el comando /bin/systemctl start
vsftpd.service y /bin/systemctl status vsftpd.service
Paso 3 Realizar conexión con usuario anonymous mediante comando desde cliente en el
servidor o cliente externo con el comando ftp 192.168.1.5 el usuario es anonymous y la
contraseña anonymous
NOTA: Esto indicará que el servicio está instalado y funcionando. Pero hay que darle
seguridad al servidor ftp por tanto no se puede dejar usuario anonymous activo.
Tarea 4: CONFIGURACION Y CREACION DE USUARIOS FTP EN LINUX
Paso 1: Crear usuario y contraseñas para los mismos: se crearán dos usuarios con sus
respectivas contraseñas, esta vez con el comando useradd usuario1 y luego se asigna el
password para ese usuarios con passwd usuario1 como se muestra a continuación
Paso 2: Verificar la creación de usuarios ana y maria con el comando ls /home
Paso 3: creación de carpeta y archivo y permisos en Directorio de cada usuario.
Crear estructura de carpeta Pruftp en el home de cada usuario con un archivo archi1
dentro de la carpeta Pruftp; como se muestra a continuación haciendo esto para cada
usuario.
Paso 5: Hacemos el siguiente comando: setsebool –P ftp_home_dir=1 Que permite a ftp
leer y escribir en el directorio de inicio de los usuarios.
Paso 4: Modificamos el archivo vsftpd.conf que se encuentra en: cd /etc/vsftpd como se
muestra con el comando vi /etc/vsftpd/vsftpd.conf
DESCRIPCIÓN DE OPCIONES DEL ARCHIVO vsftpd.conf
o anonymous_enable=YES: Si el valor es YES cualquier persona podrá acceder al servidor. Si es
NO, sólo los usuarios autentificados podrán acceder.
o local_enable=YES: Con esta opción podemos permitir la entrada a usuarios locales.
o write_enable=YES: Si queremos permitir la escritura en nuestro servidor, escribiremos YES. Si
por el contrario, queremos que sea de solo lectura, pondremos NO.
o Local_umask=777: Esta línea nos permite indicar los permisos con los que se van a crear los
archivos.
o anon_upload_enable=YES: Permite que los usuarios anónimos suban archivos a nuestro
servidor.
o anon_mkdir_write_enable=YES: Permite que los usuarios anónimos creen directorios en
nuestro servidor.
o connect_from_port_20=YES: Indica el puerto por el cual se hace la transferencia de archivos.
o chroot_local_user=YES: Enjaula a los usuarios para que no se salgan de su directorio de trabajo.
Verificamos que las líneas siguientes tengan esta configuración: anonymus_enable=NO #evita usuario anónimo ftpd_banner= Colocar mensaje de bienvenida a su ftp #mensaje de bienvenida userlist_enable=YES #Lista de usuarios sin acceso a ftp
Paso 5: Modificamos el archivo user_list que se encuentra en: cd /etc/vsftpd como se
muestra con el comando vi /etc/vsftpd/user_list agregando uno de los dos usuarios, el
usuario que se agregue a esta lista no tendra acceso al ftp.
Paso 5: reiniciar servicio de vsftp.
Paso 6: Realizar pruebas con usuarios creados mediante línea de comando ftp 192.168.1.5
y mediante cliente Windows con herramienta filezilla cliente.
Con esto queda demostrada la conexión al servidor ftp de un usuario y el otro no
Conexión mediante cliente Windows con filezilla ftp