Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

OpenLDAP Usługi katalogowe w Urzędzie Miejskim w Pabianicach Jan Fijałkowski.

Podobne prezentacje


Prezentacja na temat: "OpenLDAP Usługi katalogowe w Urzędzie Miejskim w Pabianicach Jan Fijałkowski."— Zapis prezentacji:

1 OpenLDAP Usługi katalogowe w Urzędzie Miejskim w Pabianicach Jan Fijałkowski

2 Urząd oczyma administratora um.pabianice.plmaszynyużytkownicygrupybritbej...rootfijal...informatycyfijal...admin

3 Wszystko co chcielibyście wiedzieć o użytkowniku... ● Dane organizacyjne – Tytuł:Obywatel – Imię:Jan – Nazwisko:Fijałkowski – Numer telefonu:642 – Ulica:Zamkowa – Kod pocztowy: – Wydział:KPM

4 Wszystko co chcielibyście wiedzieć o użytkowniku... c.d. ● Dane systemowe – uid:fijal – uidNumber:1000 – gidNumber:1000 – loginShell:/bin/bash – password:********** –...

5 Jak to wszystko ogarnąć? ● Dane winny być scentralizowane ● Dane winny być dostępne z dowolnej maszyny w sieci, niezależnie od systemu ● Dane winny być dostępne z poziomu najważniejszych aplikacji ● Dostęp do danych winien pozostawać pod kontrolą ● Dane winne być replikowane

6 Problem stary jak sieć ● Celem łatwej wymiany danych katalogowych między systemami opracowano stosowne protokoły sieciowe: – Część protokołu X.500 zwana DAP (Directory Access Protocol), działająca na pełnym stosie OSI – Lekka wersja DAP (Lightweight Directory Access Protocol) działająca nad TCP/IP - LDAP

7 Implementacje LDAP ● OpenLDAP ● Novell eDirectory ● IBM LDAP directory ● Sun Tivoli Directory Server ● Windows Server 2003 Active Directory ●...

8 OpenLDAP ● Projekt powstał w 1998 roku przy wykorzystaniu implementacji LDAP na Uniwersytecie Michigan ● Składa się z: – Demona slapd – serwera – Demona slurpd – replikatora – Bibliotek implementujących protokół LDAP – Narzędzi linii poleceń

9 Protokół LDAP ● LDAP jest implementacją modeli: – Struktury informacji – Struktury przestrzeni nazw – Funkcjonalności – Bezpieczeństwa (aspekt ten nie jest zdefiniowany w specyfikacji, różni producenci stosują własne rozwiązania)

10 Urząd oczyma administratora: LDAP dc=um, dc=pabianice, dc=pl ou=Hosts ou=Peopleou=Group cn=brit cn=bej... uid=root uid=fijal...cn=users... cn=admin cn=fijal

11 Wszystko co chcielibyście wiedzieć o użytkowniku... LDAP dn: uid=fijal, ou=People,dc=um,dc=pabianice,dc=pl objectClass: person objectClass: organizationalPerson objectClass: inetOrgPerson... title: Obywatel givenName: Jan sn: Fija ł kowski telephoneNumber: 642 street: Zamkowa... dn: uid=fijal, ou=People,dc=um,dc=pabianice,dc=pl objectClass: person objectClass: organizationalPerson objectClass: inetOrgPerson... title: Obywatel givenName: Jan sn: Fija ł kowski telephoneNumber: 642 street: Zamkowa...

12 Struktura informacji wpisatrybut...wartość uid=fijal,ou=Peple,dc=um,dc=pabianice,dc=pl uidNumbe r title Obywate l Pan

13 Struktura przestrzeni nazw ● Każdy wpis posiada „nazwę wyróznioną” (distinguished name), w skrócie DN ● Nazwa ta pozycjonuje wpis w drzewie informacji (Data Information Tree, DIT), podobnie jak pełna nazwa hosta pozycjonuje maszynę w DNS-ie ● Korzeniem drzewa jest „bazowy DN”, w naszym przypadku dc=um,dc=pabianice,dc=pl

14 Funkcjonalność ● Protokół LDAP określa trzy typy operacji: – Wyszukiwanie ● search, compare – Aktualizacja ● add, delete, modify, modifyDN – Uwierzytelnianie i operacje kontrolne ● bind, unbind, abandon

15 Bezpieczeństwo ● Uwierzytelnianie (akredytacja) – Dostęp anonimowy – Akredytacja podstawowa – LDAP przy użyciu SSL/TLS – SASL (Simple Authentication and Security Layer) ● Digest MD5 ● Kerberos v5

