Kerberos é um protocolo amplamente utilizado em grandes empresas para prover ambientes SSO(Single Sigin On), mas quais são as suas reais limitações ? É possível capturar senhas e/ou forjar tickets em ambientes como Active Directory?
4. 4
Kerberos
● História
– Projeto Athena. O Cão Cérbero do deus Hades.
– Versão 4 no final dos anos 80, por Steve Miller
e Clifford Neuman no MIT.
● RFCs: 4120, 4537, 5021, 5896
● Curiosidades
● Implementações
– MIT, Heimdal, Micro$oft
...
5. 5
O ambiente Kerberos
● TTP – Trusted Third Party
● KDC – Key Distribution Center
– AS – Authentication Server
– TGS – Ticket Granting Server
● SS – Service Server
● TGT - Ticket Granting Ticket
● Cliente
6. 6
… o ambiente
● REALMs
● Cross-Realm Operation
● PrincipalNames: primary/instance@REALM
● ACLs
● Backends diversos
● Replicação, master/slave
● Vários serviços podem ser kerberizados
● APIs para diferentes linguagens
16. 16
Os pré-requisitos
● NTP/NTPD
– Clientes e servidores com relógios
sincronizados. Garantia de vida dos tickets
Kerberos.
● DNS/BIND
– Utilizado pelos KDCs, clientes e serviços
kerberos e programas de administração
como o kadmin(.local).
● IMPORTANTES
– /etc/hosts, /etc/hostname, /etc/resolv.conf
17. 17
Entradas no DNS
● _kerberos
● _kerberos-master._udp
● _kerberos-adm._tcp
● _kpasswd._udp
● _kerberos._udp
● _ldap._tcp.seu.realm
18. 18
Serviços kerberizaveis
● OpenLDAP, Pam, Samba, Squid, Apache, SSH,
Postfix, Cyrus ...
● Aplicações escritas em diversas linguagens
como JAVA, PHP e C.
● WS-Security
● ***** SEMPRE VERIFIQUE SE A APLICAÇÃO
ENVIA A SENHA EM TEXTO PLANO NO
PRIMEIRO LOGIN *****
20. 20
KDC Spoofing
● Não foge a regra
– BlackHat 2009
● Possibilidade de realizar replay attacks
– Autenticação(AS_REQ/AS_REP)
– Autorização(TGS_REQ/TGS_REP
AP_REQ/AP_REP)
21. 21
Serviços kerberizaveis
● OpenLDAP, Pam, Samba, Squid, Apache, SSH,
Postfix, Cyrus ...
● Aplicações escritas em diversas linguagens
como JAVA, PHP e C.
● WS-Security
● ***** SEMPRE VERIFIQUE SE A APLICAÇÃO
ENVIA A SENHA EM TEXTO PLANO NO
PRIMEIRO LOGIN *****
23. Muito Obrigado!
Marcelo Machado Fleury
marcelomf[noSpam]gmail[p]com
marcelo[p]fleury[noSpam]4linux[p]com[p]br
Http://marcelomf.blogspot.com
Http://www.slideshare.com/marcelomf
Http://twitter.com/marcelomf
#h2hc-community, #pev, #gojava, #gophp,
#owasp...
"Conheço muitos que não puderam quando deviam,
porque não quiseram quando podiam." By François
Rabelais