SlideShare una empresa de Scribd logo
Proxy de reescritura
para sistema de
autenticación
federada, PAPI
Proxy de reescritura PAPI 2.0
Ingeniería Superior en Informática
Escuela Técnica Superior de Ingeniería Informática
Índice
• ¿Qué es ProxyPAPI?
• Contextualización tecnológica
• Motivación
• Tecnologia
• Mod_Proxy
• Apache 2
• ProxyPAPI
• Arquitectura y Diseño
• Funcionamiento
• Componentes
• Pruebas
• Conclusiones
Índice
• ¿Qué es ProxyPAPI?
• Contextualización tecnológica
• Motivación
• Tecnologia
• Mod_Proxy
• Apache 2
• ProxyPAPI
• Arquitectura y Diseño
• Funcionamiento
• Componentes
• Pruebas
• Conclusiones
¿Qué es ProxyPAPI?
• Proxy de reescritura, ofrece
• punto intermedio en la comunicación CLIENTE-SERVIDOR,
• transparente para el usuario,
• reescritura compleja del flujo de comunicación.
• Nace como alternativa mejorada al proxy de reescritura que
integra PAPI (desarrollado por RedIRIS).
• PAPI sistema que facilita el acceso web a recursos protegidos
• Control de acceso:
• ANTES: filtro IP (Proveedor de información)
• AHORA: autenticación mediante diversos protocolos en PAPI
• El cliente consigue mayor movilidad
Índice
• ¿Qué es ProxyPAPI?
• Contextualización tecnológica
• Motivación
• Tecnologia
• Mod_Proxy
• Apache 2
• ProxyPAPI
• Arquitectura y Diseño
• Funcionamiento
• Componentes
• Pruebas
• Conclusiones
Contextualización tecnológica
• ProxyPAPI es un módulo Perl basado en mod_proxy para
Apache 2
• Servidor web base en versiones anteriores de PAPI (PAPI 1.5)
Apache 1.3
• Gran dependencia del proxy de reescritura
• CONSECUENCIA:
• Decremento de la velocidad
• Aumento de carga del sistema
• ProxyPAPI 2, desvinculado de Apache 1.3, diseñado para
Apache 2
Índice
• ¿Qué es ProxyPAPI?
• Contextualización tecnológica
• Motivación
• Tecnologia
• Mod_Proxy
• Apache 2
• ProxyPAPI
• Arquitectura y Diseño
• Funcionamiento
• Componentes
• Pruebas
• Conclusiones
Motivación
• Mejorar una herramienta actualmente en funcionamiento
• Objetivos a cumplir:
• Mejorar tiempo respuesta servidor proxy
• Aumentar el rendimiento del sistema, reduciendo la carga del
servidor
• Logros obtenidos:
• Desechar el uso de librerías Apache 1.3
• Independizar PAPI del proxy de reescritura
Índice
• ¿Qué es ProxyPAPI?
• Contextualización tecnológica
• Motivación
• Tecnologia
• Mod_Proxy
• Apache 2
• ProxyPAPI
• Arquitectura y Diseño
• Funcionamiento
• Componentes
• Pruebas
• Conclusiones
Mod_Proxy
• Proxy de software libre más popular dentro de Apache
• Ventajas:
• Fácil instalación y configuración
• No es un proceso independiente, no compite con Apache por la
memoria
• Tratamiento de redirecciones fácil y seguro
• Almacenamiento en caché
• Ejecución de redirecciones antes de la fase de autenticación de
Apache
Índice
• ¿Qué es ProxyPAPI?
• Contextualización tecnológica
• Motivación
• Tecnologia
• Mod_Proxy
• Apache 2
• ProxyPAPI
• Arquitectura y Diseño
• Funcionamiento
• Componentes
• Pruebas
• Conclusiones
Apache 2
• El servidor web más conocido y popular del mercado
• Ventajas:
• Multiplataformas: GNU/Linux, Solaris, Windows, Mac Os X, etc
• Modularización de funcionalidades, implementadas mediante
manejadores y/o filtros
• Bucket Brigades
Se consigue no tener copias duplicadas del código, representados
mediante cubos y brigada (conjunto de cubos)
• Los cubos pertenecientes a una brigada pueden ser modificados,
eliminados y/o reemplazados
• Para manipular un cubo no es necesario conocer su representación
• Cuando se activa un manejador/filtro este toma la brigada del
manejador/filtro anterior, y lo cede el siguiente
• El manejador que toma la brigada no puede ver su historial,
simplemente puede ver los cubos de la brigada actual
Apache 2: Bucket Brigades
Apache 2: Funcionamiento
• Apache tiene numerosas fases
• Cada una de estas tiene una serie de ganchos (hooks) donde
los módulos se enganchan para aplicar y modificar el
comportamiento por defecto del servidor
• En cada fase puede existir más de un manejador asignado
• El comportamiento de cada fase varía según los tipos de
manejadores que intervengan
Índice
• ¿Qué es ProxyPAPI?
• Contextualización tecnológica
• Motivación
• Tecnologia
• Mod_Proxy
• Apache 2
• ProxyPAPI
• Arquitectura y Diseño
• Funcionamiento
• Componentes
• Pruebas
• Conclusiones
ProxyPAPI: Arquitectura y
Diseño
• ProxyPAPI está formado por un filtro de entrada (InputFilter),
un filtro de salida (OutputFilter), un manejador principal
(mod_proxy_papi) y un fichero auxiliar (redirect)
ProxyPAPI: Arquitectura y
Diseño
• Redirect: Fichero auxiliar. Utilidad: albergar en grueso de las
funciones principales.
• InputFilter: Situada en una posición estratégica.
Funcionalidad: reescritura métodos POST, filtrado de cookies.
• Mod_proxy_papi: Único manejador. Funcionalidades:
discernin el tipo de servicio que vamos a aplicar, reescritura
cabeceras, comunicarse con el proxy.
• Outputfilter: Filtro de salida. Funcionalidades: reescritura de
cookis, reescritura HTML/XHTML, CSS, leng de script
Índice
• ¿Qué es ProxyPAPI?
• Contextualización tecnológica
• Motivación
• Tecnologia
• Mod_Proxy
• Apache 2
• ProxyPAPI
• Arquitectura y Diseño
• Funcionamiento
• Componentes
• Pruebas
• Conclusiones
ProxyPAPI: Funcionamiento
InputFilter
Mod_proxy
Mod_proxy_papi
Outputfilter
Índice
• ¿Qué es ProxyPAPI?
• Contextualización tecnológica
• Motivación
• Tecnologia
• Mod_Proxy
• Apache 2
• ProxyPAPI
• Arquitectura y Diseño
• Funcionamiento
• Componentes
• Pruebas
• Conclusiones
ProxyPAPI: InputFilter
Lectura de
configuración
Reescrituras
métodos post
Filtrado de
Cookis
Comunicación
mod_proxy_papi
ProxyPAPI: Mod Proxy Papi
Lectura de
configuración
Reescritura de
URL, Site o
Domain
Reescritura de
cabeceras
Comunicación
mod_proxy
ProxyPAPI: OutputFilter
Lectura de
configuración
Procesa
información
mod_proxy
Reescritura
información
Índice
• ¿Qué es ProxyPAPI?
• Contextualización tecnológica
• Motivación
• Tecnologia
• Mod_Proxy
• Apache 2
• ProxyPAPI
• Arquitectura y Diseño
• Funcionamiento
• Componentes
• Pruebas
• Conclusiones
Pruebas y validación
• OBJETIVOS:
• Medir los TIEMPOS DE ACCESO
• CONTEXTO:
• ADSL Telefónica
de 3MB.
• Dos sitios webs:
• RedIRIS
• Sciencedirect
Resultados
Índice
• ¿Qué es ProxyPAPI?
• Contextualización tecnológica
• Motivación
• Tecnologia
• Mod_Proxy
• Apache 2
• ProxyPAPI
• Arquitectura y Diseño
• Funcionamiento
• Componentes
• Pruebas
• Conclusiones
Conclusión
• Se ha conseguido separar
• Se ha plantea una forma fácil de hacer cambios
• Se han obtenido tiempos deseables
GRACIAS
• Manolo Valencia
• Diego R. Lopez
• RedIRIS

