Samba, OpenLDAP, Kerberos: creare un controller di dominio sicuro con Debian Lenny: differenze tra le versioni

Vai alla navigazione Vai alla ricerca
tolto "Stub"
(tolto "Stub")
 
(4 versioni intermedie di uno stesso utente non sono mostrate)
Riga 1: Riga 1:
{{stub}}
{{Versioni compatibili|Lenny}}
{{Versioni compatibili|Lenny}}
==Versioni compatibili==
==Versioni compatibili==
Riga 242: Riga 241:
</pre>
</pre>
Durante l'installazione verranno richieste alcune informazioni necessarie a configurare il server LDAP. In particolare verrà richiesto il nome del dominio che può essere un dominio interno completamente inventato (es. miodominio.tld) o un dominio internet valido. La scelta è legata a politiche organizzative aziendali e tecniche che richiederebbero una trattazione approfondita e che esula da questo HOWTO.<br/>
Durante l'installazione verranno richieste alcune informazioni necessarie a configurare il server LDAP. In particolare verrà richiesto il nome del dominio che può essere un dominio interno completamente inventato (es. miodominio.tld) o un dominio internet valido. La scelta è legata a politiche organizzative aziendali e tecniche che richiederebbero una trattazione approfondita e che esula da questo HOWTO.<br/>
Nei file riportati si considera che il dominio specificato è <tt>dominio.local</tt>, un dominio interno non valido per Internet.
Nei file riportati si considera che il dominio specificato è <code>dominio.local</code>, un dominio interno non valido per Internet.
In seguito verrà richiesta la password per l'utente amministratore. Scegliete una password particolarmente sicura, in quanto tramite essa si potrà avere accesso completo alla gestione degli utenti del vostro dominio e, pertanto, accedere a qualsiasi sistema presente sulla vostra rete. Questa password, inoltre, verrà utilizzata anche in seguito in alcuni file di configurazione, pertanto è bene ricordarsela.<br/>
In seguito verrà richiesta la password per l'utente amministratore. Scegliete una password particolarmente sicura, in quanto tramite essa si potrà avere accesso completo alla gestione degli utenti del vostro dominio e, pertanto, accedere a qualsiasi sistema presente sulla vostra rete. Questa password, inoltre, verrà utilizzata anche in seguito in alcuni file di configurazione, pertanto è bene ricordarsela.<br/>
Come nome dell'organizzazione mettete una descrizione della vostra organizzazione: Rete LAN di Dominio.<br/>
Come nome dell'organizzazione mettete una descrizione della vostra organizzazione: Rete LAN di Dominio.<br/>
Riga 324: Riga 323:
</pre>
</pre>
===Configurazione===
===Configurazione===
Copiare i file <tt>smbldap.conf</tt> e <tt>smbldap_bind.conf</tt> in <tt>/etc/smbldap-tools</tt>.
Copiare i file <code>smbldap.conf</code> e <code>smbldap_bind.conf</code> in <code>/etc/smbldap-tools</code>.
<pre>
<pre>
# zcat /usr/share/doc/smbldap-tools/examples/smbldap.conf.gz > /etc/smbldap-tools/smbldap.conf
# zcat /usr/share/doc/smbldap-tools/examples/smbldap.conf.gz > /etc/smbldap-tools/smbldap.conf
# cp /usr/share/doc/smbldap-tools/examples/smbldap_bind.conf /etc/smbldap-tools/smbldap_bind.conf
# cp /usr/share/doc/smbldap-tools/examples/smbldap_bind.conf /etc/smbldap-tools/smbldap_bind.conf
</pre>
</pre>
Modificare il file <tt>/etc/smbldap-tools/smbldap_bind.conf</tt> inserendo il DN dell'amministratore del server LDAP e la sua password. Il DN dell'amministratore è stato impostato automaticamente durante l'installazione del pacchetto Debian di slapd e corrisponde a <nowiki>"cn=admin,dc=dominio,dc=local"</nowiki>, in cui il dominio dipende dalle configurazioni sopra riportate per il server LDAP. La password è quella richiesta in fase di installazione del server LDAP.<br/>
Modificare il file <code>/etc/smbldap-tools/smbldap_bind.conf</code> inserendo il DN dell'amministratore del server LDAP e la sua password. Il DN dell'amministratore è stato impostato automaticamente durante l'installazione del pacchetto Debian di slapd e corrisponde a <nowiki>"cn=admin,dc=dominio,dc=local"</nowiki>, in cui il dominio dipende dalle configurazioni sopra riportate per il server LDAP. La password è quella richiesta in fase di installazione del server LDAP.<br/>
Se non si è sicuri del DN da inserire lanciare il comando:
Se non si è sicuri del DN da inserire lanciare il comando:
<pre>
<pre>
Riga 359: Riga 358:
e copiare o prendere nota del codice che viene restituito.
e copiare o prendere nota del codice che viene restituito.
<br/>
<br/>
Modificare il file <tt>/etc/smbldap-tools/smbldap.conf</tt> inserendo il SID appena ottenuto. Il contenuto completo del file dovrebbe essere il seguente:<br/>
Modificare il file <code>/etc/smbldap-tools/smbldap.conf</code> inserendo il SID appena ottenuto. Il contenuto completo del file dovrebbe essere il seguente:<br/>
<code>'''/etc/smbldap-tools/smbldap.conf'''</code>:
<code>'''/etc/smbldap-tools/smbldap.conf'''</code>:
<pre>
<pre>
Riga 520: Riga 519:
slapcat > ~/slapd.ldif
slapcat > ~/slapd.ldif
</pre>
</pre>
Adesso dobbiamo recuperare gli schemi mancanti, che aggiungeremo poi alla configurazione di LDAP, e copiare in <tt>/etc/ldap/schema</tt> lo schema LDAP necessario per SAMBA.
Adesso dobbiamo recuperare gli schemi mancanti, che aggiungeremo poi alla configurazione di LDAP, e copiare in <code>/etc/ldap/schema</code> lo schema LDAP necessario per SAMBA.
<pre>
<pre>
# wget http://www.pepinet.com/download/samba/hdb.schema -P /etc/ldap/schema/
# wget http://www.pepinet.com/download/samba/hdb.schema -P /etc/ldap/schema/
Riga 531: Riga 530:
</pre>
</pre>
e prendete nota del risultato.<br/>
e prendete nota del risultato.<br/>
Ora occorre modificare pesantemente il file di configurazione di slapd (<tt>/etc/ldap/slapd.conf</tt>) aggiungendo diverse sezioni. Il contenuto del file dovrebbe essere il seguente:<br/>
Ora occorre modificare pesantemente il file di configurazione di slapd (<code>/etc/ldap/slapd.conf</code>) aggiungendo diverse sezioni. Il contenuto del file dovrebbe essere il seguente:<br/>
<code>'''/etc/ldap/sldap.conf'''</code>:
<code>'''/etc/ldap/sldap.conf'''</code>:
<pre>
<pre>
Riga 758: Riga 757:


==Configurazione dei client per LDAP==
==Configurazione dei client per LDAP==
Ogni volta che un client accede ad un server LDAP deve impostare la base di ricerca e, nel caso si trovi su un server differente, l'URL del server LDAP. Queste informazioni possono essere impostate come default nel file <tt>/etc/ldap/ldap.conf</tt> aggiungendo le righe:
Ogni volta che un client accede ad un server LDAP deve impostare la base di ricerca e, nel caso si trovi su un server differente, l'URL del server LDAP. Queste informazioni possono essere impostate come default nel file <code>/etc/ldap/ldap.conf</code> aggiungendo le righe:
* '''<tt>/etc/ldap/ldap.conf</tt>'''
* '''<code>/etc/ldap/ldap.conf</code>'''
<pre>
<pre>
HOST server.dominio.local
HOST server.dominio.local
Riga 886: Riga 885:
# ldapsearch -x
# ldapsearch -x
</pre>
</pre>
La risposta deve essere un file LDIF. Se invece si ottiene un errore di connessione ricontrollare tutte le impostazioni e i file di log. Per controllare il funzionamento di <tt>slapd</tt> può sempre tornare utile fermare il servizio e farlo partire, anziché con gli script standard Debian con il comando:
La risposta deve essere un file LDIF. Se invece si ottiene un errore di connessione ricontrollare tutte le impostazioni e i file di log. Per controllare il funzionamento di <code>slapd</code> può sempre tornare utile fermare il servizio e farlo partire, anziché con gli script standard Debian con il comando:
<pre>
<pre>
# slapd -d 256
# slapd -d 256
Riga 1 066: Riga 1 065:


==Configurazione di Samba==
==Configurazione di Samba==
Prima di iniziare a configurare Samba è necessario creare le directory nelle quali risiederanno le homes degli utenti, gli script di netlogon e i profili centralizzati (o profili roaming). Alcune di queste directory sono già state indicate nel file <tt>/etc/smbldap-tools/smbldap.conf</tt>, quindi è bene stare attenti a non commettere errori.<br/>
Prima di iniziare a configurare Samba è necessario creare le directory nelle quali risiederanno le homes degli utenti, gli script di netlogon e i profili centralizzati (o profili roaming). Alcune di queste directory sono già state indicate nel file <code>/etc/smbldap-tools/smbldap.conf</code>, quindi è bene stare attenti a non commettere errori.<br/>
<pre>
<pre>
# mkdir /dominio
# mkdir /dominio
Riga 1 074: Riga 1 073:
# mkdir /dominio/pubblica
# mkdir /dominio/pubblica
</pre>
</pre>
La configurazione di Samba si riduce a modificare il file <tt>/etc/samba/smb.conf</tt>. State attenti: il file è molto lungo ed è facile tralasciare qualcosa o inserire opzioni in conflitto tra loro. Per iniziare ci si basi sul file di esempio, funzionante e testato, riportato di seguito con gli opportuni commenti:
La configurazione di Samba si riduce a modificare il file <code>/etc/samba/smb.conf</code>. State attenti: il file è molto lungo ed è facile tralasciare qualcosa o inserire opzioni in conflitto tra loro. Per iniziare ci si basi sul file di esempio, funzionante e testato, riportato di seguito con gli opportuni commenti:
<pre>
<pre>
# mv /etc/samba/smb.conf /etc/samba/smb.conf.original
# mv /etc/samba/smb.conf /etc/samba/smb.conf.original
Riga 1 381: Riga 1 380:
Per creare i gruppi predefiniti e gli utenti utilizzati da Samba è possibile procedere in due modi.
Per creare i gruppi predefiniti e gli utenti utilizzati da Samba è possibile procedere in due modi.
===1 - Utilizzo degli script forniti con smbldap-tools===
===1 - Utilizzo degli script forniti con smbldap-tools===
La prima via consiste nel fare uso di alcuni script forniti con il pacchetto <tt>smbldap-tools</tt> che abbiamo già installato:
La prima via consiste nel fare uso di alcuni script forniti con il pacchetto <code>smbldap-tools</code> che abbiamo già installato:
<pre>
<pre>
# smbldap-populate -a root -k 0 -m 0
# smbldap-populate -a root -k 0 -m 0
Riga 1 528: Riga 1 527:
* Account LDAP per root cn=admin,dc=dominio,dc=local
* Account LDAP per root cn=admin,dc=dominio,dc=local
* Password LDAP di root: password
* Password LDAP di root: password
A questo punto bisogna modificare il file <tt>/etc/nsswitch.conf</tt> cambiando le tre linee
A questo punto bisogna modificare il file <code>/etc/nsswitch.conf</code> cambiando le tre linee
<pre>
<pre>
passwd: compat
passwd: compat
Riga 1 907: Riga 1 906:
# /etc/init.d/winbind stop
# /etc/init.d/winbind stop
</pre>
</pre>
e modifichiamo il file <tt>/etc/samba/smb.conf</tt> con le seguenti direttive:
e modifichiamo il file <code>/etc/samba/smb.conf</code> con le seguenti direttive:
<pre>
<pre>
[global]
[global]
Riga 1 977: Riga 1 976:
</pre>
</pre>
Affinché un utente sia riconosciuto correttamente da Samba deve essere anche un utente di sistema, pertanto occorre configurare il sistema affinché peschi la lista degli utenti dal server di dominio via LDAP, esattamente come era avvenuto per il server di dominio.<br/>
Affinché un utente sia riconosciuto correttamente da Samba deve essere anche un utente di sistema, pertanto occorre configurare il sistema affinché peschi la lista degli utenti dal server di dominio via LDAP, esattamente come era avvenuto per il server di dominio.<br/>
Installare il pacchetto '''libnss-ldap''' e configurarlo in modo da puntare al server LDAP installato sul PDC (<tt>ldap://10.0.0.11</tt>) e fornendo la base LDAP corretta (dc=dominio,dc=local) e la corretta password dell'amministratore del database ldap.
Installare il pacchetto '''libnss-ldap''' e configurarlo in modo da puntare al server LDAP installato sul PDC (<code>ldap://10.0.0.11</code>) e fornendo la base LDAP corretta (dc=dominio,dc=local) e la corretta password dell'amministratore del database ldap.
<pre>
<pre>
# apt-get install libnss-ldap
# apt-get install libnss-ldap
Riga 2 114: Riga 2 113:
===Offline Physical Backup===
===Offline Physical Backup===
Un offline physical backup deve essere effettuato sul server stesso. Lo svantaggio di questo tipo di backup è che il server LDAP non sarà disponibile per l'intera durata del processo.
Un offline physical backup deve essere effettuato sul server stesso. Lo svantaggio di questo tipo di backup è che il server LDAP non sarà disponibile per l'intera durata del processo.
# Stopare il server LDAP: <tt>/usr/sbin/rcldap stop</tt>
# Stopare il server LDAP: <code>/usr/sbin/rcldap stop</code>
# Copiare tutti i files in /var/lib/ldap/ dentro una directory di backup
# Copiare tutti i files in /var/lib/ldap/ dentro una directory di backup
# Riavviare il server LDAP: <tt>/usr/sbin/rcldap start</tt>
# Riavviare il server LDAP: <code>/usr/sbin/rcldap start</code>


===Offline Logical Backup===
===Offline Logical Backup===
Questo tipo di backup, noto anche come '''database dump''' richiede sempre l'arresto del servizio LDAP:
Questo tipo di backup, noto anche come '''database dump''' richiede sempre l'arresto del servizio LDAP:
# <tt>/usr/sbin/rcldap stop</tt>
# <code>/usr/sbin/rcldap stop</code>
# <tt>slapcat >ldap.\$(date +'\%Y\%m\%d-\%T')</tt> Questo comando genera nella directory corrente un file LDIF che può successivamente essere archiviato
# <code>slapcat >ldap.\$(date +'\%Y\%m\%d-\%T')</code> Questo comando genera nella directory corrente un file LDIF che può successivamente essere archiviato
# <tt>/usr/sbin/rcldap start</tt>
# <code>/usr/sbin/rcldap start</code>


===Online Backup===
===Online Backup===
Questo tipo di backup, a differenza dei precedenti, utilizza LDAP stesso per effettuare il dump dei dati del database e quindi, pur appensantendo il server, non richiede l'arresto del servizio.
Questo tipo di backup, a differenza dei precedenti, utilizza LDAP stesso per effettuare il dump dei dati del database e quindi, pur appensantendo il server, non richiede l'arresto del servizio.
# <tt>ldapsearch -h LDAPServer -x -b baseDN > ldap.\$(date +'\%Y\%m\%d-\%T')</tt><br/>
# <code>ldapsearch -h LDAPServer -x -b baseDN > ldap.\$(date +'\%Y\%m\%d-\%T')</code><br/>
dove <tt>LDAPServer</tt> è il nome del server e <tt>baseDN</tt> è il distinguished name (DN) della struttura LDAP, nel nostro caso <tt>dc=dominio,dc=local</tt>
dove <code>LDAPServer</code> è il nome del server e <code>baseDN</code> è il distinguished name (DN) della struttura LDAP, nel nostro caso <code>dc=dominio,dc=local</code>
===Database Restore===
===Database Restore===
# Per ripristinare un offline backup:
# Per ripristinare un offline backup:
## <tt>/usr/sbin/rcldap stop</tt>
## <code>/usr/sbin/rcldap stop</code>
## copiare i files salvati in <code>/var/lib/ldap</code> (Se Offline Physical Backup)
## copiare i files salvati in <code>/var/lib/ldap</code> (Se Offline Physical Backup)
## <tt>slapadd -l nome_del_backupfile</tt> (Se Offline Logical Backup)
## <code>slapadd -l nome_del_backupfile</code> (Se Offline Logical Backup)
## <tt>/usr/sbin/rcldap start</tt>
## <code>/usr/sbin/rcldap start</code>
# Per ripristinare un online backup:
# Per ripristinare un online backup:
## <tt>ldapadd -D adminDN -x -w adminPassword -h LDAPServer -x -f nome_del_backupfile</tt><br/>
## <code>ldapadd -D adminDN -x -w adminPassword -h LDAPServer -x -f nome_del_backupfile</code><br/>
dove <tt>adminDN</tt> è nel nostro caso dn=admin,dc=dominio,dc=local
dove <code>adminDN</code> è nel nostro caso dn=admin,dc=dominio,dc=local


==Replica del database LDAP su un altro server==
==Replica del database LDAP su un altro server==
Riga 2 256: Riga 2 255:
[[Samba: guida estesa]]<br/>
[[Samba: guida estesa]]<br/>
[[Samba: creare un cestino di rete per le condivisioni]]<br />
[[Samba: creare un cestino di rete per le condivisioni]]<br />
[[ClamAV: scansione antivirus delle condivisioni samba]]
[[ClamAV: scansione antivirus delle condivisioni Samba]]


=Credits=
==Credits==
* [http://stefano.dscnet.org/howto/samba-pdc-ldap-kerberos/node1.html Samba PDC con LDAP e Kerberos] di Stefano Sasso
* [http://stefano.dscnet.org/howto/samba-pdc-ldap-kerberos/node1.html Samba PDC con LDAP e Kerberos] di Stefano Sasso
* [[Samba e OpenLDAP: creare un controller di dominio con Debian Lenny]]
* [[Samba e OpenLDAP: creare un controller di dominio con Debian Lenny]]
<br/>
 
{{Box|NOTE|Autore: [[Utente:Ferdybassi|Ferdybassi]]}}
{{Autori
----
|Autore=[[Utente:Ferdybassi|Ferdybassi]]
}}
 
[[Categoria:Reti con Windows]][[Categoria:Samba]]
[[Categoria:Reti con Windows]][[Categoria:Samba]]
6 999

contributi

Menu di navigazione