Sieć SWL (V): Debian Wheezy i ClearOS. Uwierzytelnianie SSSD względem natywnego LDAP.

Cześć przyjaciele!. Proszę, powtarzam, przeczytaj wcześniej «Wprowadzenie do sieci z wolnym oprogramowaniem (I): Prezentacja ClearOS»I pobierz pakiet obrazów instalacyjnych ClearOS Step-by-Step (1,1 mega), aby mieć świadomość, o czym mówimy. Bez tego czytania trudno będzie nas śledzić.

Demon usługi zabezpieczeń systemu

Program dysk SSD o Demon usługi bezpieczeństwa systemu, jest projektem Fedora, który narodził się z innego projektu - również z Fedory - o nazwie BezpłatneIPA. Według własnych twórców, krótka i swobodnie przetłumaczona definicja brzmiałaby:

SSSD to usługa zapewniająca dostęp do różnych dostawców tożsamości i uwierzytelniania. Można ją skonfigurować dla rodzimej domeny LDAP (dostawca tożsamości oparty na LDAP z uwierzytelnianiem LDAP) lub dla dostawcy tożsamości LDAP z uwierzytelnianiem Kerberos. SSSD zapewnia interfejs do systemu poprzez NSS y WFPi wstawiany Back End do łączenia się z wieloma różnymi źródłami kont.

Uważamy, że mamy do czynienia z bardziej wszechstronnym i solidnym rozwiązaniem do identyfikacji i uwierzytelniania zarejestrowanych użytkowników w OpenLDAP niż te, o których mowa w poprzednich artykułach, aspekt pozostawiony w gestii wszystkich i ich własnych doświadczeń..

Rozwiązanie zaproponowane w tym artykule jest najbardziej zalecane dla komputerów przenośnych i laptopów, ponieważ pozwala nam pracować bez połączenia, ponieważ SSSD przechowuje dane uwierzytelniające na komputerze lokalnym.

Przykładowa sieć

  • Kontroler domeny, DNS, DHCP: ClearOS Enterprise 5.2sp1.
  • Nazwa kontrolera: CentOS
  • Nazwa domeny: friends.cu
  • IP kontrolera: 10.10.10.60
  • ---------------
  • Wersja Debiana: Astmatyczny.
  • Nazwa zespołu: Debian7.
  • Adres IP: Korzystanie z DHCP

Sprawdzamy, czy serwer LDAP działa

Modyfikujemy plik /etc/ldap/ldap.conf i zainstaluj pakiet narzędzia ldap:

: ~ # nano /etc/ldap/ldap.conf
[----] BASE dc = friends, dc = cu URI ldap: //centos.amigos.cu [----]
: ~ # aptitude install ldap-utils: ~ $ ldapsearch -x -b 'dc = friends, dc = cu' '(objectclass = *)': ~ $ ldapsearch -x -b dc = friends, dc = cu 'uid = kroki
: ~ $ ldapsearch -x -b dc = przyjaciele, dc = cu 'uid = legolas' cn gidNumber

Za pomocą ostatnich dwóch poleceń sprawdzamy dostępność serwera OpenLDAP naszego ClearOS. Przyjrzyjmy się dobrze wynikom poprzednich poleceń.

Ważne: sprawdziliśmy również, że usługa identyfikacji na naszym serwerze OpenLDAP działa poprawnie.

network-swl-04-users

Instalujemy pakiet sssd

Zaleca się również zainstalowanie pakietu palec aby czeki były bardziej pijalne niż ldapsearch:

: ~ # aptitude install sssd finger

Po zakończeniu instalacji usługa SSD nie uruchamia się z powodu braku pliku /etc/sssd/sssd.conf. Wynik instalacji odzwierciedla to. Dlatego musimy utworzyć ten plik i pozostawić go z rozszerzeniem następna minimalna zawartość:

