kerberos e openldap: ambiente sso opensource
DESCRIPTION
Palestra proferida no FLISOL-GO 2011.TRANSCRIPT
- 1. 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 #GOPHP, #GOJAVA, #PSL-GO, #ASL-GO, #GTER, #MASOCH-L, #FUG-BR, #CISSP-BR, #OWASP Havendo olhos suficientes, todos os erros so bvios By Eric S. Raymond Kerberos e OpenLDAP, um ambiente SSO OpenSource
2. Agenda
- Ambiente SSO
3. Kerberos 4. Pr-requisitos: DNS/BIND, NTP, /etc/... 5. Kerberos e o OpenLDAP 6. Porque utilizar o SASL ? 7. Checklist de implementao 8. Kerberizao de servios 9. Demonstrao 10. Ambiente SSO
- SSO ? Single Sign-On.
11. Vantagens
- Autenticao centralizada
12. Usabilidade 13. Segurana (Kerberos/GSSAPI) Cuidados
- Segurana (KDCSpoofing, vide apresentaes na blackhat)
14. Disponibilidade 15. Manuteno 16. Kerberos
- Histria
- Projeto Athena. O Co Crbero do deus Hades.
17. Verso 4 no final dos anos 80, por Steve Miller e Clifford Neuman no MIT. RFCs: 4120, 4537, 5021, 5896 18. Curiosidades 19. Implementaes
- MIT , Heimdal, Micro$oft
20. ... 21. O ambiente Kerberos
- TTP Trusted Third Party
22. KDC Key Distribution Center
- AS Authentication Server
23. TGS Ticket Granting Server SS Service Server 24. TGT - Ticket Granting Ticket 25. Cliente 26. o ambiente
- REALMs
27. Cross-Realm Operation 28. PrincipalNames: primary/instance@REALM 29. ACLs 30. Backends diversos 31. Replicao, master/slave 32. Vrios servios podem ser kerberizados 33. APIs para diferentes linguagens 34. ... Autenticao Kerberos ... 35. 36. 37. Autenticao Kerberos 38. Autenticao Kerberos 39. Autenticao Kerberos 40. Autenticao Kerberos 41. Kerberos CLI
- Kinit
42. Klist 43. Kdestroy 44. DaemonsKerberos MIT
- Kadmind
- TCP: 749(Administrao, kadmin)
45. TCP: 754 (Propagao) 46. UDP: 464(Alterao de senhas) Krb5kdc
- TCP/ UDP: 88(KDC V.5)
47. TCP/ UDP: 750(V. 4) 48. TCP/UDP: 751 (V.4) 49. Kadmin(.local)
- Operaes:
- PrincipalNames:
- addprinc, delprinc, modprinc, cpw, getprinc(s)
Policys 50. Getprivs 51. Keytabs
- ktadd, ktrem
Lock/unlock 52. Chaves importantes
- Keytabs
- Administrao/Acesso ao KDC.
{Service.keyfile} 53. Stash 54. krbPrincipalKey 55. Arquivos importantes
- /etc/krb5.conf
56. /etc/krb5.keytab 57. /etc/krb5kdc/kadm5.acl 58. /etc/krb5kdc/kadm5.keytab 59. /etc/krb5kdc/kdc.conf 60. /etc/krb5kdc/{service.keyfile} 61. /etc/krb5kdc/stash 62. Os pr-requisitos
- NTP/NTPD
- Clientes e servidores com relgios sincronizados. Garantia de vida dos tickets Kerberos.
DNS/BIND
- Utilizado pelos KDCs, clientes e servios kerberos e programas de administrao como o kadmin(.local).
IMPORTANTES
- /etc/hosts, /etc/hostname, /etc/resolv.conf
63. Entradas no DNS
- _kerberos
64. _kerberos-master._udp 65. _kerberos-adm._tcp 66. _kpasswd._udp 67. _kerberos._udp 68. _ldap._tcp.seu.realm 69. Mas e o OpenLDAP ?
- Protocolo LDAP
70. Operaes 71. ndices 72. Mdulos 73. ACLs 74. SSL/TLS 75. Backends diversos 76. Replicao: master/slave, multimaster 77. Kerberos+OpenLDAP
- Vantagens
78. OpenLDAP autenticando contra Kerberos 79. Kerberos utilizando OpenLDAP como backend 80. OpenLDAP suportando simple binds de usurios kerberizados 81. E o SASL ?
- GSS-API
82. Ampliao da gama de aplicaes que podero se autenticar 83. userPassword: {SASL}principalName 84. O seu checklist
- Os pr-requisitos
85. OpenLDAP
- Schemas kerberos(3), no slapd.conf(acls, sasl, authz-regexp e ndices)
86. Importao do ldif inicial. Kerberos
- Krb5.conf, kdc.conf e kadm5.acl
Criao do domnio Kerberos no OpenLDAP(kdb5_ldap_util) e do stash 87. Criao do service.keyfile(kdb5_ldap_util) 88. Criao dos keytabs 89. Servios kerberizaveis
- OpenLDAP, Pam, Samba, Squid, Apache, SSH, Postfix, Cyrus ...
90. Aplicaes escritas em diversas linguagens como JAVA, PHP e C. 91. WS-Security 92. ***** SEMPRE VERIFIQUE SE A APLICAO ENVIA A SENHA EM TEXTO PLANO NO PRIMEIRO LOGIN ***** 93. Demonstrao
- SSO
94. Gesto de principalNames 95. SASL 96. OpenLDAP 97. Apache 98. Squid 99. Samba 100. 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 #GOPHP, #GOJAVA, #PSL-GO, #ASL-GO, #GTER, #MASOCH-L, #FUG-BR, #CISSP-BR, #OWASP "Conheo muitos que no puderam quando deviam, porque no quiseram quando podiam." By Franois Rabelais Muito Obrigado!