Xarxa SWL (V): Debian Wheezy i ClearOS. Autenticació SSSD contra LDAP natiu.

Hola amics !. Si us plau, repeteixo, llegeixin abans «Introducció a una Xarxa amb Programari Lliure (I): Presentació de l'ClearOS»I descarreguin el paquet de les imatges d'instal·lació Pas a Pas de l'ClearOS (1,1 mega), per estar assabentats del que estem parlant. Sense aquesta lectura serà difícil seguir-nos.

Dimoni del servei de seguretat del sistema

El programa SSSD o Dimoni per al Servei de Seguretat de l'Sistema, És un projecte de Fedora, Que va néixer d'un altre projecte -també de Fedora- denominat IPA gratuïta. Segons els seus propis creadors, una curta i lliurement traduïda definició seria:

SSSD és un servei que proveeix l'accés a diferents proveïdors d'identitat i autenticació. Es pot configurar per a un domini LDAP natiu (proveïdor d'identitat basat en LDAP amb autenticació mitjançant LDAP), o per a un proveïdor d'identitat LDAP amb autenticació mitjançant Kerberos. SSSD proveeix la interfície a el sistema mitjançant NSS y PAM, I un Back End insertable per connectar-se a múltiples i diferents orígens de comptes.

Opinem que estem davant d'una solució més integral i robusta per a la identificació i autenticació d'usuaris registrats en un OpenLDAP, que les abordades en els articles precedents, aspecte que queda a criteri de cadascú ia les seves pròpies experiències.

La solució plantejada en aquest article és la més recomanada per equips mòbils i laptos, ja que ens permet treballar desconnectats, ja que el SSSD emmagatzema les credencials a l'equip local.

Xarxa d'exemple

  • Controlador de Domini, DNS, DHCP: ClearOS Enterprise 5.2sp1.
  • Nom de l'Controlador: centos
  • Nom de l'Domini: amics.cu
  • IP de l'Controlador: 10.10.10.60
  • ---------------
  • Versió de Debian: Wheezy.
  • Nom de l'equip: debian7
  • adreça IP: mitjançant DHCP

Vam comprovar que el servidor LDAP estigui funcionant

Modifiquem el fitxer /etc/ldap/ldap.conf i instal·lem el paquet ldap-utils:

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

Amb els dos últims ordres, vam comprovar la disponibilitat de servidor OpenLDAP del nostre ClearOS. Observem molt bé les sortides dels comandaments anteriors.

Important: hem comprovat també que el Servei d'Identificació al nostre servidor OpenLDAP funciona correctament.

xarxa-SWL-04-usuaris

Instal·lem el paquet sssd

També és recomanable instal·lar el paquet dit per fer comprovacions més potables que el ldapsearch:

: ~ # Aptitude install sssd finger

A l'acabar la instal·lació, el servei sssd no s'inicia a causa que falta el fitxer /etc/sssd/sssd.conf. La sortida de la instal·lació ho reflecteix. Per això, hem de crear aquest arxiu i ho deixem amb el següent contingut mínim:

: ~ # Nano /etc/sssd/sssd.conf
[Sssd] config_file_version = 2 services = nss, pam # SSSD will not start if you do not configuri any domains. # Add new domain configurations es [domain / ] Sections, and # then add the list of domains (in the order you want them to be # queried) to the "domains" attribute below and uncomment it. domains = amigos.cu [nss] filter_groups = root filter_users = root reconnection_retries = 3 [pam] reconnection_retries = 3 # LDAP domain [domain / amigos.cu] id_provider = ldap
auth_provider = ldap
chpass_provider = ldap # ldap_schema can be setembre to "rfc2307", which stores group member names in the # "memberuid" attribute, or to "rfc2307bis", which stores group member DN in # the "member" attribute. If you do not know this value, ask your LDAP # administrator. # Funciona amb ClearOS ldap_schema = rfc2307
ldap_uri = ldap: //centos.amigos.cu
ldap_search_base = dc = amics, dc = cu # Note that enabling enumeration will have a moderate performance impact. # Consequently, the default value for enumeration is FALSE. # Refer to the sssd.conf man page for full details. enumerate = false # Allow offline logins by locally storing password hashes (default: false). cache_credentials = true
ldap_tls_reqcert = allow
ldap_tls_cacert = /etc/ssl/certs/ca-certificates.crt

Creat el arxiu li assignem els permisos corresponents i reiniciem el servei:

: ~ # Chmod 0600 /etc/sssd/sssd.conf
: ~ # Service sssd restart

Si volem enriquir el contingut de l'arxiu anterior, recomanem executin home sssd.conf i / o consulteu la documentació existent a Internet, començant pels enllaços reflectits a l'inici de l'post. també consultin home sssd-ldap. el paquet sssd inclou un exemple en /usr/share/doc/sssd/examples/sssd-example.conf, Que pot servir per autenticar contra un Directori Actiu de Microsoft.

Ara podem utilitzar les ordres més potables dit y getent:

: ~ $ Finger gambades
Login: gambades Name: Trancos El Rei Directory: / home / gambades Shell: / bin / bash Never logged in. No mail. No Pla.

: ~ $ Sudo getent passwd legolas
legolas: *: 1004: 63000: Legolas L'Elfo: / home / legolas: / bin / bash

Encara no podem autenticar com un usuari de el servidor LDAP. Abans hem de modificar el fitxer /etc/pam.d/common-session, Perquè es creï automàticament la carpeta de l'usuari a l'iniciar la seva sessió, en cas que no existeixi, i després reiniciar el sistema:

[----]
session required pam_mkhomedir.so skel = / etc / skel / umask = 0022

### La línia anterior s'ha d'incloure ABANS de
# Here are the per-package modules (the "Primary" block) [----]

Reiniciem el nostre Wheezy:

: ~ # Reboot

Després d'iniciar una sessió, desconnectin la xarxa mitjançant l'Administrador de Connexions i tanquin la sessió i tornin a entrar. Més ràpid res. S'executin en una terminal ifconfig i veuran que la eth0 no està per a res configurada.

Activin la xarxa. Tanquin sessió i iniciïn sessió novament. Comproveu de nou amb ifconfig.

Per descomptat que, per treballar desconnectat, cal iniciar sessió al menys un cop estant el OpenLDAP en línia, perquè es guardin les credencials al nostre equip.

No oblidem fer membre a l'usuari extern registrat al OpenLDAP dels grups necessaris, fixant-nos sempre per l'usuari creat durant la instal·lació.

Nota:

Declarar l'opció ldap_tls_reqcert = mai, A l'arxiu /etc/sssd/sssd.conf, Constitueix un risc de seguretat segons s'afirma a la pàgina SSSD - FAQ. El valor per defecte és «demanda«. Consulti home sssd-ldap. No obstant això, en el capítol 8.2.5 Configuring Domains de la documentació de Fedora, es planteja el següent:

SSSD no suporta l'authentication over unencrypted channel. Consequently, if you want to authenticate agastan LDAP server, either TLS/SSL or LDAPS es requereix.

SSSD no suporta l'autenticació sobre una cadena no encriptat. Per tant, si vostè vol autenticar contra un servidor LDAP, caldrà TLS / SLL o LDAP.

personalment opinem que la solució abordada és suficient per a una LAN Empresarial, des del punt de vista de la seguretat. A través de l'Aldea WWW, recomanem implementar un canal encriptat mitjançant TLS O"Transport Security Layer », Entre l'equip client i el servidor.

El tractem d'aconseguir a partir de la correcta generació de certificats Acte Signats o «Autosignat «Al servidor ClearOS, però no vam poder. És de fet una assignatura pendent. Si algun lector coneix el com fer-ho, benvingut sigui a explicar-!.

debian7.amics.cu


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.

  1.   eliotime3000 va dir

    Excel·lent.

    1.    federico va dir

      Salutacions ElioTime3000 i gràcies per comentar !!!

    2.    federico va dir

      Salutacions eliotime3000 i gràcies per l'elogi a l'article !!!

  2.   kurayi va dir

    Excel·lent! Vull fer-li arribar una enorme felicitació a l'autor de la publicació per compartir el seu vast coneixement i a l'bloc per permetre la publicació de la mateixa.

    Moltes gràcies!

    1.    federico va dir

      Moltes gràcies per la seva elogi i comentari !!!. Força que em dones per continuar compartint coneixements amb la comunitat, en la qual tots aprenem.

  3.   fenobarbital va dir

    Bon article !, fixa't que pel que fa a l'ús de certificats, quan generes el certificat has afegir a la configuració de l'ldap (cn = config):

    olcLocalSSF: 71
    olcTLSCACertificateFile: / path / to / a / cert
    olcTLSCertificateFile: / path / to / public / cert
    olcTLSCertificateKeyFile: / path / to / private / key
    olcTLSVerifyClient: try
    olcTLSCipherSuite: + RSA: + AES-256-CBC: + SHA1

    Amb això (i generant els certificats) tindràs suport SSL.

    Salutacions!

    1.    federico va dir

      Gràcies per la teva aportació !!!. No obstant això, public 7 articles sobre el OpenLDAP a:
      http://humanos.uci.cu/2014/01/servicio-de-directorio-con-ldap-introduccion/
      https://blog.desdelinux.net/ldap-introduccion/
      En ells faig èmfasi en l'ús de Start TLS abans que SSL, que és el recomanat per la openldap.org. Salutacions @phenobarbital, i moltes gràcies per fer comentaris.
      El meu mail és federico@dch.ch.gob.cu, Per si vols intercanviar més. Em resulta molt lent el accedir a Internet.

    2.    fenobarbital va dir

      Per TLS la configuració és la mateixa, recordant que amb SSL es fa el transport transparent sobre un canal xifrat, mentre que a TLS es negocia un xifrat de doble via per al transport de dades; amb TLS el handshake es pot negociar en el mateix port (389) mentre que amb SSL es fa la negociació en un port alternatiu.
      Canvia el següent:
      olcLocalSSF: 128
      olcTLSVerifyClient: allow
      olcTLSCipherSuite: NORMAL
      (Si ets paranoic de la seguretat fas servir:
      olcTLSCipherSuite: SECURE256:!AES-128-CBC:!ARCFOUR-128:!CAMELLIA-128-CBC:!3DES-CBC:!CAMELLIA-128-CBC)

      i reinicies, veuràs després amb:
      GnuTLS-cli-debug -p 636 ldap.ipm.org.gt

      Resolving 'ldap.ipm.org.gt' ...
      Checking for SSL 3.0 support ... yes
      Checking whether% compat is required ... no
      Checking for TLS 1.0 support ... yes
      Checking for TLS 1.1 support ... yes
      Checking fallback from TLS 1.1 to ... N / A
      Checking for TLS 1.2 support ... yes
      Checking for Safe renegotiation support ... yes
      Checking for Safe renegotiation support (SCSV) ... yes

      Amb la qual cosa el suport a TLS també queda habilitat, uses 389 (o 636) per TLS i 636 (ldaps) per SSL; són completament independents un de l'altre i no necessites tenir desactivat un per utilitzar l'altre.

      Salutacions!