SWL-netwerk (V): Debian Wheezy en ClearOS. SSSD-authenticatie tegen native LDAP.

Hallo vrienden!. Alsjeblieft, ik herhaal, lees voordat «Inleiding tot een netwerk met gratis software (I): presentatie van ClearOS»En download het ClearOS Step-by-Step installatie-images-pakket (1,1 mega), zodat u weet waar we het over hebben. Zonder die lezing zal het moeilijk zijn om ons te volgen.

Systeembeveiligingsservice Daemon

Het programma SSSD o Daemon voor de systeembeveiligingsservice, is een project van Fedora, die werd geboren uit een ander project -ook uit Fedora- genaamd GratisIPA. Volgens zijn eigen makers zou een korte en vrij vertaalde definitie zijn:

SSSD is een service die toegang biedt tot verschillende identiteits- en authenticatieproviders. Het kan worden geconfigureerd voor een native LDAP-domein (LDAP-gebaseerde identiteitsprovider met LDAP-authenticatie) of voor een LDAP-identiteitsprovider met Kerberos-authenticatie. SSSD biedt de interface naar het systeem via NSS y PAM, en een insteekbare back-end om verbinding te maken met meerdere en verschillende accounts.

We zijn van mening dat we te maken hebben met een uitgebreidere en robuustere oplossing voor de identificatie en authenticatie van geregistreerde gebruikers in een OpenLDAP dan degene die in de voorgaande artikelen zijn behandeld, een aspect dat wordt overgelaten aan het oordeel van iedereen en zijn eigen ervaringen..

De oplossing die in dit artikel wordt voorgesteld, wordt het meest aanbevolen voor mobiele computers en laptops, omdat het ons in staat stelt om zonder verbinding te werken, aangezien de SSSD de inloggegevens op de lokale computer opslaat.

Voorbeeld netwerk

  • Domeincontroller, DNS, DHCP: ClearOS Enterprise 5.2sp1.
  • Controller naam: CentOS
  • Domeinnaam: vrienden.cu
  • Controller IP: 10.10.10.60
  • ---------------
  • Debian-versie: Piepen.
  • Team naam: debian7
  • IP-adres: DHCP gebruiken

We controleren of de LDAP-server werkt

We passen het bestand aan /etc/ldap/ldap.conf en installeer het pakket ldap-utils:

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

Met de laatste twee commando's controleren we de beschikbaarheid van de OpenLDAP-server van onze ClearOS. Laten we de uitvoer van de vorige commando's eens goed bekijken.

Belangrijk: we hebben ook gecontroleerd of de identificatieservice in onze OpenLDAP-server correct werkt.

network-swl-04-gebruikers

We installeren het sssd-pakket

Het wordt ook aanbevolen om het pakket te installeren vinger om cheques drinkbaarder te maken dan de ldapzoeken:

: ~ # aptitude sssd-vinger installeren

Na voltooiing van de installatie wordt de service ssd start niet vanwege een ontbrekend bestand /etc/sssd/sssd.conf. De output van de installatie weerspiegelt dit. Daarom moeten we dat bestand maken en het achterlaten met de extensie volgende minimale inhoud:

: ~ # nano /etc/sssd/sssd.conf
[sssd] config_file_version = 2 services = nss, pam # SSSD zal niet starten als je geen domeinen configureert. # Nieuwe domeinconfiguraties toevoegen als [domein / ] secties, en # voeg vervolgens de lijst met domeinen toe (in de volgorde waarin je ze wilt # bevragen) aan het "domeinen" -attribuut hieronder en verwijder het commentaar. domains = amigos.cu [nss] filter_groups = root filter_users = root reconnection_retries = 3 [pam] reconnection_retries = 3 # LDAP-domein [domein / amigos.cu] id_provider = ldap
auth_provider = ldap
chpass_provider = ldap # ldap_schema kan worden ingesteld op "rfc2307", dat de namen van groepslid opslaat in het kenmerk # "memberuid", of op "rfc2307bis", dat DN's van groepslid opslaat in # het kenmerk "lid". Raadpleeg uw LDAP # -beheerder als u deze waarde niet weet. # werkt met ClearOS ldap_schema = rfc2307
ldap_uri = ldap: //centos.amigos.cu
ldap_search_base = dc = vrienden, dc = cu # Merk op dat het inschakelen van opsomming een matige invloed heeft op de prestaties. # Bijgevolg is de standaardwaarde voor opsomming FALSE. # Refereer naar de sssd.conf man pagina voor volledige details. enumerate = false # Sta offline logins toe door lokaal wachtwoordhashes op te slaan (standaard: false). cache_credentials = true
ldap_tls_reqcert = toestaan
ldap_tls_cacert = /etc/ssl/certs/ca-certificaten.crt

