8) CentOS 7 Instalación y Configuración de Servidor FTP
Introducción
Glosario
Hyper-V. -
Tecnología de virtualización nativa para sistemas operativos Windows, optimizados
CentOS. -
CentOS es una distribución de el código fuente de Red Hat Enterprise Linux contando con las mismas características y funcionalidades, también que está abierto para todos.
Webmin. -
Interfaz basada en Web para administración de sistemas Unix. Usando cualquier navegador Web moderno, se puede configurar cuentas de usuarios, Apache, DNS, archivos compartidos y mucho más.
Servidor. -
Ordenador remoto que provee los datos solicitados por parte de los navegadores de otras computadoras.
Servidor FTP . -
FTP (siglas en inglés de File Transfer Protocol, 'Protocolo de Transferencia de Archivos') en informática, es un protocolo de red para la transferencia de archivos entre sistemas conectados a una red TCP (Transmission Control Protocol), basado en la arquitectura cliente-servidor. Desde un equipo cliente se puede conectar a un servidor para descargar archivos desde él o para enviarle archivos, independientemente del sistema operativo utilizado en cada equipo.
Vsftpd . -
Es el "very secure ftp daemon" (demonio ftp muy seguro) , un pequeño pero eficiente servidor FTP. Como puede correr con o sin xinetd, serán explicados los dos métodos.
Direcciones estáticas. -
IDirección IP asignada por el usuario de manera manual, o por el servidor de la red con base en la Dirección MAC del cliente.
Puertos.-
Un puerto es una interfaz (Lógica/Física) a través de la cual se pueden enviar y recibir los diferentes tipos de datos.
Cliente FTP.-
Un cliente FTP (Usuario/Software) emplea el FTP para conectarse a un servidor FTP para transferir archivos a un alojamiento.
Palabras Claves:
(inicio de sesión anónimo, credenciales, usuarios, grupos, permisos ficheros, permisos carpetas, directorio home, vsftpd.conf (for centos 7), permisos anónimos, puerto 20-21,iptables, firewall).
FTP (Esquemas
Básicos de Login)
Webmin. -
Interfaz basada en Web para administración de sistemas Unix. Usando cualquier navegador Web moderno, se puede configurar cuentas de usuarios, Apache, DNS, archivos compartidos y mucho más.
Servidor. -
Ordenador remoto que provee los datos solicitados por parte de los navegadores de otras computadoras.
Servidor FTP . -
FTP (siglas en inglés de File Transfer Protocol, 'Protocolo de Transferencia de Archivos') en informática, es un protocolo de red para la transferencia de archivos entre sistemas conectados a una red TCP (Transmission Control Protocol), basado en la arquitectura cliente-servidor. Desde un equipo cliente se puede conectar a un servidor para descargar archivos desde él o para enviarle archivos, independientemente del sistema operativo utilizado en cada equipo.
Vsftpd . -
Es el "very secure ftp daemon" (demonio ftp muy seguro) , un pequeño pero eficiente servidor FTP. Como puede correr con o sin xinetd, serán explicados los dos métodos.
Direcciones estáticas. -
IDirección IP asignada por el usuario de manera manual, o por el servidor de la red con base en la Dirección MAC del cliente.
Puertos.-
Un puerto es una interfaz (Lógica/Física) a través de la cual se pueden enviar y recibir los diferentes tipos de datos.
Cliente FTP.-
Un cliente FTP (Usuario/Software) emplea el FTP para conectarse a un servidor FTP para transferir archivos a un alojamiento.
Palabras Claves:
(inicio de sesión anónimo, credenciales, usuarios, grupos, permisos ficheros, permisos carpetas, directorio home, vsftpd.conf (for centos 7), permisos anónimos, puerto 20-21,iptables, firewall).
FTP (Esquemas
Básicos de Login)
Servidor FTP . -
FTP (siglas en inglés de File Transfer Protocol, 'Protocolo de Transferencia de Archivos') en informática, es un protocolo de red para la transferencia de archivos entre sistemas conectados a una red TCP (Transmission Control Protocol), basado en la arquitectura cliente-servidor. Desde un equipo cliente se puede conectar a un servidor para descargar archivos desde él o para enviarle archivos, independientemente del sistema operativo utilizado en cada equipo.
Vsftpd . -
Es el "very secure ftp daemon" (demonio ftp muy seguro) , un pequeño pero eficiente servidor FTP. Como puede correr con o sin xinetd, serán explicados los dos métodos.
Direcciones estáticas. -
IDirección IP asignada por el usuario de manera manual, o por el servidor de la red con base en la Dirección MAC del cliente.
Puertos.-
Un puerto es una interfaz (Lógica/Física) a través de la cual se pueden enviar y recibir los diferentes tipos de datos.
Cliente FTP.-
Un cliente FTP (Usuario/Software) emplea el FTP para conectarse a un servidor FTP para transferir archivos a un alojamiento.
Palabras Claves:
(inicio de sesión anónimo, credenciales, usuarios, grupos, permisos ficheros, permisos carpetas, directorio home, vsftpd.conf (for centos 7), permisos anónimos, puerto 20-21,iptables, firewall).
FTP (Esquemas
Básicos de Login)
Direcciones estáticas. -
IDirección IP asignada por el usuario de manera manual, o por el servidor de la red con base en la Dirección MAC del cliente.
Puertos.-
Un puerto es una interfaz (Lógica/Física) a través de la cual se pueden enviar y recibir los diferentes tipos de datos.
Cliente FTP.-
Un cliente FTP (Usuario/Software) emplea el FTP para conectarse a un servidor FTP para transferir archivos a un alojamiento.
Palabras Claves:
(inicio de sesión anónimo, credenciales, usuarios, grupos, permisos ficheros, permisos carpetas, directorio home, vsftpd.conf (for centos 7), permisos anónimos, puerto 20-21,iptables, firewall).
FTP (Esquemas
Básicos de Login)
Cliente FTP.-
Un cliente FTP (Usuario/Software) emplea el FTP para conectarse a un servidor FTP para transferir archivos a un alojamiento.
Palabras Claves:
(inicio de sesión anónimo, credenciales, usuarios, grupos, permisos ficheros, permisos carpetas, directorio home, vsftpd.conf (for centos 7), permisos anónimos, puerto 20-21,iptables, firewall).
FTP (Esquemas
Básicos de Login)
FTP (Esquemas
Básicos de Login)
Práctica
Verificación de adaptadores Hyper-V
Verificaremos que el adaptador de red LAN y WAN para nuestra maquina este creado, Esto es necesario para acceder al FTP desde diversos dispositivos de la Red
Verificación Hyper-V (Conmutadores)
1) Configuración Conmutadores Virtuales
Daremos clic en Administración de conmutadores virtuales
2) Configurar Conmutador WAN
Verificaremos el adaptador WAN para que las máquinas virtuales, tengan acceso a Internet mediante el adaptador Físico de Red
3) Configurar Conmutador LAN
Verificaremos el Adaptador LAN para crear redes internas “LAN” entre las MV, Red Interna nos permitirá crear una red local entre incluyendo la maquina Física, Red Privada nos permitirá crear redes locales solo entre las MV dejando fuera a la máquina física. Daremos aceptar y estaremos listo para crear una MV.
Instalación del FTP en Centos7
Instalaremos la característica de servidor FTP en centos7 con el paquete Vsftpd
Instalación FTP
1) Acceder como el usuario su (root)
Como siempre para instalar un paquete accederemos al usuario root de nuestro sistema co el comando “sudo su”
2) Instalar el módulo Vsftpd desde Yum
Una vez con los permisos del root ingresaremos el comando “yum install vsftpd -y” y esperaremos que instale el paquete.
3) Iniciación del servicio
En este punto que ya culmino la instalación ejecutarnos el comando “systemctl start vsftpd.service” para iniciar el servicio FTP en centos
4) Verificar estado del Servicio Vsftpd
Para verificar el estado del servicio de Vsftp y que no existe anomalía alguna ejecutaremos el siguiente comando “systemctl status vsftpd.service”, y como observamos el estado activo es correcto.
Configuraciones Recomendadas
Haremos unas configuraciones a nuestro servicio y puertos de centos 7 para que nuestro servicio sea mas funcional
1) Activar iniciar FTP con Centos 7
Con esto buscaremos que el FTP inicie automáticamente con el sistema Centos7 para ahorra tiempos de accionar, con el comando “systemctl enable vsftpd.service”
2) Agregar el servicio FTP al firewall de Centos 7
Con esto haremos que nuestro firewall que trabaja en centos 7 no bloquee los flujos de datos a travez del servicio FTP con el comando “firewall-cmd –permanet –add-service=ftp”
3) Reiniciar servicio firewall
Para dejar la configuración lista
reiniciaremos el servicio de firewall con el comando “systemctl restart firewalld.service”
4) Si tenemos Firewall IPtables
En este punto ingresaremos la reglas para que nuestro firewall iptables de acceso a este servicio.
5) Guardamos las reglas ingresadas
Guardaremos la reglas ingresadas con “iptables-save | sudo tee /etc/sysconfig/iptables”
6) Reiniciamos el servicio IPtables
Con el comando “systemctl restart iptables”
Configuraciones del FTP
En este punto configuraremos el FTP para poner a prueba nuestro servicio
Configuración Vsftpd.conf
Mediante este archivo podremos editar configuraciones de nuestro servicio FTP
1) Acceder al archivo de configuración
En este punto editaremos las configuraciones de nuestro FTP editaremos el archivo de configuración mediante “nano /etc/vsftpd/vsftpd.conf”
2) Archivo de configuración Vsftpd.conf
En este punto podremos observar las diversas configuraciones que nos presta nuestro servicio de FTP
Configuraciones Básicas
Anónimo/Credencial Login podremos permitir estos tipos de logueo así como permisos de publicaciones y otras configuraciones más avanzadas. En nuestro caso haremos un FTP con credenciales (la forma anónima viene por defecto en Vsftpd)
1) Desactivar login Anónimo
Ya que estamos en el Vsftpd.conf verificaremos que la siguiente línea se encuentra de la siguiente forma “Anonymous_enable=NO”
2) Verificar Rutas/Usuarios Locales
Con esto permitiremos integrar usuarios locales al FTP, para esto verificaremos la línea señalada se encuentra de la siguiente forma “local_enable=YES”
3) Verificar Escritura mediante FTP
Como siguiente verificación tendremos en esta línea la cual nos permitirá las publicaciones de los diversos usuarios en FTP, la siguiente línea “write_enable=YES”
4) Permisos anónimos de subida
Con esto permitiremos que los usuarios una vez superada sus credenciales puedan subir sus archivos al FTP, otra forma para evitar activar esta línea es dar permisos individuales por carpeta FTP del usuario. Para demostrar los permisos de anonimato activaremos esta línea “anon_upload_enable=YES”
5) Permisos anónimos de escritura
Así mismo probaremos los permisos anónimos de subida lo que permitirá en general q los usuarios logueados tengan los permisos para escribir en nuestro FTP, con la siguiente línea. Finalmente “Ctrl+O” para guardar y “Ctrl+X” para 8salir.
Configuración de Usuarios FTP
Crearemos usuarios locales para que tengan acceso a sus FTP a través de la Red
1) Crear Usuario para ftp
En este punto crearemos un usuario local el cual tendrá un FTP personal a través de su HOME. Con el comando “useradd -g ftp -d /home/ftptest ftptest”
2) Contraseña para el usuario
Como ya sabemos vamos a asignar una contrañsea para el usarion ftp mediante el comando “passwd” e ingresamos la contraseña
3) Configurar home como FTP ruta
Ejecutaremos el siguiente comando “setsebool -P ftp_home_dir on”
Probando al FTP
Probaremos nuestro FTP a través de un cliente en nuestra red
Probar FTP mediante Cliente (Browser)
1) Ingresar al FTP Mediante Browser
Una vez configuradas estas opciones vamos al cliente para comprobar el funcionamiento del ftp en nuestro caso es ftp://server.practica.com e ingresamos nuestras credenciales
2) Verificar FTP
En este punto podemos observar el panel del FTP, en este momento no sale ningún archivo ya que no ha sido usado
Probar FTP mediante Cliente (Filezilla)
1) Ingresar a Filezilla
Este software cliente ftp nos permitirá una mejor conexión de cliente al servidor FTP, para esteo especificaremos la ruta del servidor y las credenciales de acceso, server.practica.com – ftptest – admin1234 – 21
2) Verificación de Conexión
Vemos que la conexión ha sido exitosa
3) Subiendo archivos mediante cliente FTP
Crearemos un simple fiche llamado Readme.txt en el cliente más adelante observaremos la ruta en el servidor donde se alojan el contenido.
Probando FTP a través de Móvil (Entorno WAN -> Solo a través de dirección wan )
Se conectara a través de un cliente móvil y transferirá archivos al FTP, el acceso es igual al cliente filezilla
1) Conectando a través de FTP Móvil
Una vez conectado podremos ver el acceso del FTP
2) Verificación de conexión
Como observamos vemos los archivos del usuario FTP ftptest
3) Creamos carpeta de ejemplo
Crearemos una carpeta en el cliente móvil
4) Subiendo archivos mediante cliente móvil
Crearemos una carpeta y subiremos un archivo del móvil en el FTP, recalcamos se revisará más adelante el sitio alojado en el FTP del servidor
FTP en el Servidor
Verificación de archivos en el Servidor FTP
Vamos a verificar en el servidor la ruta y visualizar los archivos de FTP
1) Ingresaremos mediante Terminal
Siendo usuario root ingresaremos a la ruta “cd /home/ftptest”
2) Verificar directorios y archivos
Con la ayuda de “ls” verificaremos los archivos dentro del servidor subidos por los diversos clientes a través del usuario ftptest. Como observamos están todas las modificaciones, ficheros y directorios que se han trabajado durante el ejemplo
Integrando Vsftpd Con Wembin
Instalar Modulo Vsftpd para Webmin
Instalaremos la un paquete para visualizar diversas configuraciones en webmin
1) Descargar paquete de vsftpd para webmin
Descargaremos el .gz en esta dirección especificada en la imagen
2) Instalar modulo en webmin
Iremos a webmin -> configuración de webmin -> Modulos de Webmin, en la opción de paquetes adjuntaremos el descargado
3) Adjuntar paquete
Daremos clic en adjuntar y buscaremos el paquete una vez encontrado daremos clic en instalar
4) Verificar Modulo
Una vez instalado iremos a Servidores -> Vsftpd y podremos observar las opciones de forma gráfica que podemos ir editando
Glosario
(Anexo) ftp/permisos/directorio
Permisos:
Autorización o consentimiento para realizar una acción
Tipos de Permisos:
Permiso de lectura (read r):
El usuario puede acceder para poder leer el contenido del archivo o directorio
Permiso de escritura (write w):
El usuario tiene permiso a los archivos y directorios tanta para leerlos así mismo para modificarlos
Permiso de Ejecución (execute x) :
El usuario tiene permiso de ejecución de un archivo lo que significa que puede ejecutarlo sea o no una aplicación.
Tipos de usuarios a los que se les otorga permisos
· Usuario propietario del archivo (u)
· Grupo propietario del archivo (g)
· Resto de usuarios del sistema (o)
Cambio de Permisos
Agregar o quitar permisos:
Forma 1: Inicial a quien va dirigido
Para agregar permisos a un archivos o directorio se lo realiza de la siguiente manera inicial a quien va dirigido el permiso acompañado de la letra del permiso que se desea otorgar para agregar se utiliza (+) y para quitar (-) ejemplo:
· u+r-x = para agregar permiso de lectura a usuario propietario, pero quitarle el de ejecución.
· g-w = para quitar permiso de escritura a grupo
· u+r+w+x = para agregar todos los permisos al propietario.
Forma 2: Código numérico
Para esto representamos de la siguiente manera los permisos de lectura (r = 4), escritura (w=2) y ejecución (x=1). Para otorgar los permisos lo realizamos de la siguiente forma sumamos el valor que tiene cada permiso (lectura y escritura = 6, escritura y ejecución = 5, todos los permisos = 7 y para quitar todos los permisos el código es 0) ejemplo:
· 700 = Otorga todos los permisos al usuario propietario
· 731 = Otorga todos los permisos al propietario, a grupos escritura y ejecución y otros solo ejecución
· 444 = Permiso de lectura para todos
RECORDAR
(Los permisos en linux/centos van desde
carpetas superiores à hasta carpetas
inferiores)
(Existen permisos en
usuarios / grupos / otros usuarios)
(Si la carpeta
superior tiene todos los permisos clientes FTP pueden editar permisos de
carpetas inferiores lo que correspondería a una falla grave a la gestión de
permisos)
Practica
(Anexo) ftp/permisos/directorio
Editar Permisos en las opciones del FTP
Ahora editaremos el archivo vsftpd.conf en la cual desactivaremos las líneas de configuración anónima para esto
Opciones de FTP
1) Acceder al archivo vsftpd.conf
Para esto primero verificaremos
que estamos logueados como super usuarios con el comando “sudo su” accederemos a root, consecuente ejecutaremos la línea de
código con el comando “nano
/etc/vsftpd/vsftpd.conf
2) Comentar Líneas de Acceso anónima 1
Una vez el en
archivo de configuración comentaremos con “#”
las siguientes líneas “#anon_upload_enable=YES”
3) Comentar Líneas de Acceso anónima 2
Una vez el en archivo de configuración comentaremos con “#” las siguientes líneas “#anon_mkdir_write_enable=YES” y guardamos con CTRL+O y salimos con CTRL + X
Verificar permisos de Acceso
Bien como realizamos el esquema de la práctica determinamos al inicio que los usuarios que creamos localmente tendrán acceso mediante FTP a su /Home osea su directorio personal, procederemos a jugar con los permisos de estos usuarios desde sus carpetas /Home hasta sus ficheros en raíces más bajas de los directorios con lo que jugaremos al poner restricciones.
Restringiendo permisos desde /Home
Vamos a establecer permisos en los directorios personales
1) Acceder al home del usuario
Vamos a acceder al directorio home para observar los directorios principales de cada usuario para esto ejecutaremos “cd /home
2) Verificar Permisos
una vez aquí ejecutaremos un “ls -l” y verificaremos los permisos que tiene cada directorio que por defecto tiene “rxw”
3) Cambiar Permisos
Para comprobar el rápido cambio quitaremos todos los permisos del directorio para el usuario, para esto ejecutaremos “chmod -rxw ftptest” el cual es el nombre del directorio de nuestro usuario
4) Verificar en el cliente FTP
Ahora trataremos de conectarnos a nuestro FTP mediante el usuario “ftptest” y observarnos que no tenemos acceso, principalmente porque se quitó el permiso de ejecución “x”. Por lo cual no vamos a poder acceder al FTP
5) Revertir permisos
Para dejar normal el acceso a nuestro usuario ftptest agregaremos de nuevo sus permisos, para esto volveremos a ejecutar la línea “chmod u+rx ftptest/” con esto nuestro usuario no tendrá problemas acceder y leer su FTP, además ejecutamos un “ls -l” y comprobamos sus credenciales están de vuelta. (si hay permisos de grupos y restos de usuarios quitarlos con “chmod g-rxw ftptest/” y “chmod o-rxw ftptest/”)
Permisos de Directorios y Ficheros
Verificar Permisos Directorios y Ficheros
Una vez que nuestro usuario ftptest tiene acceso a su directorio y que durante la práctica se han subido algunos archivos y creados directorios, editaremos ciertos permisos y observaremos sus aplicaciones
1) Entrar al directorio del usuario
Para verificar los permisos de
los archivos que contiene el usuario primero entraremos en su directorio
principal con el comando “cd
/home/ftptest”
2) Verificar Permisos de directorios y ficheros
Para esto ejecutaremos un “ls -l” y observamos que cada archivo y directorio tienen sus permisos, lo que indica que el usuario puede realizar cualquier cambio.
3) Verificar modificaciones del usuario
Ahora iremos al cliente y cambiaremos un nombre a un directorio y a un fichero (directorio “prueba” a “1”)(dichero ”README.txt” a “2.txt”) (los cambios se evidencian en la imagen).
4) Verificar en el Servidor FTP
Aquí mismo en el servidor ejecutaremos un “ls -l” y comprobaremos que se han realizado los cambios
Aplicación de restricción por Permisos
Modificar Permisos Directorios y ficheros
Para abarcar las aplicaciones haremos cambios en generales, quitaremos todos los permisos de ejecución y escritura (-xw) lo que solo permitirá al usuario ver sus archivos “solo eso”.
1) Modificar permisos del fichero
Modificaremos los permisos del fichero 2.txt para esto ejecutaremos el comando “chmod -xw 2.txt” y daremos enter
2) Modificar permisos del Directorio
Modificaremos los permisos del directorio 1 para esto ejecutaremos el comando “chmod -xw 1” y daremos enter
Verificar Restricciones
Para acortar tiempos comprobaremos que tenemos restricciones de permisos intentado cambiar nombre a los ficheros y directorios modificados, que como resultado deberíamos tener denegaciones de dichos cambios
1) Ingresar al Cliente FTP y Modificar
Una vez que ingresemos a nuestro cliente ftp y tratemos de modificar le nombre del directorio y fichero a los que restringimos permisos deberemos recibir mensajes de restricciones, accderemos de las misma forma que siempre la hemos hecho.
2) Mensaje de restricción 1 directorio
Observamos que no podemos modificar este directorio
3) Mensaje de restricción 2 fichero
Observamos que no podemos modificar este fichero
Conclusiones
FTP (File Transfer Protocol) Es ideal para transferir grandes bloques de datos por la red teniendo un servidor y un cliente FTP, en la mayoría de los servidores, es la única manera de conectar con nuestro sitio permitiéndonos subir y bajar archivos.
Como hemos visto en esta práctica el FTP nos ha permitido agilizar mucho la comunicación rápido entre el usuario y el servido aplacando así la necesidad de aumentar la distancia de que un usuario pueda transmitir información necesaria para diversos escenarios.
Así mismo se ha evidenciado el uso de las diversas formas en el que un FTP puede trabajar, comprado el rendimiento del FTP en el SO CentOS 7, cave recalcar las seguridades implementadas en el FTP dependerán de cada flujo de procesos en el que queramos montar nuestro servicio, siendo este un punto muy importante para que el FTP demuestre su adaptación a los diversos procesos.
Como ya se ha venido trabajando en esta práctica hemos decido implantar el módulo de vsftpd en Webmin para su administración grafica
En algún caso errónea al realizar peticiones a nuestro FTP debemos revisar que nuestro problema no proviene de nuestro archivo relsov.conf o de nuestro firewall
No hay comentarios :
Publicar un comentario