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.
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
orLDAPS
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-!.
Excel·lent.
Salutacions ElioTime3000 i gràcies per comentar !!!
Salutacions eliotime3000 i gràcies per l'elogi a l'article !!!
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!
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.
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!
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.
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!