: ~ # nano /etc/sssd/sssd.conf
[sssd] config_file_version = 2 services = nss, pam # SSSD nie uruchomi się, jeśli nie skonfigurujesz żadnej domeny. # Dodaj nowe konfiguracje domeny jako [domena / ], a następnie # dodaj listę domen (w kolejności, w jakiej mają być # odpytywane) do atrybutu „domeny” poniżej i usuń komentarz. domains = amigos.cu [nss] filter_groups = root filter_users = root reconnection_retries = 3 [pam] reconnection_retries = 3 # domena LDAP [domain / amigos.cu] id_provider = ldap
autor_dostawca = ldap
chpass_provider = ldap # ldap_schema można ustawić na „rfc2307”, który przechowuje nazwy członków grupy w atrybucie „memberuid” lub na „rfc2307bis”, który przechowuje nazwy DN członków grupy w atrybucie „member”. Jeśli nie znasz tej wartości, zapytaj administratora LDAP #. # działa z ClearOS ldap_schema = rfc2307
ldap_uri = ldap: //centos.amigos.cu
ldap_search_base = dc = friends, dc = cu # Należy pamiętać, że włączenie wyliczania będzie miało umiarkowany wpływ na wydajność. # W związku z tym domyślną wartością wyliczenia jest FALSE. # Szczegółowe informacje można znaleźć na stronie podręcznika sssd.conf. enumerate = false # Zezwalaj na logowanie w trybie offline przez lokalne przechowywanie skrótów haseł (domyślnie: false). cache_credentials = true
ldap_tls_reqcert = zezwól
ldap_tls_cacert = /etc/ssl/certs/ca-certificates.crt

Po utworzeniu pliku przypisujemy odpowiednie uprawnienia i ponownie uruchamiamy usługę:

: ~ # chmod 0600 /etc/sssd/sssd.conf
: ~ # usługa sssd restart

Jeśli chcemy wzbogacić zawartość poprzedniego pliku, zalecamy wykonanie mężczyzna sssd.conf i / lub zapoznaj się z istniejącą dokumentacją w Internecie, zaczynając od linków na początku postu. Skonsultuj się również mężczyzna sssd-ldap. Paczka SSD zawiera przykład w /usr/share/doc/sssd/examples/sssd-example.conf, którego można użyć do uwierzytelnienia w usłudze Microsoft Active Directory.

Teraz możemy używać najbardziej pijalnych poleceń palec y uzyskać:

: ~ $ ruchy palcem
Login: strides Nazwa: Strides El Rey Katalog: / home / strides Shell: / bin / bash Nigdy nie zalogowany. Bez poczty. Brak planu.

: ~ $ sudo getent passwd legolas
legolas: *: 1004: 63000: Legolas Elf: / home / legolas: / bin / bash

Nadal nie możemy uwierzytelnić się jako użytkownik serwera LDAP. Zanim będziemy musieli zmodyfikować plik /etc/pam.d/wspólna sesja, aby folder użytkownika był tworzony automatycznie po uruchomieniu sesji, jeśli nie istnieje, a następnie ponownie uruchom system:

[----]
wymagana sesja pam_mkhomedir.so skel = / etc / skel / umask = 0022

### Powyższa linia musi być zawarta PRZED
# tutaj są moduły na pakiet (blok „Podstawowy”) [----]

Ponownie uruchamiamy nasze Wheezy:

: ~ # reboot

Po zalogowaniu odłącz sieć za pomocą Menedżera połączeń, wyloguj się i zaloguj ponownie. Szybciej nic. Uruchom w terminalu ifconfig i zobaczą, że eth0 nie jest w ogóle skonfigurowany.

Aktywuj sieć. Wyloguj się i zaloguj ponownie. Sprawdź ponownie za pomocą ifconfig.

Oczywiście, aby pracować w trybie offline, konieczne jest przynajmniej jednokrotne zalogowanie się, gdy OpenLDAP jest w trybie online, aby dane uwierzytelniające zostały zapisane na naszym komputerze.

Nie zapomnijmy, aby użytkownik zewnętrzny zarejestrowany w OpenLDAP był członkiem niezbędnych grup, zawsze zwracając uwagę na użytkownika utworzonego podczas instalacji.

uwaga:

Zadeklaruj opcję ldap_tls_reqcert = nigdy, w pliku /etc/sssd/sssd.conf, stanowi zagrożenie bezpieczeństwa, jak stwierdzono na stronie SSSD - FAQ. Wartość domyślna to «popyt«. Widzieć mężczyzna sssd-ldap. Jednak w rozdziale 8.2.5 Konfigurowanie domen Z dokumentacji Fedory jest powiedziane:

SSSD nie obsługuje uwierzytelniania przez niezaszyfrowany kanał. W związku z tym, jeśli chcesz również uwierzytelniać się na serwerze LDAP TLS/SSL or LDAPS jest wymagane.

dysk SSD nie obsługuje uwierzytelniania przez niezaszyfrowany kanał. Dlatego jeśli chcesz uwierzytelnić się na serwerze LDAP, będzie to konieczne TLS / SLL o LDAP.

Myślimy osobiście że rozwiązanie jest adresowane z punktu widzenia bezpieczeństwa jest on wystarczający dla sieci LAN przedsiębiorstwa. Za pośrednictwem Wioski WWW zalecamy zaimplementowanie szyfrowanego kanału przy użyciu TLS lub «Warstwa bezpieczeństwa transportu »między komputerem klienckim a serwerem.