Zodra het bestand is gemaakt, wijzen we de bijbehorende machtigingen toe en starten we de service opnieuw op:

: ~ # chmod 0600 /etc/sssd/sssd.conf
: ~ # service sssd herstart

Als we de inhoud van het vorige bestand willen verrijken, raden we aan om man sssd.conf en / of de bestaande documentatie op internet raadplegen, te beginnen met de links aan het begin van de post. Raadpleeg ook man sssd-ldap. Het pakket ssd bevat een voorbeeld in /usr/share/doc/sssd/examples/sssd-example.conf, die kan worden gebruikt om te verifiëren tegen een Microsoft Active Directory.

Nu kunnen we de meest drinkbare commando's gebruiken vinger y krijgen:

: ~ $ vingerpassen
Login: strides Naam: Strides El Rey Directory: / home / strides Shell: / bin / bash Nooit ingelogd. Geen mail. Geen plan.

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

We kunnen nog steeds niet verifiëren als gebruiker van de LDAP-server. Voordat we het bestand moeten wijzigen /etc/pam.d/common-session, zodat de map van de gebruiker automatisch wordt gemaakt wanneer u uw sessie start, als deze niet bestaat, en vervolgens het systeem opnieuw opstart:

[----]
sessie vereist pam_mkhomedir.so skel = / etc / skel / umask = 0022

### De bovenstaande regel moet VOOR worden opgenomen
# hier zijn de modules per pakket (het "Primaire" blok) [----]

We herstarten onze Wheezy:

: ~ # herstart

Na het inloggen verbreekt u de verbinding met het netwerk met de Connection Manager en logt u uit en weer in. Niets sneller. Ren in een terminal ifconfig en ze zullen zien dat de eth0 het is helemaal niet geconfigureerd.

Activeer het netwerk. Log uit en log opnieuw in. Controleer opnieuw met ifconfig.

Om offline te werken, is het natuurlijk noodzakelijk om minstens één keer in te loggen terwijl OpenLDAP online is, zodat de inloggegevens op onze computer worden opgeslagen.

Laten we niet vergeten om de externe gebruiker die is geregistreerd in OpenLDAP lid te maken van de benodigde groepen, waarbij we altijd op de gebruiker letten die tijdens de installatie is gemaakt.

notitie:

Verklaar optie ldap_tls_reqcert = nooit, in het bestand /etc/sssd/sssd.conf, vormt een veiligheidsrisico zoals vermeld op de pagina SSSD - Veelgestelde vragen. De standaardwaarde is «vraag«. Zien man sssd-ldap. In het hoofdstuk 8.2.5 Domeinen configureren Vanuit de Fedora-documentatie wordt het volgende gevraagd:

SSSD ondersteunt geen authenticatie via een niet-gecodeerd kanaal. Dus als u zich wilt authenticeren tegen een LDAP-server, ofwel TLS/SSL or LDAPS Is benodigd.

SSSD het ondersteunt geen authenticatie via een niet-versleuteld kanaal. Als u zich daarom wilt authenticeren tegen een LDAP-server, is dit noodzakelijk TLS / SLL o LDAP.

Wij denken persoonlijk dat de oplossing was gericht het is voldoende voor een Enterprise LAN, vanuit veiligheidsoogpunt. Via WWW Village raden we aan om een ​​versleuteld kanaal te implementeren met TLS of «Transportbeveiligingslaag », tussen de clientcomputer en de server.