16 Stawiamy serwer - slapd.conf # Schema and objectClass definitions include/etc/ldap/schema/core.schema include/etc/ldap/schema/cosine.schema include/etc/ldap/schema/nis.schema include /etc/ldap/schema/inetorgperson.schema include/etc/ldap/schema/misc.schema include /etc/ldap/schema/samba.schema schemacheck on loglevel 0 # Schema and objectClass definitions include/etc/ldap/schema/core.schema include/etc/ldap/schema/cosine.schema include/etc/ldap/schema/nis.schema include /etc/ldap/schema/inetorgperson.schema include/etc/ldap/schema/misc.schema include /etc/ldap/schema/samba.schema schemacheck on loglevel 0

17 Stawiamy serwer – slapd.conf c.d. databasebdb suffix "dc=um,dc=pabianice,dc=pl" rootdn cn=admin,dc=um,dc=pabianice,dc=pl # replica replica host= :389 bindmethod=simple binddn=cn=replicator,dc=um,dc=pabianice,dc=pl credentials=xxxxxxx replogfile/var/lib/ldap/replog... # TLS TLSCertificateFile /etc/ssl/certs/britcert.pem... databasebdb suffix "dc=um,dc=pabianice,dc=pl" rootdn cn=admin,dc=um,dc=pabianice,dc=pl # replica replica host= :389 bindmethod=simple binddn=cn=replicator,dc=um,dc=pabianice,dc=pl credentials=xxxxxxx replogfile/var/lib/ldap/replog... # TLS TLSCertificateFile /etc/ssl/certs/britcert.pem...

18 Bezpieczeństwo slapd.conf ● Kontrola dostępu realizowana w OpenLDAP przez ACL access to attrs=mobile by dn.regex="cn=admin,dc=um,dc=pabianice,dc=pl" write by dn.regex="cn=replicator,dc=um,dc=pabianice,dc=pl" read by self read by * none access to * by dn="cn=admin,dc=um,dc=pabianice,dc=pl" tls_ssf=128 write by * tls_ssf=128 read access to attrs=mobile by dn.regex="cn=admin,dc=um,dc=pabianice,dc=pl" write by dn.regex="cn=replicator,dc=um,dc=pabianice,dc=pl" read by self read by * none access to * by dn="cn=admin,dc=um,dc=pabianice,dc=pl" tls_ssf=128 write by * tls_ssf=128 read

19 Narzędzia linii poleceń ● Offline – slapadd, slapcat ● Online – ldapsearch, ldapcompare – ldapadd, ldapmodify, ldapmodrdn, ldapdelete – ldappaswd, ldapwhoami

20 Konfigurujemy klientów - ldap.conf BASEdc=um, dc=pabianice, dc=pl URIldap:// TLS_CACERTtc/ssl/certs/cacert.pem BASEdc=um, dc=pabianice, dc=pl URIldap:// TLS_CACERTtc/ssl/certs/cacert.pem

21 Narzędzia okienkowe: gq - Search &(givenName=Jan*)(street=Zamkow a)

22 Narzędzia okienkowe: gq - wpis

23 Narzędzia okienkowe: gq - Browse

24 Usługi ● Name Service Switch-libnss-ldap ● pam- libpam-ldap ● SMTP- exim4 ● POP3- courier-pop-ssl ● HTTP- apache2 ● Domena NT-samba

25 Name Service Switch-libnss-ldap ● Usługi NSS- /etc/nsswitch.conf ● libnss-ldap- /etc/libnss- ldap.conf uri ldap:// /ldap:// / base dc=um,dc=pabianice,dc=pl rootbinddn cn=admin,dc=um,dc=pabianice,dc=pl # has ł o w /etc/ldap.secret mode 0600 nss_base_passwd ou=People,dc=um,dc=pabianice,dc=pl nss_base_shadow ou=People,dc=um,dc=pabianice,dc=pl nss_base_group ou=Group,dc=um,dc=pabianice,dc=pl uri ldap:// /ldap:// / base dc=um,dc=pabianice,dc=pl rootbinddn cn=admin,dc=um,dc=pabianice,dc=pl # has ł o w /etc/ldap.secret mode 0600 nss_base_passwd ou=People,dc=um,dc=pabianice,dc=pl nss_base_shadow ou=People,dc=um,dc=pabianice,dc=pl nss_base_group ou=Group,dc=um,dc=pabianice,dc=pl