Más contenido relacionado

Similar a ProxyPAPI-v05r01

Webinar Gratuito "OWASP WebScarab"
Webinar Gratuito "OWASP WebScarab"Webinar Gratuito "OWASP WebScarab"
Webinar Gratuito "OWASP WebScarab"Alonso Caballero
 
Web usage mining tools
Web usage mining toolsWeb usage mining tools
Web usage mining tools
Arturo San Feliciano Martín
 
ASP.NET MVC
ASP.NET MVCASP.NET MVC
ASP.NET MVC
Rodolfo Finochietti
 
Presentacion jade
Presentacion jadePresentacion jade
Presentacion jade
Magdiel Espinoza
 
DESARROLLO RAPIDO DE APLICACIONES WEB
DESARROLLO RAPIDO DE APLICACIONES WEBDESARROLLO RAPIDO DE APLICACIONES WEB
DESARROLLO RAPIDO DE APLICACIONES WEBJavier Condori Flores
 
Barcamp v5 by Jose ToNy Verdin at Culiacan Sinaloa
Barcamp v5 by Jose ToNy Verdin at Culiacan SinaloaBarcamp v5 by Jose ToNy Verdin at Culiacan Sinaloa
Barcamp v5 by Jose ToNy Verdin at Culiacan Sinaloa
Jose Antonio Chavez Verdin
 
WebRTC en tu web con OpenVidu
WebRTC en tu web con OpenViduWebRTC en tu web con OpenVidu
WebRTC en tu web con OpenVidu
Micael Gallego
 
11 Integracion Alfresco Y Sap Neurowork Why Floss
11   Integracion Alfresco Y Sap   Neurowork   Why Floss11   Integracion Alfresco Y Sap   Neurowork   Why Floss
11 Integracion Alfresco Y Sap Neurowork Why Floss
Neurowork
 
11 Integracion Alfresco Y Sap Neurowork Why Floss
11   Integracion Alfresco Y Sap   Neurowork   Why Floss11   Integracion Alfresco Y Sap   Neurowork   Why Floss
11 Integracion Alfresco Y Sap Neurowork Why Floss
Neurowork
 
Integración y caso de éxito Alfresco y SAP
Integración y caso de éxito Alfresco y SAPIntegración y caso de éxito Alfresco y SAP
Integración y caso de éxito Alfresco y SAP
EOI Escuela de Organización Industrial
 
11 Integracion Alfresco Y Sap Neurowork Why Floss
11   Integracion Alfresco Y Sap   Neurowork   Why Floss11   Integracion Alfresco Y Sap   Neurowork   Why Floss
11 Integracion Alfresco Y Sap Neurowork Why Floss
Neurowork
 
11 Integracion Alfresco Y S A P Neurowork Why F L O S S
11    Integracion  Alfresco Y  S A P    Neurowork    Why F L O S S11    Integracion  Alfresco Y  S A P    Neurowork    Why F L O S S
11 Integracion Alfresco Y S A P Neurowork Why F L O S S
Neurowork
 
Pylot : Herramienta para pruebas de rendimiento de Aplicaciones Web
Pylot : Herramienta para pruebas  de rendimiento de Aplicaciones WebPylot : Herramienta para pruebas  de rendimiento de Aplicaciones Web
Pylot : Herramienta para pruebas de rendimiento de Aplicaciones Web
Deisy Sapaico
 
Servidor Web Apache para Linux
Servidor Web Apache para LinuxServidor Web Apache para Linux
Servidor Web Apache para Linux
María del Cisne
 
SG 09 Patrones de Integración Empresarial Apache Camel
SG 09 Patrones de Integración Empresarial Apache CamelSG 09 Patrones de Integración Empresarial Apache Camel
SG 09 Patrones de Integración Empresarial Apache Camel
Domingo Suarez Torres
 
Documertar APIs - Meetup.js
Documertar APIs - Meetup.jsDocumertar APIs - Meetup.js
Documertar APIs - Meetup.js
Ezequiel Rial
 
Gestión documental colaborativa con Alfresco ECM
Gestión documental colaborativa con Alfresco ECMGestión documental colaborativa con Alfresco ECM
Gestión documental colaborativa con Alfresco ECMzylk net
 
¿Cómo elegir servidor web?
¿Cómo elegir servidor web?¿Cómo elegir servidor web?
¿Cómo elegir servidor web?
Juan Belón Pérez
 
