Rete SWL (V): Debian Wheezy e ClearOS. Autenticazione SSSD contro LDAP nativo.

Ciao amici!. Per favore, ripeto, leggi prima «Introduzione a una rete con software libero (I): presentazione di ClearOS»E scarica il pacchetto di immagini di installazione Step-by-Step di ClearOS (1,1 mega), per essere consapevole di ciò di cui stiamo parlando. Senza quella lettura sarà difficile seguirci.

Daemon del servizio di sicurezza del sistema

Il programma SSSD o Daemon per il servizio di sicurezza del sistema, è un progetto di Fedora, che nasceva da un altro progetto -anche Fedora- chiamato IPA gratuito. Secondo i suoi stessi creatori, una definizione breve e tradotta liberamente sarebbe:

SSSD è un servizio che fornisce l'accesso a diversi provider di identità e autenticazione. Può essere configurato per un dominio LDAP nativo (provider di identità basato su LDAP con autenticazione LDAP) o per un provider di identità LDAP con autenticazione Kerberos. SSSD fornisce l'interfaccia al sistema tramite NSS y PAMe un back-end inseribile per connettersi a origini di account multiple e diverse.

Crediamo di essere di fronte a una soluzione più completa e robusta per l'identificazione e l'autenticazione degli utenti registrati in un OpenLDAP, rispetto a quelle trattate negli articoli precedenti, aspetto che è lasciato alla discrezione di ognuno e delle proprie esperienze.

La soluzione proposta in questo articolo è la più consigliata per computer portatili e laptop, poiché ci permette di lavorare in disconnessione, poiché l'SSSD memorizza le credenziali sul computer locale.

Rete di esempio

  • Controller di dominio, DNS, DHCP: Clear OS Enterprise 5.2sp1.
  • Nome del controller: CentOS
  • Nome del dominio: friends.cu
  • IP del controller: 10.10.10.60
  • ---------------
  • Versione Debian: ansimante.
  • Nome della squadra: debian7
  • indirizzo IP: Utilizzando DHCP

Controlliamo che il server LDAP funzioni

Modifichiamo il file /etc/ldap/ldap.conf e installa il pacchetto ldap-utils:

: ~ # nano /etc/ldap/ldap.conf
[----] BASE dc = amici, 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 = passi avanti '
: ~ $ ldapsearch -x -b dc = friends, dc = cu 'uid = legolas' cn gidNumber

Con gli ultimi due comandi controlliamo la disponibilità del server OpenLDAP del nostro ClearOS. Diamo una buona occhiata agli output dei comandi precedenti.

Importante: abbiamo anche verificato che il servizio di identificazione nel nostro server OpenLDAP funzioni correttamente.

network-swl-04-utenti

Installiamo il pacchetto sssd

Si consiglia inoltre di installare il pacchetto dito per rendere i controlli più bevibili rispetto al ldapsearch:

: ~ # aptitude installa sssd finger

Al termine dell'installazione, il servizio sss non si avvia a causa di un file mancante /etc/sssd/sssd.conf. L'output dell'installazione riflette questo. Pertanto, dobbiamo creare quel file e lasciarlo con l'estensione contenuto minimo successivo:

: ~ # nano /etc/sssd/sssd.conf
[sssd] config_file_version = 2 services = nss, pam # SSSD non verrà avviato se non si configura alcun dominio. # Aggiungi nuove configurazioni di dominio come [dominio / ] e # quindi aggiungi l'elenco dei domini (nell'ordine in cui vuoi che vengano # interrogati) all'attributo "domini" di seguito e rimuovi il commento. 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
provider_auth = ldap
chpass_provider = ldap # ldap_schema può essere impostato su "rfc2307", che memorizza i nomi dei membri del gruppo # nell'attributo "memberuid", o su "rfc2307bis", che memorizza i DN dei membri del gruppo # nell'attributo "member". Se non conosci questo valore, chiedi al tuo amministratore LDAP #. # funziona con ClearOS ldap_schema = rfc2307
ldap_uri = ldap: //centos.amigos.cu
ldap_search_base = dc = friends, dc = cu # Notare che l'abilitazione dell'enumerazione avrà un impatto moderato sulle prestazioni. # Di conseguenza, il valore predefinito per l'enumerazione è FALSE. # Fare riferimento alla pagina man sssd.conf per i dettagli completi. enumerate = false # Consente gli accessi offline archiviando localmente gli hash delle password (impostazione predefinita: false). cache_credentials = true
ldap_tls_reqcert = consenti
ldap_tls_cacert = /etc/ssl/certs/ca-certificates.crt