We proberen dit te bereiken door het correct genereren van zelfondertekende certificaten of «Zelf ondertekend “Op de ClearOS-server, maar dat lukte niet. Het is inderdaad een hangende kwestie. Als een lezer weet hoe het moet, leg het dan uit!

debian7.amigos.cu


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: Miguel Ángel Gatón
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.

  1.   eliotime3000 zei

    Excellent.

    1.    Federico zei

      Groeten ElioTime3000 en bedankt voor je reactie !!!

    2.    Federico zei

      Groeten eliotime3000 en bedankt voor de lof voor het artikel !!!

  2.   koerayi zei

    Uitstekend! Ik wil de auteur van de publicatie enorm feliciteren voor het delen van zijn enorme kennis en de blog voor het toestaan ​​van publicatie ervan.

    Dank je wel!

    1.    Federico zei

      Heel erg bedankt voor je lof en commentaar !!! Kracht die je mij geeft om kennis te blijven delen met de gemeenschap, waarin we allemaal leren.

  3.   fenobarbital zei

    Goed artikel! Merk op dat wat betreft het gebruik van certificaten, u bij het genereren van het certificaat moet toevoegen aan de ldap-configuratie (cn = config):

    olcLocalSSF: 71
    olcTLSCACertificateFile: / pad / naar / ca / ​​cert
    olcTLSCertificateFile: / pad / naar / openbaar / cert
    olcTLSCertificateKeyFile: / pad / naar / privé / sleutel
    olcTLSVerifyClient: probeer
    olcTLSCipherSuite: + RSA: + AES-256-CBC: + SHA1

    Hiermee (en het genereren van de certificaten) heb je SSL-ondersteuning.

    Groeten!

    1.    Federico zei

      Bedankt voor je bijdrage !!! Ik publiceer echter 7 artikelen over OpenLDAP in:
      http://humanos.uci.cu/2014/01/servicio-de-directorio-con-ldap-introduccion/
      https://blog.desdelinux.net/ldap-introduccion/
      Daarin leg ik de nadruk op het gebruik van Start TLS vóór SSL, wat wordt aanbevolen door openldap.org. Groeten @phenobarbital, en heel erg bedankt voor je reactie.
      Mijn email is federico@dch.ch.gob.cu, voor het geval je meer wilt ruilen. Toegang tot internet is erg traag voor mij.

    2.    fenobarbital zei

      Voor TLS is de configuratie hetzelfde, rekening houdend met het feit dat met SSL het transport transparant wordt gemaakt over een versleuteld kanaal, terwijl in TLS een tweerichtingsversleuteling wordt onderhandeld voor het transport van gegevens; met TLS kan de handshake worden onderhandeld op dezelfde poort (389) terwijl met SSL de onderhandeling plaatsvindt op een alternatieve poort.
      Verander het volgende:
      olcLocalSSF: 128
      olcTLSVerifyClient: toestaan
      olcTLSCipherSuite: NORMAAL
      (als je paranoïde bent over beveiliging, gebruik je:
      olcTLSCipherSuite: SECURE256:!AES-128-CBC:!ARCFOUR-128:!CAMELLIA-128-CBC:!3DES-CBC:!CAMELLIA-128-CBC)

      en herstart, je zult later zien met:
      gnutls-cli-debug -p 636 ldap.ipm.org.gt

      'Ldap.ipm.org.gt' oplossen…
      Controleren op SSL 3.0-ondersteuning… ja
      Controleren of% COMPAT vereist is… nee
      Controleren op TLS 1.0-ondersteuning… ja
      Controleren op TLS 1.1-ondersteuning… ja
      Terugval van TLS 1.1 naar… n.v.t. controleren
      Controleren op TLS 1.2-ondersteuning… ja
      Controleren op ondersteuning voor veilige heronderhandelingen ... ja
      Controleren op ondersteuning voor veilige heronderhandeling (SCSV)… ja

      Met welke TLS-ondersteuning ook is ingeschakeld, gebruikt u 389 (of 636) voor TLS en 636 (ldaps) voor SSL; ze zijn volledig onafhankelijk van elkaar en u hoeft de ene niet uitgeschakeld te hebben om de andere te gebruiken.

      Groeten!