Herramientas para la medicion de desempeño PHPConMX 2012
Herramientas para la medicion de desempeño  PHPConMX 2012Herramientas para la medicion de desempeño  PHPConMX 2012
Herramientas para la medicion de desempeño PHPConMX 2012
Carlos Nacianceno
 
ASP.NET 5 & MVC 6 (RC1)
ASP.NET 5 & MVC 6 (RC1)ASP.NET 5 & MVC 6 (RC1)
ASP.NET 5 & MVC 6 (RC1)
José María Aguilar
 

Similar a ProxyPAPI-v05r01 (20)

Webinar Gratuito "OWASP WebScarab"
Webinar Gratuito "OWASP WebScarab"Webinar Gratuito "OWASP WebScarab"
Webinar Gratuito "OWASP WebScarab"
 
Web usage mining tools
Web usage mining toolsWeb usage mining tools
Web usage mining tools
 
ASP.NET MVC
ASP.NET MVCASP.NET MVC
ASP.NET MVC
 
Presentacion jade
Presentacion jadePresentacion jade
Presentacion jade
 
DESARROLLO RAPIDO DE APLICACIONES WEB
DESARROLLO RAPIDO DE APLICACIONES WEBDESARROLLO RAPIDO DE APLICACIONES WEB
DESARROLLO RAPIDO DE APLICACIONES WEB
 
Barcamp v5 by Jose ToNy Verdin at Culiacan Sinaloa
Barcamp v5 by Jose ToNy Verdin at Culiacan SinaloaBarcamp v5 by Jose ToNy Verdin at Culiacan Sinaloa
Barcamp v5 by Jose ToNy Verdin at Culiacan Sinaloa
 
WebRTC en tu web con OpenVidu
WebRTC en tu web con OpenViduWebRTC en tu web con OpenVidu
WebRTC en tu web con OpenVidu
 
11 Integracion Alfresco Y Sap Neurowork Why Floss
11   Integracion Alfresco Y Sap   Neurowork   Why Floss11   Integracion Alfresco Y Sap   Neurowork   Why Floss
11 Integracion Alfresco Y Sap Neurowork Why Floss
 
11 Integracion Alfresco Y Sap Neurowork Why Floss
11   Integracion Alfresco Y Sap   Neurowork   Why Floss11   Integracion Alfresco Y Sap   Neurowork   Why Floss
11 Integracion Alfresco Y Sap Neurowork Why Floss
 
Integración y caso de éxito Alfresco y SAP
Integración y caso de éxito Alfresco y SAPIntegración y caso de éxito Alfresco y SAP
Integración y caso de éxito Alfresco y SAP
 
11 Integracion Alfresco Y Sap Neurowork Why Floss
11   Integracion Alfresco Y Sap   Neurowork   Why Floss11   Integracion Alfresco Y Sap   Neurowork   Why Floss
11 Integracion Alfresco Y Sap Neurowork Why Floss
 
11 Integracion Alfresco Y S A P Neurowork Why F L O S S
11    Integracion  Alfresco Y  S A P    Neurowork    Why F L O S S11    Integracion  Alfresco Y  S A P    Neurowork    Why F L O S S
11 Integracion Alfresco Y S A P Neurowork Why F L O S S
 
Pylot : Herramienta para pruebas de rendimiento de Aplicaciones Web
Pylot : Herramienta para pruebas  de rendimiento de Aplicaciones WebPylot : Herramienta para pruebas  de rendimiento de Aplicaciones Web
Pylot : Herramienta para pruebas de rendimiento de Aplicaciones Web
 
Servidor Web Apache para Linux
Servidor Web Apache para LinuxServidor Web Apache para Linux
Servidor Web Apache para Linux
 
SG 09 Patrones de Integración Empresarial Apache Camel
SG 09 Patrones de Integración Empresarial Apache CamelSG 09 Patrones de Integración Empresarial Apache Camel
SG 09 Patrones de Integración Empresarial Apache Camel
 
Documertar APIs - Meetup.js
Documertar APIs - Meetup.jsDocumertar APIs - Meetup.js
Documertar APIs - Meetup.js
 
Gestión documental colaborativa con Alfresco ECM
Gestión documental colaborativa con Alfresco ECMGestión documental colaborativa con Alfresco ECM
Gestión documental colaborativa con Alfresco ECM
 
