Kerberos e OpenLDAP: Ambiente SSO OpenSource

  • Published on
    24-May-2015

  • View
    1.512

  • Download
    2

Embed Size (px)

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!