Autenticación Active Directory en pfSense

por | 31 Julio, 2015

pfSense + Active DirectoryEn este tutorial voy a explicar cómo integrar pfSense y Active Directory para utilizar la gestión de usuarios de Active Directory en lugar del gestor de usuarios de pfSense. La idea de esto es poder gestionar los usuarios utilizados para distintos servicios integrados en pfSense (administración, OpenVPN, proxy, portal cautivo, etc.) de forma centralizada en un dominio Active Directory.

Escenario

Se configurará la autenticación para posteriormente configurar una instancia de OpenVPN utilizando los usuarios de Active Directory.

Dominio: ejemplo.local
Controlador de dominio: IP 172.29.1.1, Sistema operativo: Windows Server 2008 R2

En la estructura de Active Directory los usuarios que accederán a la VPN se encuentran en el contenedor (incluido por defecto) Users, y adicionalmente deberán ser miembros del grupo vpnusers que se encuentra en la unidad organizativa (OU) miempresa.

Para realizar las consultas LDAP al controlador he creado un usuario pfsense miembro del grupo Administradores de dominio (en teoría no sería necesario, pero para algunos casos no funciona correctamente sin privilegios administrativos).

Configuración

En pfSense vamos a System -> User Manager -> Servers. Y añadimos uno nuevo con un clic en el botón + .

Integración de pfSense con Active Directory

Y configuramos los parámetros:

Descriptive name: Nombre para identificar el servidor y qué autenticará. En mi caso he usado “AD VPN”.
Type: LDAP
Hostname or IP address: IP del controlador de dominio, en mi caso 172.29.1.1.
Port value: 389 (puerto por defecto para LDAP sobre TCP)
Transport: TCP – Standard
Protocol version: 3
Search scope: One Level (para consultar solo los CNs y OUs de primer nivel) o Entire Subtree (para consultar todo el árbol), en Base DN utilizar el nombre de dominio en formato Distinguished Name (DN), quedaría así: DC=ejemplo,DC=local
Authentication containers: Ingresar la OU o contenedor (CN) donde se encuentran los usuarios que queremos autenticar, en mi caso: CN=Users;DC=ejemplo,DC=local
Extended query: Si se utilizarán los usuarios de una OU o CN específico sin verificar pertenencia a grupos u otros valores no es necesario habilitar esta opción, en este caso como deseo verificar si pertenecen al grupo vpnusers he agregado la consulta:
(&(objectcategory=user)(memberof=CN=vpnusers,OU=miempresa,DC=ejemplo,DC=local))
Aquí algunas referencias de consultas LDAP comunes.
Bind credentials: Ingresar DN de usuario y contraseña, en este caso del usuario pfsense. Para obtener el DN a partir del nombre de usuario, en el controlador de dominio ejecutar el comando:
dsquery user -name “pfsense”
Y nos devolverá el DN del mismo. En este caso CN=pfsense,CN=users,DC=ejemplo,DC=local
Initial template: Microsoft AD. Los valores User naming, Group naming y Group member cambiarán automáticamente al formato de Active Directory.
Las últimas dos opciones mantenerlas por defecto.

Quedaría así:

Integración de pfSense con Active Directory

Y una vez guardada la configuración del servidor ya se encontrará disponbile para utilizar como método de autenticación en los servicios de pfSense. En este caso para utilizar como autenticación para el servidor OpenVPN que en un próximo artículo explicaré como configurar.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *