Your SlideShare is downloading. ×
0
Integrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBA
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Integrazione di rete Windows Linux con SAMBA

2,115

Published on

Integrazione di rete Windows Linux con SAMBA, Panoramica su SAMBA: software per la condivisione di file (ma non solo) tra Linux e Windows, Contesto,Funzionalità …

Integrazione di rete Windows Linux con SAMBA, Panoramica su SAMBA: software per la condivisione di file (ma non solo) tra Linux e Windows, Contesto,Funzionalità
Cenni sulla configurazione, Potenzialità, Linux Day 2004 Perugia, Claudio Cardinali

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
2,115
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
36
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1.  
  • 2. Integrazione di rete Windows / Linux Introduzione a SAMBA
    • Panoramica su SAMBA: software per la condivisione di file (ma non solo) tra Linux e Windows
    • Contesto
    • 3. Funzionalità
    • 4. Cenni sulla configurazione
    • 5. Potenzialità
  • 6. PMI: Situazione attuale... Server (Microsoft) Clients Printer Scanner
  • 7. PMI: il futuro PROSSIMO Server Linux Clients Printer Scanner
  • 8. PMI: il futuro più lontano... Server Linux Clients Printer Scanner
  • 9. I vantaggi di Linux
    • Risparmio - No licenze & hardware richiesto meno potente
    • 10. Stabilità e Robustezza - Architettura Unix-like, modello di security consolidato.
    • 11. Open Source! - Codice visibile (quindi niente virus,spyware, adaware...) - Indipendenza dai vendor
    • 12. Integrazione
    • 13. User friendly (ora)
  • 14. Costi Licenze File Server Windows 2000 Server Server Linux + Samba > 600 euro 0 euro
  • 15. SAMBA
    • Permette la condivisione di file e stampanti su protocollo SMB (Microsoft)
    • 16. Gestisce l'autenticazione di utenti Windows e Linux in modo integrato
    • 17. Può essere configurato come - Gruppo di lavoro - Dominio (PDC) - Server integrato in un dominio già esistente
    • 18. E' trasparente all'utente finale
  • 19. Demoni di Samba Un server Samba si compone di due principali demoni: smbd questo demone è responsabile della gestione delle risorse condivise , siano esse dischi o stampanti tra il server Samba e i suoi client, della gestione di tutti i messaggi di notifica , dell' autenticazione degli utenti . nmbd questo demone è responsabile del servizio di risoluzione dei nomi NetBIOS e di assistenza al browsing delle risorse . Questo demone è in realtà un semplice name server che imita le funzionalità di un WINS o di un NetBIOS name server. Si occupa inoltre di mantenere una lista per il browse delle risorse di rete e partecipa alla scelta del browsing. Se attivo il server WINS nmbd tiene il database dei nomi e degli indirizzi in un file chiamato wins.dat . Un demone nmbd può anche rispondere alle richieste del protocollo di browsing delle Risorse di Rete di Windows. Se nmbd è il master browser locale mantiene i databases di browsing nel file browse.dat.
  • 20. Installazione SAMBA debian: apt-get install ...... [*] File Server
    • samba – a Lan Manager like file e printer server for unix
    • 21. samba doc – Samba documentation
    • 22. smbclient – a Lan Manager linke simple client for unix
    • 23. smbfs – mount and umount commands for the smbfs
    • 24. swat – Samba web Administrator Tool
  • 25. Installazione SAMBA tramite RPM Disponibile in pacchetti con binari precompilati per le distribuzioni (RedHat, Fedora, Mandrake, SuSe,…) L'installazione completa di samba via RPM richiede più package scaricabili da repository come http://www.rpmfind.net oppure tramite apt-get e yum Supponiamo di aver scaricato i seguenti RPM:
    • Package principale contenente documentazione, manuali e binari per attivare il servizio.
    samba-x.x.x.i386.rpm
    • Package contenente le utility e relativi manuali per il mounting delle share
    samba-client-x.x.x.i386.rpm
    • Package contenente file di necessari sia al client che al server come l'utility smbpasswd o le code pages
    samba-common-x.x.x.i386.rpm
    • Utility per la configurazione di samba via web
    samba-swat-x.x.x.i386.rpm
  • 26. Installazione di tutti i vari rpm relativi a samba # rpm -Uhv samba-*.rpm Preparing... ########################################### [100%] 1:samba-common ########################################### [ 25%] 2:samba ########################################### [ 50%] 3:samba-client ########################################### [ 75%] 4:samba-swat ########################################### [100%]
  • 27. Gestione del servizio smb Per la gestione del servizio ci si può appoggiare allo script: /etc/init.d/smb o samba , specificando come parametro l'azione da eseguire, esempio start, stop o restart. Per richiamare le singole opzioni utilizzabili lanciare lo script senza argomenti # /etc/init.d/smb Usage: /etc/init.d/smb {start|stop|restart|reload|status|condrestart} Esempi di avvio, restart e stop # /etc/init.d/smb start Starting SMB services: [ OK ] Starting NMB services: [ OK ] # /etc/init.d/smb restart Shutting down SMB services: [ OK ] Shutting down NMB services: [ OK ] Starting SMB services: [ OK ] Starting NMB services: [ OK ] # /etc/init.d/smb stop Shutting down SMB services: [ OK ] Shutting down NMB services:
  • 28. smb.conf
    • La configurazione di Samba (i demoni smbd e nmbd) viene gestita dal file smb.conf , un normale file di testo ASCII con queste caratteristiche di massima:
    • 29. I parametri di configurazione vengono forniti nella forma opzione = valore
    • 30. Il file viene diviso in più sezioni che definiscono una share (condivisione), oltre alla sezione generale [global] . Ogni sezione si indica fra parentesi quadre: [printers]
    • 31. Possono essere utilizzate delle variabili, precedute dal simbolo percento ( % ) all'interno dei valori (es: path = /home/%u )
    • 32. Si può includere a smb.conf un altro file di configurazione con l'opzione include (es: include = /etc/samba/smb.conf.%a )
  • 33. Esempio base
    • Esempio di configurazione di un workgroup con una cartella condivisa, senza restrizioni di accesso
    File /etc/samba/smb.conf [global] workgroup = WORKGROUP security = share [condivisa] comment = Area di lavoro condivisa path = /shared/condivisa read only = no guest ok = yes
  • 34. Esempio base fileserver:~# smbclient -L fileserver Got a positive name query response from 127.0.0.1 ( 192.168.1.1 ) Password: Anonymous login successful Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.0.7-2] Sharename Type Comment --------- ---- ------- condivisa Disk Area di lavoro condivisa IPC$ IPC IPC Service (Samba 3.0.7-2) ADMIN$ Disk IPC Service (Samba 3.0.7-2) Server Comment --------- ------- FILESERVER Samba 3.0.7-2 P3 Workgroup Master --------- ------ WORKGROUP FILESERVER
  • 35. Esempio base Avvio dei demoni smbd e nmbd: # /etc/init.d/samba start ...Starting Samba daemons: nmbd smbd. Samba è ora pronto ad accettare connessioni… – infatti dal client Windows:
  • 36. Samba come PDC L’utilizzo del concetto di WORKGROUP può non essere sufficiente in reti aziendali. E’ quindi auspicabile l’utilizzo del DOMINIO che presenta vantaggi considerevoli quali: – Roaming Profiles – Sicurezza – Policy definite dall’amministratore – Script di logon
  • 37. Samba come PDC Samba agisce come Primary Domain Controller sostituendo il ruolo di Windows 2000 Server nella rete. Un esempio di configurazione classico: [global] netbios name = FILESERVER workgroup = MIODOMINIO encrypt password = yes domain master = yes local master = yes preferred master = yes os level = 65 security = user domain logons = yes
  • 38. /profiles E' possibile specificare tramite la share [profile] la risorsa che dovrà fungere da repository per tutti i roaming profile. Questa share non deve essere visualizzata nelle risorse dispobilli del server ma deve essere possibile scriverci. [profile] comment = Profili Utenti path = /share/profile create mode = 0600 directory mode = 0700 writable = yes browsable = no
  • 39. /netlogon Share indispensabile nel caso in cui samba server faccia da PDC, permette il logon dei client nel dominio. Questa share deve avere le seguenti caratteristiche: - Il nome non è modificabile, [netlogon] - Non è possibile visualizzarla e scriverci. - Non è possibile accederci come utente guest. [netlogon] Comment = share to domain logon path = /share/netlogon public = no writable = no browsable = no
  • 40. [homes] Home Share che visualizza in modo automatico la home dell'utente, senza dover mettere le relative entry nel file smb.conf per i singoli utenti. Tale share che prende il nome dell'utente è visibile e scrivibile solo dall'utente con cui si è eseguito il login sul server. [homes] comment = Home Directories valid users = %S read only = No create mask = 0664 directory mask = 0775 browseable = No
  • 41. Opzione “veto files” in smb.conf Esiste la possibilità di vietare il salvataggio di files con una determinata estensione in una cartella condivisa tramite SAMBA. Occorre semplicemente aggiungere nella sezione [global] del file smb.conf (/etc/samba/smb.conf) il seguente parametro: veto files = /*.mp3/ /*.wav/ /*.mpeg/ /*.avi/ In questo caso non è permesso il salvataggio di files con estensione: mp3, wav, mpeg ed avi.
  • 42. Samba come PDC Ora il dominio è pronto, aggiungiamo i client:
  • 43. Samba Backend Ovvero “ i database per le informazioni sugli account ”. Samba-3 implementa una nuova caratteristica: Le nuove possibili combinazioni di backend per la gestione delle password con un guadagno in termini di flessibilità, affidbilità e scalabilità.
  • 44. /smbpasswd
    • Questa opzione permette di continuare ad usare il file smbpasswd che, con una struttura in semplice testo ASCII ,
    • 45. include le password criptate di MS Windows e NT, oltre ad un campo per alcune informazioni sull'account.
    • 46. La natura del backend di password non permette di immagazzinare nessuna delle informazioni SAM ( Security Account Manager - Gestore degli account di sicurezza) di Windows NT/2000 necessarie
    • 47. usato solo per compatibilità all'indietro con vecchie versioni di Samba.
    • 48. Potrebbe essere reso obsoleto nei rilasci futuri.
  • 49. Nuovi backend Samba 3 introduce la capacità di appoggiarsi a diversi nuovi backend di password.
  • 53. tdbsam (1/2)
    • Samba può immagazzinare i dati degli account per gli utenti e le macchine in un TDB (Trivial Database -- database banale).
    • 54. Non è adatto ad installazioni con controllori di dominio multipli (ad esempio, PDC più uno o più BDC ).
    • 55. Immagazzina le vecchie informazioni di smbpasswd più le informazioni SAM estese di MS Windows NT / 2000 in un file binario di formato TDB.
    • 56. L'inclusione delle informazioni estese rende possibile a Samba-3 implementare gli stessi controlli di accesso al sistema che sono possibili con i sistemi basati su MS Windows NT4/2000.
  • 57. tdbsam (2/2)
    • La disponibilità dell'opzione tdbsam è la risposta diretta agli utenti che chiedevano un sistema per gestire con semplicità un sito senza il sovraccarico della complessità di OpenLDAP.
    • 58. Si raccomanda l'uso di questa opzione solo per i siti con meno di 250 utenti.
    • 59. Per i siti più grandi si raccomanda l'uso di OpenLDAP.
  • 60. ldapsam
    • Fornisce un ricco backend basato su un servizio di directory per installazioni con account distribuiti.
    • 61. Samba-3 fornisce una nuova implementazione estesa di LDAP che richiede la configurazione di OpenLDAP.
    • 62. Il file con lo schema di nuovo formato è incluso nella directory examples/LDAP nella distribuzione Samba.
    • 63. La nuova implementazione di LDAP estende significativamente la capacità di controllo disponibili nelle versioni precedenti di Samba. Adesso è possibile specificare configurazioni dei profili , directory home , controlli di accesso all'account e molto altro utente per utente.
  • 64. mysqlsam (backend basato su MySQL)
    • Ci si aspetta che SAM basato su MySQL sarà molto popolare, in alcune nicchie.
    • 65. Questo backend basato su un database sarà di grande interesse per i siti che vogliono far leva sulla tecnologia MySQL pre-esistente.
  • 66. xmlsam (file di dati basato su XML)
    • permette che i dati degli account e delle password siano immagazzinati in un file di dati in formato XML.
    • 67. L'opzione xmlsam può essere utile per la migrazioni di account da un backend di database all'altro o per backup.
    • 68. L'uso di questo strumento permette di editare i dati prima della migrazione ad un altro backend.
  • 69. Strumenti per la gestione degli account
    • Samba fornisce due strumenti per la gestione degli account utente e macchina. Questi strumenti sono chiamati:
    • 70. smbpasswd
    • 71. pdbedit
    • 72. Un terzo strumento è in sviluppo ma non si prevede che sia distribuito in tempo per Samba-3.0.0. Il nuovo strumento una GUI TCL/TK molto somigliante al Domain User Manager di MS Windows NT4.
  • 73. Il comando smbpasswd
    • Simile al comando passwd di unix (utilizzo e sintassi)
    • 74. Funziona secondo lo schema client-server (contatta il server smbd locale per cambiare la password dell'utente)
    • 75. Gestione degli utenti:
    • Aggiunta/Cancellazione Account utente o Macchina
    • 76. Abilita/Disabilità account utente o macchina
    • 77. pone a NULL password utente
    • 78. gestisce gli account di trust interdominio
    Per maggiori informazioni sull'uso di si rimanda alle pagine man.
  • 79. Il comando pdbedit
    • Solo root può usare.
    • 80. Amministrare il backend di password tdbsam
    • 81. Gestione utenti ( User Management Account )
    • 82. Creazione/Cancellazione/Modifica Account utente.
    • 83. Elenca gli account utente
    • 84. Migrazione account utente (prossima slide)
    • 85. Lo strumento pdbedit è l'unico in grado di gestire le impostazioni di sicurezza e le policy degli account . è capace di svolgere tutte le operazioni di smbapasswd e un loro sovrainsieme.
  • 86. pdbedit migrazione db
    • Lo strumento pdbedit permette la migrazione dei database di autenticazione (account) da un backend ad un altro.
    • 87. Per esempio: per migrare gli account dal vecchio database smbpasswd al nuovo backend tdbsam
    • 88. Imposta il backend di passdb = tdbsam, smbpasswd
    Eseguire:
    • pdbedit -i smbpassed -e tdbsam
    • 89. Ora rimuovere smbpasswd dalla configurazione dei backend di passdb in smb.conf
  • 90. Privacy 2004 : misure minime di sicurezza (D.Lgs. n. 196/2003)
    • Credenziali di autenticazione
    • 91. Codice di identificazione (User name o User-ID) + parola chiave (Password o PW), conosciuta solo dall’incaricato.
    • 92. La parola chiave lunga almeno 8 caratteri, non contiene riferimenti agevolmente riconducibili all’incaricato.
    • 93. La parola chiave è modificata dall’incaricato al primo utilizzo.
    • 94. La parola chiave viene modificata dall’incaricato almeno ogni 6 mesi, almeno ogni 3 mesi se dati sensibili.
    • 95. ... Allegato B Decr. legisl. 196/03
  • 96. pdbedit account policy
  • 105. Segue un esempio dell'elenco delle informazione utente immagazzinate in un backend di password tdbsam. L'elenco è creato con l'esecuzione di: pdbedit -Lv claudio Unix username: claudio NT username: Account Flags: [U ] User SID: S-1-5-21-3204212905-2946271072-3972271682-2000 Primary Group SID: S-1-5-21-3204212905-2946271072-3972271682-512 Full Name: Claudio Cardinali Home Directory: serverclaudio.profile HomeDir Drive: H: Logon Script: logon.bat Profile Path: serverprofilesclaudio Domain: STUDIO Account desc: Claudio Cardinali Workstations: Munged dial: Logon time: 0 Logoff time: ven, 13 dic 1901 21:45:51 GMT Kickoff time: 0 Password last set: mer, 13 ott 2004 12:19:43 GMT Password can change: mer, 13 ott 2004 12:19:43 GMT Password must change: ven, 13 dic 1901 21:45:51 GMT Last bad password : 0 Bad password count : 0 Logon hours : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
  • 106. srvtools
  • 107. LDAP
  • 108. Cosa è LDAP ?
    • LDAP = Lightweight Directory Access Protocol
    • 109. E' un protocollo che permette di accedere ad un servizio di directory (inteso come elenco dati) e far comunicare più computer con un directory server.
    • 110. LDAP parte da un modello di dati stabiliti dallo standard X.500 ed implementa un protocollo di accesso semplificato basato sul TCP/IP (389,636) stanadardizzato dall'RFC 2251.
  • 111. Cosa è una directory
    • E' una collezione gerarchica di oggetti e di diritti associati agli oggetti stessi un po' come le directory di un filesystem che contengono informazioni più descrittive basate su attributi.
    • 112. Un elenco LDAP è generalmente concepito per fornire una responsività alle richieste di lettura e ricerca , può essere facilmente replicato e supporta la distribuzione del carico .
    • 113. Il server di OpenLDAP si chiama slapd
  • 114. Differenze tra ldap e database relazionali
    • Ldap è stato progettato per basi di dati che devono essere letti spesso e aggiornati meno frequentemente. E' quindi ottimizzato per permettere letture veloci a discapito della velocità di scrittura.
    • 115. I dati sono organizzati in una struttura gerarchica e non in tabelle.
  • 116. Esempio di directory dc=fileserver, dc=csolution, dc=it ou=utenti, dc=fileserver, dc=csolution, dc=it ou=gruppi, dc=fileserver, dc=csolution, dc=it cn=Claudio, ou=utenti, dc=fileserver, dc=csolution, dc=it
  • 117. I Backend Slapd ha la possibilità di usare diversi tipi di database come backend in cui memorizare tutte le informazioni necessarie come:
    • LDBM (Lightweight DBM) : formato predefinito basato du BDB.
    • 118. BDB (Berckley Batabase) : vecchio formato basato su bdb.
    • 119. Ldap : server funziona in modalità proxy.
    • 120. Sql : come gateway tra applicazioni e db.
    Assumeremo l'utilizzo del backend LDBM come di default...
  • 121. Backend: il formato LDIF
    • Per importare/esportare dati tra i vari server LDAP-based o per descrivere una serie di cambiamenti da applicare ad una directory si utilizza un formato conosciuto come LDIF (LDAP Data Interchange Format).
    • 122. Un file LDIF memorizza informazioni in una gerarchia di “entry object-oriented”.
    • 123. Tutti i pacchetti LDAP dispongono di utility che convertono i file LDIF nel formato BDB.
  • 124. Esempio file LDIF
    • Un tipico file LDIF somiglia al seguente:
    dn: o=csolution, c=it o: csolution objectclass: organization dn: cn=Claudio Cardinali, o=csolution, c=it cn: Claudio Cardinali sn: Cardinali mail: claudio@csolution.it objectclass: person
  • 125. Gli attribbuti e le Object Class
    • Come da esempio ogni “entry” è identificata univocamente da un “ distinguished name ” ( DN ), un DN è formato dal nome dell'entry seguito da un path formato da più nomi che rintraccia il posizionamento dell'entry all'interno della struttura ad albero rovesciato che compone la struttura del server LDAP (si pensi alla classica rappresentazione di un filesystem).
    • 126. ObjectClass definisce un “set di attributi” che possono essere usati per definire un entry. Tutti i pacchetti LDAP definiscono di default almeno i seguenti objectclass:
    • 127. GROUPS: particolare oggetto che rappresenta liste disordinate di oggetti singoli o di gruppi di oggetti.
    • 128. LOCATIONS: oggetto che rappresenta nomi di nazioni e loro descrizione.
    • 129. ORGANIZATIONS: oggetto che rappresenta organizzazioni, aziende, ect..
    • 130. PERSON: contiene gli attributi per schedare una persona all'interno di una directory
  • 131. Installazione di un server LDAP (cenni) E' possibile installare OpenLDAP prelevando i sorgenti in formato .tar.gz dal sito http://www.openladap.org oppure utilizzare i pacchetti creati ad hoc per la vostra distribuzione Gnu/Linux. Ad es. Debian: # apt-get install slapd ldap-utils (Si rimanda alla documentazione ufficiale e agli howto di ogni distribuzione). Alla fine del processo di installazione tutti i binari , i file di configurazione , gli schemi di default , etc. saranno installati in opportune directory del filesystem. Occorre prestare molta attenzione alla directory /etc/ldap/ , in cui è presente il file di configurazione di slapd ( slapd.conf )
  • 132. Configurazione di Slapd: slapd.conf Il file di configurazione è strutturato in 2 parti:
    • Definizioni globali : riguarda la configurazione generale del server , vengono definiti gli schemi da utilizzare, le impostazione del protocollo , l'algoritmo per le password , il livello di verbosity , la posizione del pid file, il backend da utilizzare, etc..
    • 133. Direttive dei backend (leggi database): queste sezioni iniziano normalmente con la direttiva database <nome_backend> , e riguardano la configurazione dei singoli database.
  • 134. Aggiungere gli schemi Gli schemi usati dal server ldap devono essere caricati all'avvio, Senza di essi il server non sarà in grado di mappare i nomi degli attributi. # Global Directives: # Schema and objectClass definitions include /etc/ldap/schema/core.schema include /etc/ldap/schema/cosine.schema include /etc/ldap/schema/nis.schema include /etc/ldap/schema/inetorgperson.schema include /etc/ldap/schema/samba.schema Definizione schemi
  • 135. Creare gli indici Gli indici vengono definiti nel file slapd.conf # Indexing options for database #1 index objectClass,uidNumber,gidNumber eq index cn,sn,uid,displayName pres,sub,eq index memberUid,mail,givenname eq,subinitial index sambaSID,sambaPrimaryGroupSID,sambaDomainName eq Dopo averli dichiarati gli indici devo essere creati con il comando slapindex ricordandosi prima di fermare il server ldap.
  • 136. Access Control list L'accesso ai dati può essere ristretto ad un particolare insieme di utenti, e si può limitare l'accesso in lettura e scrittura alle porzioni dell'albero. access to attribute=userPassword by dn=&quot;cn=Manager,dc=csolution,dc=it&quot; write by anonymous auth by self write by * none Definizione ACL
  • 137. Avviare slapd Come potete leggere nel commento qui sotto, normalmente slapd parte facendo la listen solo sulla porta tcp 389 che corrisponde al servizio ldap (no ssl), per fare in modo che il vostro server ldap ascolti anche alla porta ldaps (636) occorre inserire la url ldaps:// all'interno dello script di avvio di slapd:. # slapd normally serves ldap only on all TCP-ports 389. slapd can also # service requests on TCP-port 636 (ldaps) and requests via unix # sockets. # Example usage: SLAPD_SERVICES=&quot;ldap:/// ldaps:///&quot; Nota bene: se il vostro server ldap deve esclusivamente essere utilizzato via ssl dai client della rete conviene impostare questa voce ai valori “ ldap://127.0.0.1 ldaps:// ”, questo impedisce le connessioni in chiaro da tutti gli host della rete eccetto che dall'interfaccia di loopback.
  • 138. Popolare il database.. A questo punto è necessario “popolare” il databse LDAP: si possono seguire diverse strade:
    • attraverso l' importazione di un file LDIF , contenente tutte le specifiche ed i record necessari.
    • 139. Utilizzando un script (molto più comodo!) smblap-populate che viene distribuito con il pacchetto smbldap-tools.
    Nota: smbldap-tools è scritto in perl e per essere eseguito necessità di alcuni moduli CPAN come prerequisito fondamentale.
  • 140. ..smbldap-tools (1/3) Una volta rispettati i prerequisiti di smbldap-tools è necessario configurarlo: il file di configurazione e /etc/smbldap-tools/smbldap.conf ed i paramatri da impostare sono i seguenti: Il SID del Dominio (si ottiene con il comand “ net getlocalsid ”) SID=&quot;S-1-5-21-826166809-298217214-2959266991&quot; Su winNT il sistema utilizza i SID Security Identifier come valore univoco al posto dei uid/gid usati in unix e i SID identificano utenti e gruppi e computer indifferentemente all'interno del dominio. Il SID utente è composto da Domain SID + RID (Relative ID), il nome dell'utente non ha alcuna importanza, quello che conta è solo il SID! (infatti gli utenti si possono rinominare tranquillamente senza nessun problema).
  • 141. ..smbldap-tools (2/3) Una volta rispettati i prerequisiti di smbldap-tools è necessario configurarlo: il file di configurazione e /etc/smbldap-tools/smbldap.conf ed i paramatri da impostare sono i seguenti: Il SERVER LDAP: slaveLDAP=&quot;127.0.0.1&quot; slavePort=&quot;389&quot; masterLDAP=&quot;127.0.0.1&quot; masterPort=&quot;389&quot; ldapSSL=&quot;0&quot; suffix=&quot;dc=csolution,dc=it&quot; usersdn=&quot;ou=Users,${suffix}&quot; computersdn=&quot;ou=Computers,${suffix}&quot; groupsdn=&quot;ou=Groups,${suffix}&quot;
  • 142. ..smbldap-tools (3/3) Una volta rispettati i prerequisiti di smbldap-tools è necessario configurarlo: il file di configurazione e /etc/smbldap-tools/smbldap.conf ed i paramatri da impostare sono i seguenti: I Default per gli utenti: userLoginShell=&quot;/bin/bash&quot; userHome=&quot;/home/%U&quot; defaultUserGid=&quot;513&quot; defaultComputerGid=&quot;515&quot; skeletonDir=&quot;/etc/skel&quot; userSmbHome=&quot;fileserverhomes%U&quot; userProfile=&quot;fileserverprofiles%U&quot;
  • 143. Autenticazione Samba 3 ha bisogno che il database delle password di sistema sia allineato con quello proprietario Samba. E' possibile configurare l'autenticazione del sistema affinché si serva anch'essa di LDAP avendo in questo modo un unico database centralizzato per tutti gli utenti note: prerequisito l'installazione del pacchetto nss_ldap #apt-get install libnss-ldap (NSS module for using LDAP as a naming service)
  • 144. authconfig Sotto RedHat esiste una Utility chiamata “authconfig” che guida l'utente nella configurazione dell'autenticazione al sistema, in particolare nelle seguenti operazioni:
    • gestione delle informazioni relative agli utenti
    • 145. abilitazione di nscd (demone caching delle informazioni di nsswitch)
    • 146. gestione del sistema di autenticazione vero e proprio
    • 147. utilizzo delle shadow password
    • 148. utilizzo delle password MD5
    • 149. Utilizzo di un database LDAP e la sua configurazione
    • 150. utilizzo della autenticazione SMB e la sua configurazione
  • 151. screenshot authconfig 1/2
  • 152. screenshot authconfig 2/2
  • 153. Name Service Switch NSS è una interfaccia che permette di demandare, a delle librerie esterne, l'accesso a informazioni riguardanti l'ambiente locale (come ad es. account utenti, password, gruppi, hosts, corrispondenze tra i nomi delle macchine e i numeri di porta). In breve svolge le operazioni di conversione UID <--> nome_utente e GID <--> nome_gruppo che servono per gli altri porgrammi. Queste definizioni vengono dichiarate all'interno del file /etc/nsswitch.conf . Il formato prevede una riga per ogni classe di informazione, nella prima colonna viene specificato il tipo di classe (di solito le keyword sono hosts, group, passwd, aliases, protocols, etc ) seguito dal carattere ' : ', poi sono possibili valori che indicano dove reperire le informazioni per quelle classi, questi valori sono identificati da parole chiavi come ldap, file, dns, db, nis , con la possibilità di specificare l'ordine in cui questi supporti vengono presi in considerazione. Un esempio di file nella prossima slide.....
  • 154. Il file /etc/nsswitch.conf # /etc/nsswitch.conf # # Example configuration of GNU Name Service Switch functionality . # If you have the `glibc-doc' and `info' packages installed, try: # `info libc &quot;Name Service Switch&quot;' for information about this file. passwd: files ldap group: files ldap shadow: files ldap hosts: files dns ldap networks: files protocols: db files services: db files ethers: db files rpc: db files netgroup: nis files: indica che la ricerca dell'oggetto è da effettuare sui files di sistema. ldap: indica che la ricerca dell'oggetto è da effettuare sul database ldap.
  • 155. Usare ldap con PAM Per poter usare ldap con PAM si devono installare i pacchetti libpam-ldap Il programma di installazione provvede a configurare il tutto correttamente, poi basta modificare i file nella directory /etc/pam.d fileserver:/etc/pam.d# ls BACKUP cupsys other sudo chfn gdm other.dpkg-old suexec-apache chsh gdm-autologin passwd suexec-apache-ssl common-account kcheckpass passwd.dpkg-old xdm common-auth kdm ppp xscreensaver common-password kscreensaver samba common-session login ssh cron login.dpkg-old su All'interno di questa directory sono contenuti i vari file di configurazione per ogni servizio, che modificano il loro comportamento in fase di autenticazione.
  • 156. Configurare P.A.M.: la directory pam.d common-account account sufficient pam_ldap.so account required pam_unix.so common-auth (definisce gli schemi di autenticazione da usare nel sistema) auth sufficient pam_ldap.so use_first_pass auth required pam_unix.so common-password (definisce i moduli che permettono di cambiare la password) password sufficient pam_ldap.so password sufficient pam_unix.so nullok use_authtok md5 shadow use_first_pass password required pam_deny.so common-session (definisce i moduli che definiscono i task da compiere all'inizio e alla fine di una sessione) session required pam_mkhomedir.so skel=/etc/skel/ session sufficient pam_ldap.so session required pam_unix.so
  • 157. Come verificare il funzionamento del NSS A questo punto, se è stato tutto fatto correttamente, dovremmo poter estrarre informazioni su gruppi, utenti, shadow password, da ogni macchina della rete abilitata a usare ldap (cioè con il file libnss-ldap corettamente configurato). Per verificare usiamo il comando getent . macchina_client# getent passwd root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/bin/sh bin:x:2:2:bin:/bin:/bin/sh sys:x:3:3:sys:/dev:/bin/sh sync:x:4:65534:sync:/bin:/bin/sync ...... ...... pallotron:x:1000:1000:Angelo Michele Failla:/home/pallotron:/bin/bash gmaggio:x:1001:1000:Gabriele Maggio:/home/gmaggio:/bin/bash administrator:x:0:1000:Account admin win:/home/Administrator:/bin/bash segreteria:x:1002:1000:account di prova:/home/segreteria:/bin/bash mgrasso:x:1003:1000:Maurizio Grasso:/home/mgrasso:/bin/bash Verifichiamo poi group e shadow nella medesima maniera.
  • 158. Configurare Samba: Premesse Adesso vedremo come configurare un server SAMBA (versione 3) come PDC utilizzando ldap come backend per utenti e gruppi . Bisogna configurare la parte strettamente specifica a Samba nel file /etc/samba/smb.conf
  • 159. Configurare Samba: il file smb.conf [global] workgroup = CSOLUTION netbios name = Fileserver server string = SAMBA-LDAP PDC Server ... #unix password sync = Yes #passwd program = /usr/local/sbin/smbldap-passwd -u %u #passwd chat = &quot;Changing password for*nNew password*&quot; %nn &quot;*Retype new password*&quot; %nn&quot; ldap passwd sync = Yes ... ; SAMBA-LDAP declarations passdb backend = ldapsam:ldap://127.0.0.1/ # ldap filter = (&(objectclass=sambaSamAccount)(uid=%u)) ldap admin dn = cn=Manager,dc=csolution,dc=it ldap suffix = dc=csolution,dc=it ldap group suffix = ou=Groups ldap user suffix = ou=Users ldap machine suffix = ou=Computers ldap ssl = start_tls add machine script = /usr/local/sbin/smbldap-useradd -w &quot;%u&quot; add user script = /usr/local/sbin/smbldap-useradd -m &quot;%u&quot; ldap delete dn = Yes #delete user script = /usr/local/sbin/smbldap-userdel &quot;%u&quot; add machine script = /usr/local/sbin/smbldap-useradd -w &quot;%u&quot; add group script = /usr/local/sbin/smbldap-groupadd -p &quot;%g&quot; #delete group script = /usr/local/sbin/smbldap-groupdel &quot;%g&quot; add user to group script = /usr/local/sbin/smbldap-groupmod -m &quot;%u&quot; &quot;%g&quot; delete user from group script = /usr/local/sbin/smbldap-groupmod -x &quot;%u&quot; &quot;%g&quot; set primary group script = /usr/local/sbin/smbldap-usermod -g &quot;%g&quot; &quot;%u&quot; ... Dos charset = 850 Unix charset = ISO8859-1
  • 160. Migrazione tbsam --> ldapsam Se state migrando da una installazione Samba3con backend diverso da LDAP, potete utilizzare pdbedit per effettuare la migrazione: # pdbedit -b tdbsam -g -e ldapsam # pdbedit -b tdbsam -u -e ldapsam Questi due comandi porteranno prima i gruppi e poi gli utenti dal backend tbsam al backend ldapsam.
  • 161. Come joinare le macchine al dominio Per cambiare la password dell'account Administrator utilizziamo il comando smbpasswd. smbpasswd -w <nostra_pass_segreta> Dopo questo comando la password sarà modificata e possiamo joinare le nostre macchine al dominio. Per fare ciò occorre inserire un account per ogni macchine all'interno dell'elenco LDAP ou=Computers,dc=csolution,dc=it (supponiamo il joining al dominio da parte di un client Windows 2000 e di un client indows XP) #smbldap-useradd -w CLIENT2k #smbldap-useradd -w CLIETXP il flag -w serve a specificare che si tratta di un “account macchina” e non un utente.
  • 162. Il groumapping POSIX <--> Samba Se la vostra è un rete etorogenea, fatta di macchine Linux e Windows, che accedono a directory condivise da un fileserver (le macchine windows con samba, quelle linux ad es. Tramite NFS o altri filesystem di rete), può sorgere la esigenza di mappare i gruppi posix con quelli di windows, e viceversa , in modo da non avere noie e problemi con i permessi. Questo si realizza con la utility net messa a disposizione dal comando samba (dopo aver aggiunto il gruppo samba al vostro elenco ldap) fileserver:~# net groupmap list System Operators (S-1-5-32-549) -> manager grafici (S-1-5-21-1319615927-900196694-2235752281-3005) -> grafici [snip] Domain Admins (S-1-5-21-1319615927-900196694-2235752281-512) -> manager Domain Users (S-1-5-21-1319615927-900196694-2235752281-513) -> users Power Users (S-1-5-32-547) -> manager Print Operators (S-1-5-32-550) -> manager Administrators (S-1-5-32-544) -> manager Account Operators (S-1-5-32-548) -> manager Users (S-1-5-32-545) -> users programmatori (S-1-5-21-1319615927-900196694-2235752281-3003) -> programmatori La mappatura si realizza con il comando: net groupmap add unixgroup=<nome_gruppo> type=domain ntgroup=<gruppo win>
  • 163. Alcuni tools di amministrazione: LAM e phpLDAPadmin E' irragionevole gestire un dominio con i soli comandi di shell!! Per questo vengono in aiuto delle interfaccie, alcune binarie altre direttamente web, che permettono di gestire gli account, i gruppi, e le macchine. LAM è uno di questi. La cosa più interessante di questo tool è che permette di gestire sia gli account posix che quelli samba in modo integrato. Permette di impostare le password , gli expire , i path dei profili windows e delle home unix , di parametrizzare gli script bat di logon per ogni utente. Ha anche la possibilità di definire dei template di profilo. PhpLDAPadmin è invece un'applicativo php per l'accesso generale alla struttura dell'elenco, con esso è possibile browsare e modificare l'elenco in ogni singolo punto dell'albero, aggiungere attributi e classi ad un entry.
  • 164. L.A.M. (LDAP ACCOUNT MANAGER)
  • 165. phpLDAPadmin
  • 166. Samba Antivirus
  • 167. ClamAV: Antivirus per Linux ClamAV è uno dei più interessanti progetti OpenSource per lo scanning di virus. Rilasciato sotto GPL è disponibile per varie piattaforme *nix (Linux, *BSD, Solaris, MacOs X, lo stesso CygWin... ). Database in costante aggiornamento (24h). La versione analizzata 0.8x identifica più di 26000 virus ed è in grado di scompattare file compressi e di analizzare documenti di Office per Macro virus. NON corregge i file infetti , ma, nella sua applicazione più comune (antivirus correlato ad un sistema di posta) questa mancanza è assolutamente ininfluente.
  • 168. Installazione clamav E' possibile scaricare sorgenti e binari precompilati per diverse distribuzioni dal sito ufficiale www.clamav.net . Per compilare ClamAv è necessario avere i seguenti pacchetti: zlib, zlib-devel, oltre ovviamente alla suite gcc. Sono inoltre consigliati bzip2, bzip2-devel, gmp. apt-get install clamv clamav-base clamav-freshclam libclamav1
  • 169. vscan samba-vscan è un modulo “proof-of-concept” per samba che fornisce un supporto all'antivirus diretto “on-access” per i file condivisi attraverso un server Samba. samba-vscan supporta diversi tipi di antivirus : ClamAV , FRISK F-Prot Daemon, F-Secure AV, Kaspersky AntiVirus, McAfee/NAI uvscan, mks32, OpenAntiVirus ScannerDaemon, Sophos Sweep, Symantec AntiVirus Engine (via ICAP), Trend Micro. Link: http://www.openantivirus.org/projects.php#samba-vscan
  • 170. [vscan] [vscan] comment = virus-protected directory path = /mnt/dati/vscan vfs object = vscan-oav vscan-oav: config-file = /etc/samba/vscan-oav.conf writeable = yes browseable = yes guest ok = yes
  • 171. Screenshot samba-vscan
  • 172. Opening Windows to a Wider World.... Grazie a tutti !

×