SlideShare une entreprise Scribd logo
1  sur  45
Télécharger pour lire hors ligne
20-22 junio 2013
Madrid
Joan Teixidó
Desarrollador backend en Onfan.com
gracias a mi familia...
gracias a...
@kriswallsmith
¿Por qué?
Objetivo
• Entender el flujo del componente de
seguridad
• Conocer cuales son los protagonistas que
intervienen en todo el proceso
autentificación
<->
autorización
kernel.request kernel.responsekernel.controller kernel.view
security listener
HttpKernel
kernel.exceptionsecurity listener
Firewall
Es solo un listener que
escucha al kernel.request
routerfirewall
etc..
kernel.request
listener A
firewall
listener B
ener C
Authentication
Provider
Authentication
Provider Manager
User
Provider
Firewall & FirewallMap
Firewall
firewall
kernel.request
listeners
FirewallMap
• Contiene mapa de requestMatcher,
colección de listeners y una exception
listener
• Devuelve la colección de listeners y
excepción en caso de coincidir la ruta
Firewall
• Escucha al kernel.request
• Mapea las rutas que requieren del
component de seguridad
• Ejecuta una batería de listeners si coincide
la ruta del request
• Añade al dispatcher un exceptionListener
listener A
firewall
listener B
ener C
Authentication
Provider
Authentication
Provider Manager
User
Provider
R
Security Context
Security Listeners
Listeners asociados al firewallMap.
Implementan ListenerInterface.
Contienen el método:
function handle(GetResponseEvent $event) { }
Listeners
Security Listeners
¿Qué tienen en común?
¿Qué más pueden hacer?
¿Cuándo se ejecutan?
Security Listeners
• Context Listener -> se ocupa de la persistencia en sesión
• UsernamePasswordFormAuthenticationListener -> loguea
user
• AnonymousAuthenticationListener -> crea token anonimo
• AccesListener -> maneja el acceso (autorización)
• BasicAuthenticationListener -> login por basic headers
• SwitchUserListener
• ChannelListener
• LogoutListener
• RememberMeListener
listener
firewall
authenticate
token
security context
• Tienen estados: autenticado /no autenticado
• Guarda la información del usuario
• Guarda los roles de los usuarios
• Almacena el token
• Capacidad para autenticar
• Puede autorizar un token
token
security context
listener A
firewall
listener B
AuthenticationProviderManager
istener C
Authentication Manager
listener A
firewall
listener B
ener C
AuthenticationProvider
Authentication
Provider Manager
User Authentication Provider
listener A
firewall
listener B
ener C
Authentication
Provider
Authentication
Provider Manager
User
Provider
User Provider
Authentication Manager
• LLama al authentication provider con el token sólo si el
token sirve para ese provider
• Maneja las excepciones
listener
manager
User Authentication Provider
• LLama al user provider y obtiene el usuario.
• Valida el usuario (chequea password y otros controles)
• Marca el token como autenticado y lo devuelve
• Busca el usuario en el repositorio de usuarios (BD, file, service)
User Provider
listener A
firewall
listener B
ener C
Authentication
Provider
Authentication
Provider Manager
User
Provider
Autorización
• Proceso por el que damos permiso a un
usuario autenticado a acceder a un
determinado recurso
listener A
firewall
Autorización
ener C
Access Decision Manager VotersAccess MapAccess Listener
Access Listener
Access Map
Access Decision Manager
Voters
¿Tipos de voters?
AclVoter
AuthenticatedVoter
RoleVoter
listener A
firewall
Autorización
ener C
Access Decision Manager VotersAccess MapAccess Listener
nuevo en symfony 2.4
fin
https://joind.in/8836
http://symfony.com/video/1/security-in-real-life/English
http://www.slideshare.net/kriswallsmith/love-and-loss-a-
symfony-security-play

Contenu connexe

Similaire à Desglosando el componente de seguridad

Web services GeneXus Tilo
Web services GeneXus TiloWeb services GeneXus Tilo
Web services GeneXus TiloGeneXus
 
Protegiendo los secretos de tus aplicaciones con Azure Key Vault
Protegiendo los secretos de tus aplicaciones con Azure Key VaultProtegiendo los secretos de tus aplicaciones con Azure Key Vault
Protegiendo los secretos de tus aplicaciones con Azure Key VaultLuis Beltran
 
Adquisicion e implementacion
Adquisicion e implementacionAdquisicion e implementacion
Adquisicion e implementacionjhonsu1989
 
Colombia Bootcamp Azure Key Vault.pptx
Colombia Bootcamp Azure Key Vault.pptxColombia Bootcamp Azure Key Vault.pptx
Colombia Bootcamp Azure Key Vault.pptxLuis Beltran
 
Springio2012 taller-seguridad-web-springsecurity-3
Springio2012 taller-seguridad-web-springsecurity-3Springio2012 taller-seguridad-web-springsecurity-3
Springio2012 taller-seguridad-web-springsecurity-3Fernando Redondo Ramírez
 
Seguridad de sistemas embebidos para el ámbito regulado - Alejandro Bertello ...
Seguridad de sistemas embebidos para el ámbito regulado - Alejandro Bertello ...Seguridad de sistemas embebidos para el ámbito regulado - Alejandro Bertello ...
Seguridad de sistemas embebidos para el ámbito regulado - Alejandro Bertello ...Rodrigo Almeida
 
