Scenario di Single-SingOn
Quando ho cominciato questa “avventura”, mi sono prefisso alcuni punti. Il primo in assoluto è che prima di procedere alla rinfusa con l’implementazione del software, ho preferito usare un approccio più strutturato al problema, definendomi degli obiettivi o requisiti. Vediamoli insieme:
- Il KDC doveva risiedere principalmente su un ambiente Unix, ma si doveva comunque dimostrare teoricamente la possibilità di usare un KDC su ambiente Windows (Active Directory)
- Il server LDAP doveva risiedere su un ambiente Unix, con gli stessi requisiti del KDC per quanto riguarda l’ambiente Windows
- Il Web server doveva risiedere su piattaforma Unix
- Il mail server doveva risiedere su piattaforma Unix
- La workstation Unix doveva permettere ad un nuovo utente non presente sul sistema locale di:
- autenticarsi con il KDC
- ottenere un TGT al login, che dura fino alla chiusura della sessione
- scaricare i parametri relativi all’utente dal LDAP, in particolare gid/uid e home directory
- accedere ad un sistema unix remoto tramite ssh senza fornire utente e password
- accedere ad un Web server protetto senza fornire utente e password
- accedere alla propria casella di posta senza fornire utente e password
- La workstation Windows doveva permettere ad un nuovo utente non presente sul sistema locale di:
- autenticarsi con il KDC
- ottenere un TGT al login, che dura fino alla chiusura della sessione
- accedere ad un sistema Unix remoto tramite ssh senza fornire utente e password
- accedere ad un Web server protetto senza fornire utente e password
- accedere alla propria casella di posta senza fornire utente e password
Uno degli altri obbiettivi, che non rientra però nei requisiti, è che l’ambiente di test doveva riflettere un ambiente di produzione: è abbastanza semplice produrre qualcosa in laboratorio, ma era necessario capire quali sono le implicazioni quando questo si traduce in un ambiente di produzione o di pre-produzione.
A questo scopo è stato creato un laboratorio come segue (vedi figura a lato):
- Un server che ospiterà il Key Distribution Centre e LDAP server: si noti che verranno installati in modo da essere indipendenti l’uno dall’altro
- Un server che ospiterà il Web Server e il mail server
- Un firewall che separi i server e i client
- Un client Windows 2000
- Un client Linux
- Un client MacOS X
Durante il laboratorio sono stati usati server Linux, con distribuzione Debian: il fatto di aver usato Linux è puramente legato ad un problema di disponibilità di risorse. Da un punto di vista teorico, questo setup vale per qualsiasi ambiente Unix che supporti il sistema di autenticazione basato sul Pluggable Authentication Module (PAM), quindi anche per il sistema operativo della Apple MacOS X. Visto l’incremento della diffusione del sistema operativo della Apple, sono stati condotti dei test anche sul sistema MacOS X 10.3 “Panther”, anche se non previsti inzialmente. Sono stati fatti dei test anche con Solaris, ma non approfonditamente.
Nome macchina | Alias | Ruolo |
---|---|---|
zeus.azienda.it |
|
NTP, DNS, KDC e LDAP Server |
venere.azienda.it |
|
Server Web e Mail |
cerbero.azienda.it | Firewall | |
kirk.azienda.it | Client Linux | |
picard.azienda.it | Client Windows 2000 | |
spok.azienda.it | Client MacOS X |