{"id":1001,"date":"2017-05-05T13:55:27","date_gmt":"2017-05-05T11:55:27","guid":{"rendered":"http:\/\/miroslaw.borodziuk.eu\/?p=1001"},"modified":"2017-05-18T17:40:11","modified_gmt":"2017-05-18T15:40:11","slug":"klient-ldap","status":"publish","type":"post","link":"http:\/\/miro.borodziuk.eu\/index.php\/2017\/05\/05\/klient-ldap\/","title":{"rendered":"Klient LDAP"},"content":{"rendered":"<p><i>Lightweight Directory Access Protocol <\/i>(LDAP) jest prostym protoko\u0142em sieciowym, kt\u00f3ry s\u0142u\u017cy do uzyskiwania informacji przechowywanych w centralnym magazynie sieciowym. LDAP zaprojektowany zosta\u0142 do pozyskiwania informacji o kontach u\u017cytkownik\u00f3w, grupach, us\u0142ugach kalendarza a tak\u017ce innych systemowych i sieciowych danych. Mo\u017ce by\u0107 u\u017cywany do autoryzacji u\u017cytkownik\u00f3w przez sie\u0107 zamiast sk\u0142adowa\u0107 i zarz\u0105dza\u0107 danymi o u\u017cytkownikach na systemach\u00a0 lokalnych.<!--more--><\/p>\n<p>Korzy\u015bci z u\u017cywania LDAP:<\/p>\n<ul>\n<li>Posiada hierarchiczn\u0105 struktur\u0119 katalog\u00f3w, kt\u00f3ra dostarcza organizacjom informacje w spos\u00f3b logiczny.<\/li>\n<li>Pozwala konsolidowa\u0107 wsp\u00f3lne dane i sk\u0142adowa\u0107 je w osobnych jednostkach organizacyjnych.<\/li>\n<li>Pozwala zak\u0142ada\u0107 konta u\u017cytkownik\u00f3w przy wykorzystaniu ustandaryzowanego, zunifikowanego interfejsu.<\/li>\n<li>Zapewnia szybkie wyszukiwanie u\u017cytkownik\u00f3w i tanie zarz\u0105dzanie kontami u\u017cytkownik\u00f3w i ich bezpiecze\u0144stwem.<\/li>\n<li>Zapewnia sp\u00f3jno\u015b\u0107 informacji, nie dubluje ich.<\/li>\n<\/ul>\n<p>Aby zaimplementowa\u0107 i u\u017cywa\u0107 w RHEL7.0 OpenLDAP jako klienta potrzebne jest nast\u0119puj\u0105ce oprogramowanie: openldap, openldap-clients, nss-pam-ldapd oraz us\u0142uga autentykacyjna sssd ( <i>System Security Services Daemon<\/i>) i authconfig.<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #3366ff;\">Pliki konfiguracyjne klienta OpenLDAP.<\/span><\/p>\n<p>Plikiem sk\u0142aduj\u0105cym dane kontrolne demona sssd jest \/etc\/sssd\/sssd.conf. Plikiem konfiguracyjnym OpenLDAP jest <i>\/etc\/openldap\/ldap.conf<\/i>, niekt\u00f3re dyrektywy przedstawia tabela poni\u017cej.<\/p>\n<table style=\"width: 748px;\">\n<tbody>\n<tr>\n<td style=\"width: 210.483px;\"><span style=\"color: #808080;\"><em>Dyrektywa<\/em><\/span><\/td>\n<td style=\"width: 521.517px;\"><span style=\"color: #808080;\"><em>Opis<\/em><\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"width: 210.483px;\"><span style=\"color: #008000;\"><code>BASE<\/code><\/span><\/td>\n<td style=\"width: 521.517px;\">\u00a0Ustawia rozr\u00f3\u017cnialn\u0105 nazw\u0119 (DN) u\u017cywan\u0105 do operacji LDAP.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 210.483px;\"><span style=\"color: #008000;\"><code>URI<\/code><\/span><\/td>\n<td style=\"width: 521.517px;\">Okre\u015bla URI serwera LDAP.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 210.483px;\"><span style=\"color: #008000;\"><code>TLS_CACERTDIR<\/code><\/span><\/td>\n<td style=\"width: 521.517px;\">Okre\u015bla miejsce sk\u0142adowania certyfikat\u00f3w TLS. Domy\u015blne po\u0142o\u017cenie to: <code>\/etc\/openldap\/cacerts<\/code>.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #3366ff;\">Komendy authconfig.<\/span><\/p>\n<p>Konfiguracja klienta LDAP mo\u017ce by\u0107 dokonywana komend\u0105 <em>authconfig<\/em>. Tabela przedstawia opcje komendy, kt\u00f3re dotycz\u0105 trybu klienta.<\/p>\n<table style=\"width: 749px;\">\n<tbody>\n<tr>\n<td style=\"width: 292.1px;\"><span style=\"color: #808080;\"><em>Opcja<\/em><\/span><\/td>\n<td style=\"width: 430.9px;\"><span style=\"color: #808080;\"><em>Opis<\/em><\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"width: 292.1px;\"><span style=\"color: #008000;\"><code> --enableldap \/ --disableldap<\/code><\/span><\/td>\n<td style=\"width: 430.9px;\">W\u0142\u0105cza\/wy\u0142\u0105cza LDAP dla informacji u\u017cytkownika.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 292.1px;\"><span style=\"color: #008000;\"><code> --enableldapauth \/ --<\/code><\/span><span style=\"color: #008000;\"><code>disableldapauth<\/code><\/span><\/td>\n<td style=\"width: 430.9px;\">W\u0142\u0105cza\/wy\u0142\u0105cza LDAP do autentykacji u\u017cytkownika.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 292.1px;\"><span style=\"color: #008000;\"><code> --enableldaptls \/ --<\/code><\/span><span style=\"color: #008000;\"><code>disableldaptls<\/code><\/span><\/td>\n<td style=\"width: 430.9px;\">W\u0142\u0105cza\/wy\u0142\u0105cza do u\u017cycia TLS wraz z LDAP.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 292.1px;\"><span style=\"color: #008000;\"><code> --enablesssd \/ --<\/code><\/span><span style=\"color: #008000;\"><code>disablesssd<\/code><\/span><\/td>\n<td style=\"width: 430.9px;\">W\u0142\u0105cza\/wy\u0142\u0105cza u\u017cycie SSSD dla informacji u\u017cytkownika.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 292.1px;\"><span style=\"color: #008000;\"><code> --ldapserver<\/code><\/span><\/td>\n<td style=\"width: 430.9px;\">Okre\u015bla nazw\u0119 hosta lub adres IP serwera LDAP.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 292.1px;\"><span style=\"color: #008000;\"><code> --ldapbasedn<\/code><\/span><\/td>\n<td style=\"width: 430.9px;\">Ustawia domy\u015bln\u0105 rozr\u00f3\u017cnialn\u0105 nazw\u0119 (DN) LDAP.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 292.1px;\"><span style=\"color: #008000;\"><code> --test<\/code><\/span><\/td>\n<td style=\"width: 430.9px;\">Wy\u015bwietla nowe ustawienia bez aktualizowania konfiguracji.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 292.1px;\"><span style=\"color: #008000;\"><code>--update<\/code><\/span><\/td>\n<td style=\"width: 430.9px;\">Aktualizuje konfiguracj\u0119 dostarczonymi informacjami. Opcja powinna by\u0107 u\u017cywana zawsze gdy w konfiguracji potrzebne s\u0105 zmiany.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u0106wiczenie 1. Konfiguracja klienta LDAP do pozyskiwania informacji o u\u017cytkownikach i grupach.<\/p>\n<p>Instalacja niezb\u0119dnych pakiet\u00f3w klienta LDAP:<br \/>\n<code># yum \u2013y install openldap openldap-clients nss-pam-ldapd sssd authconfig<\/code><\/p>\n<p>Ustawianie klienta i aktualizacja plik\u00f3w konfiguracyjnych. W\u0142\u0105czenie LDAP, autentykacji LDAP oraz SSSD. Okre\u015blenie nazwy hosta dla serwera LDAP oraz podstawowego DN.<br \/>\n<code># authconfig --enableldap --enableldapauth --ldapserver=ldap:\/\/server2.example.com \/<\/code><br \/>\n<code>--enablesssd --ldapbasedn=\u201ddc=example,dc=com\u201d --update<\/code><\/p>\n<p>Wy\u015bwietlenie zawarto\u015bci plik\u00f3w: <code>\/etc\/sssd\/sssd.conf<\/code> oraz <code>\/etc\/openldap\/ldap.conf<\/code>:<br \/>\n<code># cat \/etc\/sssd\/sssd.conf<\/code><br \/>\n<span style=\"color: #808080;\"><code>[domain\/default]<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>autofs_provider = ldap<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>cache_credentials = True<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>krb5_realm = #<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>ldap_search_base = dc=example,dc=com<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>id_provider = ldap<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>auth_provider = ldap<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>chpass_provider = ldap<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>ldap_uri = ldap:\/\/server2.example.com\/<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>ldap_id_use_start_tls = True<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>ldap_tls_cacertdir = \/etc\/openldap\/cacerts<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>[sssd]<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>services = nss, pam, autofs<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>config_file_version = 2<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>domains = default<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>[nss]<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>[pam]<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>[sudo]<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>[autofs]<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>[ssh]<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>[pac]<\/code><\/span><\/p>\n<p><code># grep \u2013v ^# \/etc\/openldap\/ldap.conf<\/code><br \/>\n<span style=\"color: #808080;\"><code>TLS_CACERTDIR \/etc\/openldap\/cacerts<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>URI ldap:\/\/server2.example.com\/<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>BASE dc=example,dc=com<\/code><\/span><\/p>\n<p>Edycja pliku<code> \/etc\/nsswitch.conf<\/code> i upewnienie, \u017ce wpisy<em> passwd, shadow<\/em> i <em>group<\/em> wygl\u0105daj\u0105 jak poni\u017csze:<br \/>\n<code>passwd: files sss<\/code><br \/>\n<code>shadow: files sss<\/code><br \/>\n<code>group: files sss<\/code><\/p>\n<p>Dodanie us\u0142ugi <em>sssd<\/em> do autostartu:<br \/>\n<code># systemctl enable sssd<\/code><\/p>\n<p>Uruchomienie us\u0142ugi <em>sssd<\/em>. Spowoduje to tak\u017ce uruchomienie klienta OpenLDAP w systemie:<br \/>\n<code># systemctl start sssd<\/code><\/p>\n<p>Testowanie danych grupy przez pozyskiwanie informacji o grupie <em>dba<\/em> z serwera komend\u0105 <em>getent <\/em>(komenda <em>getent<\/em> wy\u015bwietla wpisy z bazy danych wpisanej do pliku<code> \/etc\/nsswitch.conf<\/code>):<br \/>\n<code># getent group dba<\/code><\/p>\n<p>Test autentykacji przez zalogowanie si\u0119 jako u\u017cytkownik <em>ldapuser<\/em> z serwera <em>server1<\/em> do <em>server2<\/em> korzystaj\u0105c z komendy <em>ssh<\/em>:<br \/>\n<code># ssh ldapuser1@server2<\/code><\/p>\n<p>Je\u017celi klient ma korzysta\u0107 z TLS celem zabezpieczenia komunikacji z serwerem do wykorzystujemy opcje <code>--enableldaptls<\/code> oraz <code>--ldaploadcacert<\/code> z komend\u0105 <em>authconfig<\/em> wcze\u015bniej przez nas zastosowan\u0105. Nale\u017cy si\u0119 jednak upewni\u0107, \u017ce na serwerze <em>server2<\/em> w odpowiedniej lokalizacji sk\u0142adowany jest wa\u017cny certyfikat.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Lightweight Directory Access Protocol (LDAP) jest prostym protoko\u0142em sieciowym, kt\u00f3ry s\u0142u\u017cy do uzyskiwania informacji przechowywanych w centralnym magazynie sieciowym. LDAP zaprojektowany zosta\u0142 do pozyskiwania informacji o kontach u\u017cytkownik\u00f3w, grupach, us\u0142ugach kalendarza a tak\u017ce innych systemowych i sieciowych danych. Mo\u017ce by\u0107 u\u017cywany do autoryzacji u\u017cytkownik\u00f3w przez sie\u0107 zamiast sk\u0142adowa\u0107 i zarz\u0105dza\u0107 danymi o u\u017cytkownikach na systemach\u00a0 &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/miro.borodziuk.eu\/index.php\/2017\/05\/05\/klient-ldap\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Klient LDAP&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":1002,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[44],"tags":[],"_links":{"self":[{"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/posts\/1001"}],"collection":[{"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/comments?post=1001"}],"version-history":[{"count":11,"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/posts\/1001\/revisions"}],"predecessor-version":[{"id":1194,"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/posts\/1001\/revisions\/1194"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/media\/1002"}],"wp:attachment":[{"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/media?parent=1001"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/categories?post=1001"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/tags?post=1001"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}