Ethical hacking 03
Ethical hacking 03Ethical hacking 03
Ethical hacking 03Tensor
 
App Mis Avisos - propuesta tecnica y planificación
App Mis Avisos - propuesta tecnica y planificaciónApp Mis Avisos - propuesta tecnica y planificación
App Mis Avisos - propuesta tecnica y planificaciónRamón Abruña
 
Seguridad web para desarrolladores - OWASP
Seguridad web para desarrolladores - OWASPSeguridad web para desarrolladores - OWASP
Seguridad web para desarrolladores - OWASPMarcos Harasimowicz
 
Seguridad en la nube AWS
Seguridad en la nube AWSSeguridad en la nube AWS
Seguridad en la nube AWSHermann Pais
 
Luxriot-Rustec-Evo-Intro-Junio-2022 EVOLUCION
Luxriot-Rustec-Evo-Intro-Junio-2022 EVOLUCIONLuxriot-Rustec-Evo-Intro-Junio-2022 EVOLUCION
Luxriot-Rustec-Evo-Intro-Junio-2022 EVOLUCIONJoseGuerra540125
 
La seguridad de tus emails en Mailjet
La seguridad de tus emails en MailjetLa seguridad de tus emails en Mailjet
La seguridad de tus emails en MailjetMailjet
 
Seguridad en Aplicaciones Web y Comercio Electrónico
Seguridad en Aplicaciones Web y Comercio ElectrónicoSeguridad en Aplicaciones Web y Comercio Electrónico
Seguridad en Aplicaciones Web y Comercio ElectrónicoRené Olivo
 
Metodos de Autentificacion
Metodos de AutentificacionMetodos de Autentificacion
Metodos de AutentificacionMaryfi
 

Similaire à Desglosando el componente de seguridad (17)

Web services GeneXus Tilo
Web services GeneXus TiloWeb services GeneXus Tilo
Web services GeneXus Tilo
 
Protegiendo los secretos de tus aplicaciones con Azure Key Vault
Protegiendo los secretos de tus aplicaciones con Azure Key VaultProtegiendo los secretos de tus aplicaciones con Azure Key Vault
Protegiendo los secretos de tus aplicaciones con Azure Key Vault
 
Introducción a la Tecnología Web
Introducción a la Tecnología WebIntroducción a la Tecnología Web
Introducción a la Tecnología Web
 
Aspectos y seguridad
Aspectos y seguridadAspectos y seguridad
Aspectos y seguridad
 
Adquisicion e implementacion
Adquisicion e implementacionAdquisicion e implementacion
Adquisicion e implementacion
 
Colombia Bootcamp Azure Key Vault.pptx
Colombia Bootcamp Azure Key Vault.pptxColombia Bootcamp Azure Key Vault.pptx
Colombia Bootcamp Azure Key Vault.pptx
 
Springio2012 taller-seguridad-web-springsecurity-3
Springio2012 taller-seguridad-web-springsecurity-3Springio2012 taller-seguridad-web-springsecurity-3
Springio2012 taller-seguridad-web-springsecurity-3
 
Presentacion final
Presentacion finalPresentacion final
Presentacion final
 
Seguridad de sistemas embebidos para el ámbito regulado - Alejandro Bertello ...
Seguridad de sistemas embebidos para el ámbito regulado - Alejandro Bertello ...Seguridad de sistemas embebidos para el ámbito regulado - Alejandro Bertello ...
Seguridad de sistemas embebidos para el ámbito regulado - Alejandro Bertello ...
 
Ethical hacking 03
Ethical hacking 03Ethical hacking 03
Ethical hacking 03
 
App Mis Avisos - propuesta tecnica y planificación
App Mis Avisos - propuesta tecnica y planificaciónApp Mis Avisos - propuesta tecnica y planificación
App Mis Avisos - propuesta tecnica y planificación
 
Seguridad web para desarrolladores - OWASP
Seguridad web para desarrolladores - OWASPSeguridad web para desarrolladores - OWASP
Seguridad web para desarrolladores - OWASP
 
Seguridad en la nube AWS
Seguridad en la nube AWSSeguridad en la nube AWS
Seguridad en la nube AWS
 
Luxriot-Rustec-Evo-Intro-Junio-2022 EVOLUCION
Luxriot-Rustec-Evo-Intro-Junio-2022 EVOLUCIONLuxriot-Rustec-Evo-Intro-Junio-2022 EVOLUCION
Luxriot-Rustec-Evo-Intro-Junio-2022 EVOLUCION
 
La seguridad de tus emails en Mailjet
La seguridad de tus emails en MailjetLa seguridad de tus emails en Mailjet
La seguridad de tus emails en Mailjet
 
Seguridad en Aplicaciones Web y Comercio Electrónico
Seguridad en Aplicaciones Web y Comercio ElectrónicoSeguridad en Aplicaciones Web y Comercio Electrónico
Seguridad en Aplicaciones Web y Comercio Electrónico
 
Metodos de Autentificacion
Metodos de AutentificacionMetodos de Autentificacion
Metodos de Autentificacion
 

Desglosando el componente de seguridad