Repository 32bit  Forum
Repository 64bit  Wiki

Autenticazione con LDAP per Samba

Da Slacky.eu.


WORK IN PROGRESS

Indice

Introduzione

Come installare e configurare samba come controllore di dominio di primo livello.

Questa guida descrive come installare e configurare Samba come PDC autenticando gli utenti con LDAP. Il sistema imposta un potente e sicuro file/print server oltre ad un robusto Directory Server.

Inoltre il server samba fa anche da logon server per i client Windows® che con l'aiuto dei “logons script” accedono automaticamente ai propri dischi condivisi in base al base al gruppo di appartenenza.

Prima di cominciare

Questa guida descrive come integrare ldap in Samba, quindi mostra:

  • come installare e configurare ldap (installando e configurando OpenLDAP, gli script IDEALX per samba, i file slapd.conf e /etc/ldap.conf, Pluggable Authentication Modules (PAM) e infine avvio di OpenLDAP);
  • come installare e configurare samba (installazione e avvio di samba, creazione delle cartelle e dei dischi condivisi, configurazione del file smb.conf e impostazione del database delle password LDAP, inizializzazione del database e integrazione di PAM, aggiunta di utenti e workstation windows® nella Directory;
  • come abilitare e testare la sicurezza del sistema (TLS per OpenLDAP, PAM e Samba).

Prerequisiti

Sono necessari una buona conoscenza dei sistemi UNIX®/LINUX® dal punto di vista della shell (riga di comando) e nozioni anche di base di networking e di prommazione in python o perl (per la creazione degli logon script, qui è stato usato python).

La distribuzione di riferimento è una Fedora Core 5, però la procedura qui descritta funziona su tutte le altre distribuzioni (es. Slackware®) e le varianti UNIX® come AIX e HP-UX.

È racomandato procurasi una versione precompilata dei pacchetti per la propria distribuzione (es .rpm per Red Hat® e derivati oppure .tgz per Slackware® e derivati).

I programmi usati sono i seguenti:

  • OpenSSL;
  • OpenLDAP;
  • Samba;
  • Modulo Perl Crypt::SmbHash;
  • Module Perl Digest::SHA1;
  • Modulo Perl IO::Socket::SSL;
  • Modulo Perl Net::SSLeay.

Schema della rete

La semplicità della rete in esame la rende facilmente adattabile ad una piccola rete domestica. E' stato usato un router a banda larga con firewall integrato.

     +------------+
     |  PC LINUX  |
     | con Server |
     |    Samba   |
     +------+-----+        +----------+               __________
            |              |  ROUTER  |              |          |
-----+------+------+-------+    +     +---- >> --- >>| INTERNET |
     |             |       | FIREWALL |              |__________|
+----+----+   +----+----+  +----------+
| WINDOWS |   | WINDOWS |
| CLIENT  |   | CLIENT  |
+---------+   +---------+

Questa picola rete ha tre gruppi: finanze, ricerca e amministrazione.

Gli utenti dei gruppi finanze e ricerca hanno dei dischi condivisi in cui salvare i propri file; i membri dei due gruppi hanno solo accesso alle condivisioni del proprio gruppo.

Gli utenti del gruppo amministrazione hanno dei dischi accessibili solo dgli amministratori, hanno però dei privileggi che consentono loro di accedere alle condivisioni sia di finanze sia di ricerca.

Introduzione a LDAP

LDAP : Lightweight Directory Access Protocol, è un protollo per far comunicare più computer con un Directory Server (rfc 1777 e 2251); è stato progettato per permettere un accesso leggero ad alberi derivati da Directory X.500 OSI Directory Access Protocol (DAP).

I dati sono organizzati in una struttura gerarchica (con supporto nativo della replicazione) e non di tabelle come nei DBMS relazionali.

Una Directory è una collezione gerarchica di oggetti e di attributi associati agli ogetti stessi.

Esempio di Directory:

              _
             (_) dc=vicenza, dc=linux, dc=it

              |
              |
    +---------+---------+
    |         |         |
    |         |         |
    _         _         _
   (_)       (_)       (_) ou=soci, dc=vicenza, dc=linux, dc=it

                        |
                        |
              +---------+---------+
              |         |         |
              |         |         |
              _         _         _
             (_)       (_)       (_) cn=ottavio, ou=soci, dc=vicenza, dc=linux, dc=it

Integrazione LDAP - SAMBA

Esistono tre principali punti d'integrazione di Samba in un server LDAP:

  • il primo è l'inclusione dello schema samba nel server LDAP;
  • il secondo è la configurazione di samba per autenticare via il server LDAP, grazie all'utility PAM che crea uno strato di astrazione nel processo di autenticazione, nascondendone la complessità (decidendo ad esempio se usare un file, LDAP, oppure un altro meccanismo di autenticazione);
  • il terzo consiste nel usare un insieme di strumenti: i così detti “ IDEALX LDAP toolkit per Samba” prodotti da terzi, ma rilasciati sotto licenza GPL.
Strumenti personali
Namespace

Varianti