Repository 32bit  Forum
Repository 64bit  Wiki

Autenticazione con LDAP per Samba: differenze tra le versioni

Da Slacky.eu.
(Schema della rete)
(Integrazione LDAP - SAMBA)
Riga 97: Riga 97:
* 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 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.
* 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.
  +
  +
== Configurazione di LDAP ==
  +
  +
=== Installazione di OpenLDAP ===
  +
  +
Per installare OpenLDAP verificare che nella propria distribuzione non sia già installato, con i seguenti comandi:
  +
  +
rpm -qa | grep ldap
  +
  +
se non si ottiene un risultato simile a openladp-2.3.24 o superiore sarà necessario scaricarlo su uno dei
  +
mirror e installarlo con il comando:
  +
  +
rpm -ivh openladp-2.3.24-2.i386.rpm
  +
  +
oppure usando YUM (il sistema di aggiornamento online di fedora, qui non ne parleremo).
  +
  +
Questo è un esempio output che ottengo sulla mia Slackware:
  +
  +
root@chrix:~# ls /var/log/packages/ | grep -i ldap
  +
nss_ldap-244-i486-1wsa
  +
openldap-2.3.24-i486-2kjz
  +
  +
in caso contrario è possibile scaricare il pacchetto precompilato su uno dei repository di Slackware oppure installarlo direttamente con swaret o altri strumenti di aggiornamento online.
  +
  +
=== Installazione degli smbldap-tools ===
  +
  +
Essi sono richiesti per automatizzare la maggior parte delle interazioni tra samba e il server LDAP, contengono ad esempio script che samba richiama automaticamente per aggiungere/rimuovere utenti e/o gruppi, agiungere computer... Sono scritti in perl e quindi eseguibili da shell. Di solito sono già inclusi in vari distribuzioni col pacchetto samba, questo è l'output che ottengo sulla mia Slackware:
  +
  +
root@chrix:~# cd /usr/share/doc/samba-3.0.21c/examples/LDAP/smbldap-tools-0.9.1
  +
root@chrix:~# ls
  +
CONTRIBUTORS INSTALL doc/ smbldap-groupshow smbldap-userdel smbldap_bind.conf
  +
COPYING Makefile smb.conf smbldap-passwd smbldap-userinfo smbldap_tools.pm
  +
ChangeLog README smbldap-groupadd smbldap-populate smbldap-usermod
  +
FILES TODO smbldap-groupdel smbldap-tools.spec smbldap-usershow
  +
INFRA configure.pl smbldap-groupmod smbldap-useradd smbldap.conf

Versione delle 08:30, 25 set 2006


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.

Configurazione di LDAP

Installazione di OpenLDAP

Per installare OpenLDAP verificare che nella propria distribuzione non sia già installato, con i seguenti comandi:

rpm -qa | grep ldap

se non si ottiene un risultato simile a openladp-2.3.24 o superiore sarà necessario scaricarlo su uno dei mirror e installarlo con il comando:

rpm -ivh openladp-2.3.24-2.i386.rpm 

oppure usando YUM (il sistema di aggiornamento online di fedora, qui non ne parleremo).

Questo è un esempio output che ottengo sulla mia Slackware:

root@chrix:~# ls /var/log/packages/ | grep -i ldap
nss_ldap-244-i486-1wsa
openldap-2.3.24-i486-2kjz

in caso contrario è possibile scaricare il pacchetto precompilato su uno dei repository di Slackware oppure installarlo direttamente con swaret o altri strumenti di aggiornamento online.

Installazione degli smbldap-tools

Essi sono richiesti per automatizzare la maggior parte delle interazioni tra samba e il server LDAP, contengono ad esempio script che samba richiama automaticamente per aggiungere/rimuovere utenti e/o gruppi, agiungere computer... Sono scritti in perl e quindi eseguibili da shell. Di solito sono già inclusi in vari distribuzioni col pacchetto samba, questo è l'output che ottengo sulla mia Slackware:

root@chrix:~# cd /usr/share/doc/samba-3.0.21c/examples/LDAP/smbldap-tools-0.9.1
root@chrix:~# ls
CONTRIBUTORS  INSTALL       doc/              smbldap-groupshow   smbldap-userdel   smbldap_bind.conf
COPYING       Makefile      smb.conf          smbldap-passwd      smbldap-userinfo  smbldap_tools.pm
ChangeLog     README        smbldap-groupadd  smbldap-populate    smbldap-usermod
FILES         TODO          smbldap-groupdel  smbldap-tools.spec  smbldap-usershow
INFRA         configure.pl  smbldap-groupmod  smbldap-useradd     smbldap.conf
Strumenti personali
Namespace

Varianti