Una volta creato il file, assegniamo i permessi corrispondenti e riavviamo il servizio:

: ~ # chmod 0600 /etc/sssd/sssd.conf
: ~ # riavvio del servizio sssd

Se vogliamo arricchire il contenuto del file precedente, consigliamo di eseguire uomo sssd.conf e / o consultare la documentazione esistente su Internet, a partire dai link all'inizio del post. Consultare anche uomo sssd-ldap. Il pacchetto sss include un esempio in /usr/share/doc/sssd/examples/sssd-esempio.conf, che può essere utilizzato per eseguire l'autenticazione su Microsoft Active Directory.

Ora possiamo usare i comandi più bevibili dito y getente:

: ~ $ passi delle dita
Accesso: strides Nome: Strides El Rey Directory: / home / strides Shell: / bin / bash Non è mai stato effettuato l'accesso. Nessuna posta. Nessun piano.

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

Non siamo ancora in grado di autenticarci come utente del server LDAP. Prima dobbiamo modificare il file /etc/pam.d/sessione-comune, in modo che la cartella dell'utente venga creata automaticamente quando si avvia la sessione, se non esiste, e quindi si riavvia il sistema:

[----]
sessione richiesta pam_mkhomedir.so skel = / etc / skel / umask = 0022

### La riga sopra deve essere inclusa PRIMA
# ecco i moduli per pacchetto (il blocco "Primario") [----]

Riavvia il nostro Wheezy:

: ~ # riavvia

Dopo aver effettuato l'accesso, disconnettersi dalla rete utilizzando Connection Manager, disconnettersi e accedere nuovamente. Niente più veloce. Corri in un terminale ifconfig e vedranno che il file eth0 non è affatto configurato.

Attiva la rete. Esci e accedi di nuovo. Controlla di nuovo con ifconfig.

Ovviamente, per lavorare offline, è necessario accedere almeno una volta mentre OpenLDAP è online, in modo che le credenziali vengano salvate sul nostro computer.

Non dimentichiamo di rendere l'utente esterno registrato in OpenLDAP un membro dei gruppi necessari, prestando sempre attenzione all'utente creato durante l'installazione.

Nota:

Dichiara l'opzione ldap_tls_reqcert = mai, nel File /etc/sssd/sssd.conf, costituisce un rischio per la sicurezza come indicato nella pagina SSSD - Domande frequenti. Il valore predefinito è «domanda«. Vedere uomo sssd-ldap. Tuttavia, nel capitolo 8.2.5 Configurazione dei domini Dalla documentazione di Fedora, si afferma quanto segue:

SSSD non supporta l'autenticazione su un canale non crittografato. Di conseguenza, anche se desideri autenticarti su un server LDAP TLS/SSL or LDAPS è richiesto.

SSSD non supporta l'autenticazione su un canale non crittografato. Pertanto, se desideri autenticarti su un server LDAP, sarà necessario TLS / SLL o LDAP.

Lo pensiamo personalmente che la soluzione ha affrontato è sufficiente per una LAN aziendale, dal punto di vista della sicurezza. Attraverso il WWW Village, consigliamo di implementare un canale crittografato utilizzando TLS o «Livello di sicurezza dei trasporti », tra il computer client e il server.

