Imenik LDAP - Delavnice LDAP, Eduroam in ArnesAAI
Transcription
Imenik LDAP - Delavnice LDAP, Eduroam in ArnesAAI
Delavnica AAI Arnes 2013 21. januar 2014, Ljubljana, Tehnološki park Imenik LDAP Rok Papež Arnes [email protected] Na meniju: • osnove certifikatov X.509 • splošno o imenikih LDAP • sheme LDAP (za raziskovalne in izobraževalne organizacije) • dnevno upravljanje • povezovanje aplikacij z imenikom LDAP • vzpostavitev imenika LDAP • vzpostavitev varne povezave s certifikati * http://aai.arnes.si - uradna Arnes dokumentacija za sisteme AAI Simetrična kriptografija • A in B želita komunicirati varno • Simetrična kriptografija – isti ključ za šifriranje in dešifriranje – hitro (de)šifriranje – AES, Twofish, Blowfish, 3DES, IDEA, RC4 – izmenjava ključev • Težava: Kaj če se A in B še ne poznata?! Asimetrična kriptografija • Javni in zasebni ključ • Javni je objavljen in dobro poznan • A in B želita komunicirati • Šifriranje podatkov – A šifrira z javnim ključem B – B šifrira z javnim ključem A • Podpisovanje sporočil ali dokumentov – A šifrira checksum z zasebnim ključem A – B šifrira cehcksum z zasebnim ključem B • Algoritmi: RSA, DSA, ElGamel, EC (Elliptic Curve) • Kdo jamči, da je javni ključ X res od X? • Dobro poznani C jamči za A in za B tako, da njun javni ključ podpiše s svojim zasebnim ključem C Certifikati X.509 • HTTPS, LDAPS, StartTLS • Standard za (asimetrično) kriptografijo • Certifikat = (podpisan) javni ključ • CA angl. Certificate Authority – Če se A in B ne poznata!!! – Seznami certifikatov CA – Veriga CA = CA + Sub CA + Sub CA + ... + Cert • $ openssl x509 -in cert.pem -text -noout • Issuer – izdajatelj, garancija • Subject – naslovnik, osebek • http://aai.arnes.si/certs Kaj je imenik? Imenik LDAP • Lightweight Directory Access Protocol • Je vse drugi kot “light” • Baza podatkov, ki ni SQL ni in noSQL • “Objekti” oziroma zapisi, strukturirani podatki • Predstavlja osebe, tiskalnike, računalnike, zapise DNS, DHCP ... • LDAP je standard – Protokol – Sheme – Podatki Pojmovnik LDAP • LDIF angl. LDAP Data Interchange Format – standardna oblika zapisa podatkov • DIT angl. Data information tree – drevo LDAP • Bind – Prijava v imenik • Schema – Registrirana oblika in struktura podatkov (SNMP MIB) • LDAPS – LDAP over SSL • Reference – preusmeritev na drugi imenik LDAP • Attribute – atribut, eden izmed podatkov o zapisu • Operational attributes – atributi o zapisu, ki jih vodi LDAP sam Drevo LDAP Struktura imenika dc=ss-primer,dc=si • ou=People,dc=ss-primer,dc=si - fizični uporabniki • ou=Groups,dc=ss-primer,dc=si - skupine uporabnikov • ou=System,dc=ss-primer,dc=si - sistemski računi za recimo samodejno preverjanje • ou=Computers,dc=ss-primer,dc=si - objekti, ki predstavljajo računalnike, na primer računalniki vključeni v domeno Windows • cn=config,dc=ss-primer,dc=si - nastavitve imenika openldap • cn=subschema,dc=ss-primer,dc=si - podatki o aktivnih shemah • dc=primorska,dc=ss-primer,dc=si • dc=anglija,dc=ss-primer,dc=si • dc=london,dc=ss-primer,dc=si Distinguished Name - dn • dn: cn=vpn,ou=Groups,dc=ss-primer,dc=si • dn: uid=mjohn,ou=People,dc=ss-primer,dc=si • dn: [email protected],dc=ss-primer,dc=si • Bind se vedno izvaja na “dn” • Iskanje se lahko izvaja po poljubnem atributu (če imamo dostop do njega!) Primer zapisa LDIF dn: cn=radius,ou=System,dc=os-prva,dc=si changetype: add objectClass: top objectClass: person cn: radius sn: radius userPassword: skritogesloradius LDAP vs. <baza podatkov> • LDAP ima strukturo • “On-wire” protokol – standard! • Schema • Interoperabilnost* med različnimi LDAPi – OpenLDAP – 389DS (FedoraDS, CentosDS, RedHat DS) – Apache DS • Multimaster, replikacija, audit • Predvsem za branje • Namembnost!!! Pomembne datoteke • /etc/openldap/slapd.conf • /etc/sysconfig/slapd -ali- ldap • /etc/openldap/ldap.conf • /etc/openldap/certs/* – Pravice key.pem - 0640, root:ldap • /etc/openldap/schema/* Openldap replikacija • Master – Slave vs. Multimaster • Kateri je boljši? Openldap replikacija • Master – Slave vs. Multimaster • Split brain!!! • Master – Slave boljše zmogljivosti • Multimaster – enostavnejše • /etc/sysconfig/slapd -ali- ldap • Dodamo URL v SLAPD_URLS="ldapi:/// ldap:/// ldaps:/// ldap://10.0.99.305:6301/" • V slapd.conf dodamo serverID 1 "ldap://10.0.99.305:6301/" Sheme NREN ArnesAAI • NREN angl. National Research and Education Network • EduPerson – Ameriška • SCHAC – Schema for Academia • http://aai-lab.arnes.si/ldap/struktura Obvezni atributi • http://aai-lab.arnes.si/ldap/atributi • cn • displayName • sn • givenName • eduPersonPrincipalName • mail • eduPersonAffiliation • eduPersonPrimaryAffiliation • schacHomeOrganization • schacExpiryDate • schacUUID • userPassword ldapsearch cn=”Janez Novak” --lego-style Razvoj atributov • Predvidene so nadgradnje • Zahteve iz šolstva in podjetij, ki delajo s šolstvom ali za šolstvo • Zahteve eduGain / evropske skupnosti NREN Uporaba LDAP v aplikacijah • RO ali RW dostop • ACLji • Avtentikacijski načini – Bind – Bind – Search – Authenticate (dostop do userPassword) – Bind – Search – Rebind Aplikacije, ki dostopajo do LDAP • RADIUS – Eduroam – VPN (StrongSWAN, OpenVPN) • Web SSO (ArnesAAI) • Windows Domena (Samba) • Strežniki UNIX (Linux SSSD) • Večina spletnih aplikacij • Kopirni stroj Primer LDAP ACL access to dn.sub="dc=os-prva,dc=si" attrs=entry,eduPersonPrincipalName,userPassword,schacE xpiryDate by dn="cn=radius,ou=System,dc=os-prva,dc=si" read by * break Varnostne kopije in nadgradnje • slapd.conf • schema • certifikati • slapcat -n 2 • slapcat -b dc=os-prva,dc=si • slapadd • db_upgrade (BDB nadgradnje) • Nadgradnja: /etc/openldap/slapd.conf.bkp Zgoščena ali čista gesla • Zgoščeno geslo v bazi ali na povezavi • Varnost ali uporabnost • Gesla v aplikaciji ali centralizirana avtentikacija? • PEAP -> MSCHAPv2 -> RC4 • EAP-TTLS -> PAP, MSCHAPv2, ... • http://deployingradius.com/documents/protoc ols/compatibility.html • Bind – Search – Rebind zahteva čisto geslo Združljivost protokolov z gesli http://deployingradius.com/documents/protocols/compatibility.html Upravljanje digitalnih identitet Printing servers Data flow Queries Portals Personal computers Web Classrooms Content management Active Directory (AD) Student enrollment Employees e-mail Calendar Identity management Alumn Address book Student apps LDAP Student membership Library system VPN RADIUS Dial-up WLAN Sedaj ste vi na vrsti! ● CC vienze ziction /flickr Naloga LDAP 1.Navodila LDAP: http://aai-lab.arnes.si/ldap/postavitev 2.Prijavite se v svoj strežnik Linux a.Prijava: root@student??.lab.arnes.si b.Spremenite geslo: passwd (netrivialno geslo <- si-cert) c.Posodobite OS: yum update d.Uredite ime računalnika: vim /etc/sysconfig/network 3.Postavite imenik OpenLDAP 4.Vnesite uporabnike in preverite vnose 5.Preverite operational attributes: ldapsearch -x -D [...] -W \* + 6.Bonus: S poljubnim sotrpinom vzpostavite Multimaster LDAP a. System-config-firewall b. LDAP – tcp/389 in tcp/636 c. iptables-save + preveri /etc/sysconfig/iptables http://aai.arnes.si [email protected] (CC) Blackandecker/Flickr.