Configuración On Premise
Arquitectura
Esta guía le ayudará a instalar su propia infraestructura de Pandora RC. Para familiarizarse con la aplicación y la arquitectura de eHorus consulte “Introducción a Pandora RC”.
La documentación hace referencia en todo momento a eHorus, que es el antiguo nombre de Pandora RC. Por compatibilidad y para minimizar los errores, no se han modificado paths, nombres de archivos, ficheros de configuración, etcétera, por lo que se seguirá usando el nombre antiguo a nivel técnico.
Visión general
A continuación se muestra un esquema general de la arquitectura y el flujo de datos de Pandora RC, así como los puertos en los que escuchan los diferentes servicios.
- Provisión y mensajes de actualización de estado.
- Conexión del agente al servidor de Pandora RC.
- Autenticación de clientes y agentes a través del API del directorio (ver 7).
- Conexión del cliente (navegador web) al portal.
- Llamadas al API del directorio.
- Conexión del cliente (JavaScript) al servidor de Pandora RC.
- Autenticación de clientes y agentes a través del API del directorio (ver 3).
- Pandora RC Agent: Software que se instala en el equipo remoto y permite al acceso a éste, disponible para MS Windows®, GNU/Linux® y Mac OS X®.
- Pandora RC Server: Gestiona las conexiones entre los equipos remotos (Pandora RC Agent) y los usuarios (Pandora RC Client).
- Pandora RC Client: Aplicación JavaScript que se conecta al servidor de Pandora RC y permite interactuar con el equipo remoto. Se ejecuta a través de una interfaz WEB en un navegador.
- Pandora RC Portal: Aplicación web que permite gestionar equipos remotos, usuarios, grupos, y ejecutar Pandora RC Client.
- Pandora RC Directory: Gestiona los datos de la aplicación y el control de acceso a los equipos remotos. Se comunica con el resto de elementos mediante una API REST.
- MySQL Server: Almacena los datos del directorio y el portal.
Provisión de agente
El agente se conecta por HTTPS al directorio y recibe su clave de eHorus, un HASH de autenticación, y un servidor de Pandora RC (ver el apartado Asignación de Servidores) si no se ha especificado uno en el fichero de configuración, es decir, si eh_address
está comentado.
Conexión de agente
- El agente se conecta al servidor de Pandora RC y envía la clave y el HASH.
- El servidor valida la clave y el HASH a través del API del directorio. Si no son válidas, cierra la conexión. En caso contrario, el agente se asocia a la clave de eHorus suministrada.
Conexión de cliente
- El usuario inicia sesión en el portal. Selecciona el agente al que desea conectarse y el navegador descarga el cliente (JavaScript).
- El cliente se conecta al servidor y envía la clave del agente y un token de autenticación proporcionado por el portal.
- El servidor valida la clave y el token de autenticación a través del API del directorio. Si no son válidos, cierra la conexión. En caso contrario, el cliente se conecta al agente de Pandora RC especificado.
Balanceo de servidores
El balanceo de servidores está disponible a partir de la versión 1.1.0 del agente de Pandora RC, siempre que eh_balancing
esté a 1
en el fichero de configuración.
- El agente se conecta por HTTPS al directorio y recibe un nuevo servidor(*) que reemplazará al actual (ver el apartado Asignación de Servidores).
- El agente conecta a su servidor de Pandora RC asignado.
(*) Puede recibir más de un servidor para mantener una cache local que utilizará la próxima vez que lo necesite.
Asignación de servidores
Tanto en la provisión como en el balanceo, la asignación de servidores se realizará de una de las siguientes maneras:
- Por zonas: Si el usuario asignado al agente tiene asignada una zona, se seleccionarán uno o varios servidores al azar que pertenezcan a dicha zona (las zonas son etiquetas asignadas de forma manual por el administrador, no tienen por qué corresponder a una misma zona geográfica).
- Por geolocalización: Si el usuario asignado al agente no tiene asignada una zona, se seleccionarán uno o varios servidores al azar que pertenezcan a la región geográfica más cercana al agente (actualmente, la resolución es a nivel de país).
- Servidor por defecto: Si el resto de estrategias fallan, se asignará el servidor que el administrador haya configurado por defecto en el portal de eHorus.
Requisitos previos
Idealmente, dispondrá de tres hosts para instalar el directorio, el portal y el servidor de Pandora RC con al menos 4 GB de RAM. Si lo desea puede utilizar un host adicional para la base de datos del directorio.
Para entornos con menos de 100 agentes, es posible instalar todos los componentes en un único servidor siempre que se eviten conflictos entre los puertos de los distintos componentes. Se recomienda que tenga al menos 4 GB de memoria RAM.
Ninguno de los componentes de Pandora RC hace un uso intensivo de la CPU.
Antes de comenzar la instalación asegúrese de haber obtenido los siguientes ficheros:
ehorus-directory-1.0.0.tgz ehorus-portal-1.0.0.tgz ehorus-server-1.0.0.tgz
Se utilizará como ejemplo la versión 1.0.0
, si su versión es distinta ajuste los comandos que se muestran en esta guía según sea necesario. Por ejemplo:
tar zxvf ehorus-directory-1.0.1.tgz
en vez de:
tar zxvf ehorus-directory-1.0.0.tgz
.
La instalación de los distintos componentes de eHorus se llevará a cabo sobre un sistema CentOS versión 7, Rocky 8 o RHEL 8. Si utiliza otro sistema operativo puede que el resultado no sea el esperado.
Todos los comandos se ejecutarán con el usuario root.
También deberá haber recibido un número de identificación necesario para obtener su licencia de Pandora RC.
Además, deberá disponer de certificados X.509 válidos para cifrar las comunicaciones entre el directorio, el portal y el servidor.
En caso de duda contacte con su proveedor de licencia de Pandora RC.
Instalación de Node.js y NGINX
Pandora RC Directory y Pandora RC Portal necesitan el entorno Node.js para ejecutarse. En ésta guía se utiliza el servidor web NGINX para acceder a dichas aplicaciones.
En los hosts del directorio y el portal, ejecute los siguientes comandos:
yum install -y epel-release yum install -y gcc-c++ make nginx nodejs npm npm install --global yarn npm install --global pm2
Instalación de MariaDB
En el hosts del directorio, ejecute los siguientes comandos:
yum -y install mariadb-server mariadb systemctl start mariadb systemctl enable mariadb
A continuación se procede a crear la base de datos de eHorus:
echo "CREATE DATABASE ehorus;" | mysql -u root
A continuación sustituya la cadena STRONG PASSWORD
por una contraseña fuerte y cree el usuario ehorus
:
echo "GRANT ALL PRIVILEGES ON *.* TO 'ehorus'@'localhost' \ IDENTIFIED BY 'STRONG PASSWORD' WITH GRANT OPTION;" | mysql -u root echo "FLUSH PRIVILEGES;" | mysql -u root
Por último, configure una contraseña para el usuario root de MariaDB (consulte la documentación de MariaDB en caso de duda):
mysql_secure_installation
Instalación del directorio de eHorus
Ejecute los siguientes comandos:
mkdir -p /etc/ehorus /var/log/{ehorus-directory,ehorus-directory-clean-db}
Descomprima el fichero ehorus_server_1.0.0.tgz
:
tar zxvf ehorus-directory-1.0.0.tgz
Instale las dependencias del directorio:
yum groupinstall -y 'Development Tools' yum install -y npm mv package /opt/ehorus_directory cd /opt/ehorus_directory yarn install
Cree la base de datos del directorio (necesitará la contraseña que utilizó al crear el usuario ehorus
en la base de datos):
cd /opt/ehorus_directory cat db/schema/1-tables.sql | mysql -u ehorus -p ehorus cat db/schema/2-rows.sql | mysql -u ehorus -p ehorus
Genere dos cadenas aleatorias para la configuración del directorio. Por ejemplo, utilizando el siguiente comando:
cat /dev/urandom | tr -c -d A-Za-z | fold -w 16 | head -1 cat /dev/urandom | tr -c -d A-Za-z | fold -w 16 | head -1
Cree el fichero /etc/ehorus/ehorus-directory.pm2.json
con el siguiente contenido, sustituyendo cada instancia de la cadena '1234567890
' por una cadena aleatoria distinta generada en el paso anterior. El valor de JWT_SECRET
será necesario más adelante para instalar el portal. Sustituya USER@DOMAIN
por una dirección de correo electrónico válida que Pandora FMS asociará con su licencia de Pandora RC:
{ "apps": [ { "name": "ehorus-directory", "script": "server.js", "cwd": "/opt/ehorus_directory", "env": { "NODE_ENV": "development", "PORT": 3000, "JWT_SECRET": "1234567890", "EKID_SECRET": "1234567890", "DB_CONF_PATH": "/etc/ehorus/ehorus-directory.db-config.json" }, "env_production": { "NODE_ENV": "production" }, "error_file": "/var/log/ehorus-directory/stderr.log", "out_file": "/var/log/ehorus-directory/stdout.log", "merge_logs": true, "min_uptime": "20s", "max_restarts": 20, "max_memory_restart": "200M", "autorestart": true, "restart_delay": 0 }, { "name": "ehorus-directory-clean-db", "script": "clean-db.js", "cwd": "/opt/ehorus_directory/tools", "env": { "DB_CONF_PATH": "/etc/ehorus/ehorus-directory.db-config.json" }, "args": "-i", "error_file": "/var/log/ehorus-directory-clean-db/stderr.log", "out_file": "/var/log/ehorus-directory-clean-db/stdout.log", "merge_logs": true, "min_uptime": "20s", "max_restarts": 20, "max_memory_restart": "100M", "autorestart": true, "restart_delay": 1 } ] }
Cree el fichero /etc/ehorus/ehorus-directory.db-config.json
con el siguiente contenido. Sustituya la cadena STRONG PASSWORD
por la contraseña que utilizó al crear el usuario ehorus
en la base de datos:
{ "host": "127.0.0.1", "user": "ehorus", "password": "STRONG PASSWORD", "port": 3306, "database": "ehorus", "debug": false }
Cree el fichero /etc/ehorus/ehorus-directory.smtp-config.json
con el siguiente contenido. Introduzca los parámetros correctos para su servidor SMTP (consulte la documentación de Nodemailer para más información):
{ "debug": false, "logger": false, "host": "127.0.0.1", "port": 465, "auth": { "user": "USERNAME", "pass": "PASSWORD" } }
Para instalar el servicio, ejecute el siguiente comando:
pm2 start --env production /etc/ehorus/ehorus-directory.pm2.json pm2 startup pm2 save
Copie el certificado del host y el fichero de clave pública en /etc/ehorus/ehorus_directory.crt
y /etc/ehorus/ehorus_directory.key
respectivamente.
Para configurar NGINX cree el fichero /etc/nginx/conf.d/ehorus_directory.conf
con el contenido que se muestra a continuación. Sustituya la cadena FQDN
por el nombre de dominio completo del host. Consulte la documentación de NGINX se desea personalizar la configuración:
upstream ehorus_directory { server 127.0.0.1:3000; } server { listen 443 ssl; server_name FQDN; # Add Strict-Transport-Security to prevent man in the middle attacks add_header Strict-Transport-Security "max-age=31536000"; ssl_certificate /etc/ehorus/ehorus_directory.crt; ssl_certificate_key /etc/ehorus/ehorus_directory.key; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; ssl_ciphers AES256+EECDH:AES256+EDH:!aNULL; location / { proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; proxy_pass http://ehorus_directory; proxy_redirect off; } }
Por último, reinicie NGINX:
service nginx restart
Instalación del portal de eHorus
Ejecute los siguientes comandos:
mkdir -p /etc/ehorus /var/log/ehorus-portal
Descomprima el fichero ehorus_server_1.0.0.tgz
:
tar zxvf ehorus-portal-1.0.0.tgz
Instale las dependencias del portal:
mv package /opt/ehorus_portal cd /opt/ehorus_portal yarn install yarn run build
Genere una contraseña aleatoria para el usuario ehorus-api
a crear a continuación:
cat /dev/urandom | tr -c -d A-Za-z | fold -w 48 | head -1
Cree el usuario ehorus-api
en la aplicación, que utilizarán el portal y el servidor para hacer peticiones al directorio. Sustituya la cadena FQDN
por el nombre de dominio completo del directorio y STRONG PASSWORD
por la contraseña generada en el paso anterior:
LOGIN_TOKEN=$(curl -s --data "username=admin&password=admin" 'https://FQDN/login' | python -c 'import sys, json; print json.load(sys.stdin)["token"]') curl -s -H "Authorization: JWT $LOGIN_TOKEN" --data "name=ehorus-api&password=STRONG PASSWORD&fullname=ehorus-api&[email protected]" 'https://FQDN/api/users'
En el host del directorio (éste es el único comando que deberá ejecutar fuera del host del portal) ejecute el siguiente comando. Necesitará la contraseña que utilizó al crear el usuario ehorus
en la base de datos:
echo 'UPDATE users SET level="admin" WHERE user="ehorus-api"' | mysql -u ehorus -p ehorus
De vuelta al host del portal, genere un JSON Web Token para hacer peticiones desde el portal al directorio. Sustituya la cadena FQDN
por el nombre de dominio completo del directorio y STRONG PASSWORD
por la contraseña generada anteriormente para el usuario ehorus-api
:
LOGIN_TOKEN=$(curl -s --data "username=ehorus-api&password=STRONG PASSWORD" 'https://FQDN/login' | python -c 'import sys, json; print json.load(sys.stdin)["token"]') curl -s -H "Authorization: JWT $LOGIN_TOKEN" 'https://FQDN/api/token?audience=/users&expires=36000d' | python -c 'import sys, json; print json.load(sys.stdin)["token"]'
Cree el fichero /etc/ehorus/ehorus-portal.pm2.json
con el siguiente contenido, sustituyendo __API_SECRET__
por el JSON Web Token generado en el paso anterior, __JWT_SECRET__
por el valor de JWT_SECRET
utilizado en la instalación del directorio y __DIRECTORIO__
por el dominio completo del directorio de eHorus:
{ "apps": [ { "name": "ehorus-portal", "script": "server", "cwd": "/opt/ehorus_portal", "env": { "NODE_ENV": "development", "PORT": 3001, "API": "https://__DIRECTORIO__", "API_SECRET": "__API_SECRET__", "JWT_SECRET": "__JWT_SECRET__", "MAIL_CONF_PATH": "/etc/ehorus/ehorus-portal.smtp-config.json", }, "env_production" : { "NODE_ENV": "production" }, "error_file": "/var/log/ehorus-portal/stderr.log", "out_file": "/var/log/ehorus-portal/stdout.log", "merge_logs": true, "min_uptime": "20s", "max_restarts": 20, "max_memory_restart": "200M", "autorestart": true, "restart_delay": 0 } ] }
Cree el fichero /etc/ehorus/ehorus-portal.smtp-config.json
con el siguiente contenido. Si desea recibir correos de eHorus introduzca los parámetros correctos en la sección smtp
para su servidor SMTP (consulte la documentación de Nodemailer para más información):
{ "from": "PandoraRC <[email protected]>", "smtp": { "debug": false, "logger": false, "host": "127.0.0.1", "port": 465, "auth": { "user": "USERNAME", "pass": "PASSWORD" } } }
Para instalar el servicio, ejecute el siguiente comando:
pm2 start --env production /etc/ehorus/ehorus-portal.pm2.json pm2 startup pm2 save
Copie el certificado del host y el fichero de clave pública en /etc/ehorus/ehorus_portal.crt
y /etc/ehorus/ehorus_portal.key
respectivamente.
Para configurar NGINX cree el fichero /etc/nginx/conf.d/ehorus_portal.conf
con el contenido que se muestra a continuación. Sustituya la cadena FQDN
por el nombre de dominio completo. Consulte la documentación de NGINX se desea personalizar la configuración:
upstream ehorus_portal { server 127.0.0.1:3001; } server { listen 80; server_name FQDN; return 301 https://$server_name$request_uri; } server { listen 443 ssl; server_name FQDN; # Add Strict-Transport-Security to prevent man in the middle attacks add_header Strict-Transport-Security "max-age=31536000"; ssl_certificate /etc/ehorus/ehorus_portal.crt; ssl_certificate_key /etc/ehorus/ehorus_portal.key; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; ssl_ciphers AES256+EECDH:AES256+EDH:!aNULL; location / { proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; proxy_pass http://ehorus_portal; proxy_redirect off; } }
Por último, reinicie NGINX:
service nginx restart
Instalación del servidor de eHorus
Descomprima el fichero ehorus_server-1.0.0.tgz
:
tar zxvf ehorus-server-1.0.0.tgz
Ejecute el instalador:
cd ehorus_server-0.1.0 ./ehorus_server_installer --install
A continuación deberá obtener una licencia válida. Para ello, diríjase a este enlace, introduzca el número de identificación que ha recibido de Pandora FMS en el campo Auth Key, y en el campo Request Key (from Pandora RC) el dominio completo del directorio de Pandora RC. Este valor deberá coincidir con el dominio que figure en el certificado X509 que instale en el directorio (por ejemplo directory.pandorafms.com
). Por último, haga clic en el botón Generate y guarde en un lugar seguro la licencia que aparecerá en License Key.
Genere un JSON Web Token para hacer peticiones desde el servidor al directorio. Sustituya la cadena FQDN
por el nombre de dominio completo del directorio y STRONG PASSWORD
por la contraseña generada durante la instalación del portal para el usuario ehorus-api
:
LOGIN_TOKEN=$(curl -s --data "username=ehorus-api&password=STRONG PASSWORD" 'https://FQDN/login' | python -c 'import sys, json; print json.load(sys.stdin)["token"]') curl -s -H "Authorization: JWT $LOGIN_TOKEN" 'https://FQDN/api/token?audience=/stats&expires=36000d' | python -c 'import sys, json; print json.load(sys.stdin)["token"]'
A continuación edite el fichero de configuración /etc/ehorus/ehorus_server.conf
y modifique los siguientes parámetros:
license: Borre el carácter de comentario (#) e introduzca la licencia que obtuvo en el paso anterior (no la escriba entre comillas). Por ejemplo:
license 1234567890
ssl_cert: Path absoluto al certificado X.509 del servidor. Por ejemplo:
ssl_cert /etc/ehorus/ehorus_cert.pem
ssl_key: Path absoluto al fichero de clave del certificado X.509 del servidor. Por ejemplo:
ssl_cert /etc/ehorus/ehorus_key.pem
eh_auth_token: JSON Web Token generado en el paso anterior. Por ejemplo:
eh_auth_token 1234567890
Inicie de forma manual el servidor de eHorus para comprobar que la configuración es correcta:
ehorus_server -f /etc/ehorus/ehorus_server.conf
Detenga el servidor de eHorus y inicielo como un servicio:
service ehorus_server start
Entre en el portal de eHorus https://FQDN del portal/
con el usuario admin
(contraseña admin
), y haga clic en Servers:
Introduzca la siguiente información:
- Name: Nombre del servidor. Es meramente descriptivo.
- Address: En blanco. No es necesaria en instalaciones On Premise.
- Domain: Dominio completo del servidor de eHorus.
- Zones: Zona asignada al servidor de eHorus (opcional).
A los agentes de eHorus se les asigna un servidor de eHorus cuando se provisionan (por ejemplo, cuando reciben un nuevo hash del directorio de eHorus).
A partir de la versión 1.1.0, el agente de eHorus puede pedir un nuevo servidor al directorio de eHorus si no puede conectar al servidor que tiene asignado (eh_balancing
tiene que estar a 1
en el fichero de configuración del agente).
En ambas situaciones, los servidores se eligen siguiendo la siguiente estrategia:
- Balanceo basado en zonas: Si el usuario asignado al agente de eHorus pertenece a una zona, se elige un servidor de dicha zona al azar.
- Balanceo basado en geo-localización: Si el usuario asignado al agente de eHorus no pertenece a ninguna zona, se elige un servidor al azar del país más cercano.
- Servidor por defecto: Si todo lo demás falla, se devuelve el servidor configurado como
default
.
Las zonas se gestionan desde la sección zones
del portal de eHorus:
Consideraciones adicionales
- Se recomienda cambiar la contraseña del usuario
admin
en el portal desde la sección Users. - Se recomienda el uso de cortafuegos en todos los hosts. Si ha seguido esta guía, necesitará acceder a los puertos
443
del portal y el directorio y443
y8080
del servidor de eHorus.
Existen dos parámetros que se podrán configurar en el entorno para distintos propósitos:
- Modo desarrollo/producción: se podrá configurar el portal de dos modos: desarrollo y producción. El primer modo es adecuado para tareas de desarrollo y pruebas, de modo que los cambios introducidos en los ficheros del portal tendrán efecto inmediato. Bajo el segundo modo, los cambios introducidos en los ficheros del portal no tendrán efecto a menos que se ejecuten, en orden, los siguientes comandos:
pm2 delete ehorus-portal pm2 start --env production /etc/ehorus/ehorus-portal.pm2.json yarn run build
Para pasar a modo producción debemos ejecutar en el portal el siguiente comando:
yarn run build
- Hash history: este valor deberá ser activado para el correcto funcionamiento del entorno en caso de que tengamos el directorio y el portal en el mismo puerto.
Podremos activar esta característica en el fichero de configuración del portal:
/etc/ehorus/ehorus-portal.pm2.json
Para ello deberemos establecer como 0
/1
los valores correspondientes al token de configuración HASH_HISTORY
, pudiendo distinguir en cada caso para el modo de desarrollo y el modo producción:
"env": { "NODE_ENV": "development", ... "HASH_HISTORY": 1 }, "env_production" : { "NODE_ENV": "production", ... "HASH_HISTORY": 1 }, }
Una vez modificado este valor, se deberá ejecutar en el portal el comando:
npm run build
Primeros pasos
Una vez instalada la infraestructura puede comenzar a instalar los agentes de eHorus en los equipos que quiera administrar de forma remota. Para ello consulte de nuevo la Configuraciones avanzadas.
Anexos
Personalización del portal
Guarde una copia de seguridad de sus personalizaciones, ya que se pueden perder si actualiza el software.
Correos electrónicos
Las plantillas de los correos electrónicos que envía el portal de eHorus se encuentran en el directorio ehorus_portal/server/mailer/templates
. Para cada correo electrónico existe una versión en texto plano en el subdirectorio text, y otra en HTML en el subdirectorio html
.
Las plantillas se cargan en memoria, por lo que será necesario reiniciar el portal con el comando que se muestra a continuación si se modifican:
pm2 restart ehorus-portal
Las plantillas soportan macros, escritas entre llaves dobles (por ejemplo {{email}}
), que el portal de eHorus sustituirá por el valor adecuado antes de enviar un correo electrónico.
Pantalla de bienvenida
- HTML:
/opt/ehorus_portal/server/mailer/templates/html/welcome.html
- Texto plano:
/opt/ehorus_portal/server/mailer/templates/text/welcome.txt
Macros soportadas:
{{host}}
: Dominio completo del portal de eHorus.{{email}}
: Dirección a la que se envía el correo electrónico.{{user}}
: Nombre del usuario al que se le envía el correo electrónico.{{name}}
: Nombre completo del usuario al que se le envía el correo electrónico.
Reinicio de contraseña
- HTML:
/opt/ehorus_portal/server/mailer/templates/html/password-reset.html
- Texto plano:
/opt/ehorus_portal/server/mailer/templates/text/password-reset.txt
Macros soportadas:
{{host}}
: Dominio completo del portal de eHorus.{{email}}
: Dirección a la que se envía el correo electrónico.{{user}}
: Nombre del usuario al que se le envía el correo electrónico.{{name}}
: Nombre completo del usuario al que se le envía el correo electrónico.{{token}}
: El JSON Web Token utilizado para autorizar la operación de cambio de contraseña.
Cambio de contraseña
- HTML:
/opt/ehorus_portal/server/mailer/templates/html/password-changed.html
- Texto plano:
/opt/ehorus_portal/server/mailer/templates/text/password-changed.txt
Macros soportadas:
{{host}}
: El dominio completo del portal de eHorus.{{email}}
: Dirección a la que se envía el correo electrónico.{{user}}
: Nombre del usuario al que se le envía el correo electrónico.{{name}}
: Nombre completo del usuario al que se le envía el correo electrónico.
Cambio de correo electrónico
- HTML:
/opt/ehorus_portal/server/mailer/templates/html/email-changed.html
- Texto plano:
/opt/ehorus_portal/server/mailer/templates/text/email-changed.txt
Macros soportadas:
{{host}}
: El dominio completo del portal de eHorus.{{oldEmail}}
: Anterior dirección de correo electrónico.{{email}}
: Nueva dirección de correo electrónico.{{user}}
: Nombre del usuario al que se le envía el correo electrónico.{{name}}
: Nombre completo del usuario al que se le envía el correo electrónico.
Configuración del correo
La configuración para la biblioteca mailer debe ser un archivo JSON con esta forma:
json { "from": "PandoraRC <[email protected]>", "smtp": { // SMTP Transport options } }
Hay un archivo de configuración por defecto en el directorio mailer (ehorus_portal/server/mailer/config.json
). Para utilizar otro archivo, la ruta debe pasarse utilizando la variable de entorno MAIL_CONF_PATH
cuando inicie el servidor _eHorus Portal_
.
Assets
Si se realizan cambios en los ficheros que se muestran en este apartado
ejecute el siguiente comando para que se copien al directorio /opt/ehorus_portal/build
:
cd /opt/ehorus npm run build
Logotipo
Para cambiar el logotipo del portal de eHorus reemplace los siguientes ficheros ehorus_portal/assets/images/logo.png
y ehorus_portal/assets/images/logo-grey.png
.
CSS
Portal
Los ficheros CSS del portal de eHorus están en el directorio /opt/ehorus_portal/assets/css
.
Para los estilos generales utiliza Bulma y para los iconos Font Awesome. Las fuentes se encuentran en el directorio /opt/ehorus_portal/assets/fonts
.
También se pueden sobrescribir estilos utilizando un fichero CSS personalizado y modificando el fichero /opt/ehorus_portal/assets/index.html
para incluirlo.
Cliente
Los ficheros CSS del cliente de eHorus están en el directorio /opt/ehorus_portal/assets/client/css
.
Para los estilos generales utiliza Bootstrap y para los iconos xterm.js
. Las fuentes se encuentran en el directorio /opt/ehorus_portal/assets/client/fonts
.
También se pueden sobrescribir estilos utilizando un fichero CSS personalizado y modificando el fichero /opt/ehorus_portal/assets/index.html
para incluirlo.
URL
Alta de usuarios
La URL para dar de alta a un usuario que se muestra en la pantalla de inicio se puede cambiar colocando en la variable de entorno URL_CREATE_ACCOUNT
la URL deseada antes de ejecutar el comando npm run build
. Por ejemplo:
cd /opt/ehorus_portal CREATE_ACCOUNT="https://localhost.localdomain/sign-up" npm run build
Generación de certificados
Si desea generar su propio certificados X.509, genere primero el certificado de la CA:
mkdir /etc/pki/CA/newcerts mkdir /etc/pki/CA/private touch /etc/pki/CA/index.txt echo "01" >> /etc/pki/CA/serial openssl genrsa -out /etc/pki/CA/private/cakey.pem openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.pem
A continuación instale el certificado de la CA como un certificado raíz de confianza:
yum install -y ca-certificates update-ca-trust force-enable cp /etc/pki/CA/cacert.pem /etc/pki/ca-trust/source/anchors/ update-ca-trust extract
Por último, genere y firme el certificado para eHorus:
openssl genrsa -out ehorus.key openssl req -new -key ehorus.key -out ehorus.req -days 36000 cat ehorus.req ehorus.key > ehorus.pem openssl ca -out ehorus.crt -in ehorus.pem
Para evitar que el portal de eHorus se muestre como una página insegura, consulte la documentación de su navegador para añadir el certificado de la recién creada CA (Véase https://wiki.mozilla.org/CA/AddRootToFirefox y https://wiki.mozilla.org/CA/AddRootToFirefox).
Otros parámetros
Agente
proxy_wpad
El agente de eHorus permite descubrir de forma automática la configuración del proxy utilizando el protocolo WPAD. Para ello hay que especificar la URL del fichero PAC de configuración, o bien auto
para buscar dicho fichero por DHCP y DNS:
proxy_wpad <auto|URL>
terminal_export
Lista de definiciones de variables de entorno separadas por semicomas que estarán disponibles desde el terminal:
terminal_export var1="value1";var2="value2";…
terminal_path
Lista de directorios separados por puntos y coma que se añadirán al PATH del terminal:
terminal_path dir1;dir2;…
Hay que tener cuidado con el caracter \
en MS Windows®, ya que se utiliza para escapar caracteres especiales.Por ejemplo, para c:\foo\bar
se deberá escribir c:\\foo\\bar
.
terminal_script
Comandos que se enviarán tal cual cuando se lance el terminal. Deben formar un script válido para la shell en la que se vayan a ejecutar (depende del SO en el que corra el agente):
terminal_script <script>
terminal_audit_commands
Si está a 1
, se auditarán todos los comandos que introduzca el usuario (puede incluir información sensible como contraseñas).
terminal_audit_commands 1
access_method_override
Permite que el cliente pueda determinar el modo de acceso a las distintas secciones del agente, independientemente de lo que se haya configurado con la opción access_*
correspondiente (por ejemplo, podría especificar always
para evitar que el terminal pida confirmación al usuario si se ha especificado access_terminal request
en el fichero de configuración del agente). Ver extraData.accessMethodOverride
en el apartado del cliente.
access_method_override 1
Cliente
extraData.externalID: <ID>
Si se defina esta propiedad al instanciar el cliente de eHorus, dicho identificador se añadirá a todos los mensajes de auditoría que generen los agentes a los que se conecte. Posteriormente se podrá utilizar para filtrar los mensajes de auditoría.
extraData.externalID: 1
extraData.accessMethodOverride
Si se defina esta propiedad al instanciar el cliente de eHorus y access_method_override 1
se define en el fichero de configuración del agente, el cliente podrá especificar el modo de acceso (always, request, inform o disable) deseado para los distintos servicios del agente, independientemente de lo que se haya configurado a través de las opciones access_*
.
extraData.accessMethodOverride: 'always'
Documentación de la API
Toda la documentación técnica de la API se encuentra en el directorio, en el fichero de marcas ehorus_directory/README.md
.