Cerchiamo di ottenere questo risultato dalla corretta generazione di certificati autofirmati o «Autografato “Sul server ClearOS, ma non potevamo. Si tratta infatti di una questione in sospeso. Se qualche lettore sa come farlo, benvenuto a spiegarlo!

debian7.amigos.cu


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile dei dati: Miguel Ángel Gatón
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.

  1.   eliotime3000 suddetto

    Eccellente.

    1.    federico suddetto

      Un saluto ElioTime3000 e grazie per il commento !!!

    2.    federico suddetto

      Un saluto eliotime3000 e grazie per gli apprezzamenti dell'articolo !!!

  2.   kurayi suddetto

    Eccellente! Desidero porgere i miei più grandi complimenti all'autore della pubblicazione per aver condiviso la sua vasta conoscenza e al blog per aver permesso la pubblicazione.

    Grazie mille!

    1.    federico suddetto

      Grazie mille per la tua lode e commento !!! Forza che mi dai per continuare a condividere la conoscenza con la comunità, in cui tutti impariamo.

  3.   fenobarbital suddetto

    Buon articolo! Nota che riguardo all'uso dei certificati, quando generi il certificato devi aggiungere alla configurazione ldap (cn = config):

    olcSSF locale: 71
    olcTLSCACertificateFile: / path / to / ca / ​​cert
    olcTLSCertificateFile: / path / to / public / cert
    olcTLSCertificateKeyFile: / path / to / private / key
    olcTLSVerifyClient: prova
    olcTLSCipherSuite: + RSA: + AES-256-CBC: + SHA1

    Con questo (e generando i certificati) avrai il supporto SSL.

    Saluti!

    1.    federico suddetto

      Grazie per il tuo contributo !!! Tuttavia, pubblico 7 articoli su OpenLDAP in:
      http://humanos.uci.cu/2014/01/servicio-de-directorio-con-ldap-introduccion/
      https://blog.desdelinux.net/ldap-introduccion/
      In essi sottolineo l'uso di Start TLS prima di SSL, che è consigliato da openldap.org. Saluti @phenobarbital e grazie mille per il commento.
      La mia email è federico@dch.ch.gob.cu, nel caso in cui desideri scambiare di più. L'accesso a Internet è molto lento per me.

    2.    fenobarbital suddetto

      Per TLS la configurazione è la stessa, ricordando che con SSL il trasporto è reso trasparente su un canale crittografato, mentre in TLS viene negoziata una crittografia bidirezionale per il trasporto dei dati; con TLS l'handshake può essere negoziato sulla stessa porta (389) mentre con SSL la negoziazione si fa su una porta alternativa.
      Modificare quanto segue:
      olcSSF locale: 128
      olcTLSVerifyClient: consenti
      olcTLSCipherSuite: NORMALE
      (se sei paranoico riguardo alla sicurezza usi:
      olcTLSCipherSuite: SECURE256:!AES-128-CBC:!ARCFOUR-128:!CAMELLIA-128-CBC:!3DES-CBC:!CAMELLIA-128-CBC)

      e riavvia, vedrai in seguito con:
      gnutls-cli-debug -p 636 ldap.ipm.org.gt

      Risoluzione di "ldap.ipm.org.gt" in corso ...
      Controllo del supporto SSL 3.0 ... sì
      Verificare se è richiesto% COMPAT… no
      Controllo del supporto TLS 1.0 ... sì
      Controllo del supporto TLS 1.1 ... sì
      Controllo del fallback da TLS 1.1 a… N / A
      Controllo del supporto TLS 1.2 ... sì
      Verifica del supporto per la rinegoziazione sicura ... sì
      Verifica del supporto per la rinegoziazione sicura (SCSV) ... sì

      Con il quale è abilitato anche il supporto per TLS, si utilizza 389 (o 636) per TLS e 636 (ldaps) per SSL; sono completamente indipendenti l'uno dall'altro e non è necessario che uno sia disabilitato per usare l'altro.

      Saluti!