¿Cómo elegir servidor web?
¿Cómo elegir servidor web?¿Cómo elegir servidor web?
¿Cómo elegir servidor web?
 
Herramientas para la medicion de desempeño PHPConMX 2012
Herramientas para la medicion de desempeño  PHPConMX 2012Herramientas para la medicion de desempeño  PHPConMX 2012
Herramientas para la medicion de desempeño PHPConMX 2012
 
ASP.NET 5 & MVC 6 (RC1)
ASP.NET 5 & MVC 6 (RC1)ASP.NET 5 & MVC 6 (RC1)
ASP.NET 5 & MVC 6 (RC1)
 

ProxyPAPI-v05r01

  • 1. Proxy de reescritura para sistema de autenticación federada, PAPI Proxy de reescritura PAPI 2.0 Ingeniería Superior en Informática Escuela Técnica Superior de Ingeniería Informática
  • 2. Índice • ¿Qué es ProxyPAPI? • Contextualización tecnológica • Motivación • Tecnologia • Mod_Proxy • Apache 2 • ProxyPAPI • Arquitectura y Diseño • Funcionamiento • Componentes • Pruebas • Conclusiones
  • 3. Índice • ¿Qué es ProxyPAPI? • Contextualización tecnológica • Motivación • Tecnologia • Mod_Proxy • Apache 2 • ProxyPAPI • Arquitectura y Diseño • Funcionamiento • Componentes • Pruebas • Conclusiones
  • 4. ¿Qué es ProxyPAPI? • Proxy de reescritura, ofrece • punto intermedio en la comunicación CLIENTE-SERVIDOR, • transparente para el usuario, • reescritura compleja del flujo de comunicación. • Nace como alternativa mejorada al proxy de reescritura que integra PAPI (desarrollado por RedIRIS). • PAPI sistema que facilita el acceso web a recursos protegidos • Control de acceso: • ANTES: filtro IP (Proveedor de información) • AHORA: autenticación mediante diversos protocolos en PAPI • El cliente consigue mayor movilidad
  • 5. Índice • ¿Qué es ProxyPAPI? • Contextualización tecnológica • Motivación • Tecnologia • Mod_Proxy • Apache 2 • ProxyPAPI • Arquitectura y Diseño • Funcionamiento • Componentes • Pruebas • Conclusiones
  • 6. Contextualización tecnológica • ProxyPAPI es un módulo Perl basado en mod_proxy para Apache 2 • Servidor web base en versiones anteriores de PAPI (PAPI 1.5) Apache 1.3 • Gran dependencia del proxy de reescritura • CONSECUENCIA: • Decremento de la velocidad • Aumento de carga del sistema • ProxyPAPI 2, desvinculado de Apache 1.3, diseñado para Apache 2
  • 7. Índice • ¿Qué es ProxyPAPI? • Contextualización tecnológica • Motivación • Tecnologia • Mod_Proxy • Apache 2 • ProxyPAPI • Arquitectura y Diseño • Funcionamiento • Componentes • Pruebas • Conclusiones
  • 8. Motivación • Mejorar una herramienta actualmente en funcionamiento • Objetivos a cumplir: • Mejorar tiempo respuesta servidor proxy • Aumentar el rendimiento del sistema, reduciendo la carga del servidor • Logros obtenidos: • Desechar el uso de librerías Apache 1.3 • Independizar PAPI del proxy de reescritura
  • 9. Índice • ¿Qué es ProxyPAPI? • Contextualización tecnológica • Motivación • Tecnologia • Mod_Proxy • Apache 2 • ProxyPAPI • Arquitectura y Diseño • Funcionamiento • Componentes • Pruebas • Conclusiones
  • 10. Mod_Proxy • Proxy de software libre más popular dentro de Apache • Ventajas: • Fácil instalación y configuración • No es un proceso independiente, no compite con Apache por la memoria • Tratamiento de redirecciones fácil y seguro • Almacenamiento en caché • Ejecución de redirecciones antes de la fase de autenticación de Apache
  • 11. Índice • ¿Qué es ProxyPAPI? • Contextualización tecnológica • Motivación • Tecnologia • Mod_Proxy • Apache 2 • ProxyPAPI • Arquitectura y Diseño • Funcionamiento • Componentes • Pruebas • Conclusiones
  • 12. Apache 2 • El servidor web más conocido y popular del mercado • Ventajas: • Multiplataformas: GNU/Linux, Solaris, Windows, Mac Os X, etc • Modularización de funcionalidades, implementadas mediante manejadores y/o filtros • Bucket Brigades Se consigue no tener copias duplicadas del código, representados mediante cubos y brigada (conjunto de cubos) • Los cubos pertenecientes a una brigada pueden ser modificados, eliminados y/o reemplazados • Para manipular un cubo no es necesario conocer su representación • Cuando se activa un manejador/filtro este toma la brigada del manejador/filtro anterior, y lo cede el siguiente • El manejador que toma la brigada no puede ver su historial, simplemente puede ver los cubos de la brigada actual
  • 13. Apache 2: Bucket Brigades
  • 14. Apache 2: Funcionamiento • Apache tiene numerosas fases • Cada una de estas tiene una serie de ganchos (hooks) donde los módulos se enganchan para aplicar y modificar el comportamiento por defecto del servidor • En cada fase puede existir más de un manejador asignado • El comportamiento de cada fase varía según los tipos de manejadores que intervengan
  • 15. Índice • ¿Qué es ProxyPAPI? • Contextualización tecnológica • Motivación • Tecnologia • Mod_Proxy • Apache 2 • ProxyPAPI • Arquitectura y Diseño • Funcionamiento • Componentes • Pruebas • Conclusiones
  • 16. ProxyPAPI: Arquitectura y Diseño • ProxyPAPI está formado por un filtro de entrada (InputFilter), un filtro de salida (OutputFilter), un manejador principal (mod_proxy_papi) y un fichero auxiliar (redirect)
  • 17. ProxyPAPI: Arquitectura y Diseño • Redirect: Fichero auxiliar. Utilidad: albergar en grueso de las funciones principales. • InputFilter: Situada en una posición estratégica. Funcionalidad: reescritura métodos POST, filtrado de cookies. • Mod_proxy_papi: Único manejador. Funcionalidades: discernin el tipo de servicio que vamos a aplicar, reescritura cabeceras, comunicarse con el proxy. • Outputfilter: Filtro de salida. Funcionalidades: reescritura de cookis, reescritura HTML/XHTML, CSS, leng de script
  • 18. Índice • ¿Qué es ProxyPAPI? • Contextualización tecnológica • Motivación • Tecnologia • Mod_Proxy • Apache 2 • ProxyPAPI • Arquitectura y Diseño • Funcionamiento • Componentes • Pruebas • Conclusiones
  • 20. Índice • ¿Qué es ProxyPAPI? • Contextualización tecnológica • Motivación • Tecnologia • Mod_Proxy • Apache 2 • ProxyPAPI • Arquitectura y Diseño • Funcionamiento • Componentes • Pruebas • Conclusiones
  • 21. ProxyPAPI: InputFilter Lectura de configuración Reescrituras métodos post Filtrado de Cookis Comunicación mod_proxy_papi
  • 22. ProxyPAPI: Mod Proxy Papi Lectura de configuración Reescritura de URL, Site o Domain Reescritura de cabeceras Comunicación mod_proxy
  • 24. Índice • ¿Qué es ProxyPAPI? • Contextualización tecnológica • Motivación • Tecnologia • Mod_Proxy • Apache 2 • ProxyPAPI • Arquitectura y Diseño • Funcionamiento • Componentes • Pruebas • Conclusiones
  • 25. Pruebas y validación • OBJETIVOS: • Medir los TIEMPOS DE ACCESO • CONTEXTO: • ADSL Telefónica de 3MB. • Dos sitios webs: • RedIRIS • Sciencedirect
  • 27. Índice • ¿Qué es ProxyPAPI? • Contextualización tecnológica • Motivación • Tecnologia • Mod_Proxy • Apache 2 • ProxyPAPI • Arquitectura y Diseño • Funcionamiento • Componentes • Pruebas • Conclusiones
  • 28. Conclusión • Se ha conseguido separar • Se ha plantea una forma fácil de hacer cambios • Se han obtenido tiempos deseables
  • 29. GRACIAS • Manolo Valencia • Diego R. Lopez • RedIRIS