26 pam-libpam-ldap ● Konieczny demon nscd ● libpam-ldap- /etc/pam_ldap.conf ● pam- /etc/pam.d/us ł uga authsufficientpam_unix.somd5 shadow authsufficientpam_ldap.so use_first_pass authrequiredpam_deny.so authsufficientpam_unix.somd5 shadow authsufficientpam_ldap.so use_first_pass authrequiredpam_deny.so

27 SMTP-exim4 ● /etc/exim4/conf.d/auth fixed_plain: driver = plaintext public_name = PLAIN server_condition = ${if ldapauth \ {user="uid=${quote_ldap:$2}, \ ou=People,dc=um,dc=pabianice,dc=pl" \ pass="$3" \ ldaps:// /\ }\ {yes}{no}\ } server_set_id = uid=$2 server_prompts = : fixed_plain: driver = plaintext public_name = PLAIN server_condition = ${if ldapauth \ {user="uid=${quote_ldap:$2}, \ ou=People,dc=um,dc=pabianice,dc=pl" \ pass="$3" \ ldaps:// /\ }\ {yes}{no}\ } server_set_id = uid=$2 server_prompts = :

28 POP3-courier-ldap ● /etc/courier/authldaprc LDAP_SERVER LDAP_PORT 389 LDAP_PROTOCOL_VERSION 3 LDAP_BASEDN dc=um,dc=pabianice,dc=pl LDAP_MAIL mail LDAP_FILTER (objectClass=posixAccount) LDAP_HOMEDIR homeDirectory LDAP_FULLNAME cn LDAP_CRYPTPW userPassword LDAP_UID uidNumber LDAP_GID gidNumber LDAP_TLS 1 LDAP_SERVER LDAP_PORT 389 LDAP_PROTOCOL_VERSION 3 LDAP_BASEDN dc=um,dc=pabianice,dc=pl LDAP_MAIL mail LDAP_FILTER (objectClass=posixAccount) LDAP_HOMEDIR homeDirectory LDAP_FULLNAME cn LDAP_CRYPTPW userPassword LDAP_UID uidNumber LDAP_GID gidNumber LDAP_TLS 1

29 HTTP(S)-apache2 ● potrzebny moduł mod_auth_ldap NameVirtualHost ldap.um.pabianice.pl:443 #... SSL AuthType Basic AuthName "LDAP Authentication" AuthLDAPAuthoritative On AuthLDAPEnabled On AuthLDAPURLldap:// :389/\ ou=People,dc=um,dc=pabianice,dc=pl?uid?one Require valid user NameVirtualHost ldap.um.pabianice.pl:443 #... SSL AuthType Basic AuthName "LDAP Authentication" AuthLDAPAuthoritative On AuthLDAPEnabled On AuthLDAPURLldap:// :389/\ ou=People,dc=um,dc=pabianice,dc=pl?uid?one Require valid user

30 Samba ● /etc/samba/smb.conf ● smbldap-tools passdb backend = ldapsam:ldaps:// ldap admin dn = cn=admin,dc=um,dc=pabianice,dc=pl ldap suffix = dc=um,dc=pabianice,dc=pl ldap group suffix = ou=Group ldap user suffix = ou=People ldap machine suffix = ou=People ldap ssl = On add user script = /usr/sbin/smbldap-useradd -m "%u" passdb backend = ldapsam:ldaps:// ldap admin dn = cn=admin,dc=um,dc=pabianice,dc=pl ldap suffix = dc=um,dc=pabianice,dc=pl ldap group suffix = ou=Group ldap user suffix = ou=People ldap machine suffix = ou=People ldap ssl = On add user script = /usr/sbin/smbldap-useradd -m "%u"

31 Typowi klienci ● klient poczty- mozilla-thunderbird ● pakiet biurowy- OpenOffice ● aplikacja PIM- Kontact ● programiści-API

32 mozilla-thunderbird

33 mozilla-thunderbird: uzupełnianie

34 OpenOffice: listy seryjne

35 OpenOffice: kwerenda

36 Kontact

37 LDAP API ● OpenLDAP-C ● Net::LDAP-perl ● python-ldap-Python ● JNDI-Java ●...

38 Źródła informacji ● ● ● ● ● man -k ldap :-)


Pobierz ppt "OpenLDAP Usługi katalogowe w Urzędzie Miejskim w Pabianicach Jan Fijałkowski."

Podobne prezentacje


Reklamy Google