Configurazione di Mac OS X con Kerberos e LDAP
Da Security e-Book.
Durante la stesura dei requisiti si è considerato la maggioranza dei sistemi attualmente installati presso le aziende italiane. Visto la crescente diffusione dei sistemi Apple dovuta principalmente a MacOS X, uno Unix “user friendly” con interfaccia grafica Mac, si è deciso di prendere in considerazione anche questi sistemi, anche se non si erano identificati inizialmente come piattaforma primaria.
In laboratorio si è usato MacOS X 10.3, cui nome in codice è Panther, che differisce lievemente dalla release precedente 10.2. Per coloro che dispongono della versione 10.2, si consiglia la lettura dei documenti AppleCare numero 107154 intitolato “Mac OS X 10.2: How to Enable Kerberos Authentication for Login Window” disponibile al link http://docs.info.apple.com/article.html?artnum=107154 e del documento “Mac OS X 10.2: About Using Kerberos” (AppleCare 107157) strettamente correlato al precedente e disponibile al link http://docs.info.apple.com/article.html?artnum=107153.
Essendo fondamentalmente un sistema Unix, le stesse regole applicate per Linux valgono nella maggior parte dei casi anche per MacOS X. Su Panther esiste una utility, il kerberosautoconfig, che configura buona parte della configurazione Kerberos. Nel nostro caso procederemo con:
# sudo kerberosautoconfig –r AZIENDA.IT –m kdc.azienda.it
Questa utility configurerà automaticamente il file di sistema /Library/Preferences/edu.mit.Kerberos, corrispondente al file /etc/krb5.conf su altri sistemi Unix. Bisogna quindi creare un principal relativo al sistema Apple sul KDC come segue:
# kadmin.local -q “addprinc -pw miapassword4a host/spok.azienda.it@AZIENDA.IT” # kadmin.local -q “ktadd -k /tmp/spok.key host/spok.azienda.it@AZIENDA.IT”
L'ultimo comando crea un file /tmp/spok.key contenente la chiave Kerberos corrispondente alla workstation MacIntosh: è necessario trasferire in modo sicuro (ad esempio tramite ssh) la chiave da zeus a spok e copiare la stessa sul file /etc/krb5.keytab.
L’ultima configurazione relativa a Kerberos è quella del login: il Mac OS X Security and Authorization Services usa il file /etc/authorization; questo è anche il file che ci servirà per usare Kerberos nella finestra di login (loginwindow). MacOS X può operare con e senza host keytab, ma si consiglia di sfruttare il Kerberos keytab appena creato per difendersi da un attacco di tipo man-in-the-middle contro il sistema Kerberos. Per permettere una login con un utente Kerberos con un host principal è necessario ricercare la proprietà system.login.console nel file /etc/authorization e modificarla come segue:
<key>system.login.console</key> <dict> <key>class</key> <string>evaluate-mechanisms</string> <key>comment</key> <string>Login mechanism based rule. Not for general use, yet. builtin:krb5authenticate can be used to hinge local authentication on a successful kerberos authentication and kdc verification. builtin:krb5authnoverify skips the kdc verification. Both fall back on local authentication.</string> <key>mechanisms</key> <array> <string>loginwindow_builtin:login</string> <string>authinternal</string> <string>loginwindow_builtin:success</string> <string>builtin:getuserinfo</string> <string>builtin:sso</string> <string>builtin:krb5authenticate</string> </array> </dict>
Si noti l’ultima espressione builtin:krb5authenticate che permette sia l’autenticazione delle utenze attraverso Kerberos, sia il rilascio al logon di un TGT. L’ultimo passo della configurazione è relativa al collegamento con l’LDAP server, che permette di ricavare le informazioni relative all’utente. Sul Finder, aprire la cartella Applicazioni, quindi Utilities ed eseguire l’applicazione Directory Access. Si verrà posizionati nella sezione Services: selezionare solo l’opzione LDAPv3 come segue in figura 5.
Selezionare LDAPv3 e premere Configure. Deselzionare l’opzione “Use DHCP-supplied LDAP Server” come in figura 6, quindi premere il pulsante accanto a Show Options per selezionare l’intera gamma di opzioni.
Premere il pulsante New... (figura 7) e inserire AZIENDA.IT come parametro nella sezione Configuration Name.
Selezionare la riga corrispondente come in figura 8 e premere quindi il pulsante Edit...
Verrà automaticamente selezionata la sezione Connection. Inserire in Server Name or IP Address il nome dell’LDAP server, ovvero ldap.azienda.it. Per mantenere la privacy, attivare l’opzione Encrypt using SSL:
Selezionare quindi la sezione Search & Mappings. Successivamente selezionare da Access this LDAPv3 server using il valore RFC 2307 (Unix). Verrà quindi presentata una finestra di dialogo intitolata Search Base Suffix, inserire il BaseDN dell’LDAP server, ovvero dc=azienda,dc=it:
Premere quindi Ok. Ritornati alla finestra con la configurazione, premere Ok. Selezionare quindi la sezione Authentication del Directory Access (figura 11) e quindi il pulsante Add...
Verrà presentata una finestra con un elenco di directory disponibili. Selezionare dall’elenco /LDAPv3/ldap.azienda.it e quindi premere Add come in figura 12.
Premere quindi Apply. A questo punto siamo pronti per poter entrare con l’utente mrossi. Fare quindi logout, selezionare Other... e immettere come utente mrossi e la password associata. Et voilà, siamo perfettamente collegati al sistema MacOS X con il nostro utente. Se apriamo la finestra di terminale e digitiamo klist vedremo il TGT ottenuto dal KDC.
Anche se MacOS X 10.2 (Jaguar) e MacOS X 10.3 (Panther) hanno molte porzioni del software Kerberos del MIT, essi però non supportano applicazioni di terze parti (ad esempio Eudora) per l'autenticazione attraverso Kerberos. A questo scopo è necessario scaricare, direttamente dal MIT, i MacOS X Kerberos Extras, che provvedono a creare appositi link in /Applications/Utilities (Kerberos di solito è installato in /System/Library/CoreServices) e ad installare un file di configurazione di esempio. Questo tool può essere scaricato all’indirizzo: http://web.mit.edu/macdev/Download/Mac_OS_X_Kerberos_Extras.dmg Per maggiori informazioni su questi tool, consultare il sito: http://web.mit.edu/macdev/Development/MITKerberos/Common/Documentation/osx-kerberos-extras.html







