Funciones de seguridad
Sistema de autenticación con terceros
Local Pandora FMS
Autenticación por defecto, indica que se realizará usando la base de datos interna de Pandora FMS. Los usuarios tipo superadmin por seguridad siempre se autentican de esta manera, el resto de los tipos de autenticaciones tiene la opción local como respaldo (fallback).
Active Directory
- Automatically create remote users: Habilita o deshabilita la creación automática de usuarios remotos. Esta opción hace posible que Pandora FMS cree los usuarios automáticamente una vez inicien sesión (login). Si activa esta característica, los siguientes campos quedarán disponibles:
- Save Password: Si se activa permite guardar las contraseñas de AD en la base local de Pandora FMS.
- Advanced Configuration AD: Si se activa esta opción, se utilizará la configuración de Advanced Permissions AD.
- Advanced Permissions AD: Lista los permisos avanzados que se han añadido en Add new permissions.
- Automatically create profile: Estando activa la creación automática de usuarios remotos, este campo hace posible asignarles un tipo de perfil a estos usuarios que se crean automáticamente. Los perfiles por defecto son:
Chief Operator,Group Coordinator,Operator (Read),Operator (Write)yPandora Administrator. Los diferentes perfiles disponibles pueden ser consultados en la sección Profiles → Profile management. - Automatically create profile group: Al activar la creación automática de usuarios remotos, este campo hace posible asignarles un grupo a estos usuarios creados automáticamente. Los diferentes grupos disponibles pueden ser consultados en la sección Profiles → Manage agent groups.
- Automatically create profile tags: Estando activa la creación automática de usuario remotos, este campo hace posible asignarle un perfil a un grupo las tags deseadas.Los diferentes grupos disponibles pueden ser consultados en la sección Profiles → Module tags.
- Autocreate blacklist: Permite escribir una lista de usuarios, separados por comas, que no serán creados de forma automática.
- Active Directory server: Defina aquí la ruta en la que se encuentra nuestro servidor de Active Directory.
- Active Directory port: Para definir el número de puerto del servidor Active Directory (
389por defecto). - Start TLS: Define si usará o no el protocolo Transport Layer Security (TLS) en las comunicaciones entre el cliente y el servidor.
- Enable secondary active directory: Permite activar la conexión a un servidor Active Directory secundario. Cuenta con los mismos campos que el servidor primario pero además admite configurar un tiempo de expiración en la búsqueda (AD search timeout) con un valor por defecto de 5 segundos.
- Double authentication: Los usuarios puedan elegir si habilitar la autenticación en dos pasos en sus cuentas. Para saber más sobre cómo activar la autenticación en dos pasos en una cuenta, puede leer esta sección. Esta funcionalidad necesita que el servidor y los dispositivos móviles tengan una fecha y hora sincronizadas y lo más precisas posibles.
- En el caso de que haya un cambio de contraseña en los usuarios, MS Windows® permite usar por defecto una contraseña antigua durante 60 minutos en Active Directory. Al ser una configuración de Windows, este comportamiento es totalmente ajeno a Pandora FMS. Si se desea modificar puede consultar la documentación de Microsoft®.
- Domain: Definir el dominio que utilizará el Active Directory.
- Por ahora los grupos primarios de un usuario no son compatibles con la configuración de grupos avanzada en la Autenticación AD.
- Si utiliza la configuración avanzada (Advanced Configuration AD) asegúrese de colocar la ruta completa en el campo dominio (Domain).
- Si la instalación de Active Directory es con LDAP, debe definir aquí la ruta LDAP en la que se encuentra el servidor, generalmente:
ldap://addc.mydomain
LDAP
- Para poder hacer uso de este modo, es necesario tener instaladas las dependencias de OpenLDAP.
- Dependiendo del sistema operativo utilizado, se utilizan los comandos:
yum install openldap*
O
apt install ldap-utils
Campos importantes:
- LDAP server y Secondary LDAP server: Dependiendo del entorno, se puede acceder directamente al servidor (
x.x.x.x.x) o por medio de un enlace (ldap://x.x.x.x.x,ldaps://x.x.x.x.x). - Login attribute y Secondary Login attribute: Ambos campos diferencian mayúsculas de minúsculas.
- Fallback to local authentication: Si se activa esta opción, se hará una autenticación local si falla LDAP. Los usuarios administradores siempre tendrán fallback habilitado, para no perder acceso a Pandora FMS en caso de fallo del sistema de autenticación remota.
- Automatically create remote users: Habilita o deshabilita la creación automática de usuarios remotos. Esta opción hace posible que Pandora FMS cree los usuarios automáticamente una vez hayan iniciado sesión (login) usando LDAP.
- LDAP function: A la hora de realizar las búsquedas en LDAP, podrá elegir si utilizar la función nativa de PHP o utilizar el comando local
ldapsearch. Se recomienda utilizar el comando local para aquellos entornos que tengan un LDAP con muchos elementos.
Advanced Config LDAP
- Si la opción está activada, aparecerá una lista con todos los permisos avanzados guardados. Se pueden añadir nuevos permisos seleccionando el perfil, los grupos y las tags, junto al filtro de atributos. Si el usuario cumple con alguno de esos atributos (por ejemplo, una unidad organizativa o grupo concreto) entonces se creará el usuario.
- Si esta opción no está activada, se utilizará el sistema sencillo para la creación de perfiles de usuario (Automatically create profile, Automatically create profile group, Automatically create profile tags, Automatically assigned no hierarchy).
Los atributos deben tener el siguiente formato Nombre_atributo = Valor_Atributo.
- Enable secondary LDAP: Si habilita un servidor LDAP secundario como respaldo, aparecerán campos respectivos del servidor LDAP principal.
- Double authentication: Los usuarios podrán elegir si habilitar la autenticación en dos pasos en sus cuentas. Esta funcionalidad necesita que el servidor y los dispositivos móviles tengan una fecha y hora sincronizadas y lo más precisas posibles.
Doble autenticación
Para usar esta funcionalidad el administrador deberá activar la doble autenticación en la sección de autenticación de la configuración global de la Consola web de Pandora FMS:
Management → Settings → System Settings → Authentication → Double authentication.
Los usuarios podrán elegir si habilitar la autenticación en dos pasos en sus cuentas accediendo a la opción de Editar mi usuario.
Esta funcionalidad necesita que el PFMS server y los dispositivos móviles tengan una fecha y hora sincronizadas de manera precisa.
También será necesario disponer de la aplicación generadora de códigos en un dispositivo móvil de la propiedad de cada usuario. Para conocer dónde y cómo descargarla:
Se puede utilizar el sistema de notificación PFMS para informar a todos los usuarios que está disponible 2FA y cómo activar esta opción personal. Para ello en el menú Operation → Workspace → Messages → New message se redacta un mensaje al grupo All similar a este:
Force 2FA for all users is enabled
Al habilitar esta opción forzará a que todos los usuarios utilicen la autenticación en dos pasos.
Para desactivar esta funcionalidad a un usuario específico sin usar la interfaz gráfica, un administrador puede utilizar la CLI PFMS.
SAML
SAML es un estándar abierto de autentificación y autorización basado en XML. Pandora FMS puede funcionar como un proveedor de servicios con su proveedor de identidades SAML interno.
Los administradores siempre se autentican contra la base de datos local.
Se deben realizar varios pasos antes de poder utilizar SAML en Pandora FMS.
Tener operativo un servidor SAML.
Configurar los parámetros en Pandora FMS.
Si se piensa utilizar Azure con SAML se debe configurar dicho servidor.
Instalación de SimpleSAMLphp 2.0
Se debe descargar SimpleSAMLphp versión 2.3.2 desde su repositorio oficial:
y luego ser subido al Pandora FMS server. Si el PFMS server tiene acceso a internet y se tiene instalado wget se puede utilizar directamente la siguiente instrucción en un directorio que cuente con espacio y derechos de escritura suficientes:
wget https://github.com/simplesamlphp/simplesamlphp/releases/download/v2.3.2/simplesamlphp-2.3.2-full.tar.gz
Se descomprime el fichero descargado con:
tar -xvf simplesamlphp-2.3.2-full.tar.gz
Se debe mover la carpeta a su ubicación final:
mv simplesamlphp-2.3.2 /opt/simplesamlphp
Para compartir acceso con Pandora FMS se debe crear el siguiente enlace simbólico:
ln -s /opt/simplesamlphp/public /var/www/html/simplesamlphp
SimpleSAMLphp basa su configuración en el fichero config.php, con la ubicación final establecida anteriormente se ha de renombrar la plantilla que trae por defecto:
mv /opt/simplesamlphp/config/config.php.dist /opt/simplesamlphp/config/config.php
Así se tendrá la ruta completa del fichero de configuración en:
/opt/simplesamlphp/config/config.php
Con el editor de texto favorito se deben editar los siguientes valores (nótese que se debe cambiar pandora.local por la URL de la Consola web PFMS y conservar la coma al final de línea ya que forman parte de bloques de instrucciones):
- /opt/simplesamlphp/config/config.php
'baseurlpath' => 'https://pandora.local/simplesamlphp/', 'auth.adminpassword' => '123pandora',
- Nótese que se debe cambiar
pandora.localpor la URL de la Consola web PFMS y conservar la coma al final de línea ya que forma parte de bloques de instrucciones. - Siempre se debe utilizar una URL en vez de una dirección IP. Siguiendo el caso dado de utilizar
pandora.local, esta “URL” se debe agregar al fichero/etc/hostsdel sistema operativo (nota: solamente con propósitos didácticos).
Se deben guardar los cambios del fichero y salir a la línea de comandos.
Si aparece algún error de permisos por cache se debe aplicar:
mkdir /var/cache/simplesamlphp && chown apache:apache /var/cache/simplesamlphp
De esta manera se tendrá a SimpleSAMLphp en funcionamiento y deberá mostrar la página de inicio en la URL https://pandora.local/simplesamlphp/ (se debe cambiar pandora.local por la URL de la Consola web PFMS).
Dado el caso que se conecte por HTTP en vez de HTTPS la autenticación fallará hasta que el servidor web Apache sea configurado para que escuche por el puerto seguro 443.
Para acceder a la administración de SimpleSAMLphp primero se debe cambiar el nombre al fichero authsources.php.dist:
mv /opt/simplesamlphp/config/authsources.php.dist /opt/simplesamlphp/config/authsources.php
Se copia el contenido del XML descargado anteriormente, se pega y se procesa; esto generará un texto de configuración para PHP el cual se copia y se adiciona al final del fichero /opt/simplesamlphp/metadata/saml20-idp-remote.php. Luego se deben guardar dichas adiciones y salir de la edición de dicho fichero.
Se accede mediante la URL https://pandora.local/simplesamlphp/admin/ (se debe cambiar pandora.local por la URL de la Consola web PFMS):
Configuración de Pandora FMS con SAML
Menú Management → Setup → Setup → Authentication
Los siguientes valores son comunes:
Algunos campos notables:
- Atributo de nombre de grupo SAML: Campo SAML donde buscar el nombre del grupo (mientras auto crear usuarios remotos esté activado)
- Ruta de SimpleSAML: Directorio donde se encuentra la carpeta
simplesamlphp. - SAML de origen: Nombre
authsource, por ejemploexample-userpass. - Atributo de correo SAML: Campo SAML donde buscar el correo electrónico del usuario (mientras auto crear usuarios remotos esté activado)
Antes de configurar cualquier servicio de terceros con SAML se recomienda probar y comprobar localmente la instalación realizada de SimpleSAMLphp.
Configuración de Azure con SAML
En servicios de Azure® se debe acceder a la sección Extra ID:
Acceder luego a Aplicaciones empresariales:
Se crea una nueva aplicación (o se utiliza una existente):
Se accede a inicio de sesión único:
Se edita la configuración básica de SAML:
Se rellenan los siguientes campos, con el ID para la aplicación, la dirección del SimpleSAMLphp instalado (se debe cambiar pandora.local por la URL de la Consola web PFMS) y la dirección donde Azure® tendrá que redirigir cuando se cierre la sesión:
Descargar el fichero XML con metadatos de federación el cual se utilizará más adelante:
Y por último se debe guardar el ID que de el paso anterior y la URL del identificador extra:
Configuración en SimpleSAMLphp
Se debe editar el fichero /opt/simplesamlphp/config/authsources.php con los siguientes valores:
Y por la página web de SimpleSAMLphp al menú de Federación y luego a la sección Herramientas para la conversión de XML a PHP:
Se debe cambiar el nombre de saml20-idp-remote.php.dist con:
mv /opt/simplesamlphp/metadata/saml20-idp-remote.php.dist /opt/simplesamlphp/metadata/saml20-idp-remote.php
Se copia el contenido del XML descargado anteriormente, se pega y se procesa; esto generará un texto de configuración para PHP el cual se copia y pega dentro del fichero /opt/simplesamlphp/config/authsources.php reemplazando todo su contenido.
Si todo está correcto se procede a realizar una prueba:
Obteniendo el siguiente resultado:
El correo electrónico e identificador de usuario se puede sacar de los atributos que devuelve Azure® en la prueba realizada anteriormente:
Para la configuración avanzada se puede profundizar el mapeo de propiedades o seleccionar una por defecto en caso de no hacer coincidencia con ninguna:
Cifrado de contraseñas
Pandora FMS permite cifrar las contraseñas que se almacenan en la base de datos.
La clave de cifrado se genera a partir de una contraseña proporcionada por el usuario y no se guarda en la base de datos (ni la contraseña ni la clave), de modo que las contraseñas no se puedan recuperar de un volcado de la base de datos.
Una vez el usuario configura la contraseña, el cifrado funciona de forma transparente para el usuario.
Si se pierde la contraseña proporcionada por el usuario no podrá recuperar las contraseñas almacenadas en la base de datos de Pandora FMS. Guárdese en lugar seguro o hágase un respaldo (backup) de los ficheros config.php y pandora_server.conf.
Detalles técnicos
Las contraseñas se cifran utilizando el cifrado Rijndael con bloques de 128 bits en modo ECB. Una clave de 256 bits se genera en el arranque a partir del MD5 de la contraseña configurada por el usuario.
Configuración en una instalación nueva de Pandora FMS
Para habilitar el cifrado de claves, la contraseña se debe configurar tanto en el Servidor de Pandora FMS como en la Consola web.
Los pasos a seguir para el cifrado son los siguientes:
- Detener el servidor, tanto en Command Center (Metaconsola) como en los nodos.
- Actualizar los campos
encryption_passphraseen/etc/pandora/pandora_server.confy/var/www/html/pandora_console/include/config.php, tanto en Command Center (Metaconsola) como en los nodos.
$config["encryption_passphrase"]="passphrase";
- Lanzar el script de cifrado tanto en Command Center (Metaconsola) como en los nodos.
/usr/bin/pandora_encrypt_db /etc/pandora/pandora_server.conf
Se deberá reiniciar el servidor de Pandora FMS después de haber efectuado los cambios y haber lanzado el script.
Cambiando la contraseña de cifrado
Es posible cambiar la contraseña de cifrado en caso de que se haya visto comprometida. Primero se deben descifrar las contraseñas almacenadas en la base de datos:
/usr/bin/pandora_encrypt_db -d /etc/pandora/pandora_server.conf
A continuación, después de haber cambiado la contraseña de cifrado (como se describe en la sección para la configuración en una instalación nueva), se pueden cifrar de nuevo:
/usr/bin/pandora_encrypt_db /etc/pandora/pandora_server.conf
A partir de 7.0 NG 739 se incluye el gestor de credenciales seguro. Consulte la siguiente sección para finalizar correctamente este proceso.
Gestor de credenciales:
En caso de disponer de una base de datos cifrada, para poder seguir utilizando el gestor de credenciales sin perder datos será necesario descifrar todo menos la tabla tcredential_store.
Para ello ejecútense los siguientes comandos:
/usr/bin/pandora_encrypt_db -d -m /etc/pandora/pandora_server.conf
Con lo que quedará descifrado.
Una vez descifrado, se volverá a cifrar de nuevo:
/usr/bin/pandora_encrypt_db /etc/pandora/pandora_server.conf
Si solo desea cifrar de cero, bastará con ejecutar el último comando.
Quitando la contraseña de cifrado
Se recomienda mantener de manera cifrada toda contraseña almacenada en Pandora FMS.
- Detenga el servidor, tanto en Command Center (Metaconsola) como en los nodos.
- Lanzar el script de descifrado tanto en Command Center (Metaconsola) como en los nodos.
/usr/bin/pandora_encrypt_db -d /etc/pandora/pandora_server.conf
- Comentar encryption_passphrase en
/etc/pandora/pandora_server.confy/var/www/html/pandora_console/include/config.phptanto en Command Center (Metaconsola) como en los nodos.
# $config["encryption_passphrase"]="your encryption passphrase";
Se deberá reiniciar el servidor de Pandora FMS después de haber efectuado los cambios y haber lanzado el script.
Política de contraseñas de usuarios
Menú Management → Settings → System Settings → Password policy
.
Para activar la política de contraseñas se debe tener perfil de administrador (Pandora administrator) o ser un superadmin .
Campos importantes:
- Enable password policy: Por defecto desactivada, al activarla se mostrarán el resto de los campos.
- Min. password size: Por defecto cuatro caracteres el largo mínimo de contraseña.
- Password expiration: Por defecto cero
0días (contraseñas sin expiración). - The password must include numbers: La contraseña debe tener números, desactivado por defecto .
- The password must include symbols: La contraseña debe tener símbolos, desactivado por defecto.
- Force password change on first login: Forzar cambio de contraseña en el primer inicio de sesión después de la creación del usuario, desactivado por defecto.
- Block user if login fails y Number of failed login attempts: Minutos (
5por defecto) que permanece bloqueado el usuario si consume el número máximo de intentos fallidos (5intentos de manera predeterminada). - Apply password policy to admin users: Aplica la política de contraseñas también a usuarios administradores, activado por defecto.
- Enable password history y Compare to previous password: Trabajan de manera conjunta para evitar que un usuario reutilice contraseñas. El primer token debe estar activado y el segundo debe ser mayor a cero (por defecto
3), de esta manera la nueva contraseña de un usuario se comparará con las contraseñas utilizadas anteriormente por el mismo usuario. - Activate reset password: Deshabilitado por defecto, si se activa permite solucionar el olvido de contraseñas por parte de los usuarios.
- Exclusion word list for passwords: Permite agregar una lista de contraseñas explícitamente excluidas de su uso en Pandora FMS.
Log de auditoría
Menú Management → Admin tools → System Audit Log.
Pandora FMS guarda un log con todos los cambios y acciones de importancia producidos en la Consola de Pandora FMS. Allí se podrán ver una serie de entradas relacionadas con la actividad de la Consola, información sobre el usuario, tipo de acción, fecha y una pequeña descripción de los eventos registrados.
Se pueden filtrar cuales entradas a mostrar por diferentes criterios, incluyendo: acciones, usuario y dirección IP. Incluso se puede realizar una búsqueda de texto y determinar las horas máximas a buscar, con la opción de guardar dicho filtro si es de uso frecuente.
Se debe utilizar el filtro lateral derecho y establecer una fecha de inicio y una fecha de finalización y ejecutar el filtrado.



















