Per proseguire con la configurazione di ADFS 3.0, importato il certificato SSL firmato rilasciato dalla CA, il ruolo ADFS deve essere installato nel server ADFS.
A seconda dell'ambiente operativo e del carico, è possibile configurare un singolo server o una configurazione load-balanced con server multipli.
Blog serie
ADFS 3.0 certificato SSL signing request - pt. 2
ADFS 3.0 installazione Server ADFS - pt. 3
ADFS 3.0 installazione Server WAP - pt. 4
ADFS 3.0 federare Office 365 - pt. 5
ADFS 3.0 installazione Directory Sync tool - pt. 6
ADFS 3.0 distribuire Office 365 - pt. 7
Prerequisiti
- Un server Windows 2012 R2 membro del dominio. Per ambienti più complessi sono richiesti almeno due server federati in configurazione load-balanced per meglio distribuire il carico.
- Un account di servizio dedicato in Active Directory (es. vmadfs)
- Un certificato SSL firmato ricevuto dalla CA (es. sts.nolabnoparty.com)
Installazione dell'ADFS role
Per abilitare i Federation Services, è necessario installare nel server il ruolo ADFS. Dal Server Manager cliccare sulla voce Add roles and features.
Cliccare Next per avviare la configurazione.
Selezionare l'opzione Role-based or feature-based installation e cliccare su Next.
Selezionare l'opzione Select a server from the server pool ed evidenziare il server da installare. Cliccare su Next per continuare.
Selezionare il ruolo Active Directory Federation Services e cliccare su Next.
Niente da selezionare in questa schermata, cliccare su Next.
Cliccare Next per continuare.
Spuntare la voce Restart the destination server automatically if required e cliccare su Yes per confermare.
Quando si è pronti per procedere, cliccare sul bottone Install per avviare l'installazione del ruolo.
Il ruolo ADFS viene installato nel sistema.
Quando l'installazione viene correttamente completata, cliccare su Close per uscire dal Wizard.
Configurare il Federation Service
Quando il ruolo è stato installato nel sistema, cliccare sull'icona di warning gialla e cliccare successivamente sull'opzione Configure the federation service on this server.
Quando l'ADFS Wizard si avvia, verificare di aver selezionato l'opzione Create the first federation server in a federation server farm quindi cliccare su Next.
Specificare un account con i permessi di domain administrator e cliccare su Next.
Nel campo SSL Certificate cliccare sul menu a tendina e selezionare il certificato (i.e. sts.nolabnoparty.com) creato nella parte 2 che dovrebbe essere stato già importato nel server. Il campo Federation Service Name deve avere lo stesso nome del certificato installato mentre Federation Service Display Name è il nome che gli utenti vedranno durante l'operazione di sign in (es. Nolabnoparty.com). Cliccare su Next per proseguire.
Se viene visualizzato un messaggio di warning come mostrato in figura, significa che la KDS Root Key non è stata impostata in Active Directory. Questo fa parte del nuovo Group Managed Service Accounts, una funzione presente in Windows 2012.
Per creare la KDS root key con effetto immediato, aprire la shell PowerShell e digitare il comando:
PS C:\> Add-KdsRootKey -EffectiveTime ((get-date).addhours(-10))
Per rimuovere il messaggio di warning relativo alla KDS root key, nel Wizard ADFS cliccare sui bottoni Previous e successivamente su Next. Poichè è previsto l'utilizzo di un account di servizio dedicato (es. vmadfs), selezionare l'opzione Use an existing domain user account or group Managed Service Account e specificare la password. Cliccare su Next per continuare.
Se la farm è configurata con meno di cinque server ADFS, WID può essere utilizzato per salvare la configurazione dei dati. Selezionare la voce Create a database in this server using Windows Internal Database e cliccare su Next.
In questa schermata è possibile rivedere le impostazioni della configurazione effettuata. Cliccare su Next per eseguire il controllo dei pre-requisiti.
Se tutti i controlli dei pre-requisiti passano correttamente, cliccare sul bottone Configure per configurare ADFS sul server.
Il sistema installa i componenti richiesti e configura il servizio.
Quando il server è correttamente configurato, cliccare su Close per uscire dal Wizard.
Impostare il DNS A record
Per effettuare l'autenticazione in Active Directory sia dall'interno che dall'esterno della LAN, tutti i device necessitano che il servizio ADFS sia correttamente configurato nell'infrastruttura DNS.
DNS pubblici
Per risolvere il nome ADFS sts.nolabnoparty.com (è il nome configurato per il servizio) dall'esterno, un record di tipo A deve essere creato nel DNS pubblico che punta all'IP pubblico del server ADFS della zona DMZ (nella parte 4 è illustrata questa procedura).
DNS interno
Per risolvere il nome ADFS dall'interno invece, il DNS deve essere configurato accuratamente. Aprire il DNS Manager, effettuare un click con il tasto destro del mouse sulla voce Forward Lookup Zones e selezionare l'opzione New Zone.
Il New Zone Wizard viene aperto. Cliccare su Next.
Selezionare l'opzione Primary zone e spuntare la voce Store the zone in Active Directory. Cliccare su Next per continuare.
Selezionare l'opzione To all DNS servers running on domain controllers in this domain: nolabnoparty.local quindi cliccare su Next.
Digitare la Zone name dando lo stesso nome assegnato al servizio ADFS e cliccare su Next.
Selezionare Allow only secure dynamic updates e cliccare su Next.
Cliccare su Finish per creare la nuova zona.
Per risolvere il nome DNS internamente, effettuare un click con il tasto destro del mouse sulla nuova zona appena creata sts.nolabnoparty.com e selezionare l'opzione New Host (A or AAAA).
Lasciare il campo Name vuoto e digitare l'IP address del server ADFS configurato precedentemente. Non abilitare l'opzione Create associate pointer (PTR) record. Cliccare su Add Host quando terminato.
Cliccare su OK per chiudere la finestra di conferma.
Il nuovo record A è stato creato.
Effettuando un ping del nome ADFS internamente alla LAN, il sistema riceve la risposta correttamente.
Testare ADFS
Per testare se il servizio ADFS configurato funziona correttamente, aprire Internet Explorer in un computer qualsiasi della LAN e digitare l'indirizzo:
https://adfsname.domain.com/adfs/ls/IdpInitiatedSignon.aspx
Nell'esempio, nel browser è utilizzato l'indirizzo https://sts.nolabnoparty.com/adfs/ls/IdpInitiatedSignon.aspx . Cliccare sul bottone Sign in.
Se vengono richieste le credenziali, significa che il dominio non è configurato in IE come Local intranet zone.
Per risolvere il problema, da Internet Explorer selezionare il menu Tools > Internet Options ed accedere alla sezione Security. Selezionare Local intranet zone e cliccare sui bottoni Sites ed Advanced.
Cliccare su Add per aggiungere il nome ADFS nella zona selezionata. Il nome del sito (es. sts.nolabnoparty.com) viene aggiunto nel campo Websites. Cliccare successivamente su Close.
Cliccare nuovamente sul bottone Sign in. Questa volta il messaggio You are signed in conferma che il servizio ADFS funziona correttamente. Utilizzando altri browser (Chrome, Firefox, etc.), le credenziali verranno sempre richieste dal sistema.
Troubleshooting
Durante la configurazione di ADFS può capitare di ricevere l'errore come mostrato in figura. L'oggetto mancante in Active Directory deve essere creato per poter proseguire con la configurazione.
Aprire l'ADSI Editor ed effettuare un click con il tasto destro del mouse sul nome del dominio. Selezionare l'opzione New > Object.
Selezionare la voce container come class e cliccare su Next.
Digitare Program Data nel campo Value e cliccare su Next.
Cliccare su Finish per creare l'oggetto.
Ora effettuare un click con il tasto destro del mouse sull'oggetto appena creato Program Data e selezionare l'opzione New > Object.
Selezionare la voce container come class e cliccare su Next.
Digitare Microsoft nel campo Value e cliccare su Next.
Cliccare su Finish per creare l'oggetto.
I nuovi oggetti creati in Active Directory.
Proseguendo con la procedura, questa volta la configurazione di ADFS viene correttamente completata.
La parte 4 della configurazione del servizio ADFS mostra l'installazione del server WAP utilizzato per eseguire l'utenticazione per i device esterni alla LAN.