giovedì 24 agosto 2017

Login su pfSense tramite RADIUS

Per chi lavora in aziende strutturate è fondamentale gestire l'accesso alle risorse utilizzando un unico server di autenticazione ed in modo che ogni utente con poteri amministraivi sia correttamente identificabile. In quest'articolo vedremo come configurare e gestire l'accesso all'interfaccia di amministrazione di pfsense sfruttando un server RADIUS come server di autenticazione in modo che chi amministra il firewall possa accedere con la propria username e password.

La tracciabilità di chi ha fatto accesso al firewall è anche un requisito indispensabile per ottemperare alle norme sulla privacy che richiedono il Log degli accessi degli Amministratori di Sistema.

Molte implementazioni RADIUS hanno la possibilità di interfacciarsi con altri tipi di "database utenti" come per esempio database Mysql, Microsoft Active Directory  o LDAP.

Noi sfrutteremo proprio questa caratteristica, configurando il Network Policy Server (NPS) di Windows 2012 affinchè esponga una parte degli utenti di Active Directory tramite un server radius.
Nelle versioni più vecchie di Windows il server radius è chiamato Internet Autentication Service (IAS).

Configuriamo il server RADIUS

Sul nostro server windows accediamo a Control Panel > Administrative tools > Network Policy Server.

Selezioniamo RADIUS Client and Server > RADIUS Client, tasto destro e clicchiamo su New.

Ora dovremo inserire i dati del nostro pfSense in modo che sia legittimato ad interrogare il server RADIUS.

Spuntiamo Enable this RADIUS client;
Friendly name: inseriamo una descrizione;
Address (IP or DNS): IP di pfsense;
Shared secret e Confirm shared secret: inseriamo una password sufficientemente complessa, anche 32 caratteri;
Clicchiamo su OK


Creiamo un gruppo di sicurezza

Ora in Active Directory creiamo un gruppo di sicurezza a cui assegnare gli utenti autorizzati ad accedere a pfSense.
Accediamo a Control Panel > Administrative toolsActive Directory Users and Computers.
Selezioniamo l'OU dove vogliamo creare il nostro gruppo, tasto destro New Group.
Assegnamo un nome al gruppo, per esempio pfSense-Admins.
Ora assegnamo al gruppo gli utenti che dovranno accedere a pfSense.

Creiamo una Network Policy

Ora abbiamo bisogno di creare una Network Policy da associare al nostro client radius in modo da identificare gli utenti che devono avere accesso al nostro pfSense.

Accediamo nuovamente a Control Panel > Administrative tools > Network Policy Server;

Selezioniamo Policies e Network Policies, tasto destro New

Policy Name: inseriamo un nome per la policy per esempio pfSense-Admin;
Type of network access server: Unspecified;
Clicchiamo su Next;
Clicchiamo su Add e selezioniamo Windows Group, qui dovremo scegliere il gruppo pfSense-Admins precedentemente creato;
Clicchiamo su Next;
Selezioniamo Access Granted;
Clicchiamo su Next;
Spuntiamo Unencrypted authentication (PAP, SPAP);
Rimuoviamo la spunta da tutti gli altri tipi di autenticazione;
Clicchiamo su Next;
Clicciamo ancora su Next;
Clicchiamo su Add;
Selezioniamo Class e clicchiamo ancora su Add;
Nel campo testuale inseriamo il nome del nostro gruppo pfSense-Admins;
Clicchiamo su Ok e concludiamo la creazione della policy.


Configuriamo pfSense


Iniziamo con il creare un gruppo che abbia esattamente lo stesso nome del gruppo che abbiamo dichiarato nel RADIUS come class attribute da passare all'atto dell'autenticazione. Questo permetterà a pfSense di effettuare un match con i propri gruppi e determinare i permessi associati all'utente.

Accediamo a System > User Manager > Groups;
Clicchiamo su Add;
Compiliamo i campi come segue
Group Name: pfSense-Admins
Scope: Remote
Clicchiamo su Save e riaccediamo al gruppo in modifica per assegnare i privilegi.
Clicchiamo su Add e selezioniamo WebCfg - All pages;
Clicchiamo su Save.


Ora passiamo a configurare i  parametri di connessione al server RADIUS

Accediamo a System > User Manager > Authentication Servers;
Clicchiamo su Add;

Compiliamo i campi come segue
Descriptive name: Nome da assegnare alla connessione;
Type: RADIUS;
Hostname or IP address: IP del nostro server RADIUS;
Shared Secret: inseriamo la password precedentemente inserita sul server RADIUS;
Services offered: Authentication and Accounting;
Authentication port: 1812;
Accounting port: 1813;
Authentication Timeout: 5;
Clicchiamo su Save.


Ci rimane ancora un ultimo passaggio: indicare come Authentication Server il nostro server RADIUS

Accediamo su System > User Manager > Settings
Nel campo Authentication Server selezioniamo il nostro server RADIUS.

La configurazione è completata, ora possiamo effettuare una prova.
Accediamo a Diagnostics > Authentication;
In Authentication Server selezioniamo il nostro server RADIUS
Inseriamo i dati dell'utente di cui vogliamo effettuare il test e clicchiamo su Test.

Attenzione!
Se come nel nostro caso il server di autenticazione è in ultima istanza Active Directory, NON è necessario indicare il dominio di appartenenza insieme allo user name.
Posta un commento