Staramy się to osiągnąć poprzez prawidłowe generowanie certyfikatów z podpisem własnym lub «Podpisany samodzielnie „Na serwerze ClearOS, ale nie mogliśmy. W rzeczywistości jest to kwestia nierozstrzygnięta. Jeśli jakikolwiek czytelnik wie, jak to zrobić, zapraszam do wyjaśnienia!

debian7.amigos.cu


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.

  1.   Eliotime3000 powiedział

    Doskonałe.

    1.    Federico powiedział

      Pozdrowienia ElioTime3000 i dzięki za komentarz !!!

    2.    Federico powiedział

      Pozdrawiamy eliotime3000 i dziękujemy za pochwałę artykułu !!!

  2.   Kuraj powiedział

    Świetny! Pragnę złożyć ogromne gratulacje autorowi publikacji za podzielenie się swoją ogromną wiedzą oraz blogowi za umożliwienie jej publikacji.

    Dziękujemy!

    1.    Federico powiedział

      Bardzo dziękuję za pochwałę i komentarz !!! Siła, którą mi dajesz, do dalszego dzielenia się wiedzą ze społecznością, w której wszyscy się uczymy.

  3.   fenobarbital powiedział

    Dobry artykuł! Zwróć uwagę, że jeśli chodzi o korzystanie z certyfikatów, podczas generowania certyfikatu należy dodać do konfiguracji ldap (cn = config):

    olcLokalnySSF: 71
    olcTLSCACertificateFile: / ścieżka / do / ca / ​​cert
    olcTLSCertificateFile: / ścieżka / do / public / cert
    olcTLSCertificateKeyFile: / ścieżka / do / prywatny / klucz
    olcTLSVerifyClient: spróbuj
    olcTLSCipherSuite: + RSA: + AES-256-CBC: + SHA1

    Dzięki temu (i wygenerowaniu certyfikatów) będziesz mieć obsługę SSL.

    Pozdrowienia!

    1.    Federico powiedział

      Dziękuję za twój wkład !!! Jednak publikuję 7 artykułów o OpenLDAP w:
      http://humanos.uci.cu/2014/01/servicio-de-directorio-con-ldap-introduccion/
      https://blog.desdelinux.net/ldap-introduccion/
      W nich podkreślam użycie Start TLS przed SSL, które jest zalecane przez openldap.org. Pozdrawiam @phenobarbital i bardzo dziękuję za komentarz.
      Mój email to federico@dch.ch.gob.cuna wypadek, gdybyś chciał wymienić więcej. Uzyskiwanie dostępu do Internetu jest dla mnie bardzo powolne.

    2.    fenobarbital powiedział

      W przypadku protokołu TLS konfiguracja jest taka sama, należy pamiętać, że w przypadku protokołu SSL transport jest przezroczysty w zaszyfrowanym kanale, podczas gdy w przypadku protokołu TLS w przypadku przesyłania danych negocjowane jest szyfrowanie dwukierunkowe; z TLS uzgadnianie może być negocjowane na tym samym porcie (389), podczas gdy z SSL negocjacje są wykonywane na innym porcie.
      Zmień następujące:
      olcLokalnySSF: 128
      olcTLSVerifyClient: zezwalaj
      olcTLSCipherSuite: NORMALNY
      (jeśli masz paranoję w kwestii bezpieczeństwa, z którego korzystasz:
      olcTLSCipherSuite: SECURE256:!AES-128-CBC:!ARCFOUR-128:!CAMELLIA-128-CBC:!3DES-CBC:!CAMELLIA-128-CBC)

      i uruchom ponownie, zobaczysz później z:
      gnutls-cli-debug -p 636 ldap.ipm.org.gt

      Rozwiązywanie „ldap.ipm.org.gt”…
      Sprawdzam obsługę SSL 3.0… tak
      Sprawdzanie, czy wymagany jest% COMPAT… nie
      Sprawdzam obsługę TLS 1.0… tak
      Sprawdzam obsługę TLS 1.1… tak
      Sprawdzanie powrotu z TLS 1.1 do… nie dotyczy
      Sprawdzam obsługę TLS 1.2… tak
      Sprawdzanie obsługi bezpiecznej renegocjacji… tak
      Sprawdzanie obsługi bezpiecznej renegocjacji (SCSV)… tak

      Z włączoną również obsługą TLS, używasz 389 (lub 636) dla TLS i 636 (ldaps) dla SSL; są od siebie całkowicie niezależne i nie trzeba wyłączać jednego, aby używać drugiego.

      Pozdrowienia!