Loe raamatut: «Administración y auditoría de los servicios web. IFCT0509»
Administración y auditoría de los servicios Web. IFCT0509 Mª del Pilar Urbano López |
ic editorial
Administración y auditoría de los servicios Web. IFCT0509
© Mª del Pilar Urbano López
© de la imagen de cubiertas: Eric Bailey - Startup Stock Photos - CC BY 4.0
1ª Edición
© IC Editorial, 2015
C.I.F.: B-92.041.839
Editado por: IC Editorial
c/ Cueva de Viera, 2, Local 3
Centro Negocios CADI
29200 Antequera (Málaga)
Teléfono: 952 70 60 04
Fax: 952 84 55 03
Correo electrónico: iceditorial@iceditorial.com
Internet: www.iceditorial.com
IC Editorial ha puesto el máximo empeño en ofrecer una información completa y precisa. Sin embargo, no asume ninguna responsabilidad derivada de su uso, ni tampoco la violación de patentes ni otros derechos de terceras partes que pudieran ocurrir. Mediante esta publicación se pretende proporcionar unos conocimientos precisos y acreditados sobre el tema tratado. Su venta no supone para IC Editorial ninguna forma de asistencia legal, administrativa ni de ningún otro tipo.
Reservados todos los derechos de publicación en cualquier idioma.
Según el Código Penal vigente ninguna parte de este o cualquier otro libro puede ser reproducida, grabada en alguno de los sistemas de almacenamiento existentes o transmitida por cualquier procedimiento, ya sea electrónico, mecánico, reprográfico, magnético o cualquier otro, sin autorización previa y por escrito de IC EDITORIAL;
su contenido está protegido por la Ley vigente que establece penas de prisión y/o multas a quienes intencionadamente reprodujeren o plagiaren, en todo o en parte, una obra literaria, artística o científica.
ISBN: 978-84-17343-77-4
Nota de la editorial: IC Editorial pertenece a Innovación y Cualificación S. L.
Presentación del manual
El Certificado de Profesionalidad es el instrumento de acreditación, en el ámbito de la Administración laboral, de las cualificaciones profesionales del Catálogo Nacional de Cualificaciones Profesionales adquiridas a través de procesos formativos o del proceso de reconocimiento de la experiencia laboral y de vías no formales de formación.
El elemento mínimo acreditable es la Unidad de Competencia. La suma de las acreditaciones de las unidades de competencia conforma la acreditación de la competencia general.
Una Unidad de Competencia se define como una agrupación de tareas productivas específica que realiza el profesional. Las diferentes unidades de competencia de un certificado de profesionalidad conforman la Competencia General, definiendo el conjunto de conocimientos y capacidades que permiten el ejercicio de una actividad profesional determinada.
Cada Unidad de Competencia lleva asociado un Módulo Formativo, donde se describe la formación necesaria para adquirir esa Unidad de Competencia, pudiendo dividirse en Unidades Formativas.
El presente manual desarrolla la Unidad Formativa UF1272: Administración y auditoría de los servicios Web,
perteneciente al Módulo Formativo MF0495_3: Administración de servicios Web,
asociado a la unidad de competencia UC0495_3: Instalar, configurar y administrar el software para gestionar un entorno Web,
del Certificado de Profesionalidad Administración de servicios de internet.
Índice
Portada
Título
Copyright
Presentación del manual
Capítulo 1 Administración de contenidos del servidor
1. Introducción
2. Procedimientos de actualización de contenidos
3. Organización de contenidos
4. Control de versiones
5. Técnicas de gestión de permisos
6. Procedimientos de optimización de rendimiento del servidor web
7. Servidores de estadísticas
8. Normativa legal relacionada con la publicación de páginas web
9. Resumen
Ejercicios de repaso y autoevaluación
Capítulo 2 Servidor de aplicaciones de servicios web
1. Introducción
2. Descripción de funciones y parámetros de configuración
3. Procedimientos de implantación
4. Análisis y elaboración de la documentación de operación
5. Resumen
Ejercicios de repaso y autoevaluación
Capítulo 3 Acceso a sistemas gestores de bases de datos
1. Introducción
2. Motores de base de datos de uso más frecuente en aplicaciones web (oracle, sql server, mysql)
3. Bibliotecas de acceso
4. Mecanismos de comunicación en una arquitectura web en 3 capas
5. Resumen
Ejercicios de repaso y autoevaluación
Capítulo 4 Descripción de arquitecturas distribuidas en múltiples servidores
1. Introducción
2. Modelo de tres capas
3. Tolerancia a fallos
4. Reparto de la carga
5. Almacenes de estado de sesión (asp.net state service, etc.)
6. Almacenes de caché (memcached, etc.)
7. Servidores proxy
8. Resumen
Ejercicios de repaso y autoevaluación
Capítulo 5 Gestión de actualizaciones de servidores y aplicaciones
1. Introducción
2. Entorno de desarrollo y preproducción
3. Procedimientos de despliegue de actualizaciones
4. Resumen
Ejercicios de repaso y autoevaluación
Capítulo 6 Auditoria y resolución de incidentes sobre servicios web
1. Introducción
2. Medición de la calidad del servicio prestado
3. Gestión de vulnerabilidades en aplicaciones web
4. Diagnóstico de incidentes en producción
5. Técnicas de resolución de incidentes
6. Resumen
Ejercicios de repaso y autoevaluación
Bibliografía
Capítulo 1
Administración de contenidos del servidor
1. Introducción
La principal función de un servidor web es proporcionar acceso a los archivos y servicios. Cuando, como usuario, se accede a una página web, el navegador se comunica con el servidor enviando y recibiendo datos para poder ver la información que se ha solicitado. Todo este proceso, que a los ojos del usuario puede parecer muy simple, necesita de toda una estructura que permita la gestión y el acceso a esos datos.
Al conectarse a un servidor, los usuarios pueden acceder a programas, archivos y otra información del servidor, por lo tanto, es vital gestionar de forma adecuada cómo, cuándo y quién puede acceder a dichos contenidos mediante técnicas de gestión de permisos.
Gestionar la información almacenada en un servidor también implica la utilización de técnicas que permitan la actualización y organización de los contenidos, analizar y optimizar el rendimiento del servidor, y todo ello para que el usuario pueda navegar con fluidez, encontrar fácilmente lo que busca y que el servicio siempre esté disponible.
2. Procedimientos de actualización de contenidos
Para la publicación y actualización de contenidos web, es necesario disponer de un espacio reservado en un servidor web y utilizar un programa de transferencia de archivos FTP, FTPS o SFTP.
También existen los CMS (Content Management System), que posibilitan la creación y presentación de contenidos web fácilmente.
Definición
Hosting o alojamiento web
Es un espacio disponible en un servidor de Internet para el almacenamiento de páginas web y sus archivos asociados.
2.1. FTP
FTP (File Transfer Protocol) es un protocolo utilizado para la transferencia de archivos a través de una red TCP/IP, como es Internet. Está basado en la arquitectura cliente/servidor.
Definición
Arquitectura cliente-servidor
Consiste en un programa cliente, que realiza peticiones a un programa servidor, que se encargará de atenderlas.
El protocolo FTP utiliza los puertos 20 y 21 para comunicación y control de datos. La transferencia de datos es bidireccional, por lo que durante la conexión FTP están abiertos los dos canales de transmisión.
Sabía que...
Una de las aplicaciones más habituales de un servidor FTP es el alojamiento Web.
El acceso a un servidor FTP puede realizarse mediante:
1 Acceso anónimo: el servidor FTP ofrece sus archivos libremente a los clientes FTP que los necesiten, por lo general con la opción de solo lectura.
2 Acceso de usuario: el cliente FTP tiene privilegios de acceso al sistema de archivos del servidor y para ello debe autentificarse mediante usuario y contraseña.
3 Acceso de invitado: el usuario para conectarse debe autentificarse mediante usuario y contraseña, pero en este caso su acceso será restringido, solo tendrá acceso a su área de trabajo.
Sabía que...
Prácticamente todos los navegadores están equipados con la función FTP y cada vez que cualquiera se descarga un documento alojado en un servidor público su propio navegador realiza una conexión FTP.
Elementos que componen un sistema FTP
Los elementos que componen el sistema son los siguientes:
1 Servidor FTP: es la máquina con la que se quiere establecer la conexión. En ella estará instalado el software específico que permite tener activo el servicio FTP. Se compone de:Servidor PI (Protocol Interpreter): su función es escuchar a través del puerto 21 los comandos que envía el intérprete de protocolo del cliente y controlar la transferencia de datos del servidor.Servidor DTP (Data Transfer Protocol): su función es transmitir los datos entre el servidor y el protocolo de transferencia de datos del cliente.
2 Cliente FTP: es la máquina que establece la conexión con el servidor. Si un navegador no tiene la función FTP o si quiere descargar archivos en un ordenador remoto, necesitará un programa cliente FTP. Está compuesta por:Interfaz de usuario: es un conjunto de comandos y funciones que permite el envío de comandos FTP entre cliente y servidor.Cliente PI: es responsable de iniciar la conexión en el puerto 21, enviar los comandos FTP y controlar el proceso de transferencia de archivos DTP.Cliente DTP: su función es escuchar el puerto de datos 20 y aceptar la conexión para la transferencia de datos.
Recuerde
Para poder comunicarnos con el servidor FTP es necesario tener instalado un programa cliente FTP.
Modos de conexión
FTP admite dos modos de conexión. Tanto en uno como en otro, el cliente FTP establece una conexión con el servidor a través del puerto 21:
1 Activo: en modo activo, en primer lugar el cliente FPT establece una conexión para la transmisión de comandos desde un puerto aleatorio mayor que 1024 hacia el puerto 21 del servidor, y mediante esa misma conexión, a través del comando PORT, el cliente indica al servidor cuál es el puerto que está a la escucha de datos. El servidor inicia la transmisión de datos desde su puerto 20 al puerto que le ha indicado el cliente FTP. Importante: la conexión activa implica un problema de seguridad, ya que el cliente está obligado a aceptar cualquier conexión de entrada.
2 Pasivo: el cliente FTP inicia la conexión mediante el envío del comando PAS. A partir de ese momento, la comunicación la establece el cliente mediante un canal de control, este utiliza un puerto aleatorio mayor que 1024 para comunicarse con el servidor a través de su puerto 21.
Comunicación FTP
El funcionamiento del protocolo FTP es sencillo: para actualizar un contenido web a través de una conexión FTP, hay que invocar el programa cliente FTP instalado en la máquina cliente. Este iniciará una conexión TCP con el servidor a través del puerto 21, el cual establecerá un canal de control.
Al iniciarse la conexión, y si el servidor acepta, solicitará una identificación al usuario, aunque también se puede realizar un acceso anónimo. Una vez establecida la conexión TPC a través de puerto 20, ya se puede enviar o solicitar archivos.
Sabía que...
Existen varios programas que permiten montar un servidor FTP propio, ya que están específicamente diseñados para poner, a disposición de los usuarios cualquier carpeta o unidad del PC a través del protocolo FTP.
Para que un servidor pueda ejercer como servidor FTP, se dispone de una gran variedad de programas servidor FTP, gratuitos y de pago. Algunos de los programas para servidores gratuitos son:
1 FileZilla FTP Server, puede obtenerse en la dirección: http://sourceforge.net/projects/filezilla
2 GuildFTPd, puede obtenerse en la dirección: http://www.guildftpd.com/
3 Cerberus FTP Server, puede obtenerse en la dirección: http://www.cerberusftp.com/
4 CesarFTP, puede obtenerse en la dirección: http://www.aclogic.com/
También existen diversos programas cliente FTP gratuitos, como Ciberduck, FireFTP o GoFTP, y de pago, como Flow o Transmit. Entre ellos, se encuentra FTP Fillezilla, que es gratuito y multiplataforma. El siguiente ejemplo muestra cómo instalarlo y utilizarlo:
1 Descargar el programa cliente FTP Filezilla en: <http://filezilla-project.org/>. Dependiendo del sistema operativo, Windows, Linux o Mac OS, se podrá elegir la versión que corresponda.
2 Una vez instalado, desde Menú->Archivo, ir a Gestor de Sitios, desde donde se creará un nuevo sitio.Configuración de Filezilla
3 Configurar los datos de acceso al servidor:Hacer clic en el botón Nuevo sitio (1).En Servidor (2) poner el FTP correspondiente al dominio propio, para el caso del ejemplo, ftp.servidor.com.En Logon Type (3), o modo de acceso, poner Normal.En Usuario (4), escribir el mismo que se utiliza para acceder al servidor.Contraseña (5), en este campo se introducirá la contraseña de acceso al servidor, siempre teniendo en cuenta que distingue entre mayúsculas y minúsculas.Aceptar (6), al hacer clic en el botón aceptar se guardan los datos que se han definido para el servidor.Conectar (7), el botón conectar permite acceder al servidor.
4 Actualización del servidor:Como actualizar datos con FilezillaEn la imagen anterior, las carpetas y ficheros que aparecen a la izquierda corresponden a la máquina en la que está instalado el programa cliente FTP Filezilla, y las carpetas y ficheros que aparecen a la derecha (1) corresponden al servidor. En Public_html se encuentran los ficheros. Si se tiene más de una web se debe seleccionar la que se quiere actualizar.Para actualizar los datos en el servidor, simplemente se deben seleccionar los elementos de la zona izquierda que necesiten ser actualizados y arrastrarlos a la zona de la derecha.Aparecerá un mensaje indicando que se van a sobreescribir ficheros ya existentes. Hacer clic en el botón Aceptar.
Actividades
1. En modo pasivo, ¿el cliente siempre abre las conexiones? Justifique su respuesta
2. ¿Cuánta información cree que puede alojar un servidor FPS?
3. Si un navegador no está equipado con la función FTP y necesita cargar ficheros en un ordenador remoto, ¿cómo lo haría?
Aplicación práctica
Suponga que tiene instalado en su ordenador el programa servidor FTP FileZilla FTP Server.
1 ¿Cómo accederían los usuarios a él?
2 ¿Qué datos debería conocer un usuario para poder transferir un archivo a él?
SOLUCIÓN
1 Lo harán a través de un navegador o mediante un cliente FTP, usando como referencia la dirección que le corresponda a nuestra máquina dentro de Internet.
2 Necesitaría conocer el nombre del archivo, el ordenador al que se quiere transferir el archivo, y la carpeta en la que se encuentra.
2.2. FTPS
FTPS es una extensión de FTP que incorpora el uso de SSL/TLS, de manera que toda la información intercambiada entre cliente y servidor está cifrada.
Definición
SSL (Secure Sockets Layer)
Es un protocolo criptográfico que permite establecer conexiones seguras entre un servidor y un cliente.
Para ello, incorpora los protocolos criptográficos TLS (Trasport Layer Security) y SSL (Secure Sockets Layer), un algoritmo asimétrico (RSA, DSA), un algoritmo simétrico (por ejemplo AES) y un algoritmo de intercambio de claves.
Definición
Protocolos criptográficos
Son protocolos utilizados para crear conexiones seguras entre un cliente web como puede ser un navegador y un servidor.
FTPS también puede utilizar el programa cliente Fillezilla, solo hay que configurarlo para el caso. Los pasos a seguir son los mismos que los vistos para la configuración de un cliente FTP, salvo para la opción de tipo de servidor. En ella se debe especificar que se trata de un servidor FTPS:
1 En la siguiente imagen, se pueden ver las siguientes opciones de configuración correspondientes a la pestaña de general:Servidor: el dominio, pero sin ‘www’.Puerto: el número de puerto es 21. No es obligatorio especificarlo.Los campos protocolo y cifrado van a permitir especificar que este cliente debe ser compatible con un servidor FTPS. Para ello en protocolo se seleccionará, de entre las opciones disponibles en el desplegable, FTP-protocolo de transferencia de archivos: y en cifrado se seleccionará Requiere FTP implícito sobre TLS.Modo de acceso: seleccionar la opción Normal.Usuario y Contraseña: indicar el usuario y contraseña asignados para FTP en su plan hosting.Configuración Filezilla para FTPS
2 Si la conexión está detrás de un firewall o un router, se debe seleccionar modo de transferencia pasivo para obtener una conexión más estable. Para este ejemplo, en la pestaña Opciones de transferencia, seleccionar Modo de transferencia: Pasivo.Configuración Filezilla para FTPS
3 Hacer clic en el botón Conectar. Aparecerá la siguiente ventana, que muestra el certificado de seguridad que incorpora FTPS, para el cual se debe dar conformidad, haciendo clic sobre el botón Aceptar.
Recuerde
El protocolo FTP y su extensión FTPS permiten gestionar los contenidos de un servidor.
Configuración Filezilla para FTPS
Actividades
4. ¿A que vulnerabilidades cree que está expuesta la información transmitida mediante FPT por el hecho de no cifrar los datos?
2.3. SFTP
SFTP (SSH File Transfer Protocol) es un protocolo de transferencia de archivos que utiliza SSH (Secure Sttell) para proteger el intercambio de datos entre cliente y servidor. Los datos transferidos están cifrados y utilizan como puerto predeterminado el 22. Un sistema SFTP está compuesto por:
1 Un servidor SPTF. Entre los más utilizados se encuentran FileZilla, WinSCP, y DataFreeway.
2 Un programa cliente compatible. Entre los más utilizados está Passport.
Importante
La seguridad en la transferencia de archivos SFTP se basa en la validación del servidor y la autentificación del cliente, para lo cual ambos utilizan claves públicas y privadas.
Para la validación del servidor, este compara su clave pública con las claves públicas almacenadas en el equipo cliente.
En cambio, los clientes pueden realizar la autentificación de tres formas distintas:
1 Nombre de usuario y contraseña: el usuario posee una cuenta en el servidor, de forma que para acceder a él debe introducir su nombre de usuario y contraseña.
2 Clave privada y frase secreta: una vez el servidor ha terminado la validación, el cliente debe introducir su frase secreta. Si es correcta, pasará a introducir su clave privada.
3 Autentificación interactiva con teclado: consiste en una serie de preguntas que el cliente debe responder correctamente.
Recuerde
La seguridad en la transferencia de archivos no la provee directamente SFTP, sino SSH.
Entre los programas cliente compatibles que se pueden utilizar para SFTP, también se encuentra Fillezilla. Solo hay que configurarlo para que sea compatible con SFTP. Los pasos a seguir son los siguientes:
1 Abrir Fillezilla y seleccionar Nuevo sitio.Pantalla de sesión de Fillezilla
2 Una vez creado el sitio, se pasa a configurar Fillezilla con los datos del servidor SFTP, como muestra la siguiente imagen:Pantalla de sesión de FileZillaEn el campo servidor se introducirá la dirección IP o la URL; en el campo puerto, el puerto indicado por el administrador del servidor; en el campo protocolo se seleccionará SFTP-SSH File Transfer Protocol, introducir usuario y contraseña, pulsar Conectar y ya se tendrá acceso al servidor como muestra la siguiente imagen:Pantalla de acceso al servidor con Filezilla