Saltar a contenido

Instalación del servidor Edge Gateway

Nota

Recordatorio: el cambio a root en las máquinas Debian debe realizarse con el siguiente comando:

1
su -

Descarga del espejo y de las herramientas necesarias

El espejo CyberElements Cleanroom 4.6 y la clave de firma del repositorio de Systancia pueden descargarse desde este enlace (requiere la creación de una cuenta de cliente): Systancia Marketplace

Además del espejo y de la clave, se necesitarán herramientas de terceros para el proceso de instalación:

  • Un cliente SSH (en Windows puede utilizar PuTTY)
  • Un cliente SCP (en Windows pueden utilizarse las herramientas WinSCP o FileZilla)

Utilice el cliente SSH para conectarse de forma remota a su servidor.

Utilice el cliente SCP para transferir ficheros a su máquina remota.

Preparación de la instalación

Configuración de la red

Se recomienda encarecidamente definir una dirección de red estática para el servidor Edge Gateway. Para ello, primero hay que obtener el nombre de la interfaz de red de la máquina y su dirección MAC. Ejecute el siguiente comando como root:

1
ip -br link | grep -ve "^lo"

Este comando muestra el nombre de la interfaz de red, su estado, su dirección MAC y los parámetros de la interfaz.

Ejemplo

Tras ejecutar el comando, se muestra el siguiente resultado:

1
ens192           UP             00:50:56:a1:56:9f <BROADCAST,MULTICAST,UP,LOWER_UP>

El nombre de la interfaz de red es ens192 y su dirección MAC es 00:50:56:a1:56:9f.

Una vez obtenidos el nombre de la interfaz de red y la dirección MAC, ya es posible editar la configuración de red de la máquina.
Edite el fichero /etc/network/interfaces para modificarlo siguiendo el modelo siguiente:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto br0
iface br0 inet static
    bridge_ports INTERFACE_NAME
    bridge_stp off
    bridge_fd 0
    bridge_maxwait 2
    bridge_hw MAC_ADDRESS
    address IP_GW
    netmask NETMASK
    gateway NETWORK_GATEWAY
    dns-nameservers IP_DNS_1 IP_DNS_2
    dns-search DNS_SUFFIX

Where:

  • INTERFACE_NAME debe sustituirse por el nombre de la interfaz de red obtenido anteriormente.
  • MAC_ADDRESS debe sustituirse por la dirección MAC obtenida anteriormente.
  • IP_GW debe sustituirse por la dirección IP del servidor.
  • NETMASK debe sustituirse por la máscara de red asociada a la dirección IP.
  • NETWORK_GATEWAY debe sustituirse por la puerta de enlace de red predeterminada.
  • IP_DNS debe sustituirse por la dirección IP del servidor DNS. Si hay que configurar varios servidores (3 como máximo), sepárelos con un espacio.
  • DNS_SUFFIX debe sustituirse por el sufijo DNS que se vaya a utilizar. Si no hay que indicar ningún sufijo, elimine la línea.
Ejemplo
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto br0
iface br0 inet static
    bridge_ports ens192
    bridge_stp off
    bridge_fd 0
    bridge_maxwait 2
    bridge_hw 00:50:56:a1:56:9f
    address 172.16.10.10
    netmask 255.255.255.0
    gateway 172.16.10.254
    dns-nameservers 172.16.11.2 172.16.11.3
    dns-search domain.local

Antes de aplicar la configuración, quedan tres etapas por completar.

La primera consiste en instalar los paquetes resolvconf y bridge-utils para que pueda aplicarse la configuración DNS indicada en el fichero anterior y pueda utilizarse la interfaz br0:

1
apt install -y resolvconf bridge-utils

La segunda consiste en comprobar la configuración del fichero /etc/hosts en lo relativo a la dirección IP principal de la máquina (IP_GW).
Para ello, edite el fichero /etc/hosts y compruebe que la segunda línea tenga el formato siguiente:

2
IP_GW   FQDN    MACHINE_NAME
Ejemplo

Si la máquina se llama EDGE-GATEWAY sin pertenecer a un dominio y su dirección IP IP_GW es 172.16.10.10, el fichero se completaría de la siguiente manera:

2
172.16.10.10  EDGE-GATEWAY

Si la máquina pertenece al dominio DOMAIN.LOCAL, el fichero se completaría de la siguiente manera:

2
172.16.10.10  EDGE-GATEWAY.DOMAIN.LOCAL   EDGE-GATEWAY

¡Atención!

Una configuración incorrecta del fichero puede provocar un error al instalar el paquete collectd.

Solo queda reiniciar el servidor:

1
reboot

Configuración del gestor de paquetes APT

Suba al directorio /tmp/ del servidor, mediante un cliente SCP, los ficheros descargados desde Systancia Marketplace:

  • systancia.gpg
  • cleanroom-4.6.1-build33.1096.D12-full.tgz

Conéctese al servidor como root y ejecute los siguientes comandos para descomprimir el repositorio de Systancia, configurar su uso en APT y autenticarlo.

1
2
3
4
5
mv /tmp/systancia.gpg /etc/apt/trusted.gpg.d/
mkdir -p /opt/systancia/repository/
tar xvzf /tmp/cleanroom-4.6*.tgz -C /opt/systancia/repository/
echo "deb file:///opt/systancia/repository/ bookworm ipdiva" > /etc/apt/sources.list.d/systancia.list
apt update

Recomendamos encarecidamente desactivar la instalación de paquetes innecesarios al ejecutar los comandos apt. Para ello, ejecute el siguiente comando:

1
echo -e 'APT::Install-Recommends false;\nAPT::Install-Suggests false;' > /etc/apt/apt.conf.d/99norecommends

Instalación del servidor Edge Gateway de CyberElements Bastion

Instalación de los componentes básicos

Inicie la instalación de los componentes con el siguiente comando, ejecutado como root:

1
apt install -y ipdiva-base

Tras descargar todas las dependencias, se abrirá una ventana que le pedirá seleccionar el tipo de servidor. Seleccione gateway:

¿Qué hacer en caso de error?

Si se ha producido un error en la información introducida, continúe con la instalación del paquete ipdiva-base y utilice después el siguiente comando para reconfigurar el servidor:

1
dpkg-reconfigure ipdiva-base

Instalación de los componentes Edge Gateway

A continuación, inicie la instalación de los componentes propios de la Edge Gateway con el siguiente comando:

1
apt install -y ipdiva-safe-gateway ipdiva-gateway-setup

Los componentes del servidor Edge Gateway ya están instalados. Solo queda reiniciar la máquina para que los componentes recién instalados puedan inicializarse:

1
reboot

Instalación de los componentes HTML5 Gateway

Utilice el siguiente comando para iniciar la instalación de los componentes HTML5 Gateway en el servidor Edge Gateway:

1
apt install -y ipdiva-html5gateway ipdiva-html5-webapp ipdiva-guacamole-server1

Utilice las siguientes líneas de comandos para activar y configurar las funciones de transferencia de ficheros y de impresora virtual:

1
2
3
apt install -y ghostscript
echo -e "printer=cyberelements HTML5 Printer\nprinterDriver=MS Publisher Imagesetter" > /etc/guacamole/printer-config
mkdir /home/systanciahtml5share

Configuración específica del funcionamiento de CyberElements Bastion

Una vez aplicada la configuración de red, queda por conectar las instancias de Edge Gateway y de HTML5 Gateway a los Mediation Controllers.
Para ello, las primeras instancias de Edge Gateway y de HTML5 Gateway se conectarán al Mediation Controller MASTER, mientras que las segundas se conectarán al Mediation Controller SLAVE.

¡Atención!

Si la instalación de la Edge Gateway no se encuentra en la LAN y, por tanto, las direcciones RIP_MED_SSL_MASTER y RIP_MED_SSL_SLAVE no son accesibles (ni siquiera con NAT).
En ese caso, solo tendrá que configurar la primera instancia de Edge Gateway y de HTML5 Gateway, que se configurará para conectarse a VIP_MED_SSL.

En este contexto puede utilizarse la appliance virtual Standalone. La appliance virtual Cluster viene preconfigurada con dos instancias, mientras que su equivalente Standalone lo está con una sola.

Antes de continuar con las instrucciones siguientes, asegúrese de disponer de los elementos siguientes:

  • El certificado de las instancias de Edge Gateway y de HTML5 Gateway que se van a conectar
  • El certificado del servicio de grabación
  • Un cliente SSH (en Windows puede utilizar PuTTY)
  • Un cliente SCP (en Windows pueden utilizarse las herramientas WinSCP o FileZilla)

Transfiera los certificados al directorio /tmp/ de la máquina.

Creación de las instancias para conectarse al Mediation Controller SLAVE

Ejecute los siguientes comandos como root para declarar una nueva instancia de Edge Gateway y de HTML5 Gateway que se utilizará para conectarse al Mediation Controller SLAVE:

1
2
/usr/local/ipdiva/gateway/bin/gatewayCloner -slave
/usr/local/ipdiva/html5gateway/bin/gatewayCloner -slave

Conexión de las Edge Gateways

Copie el fichero del certificado de la Edge Gateway en los directorios /etc/ipdiva/gateway/ssl/ y /etc/ipdiva/gateway-slave/ssl/. Puede hacerlo ejecutando como root comandos similares a los siguientes (sustituya <CERT_NAME> por el nombre del certificado de la Edge Gateway):

1
2
cp /tmp/<CERT_NAME> /etc/ipdiva/gateway/ssl/
mv /tmp/<CERT_NAME> /etc/ipdiva/gateway-slave/ssl/

Configure las instancias de Edge Gateway para que puedan conectarse a los Mediation Controllers.
Las configuraciones difieren según el Mediation Controller que se vaya a contactar. Realice ambas configuraciones:

Edite el fichero /etc/ipdiva/gateway/gateway.xml y complételo con la información siguiente (se han omitido varias secciones, indicadas mediante […]):

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
<gateway>
    <server>_FILL_ME_WITH_SERVER_ADDRESS_::ssl</server>
[…]
    <ssl>
        <cert>/etc/ipdiva/gateway/ssl/keyfile.pem</cert>
        <password>PASSWORD</password>
[…]
    </ssl>
[…]
</gateway>

Sustituya los elementos siguientes:

  • _FILL_ME_WITH_SERVER_ADDRESS_:: debe sustituirse por la dirección RIP_MED_SSL_MASTER, el carácter : y el puerto de escucha del SSL Router, normalmente el 443
  • keyfile.pem: debe sustituirse por el nombre del fichero del certificado
  • PASSWORD: debe sustituirse por la contraseña del certificado
Ejemplo

Teniendo en cuenta la información siguiente:

  • RIP_MED_SSL_MASTER es igual a: 10.0.10.11
  • Puerto de escucha del SSL Router: 443
  • Nombre del fichero del certificado: edge-gateway.p12
  • Contraseña del certificado: Str0ngP@ssw0rd

El fichero /etc/ipdiva/gateway/gateway.xml quedaría configurado de la siguiente manera:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
<gateway>
    <server>10.0.10.11:443:ssl</server>
[…]
    <ssl>
        <cert>/etc/ipdiva/gateway/ssl/edge-gateway.p12</cert>
        <password>Str0ngP@ssw0rd</password>
[…]
    </ssl>
[…]
</gateway>
Fichero completo
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
<gateway>
        <server>10.0.10.11:443:ssl</server>
        <pipe>
                <ping-timeout>60000</ping-timeout>
                <rout-max-lock>20000</rout-max-lock>
        </pipe>
        <timeout>
                <reconnect>15000</reconnect>
        </timeout>
        <ticket><hmac></hmac></ticket>
        <proxy>
                <type>no</type>
                <address></address>
                <login></login>
                <password></password>
                <domain></domain>
        </proxy>
        <periodic-licence-check>false</periodic-licence-check>
        <session>
           <sslconf name="default">
              <ca-dir>/etc/ssl/certs</ca-dir>
              <verify-cert>true</verify-cert>
           </sslconf>
        </session>
        <ssl>
                <cert>/etc/ipdiva/gateway/ssl/edge-gateway.p12</cert>
                <password>Str0ngP@ssw0rd</password>
                <ca-dir>/etc/ipdiva/gateway/ssl/ca</ca-dir>
                <min-version>tls1.3</min-version>
                <max-version></max-version>
                <cipherlist>!ADH:!AECDH:!MD5:kEECDH+AES:kEDH+AES:AES256+RSA:3DES+RSA</cipherlist>
                <cipherlist-tls1.3>TLS_CHACHA20_POLY1305_SHA256:TLS_AES_256_GCM_SHA384:TLS_AES_128_GCM_SHA256</cipherlist-tls1.3>
                <verify-cert>true</verify-cert>
                <verify-certhostnamematch>true</verify-certhostnamematch>
        </ssl>
        <webaccess>
                <proxy></proxy>
                <useragent>true</useragent>
                <autoauth>true</autoauth>
                <forceauth>false</forceauth>
                <forcebasic>false</forcebasic>
                <persistentbasicauth>true</persistentbasicauth>
                <cache-date>Thu, 14 Dec 2006 09:28:00 GMT</cache-date>
                <reverse-proxy>
                        <headers>
                                <x-forwarded-for enabled='false'/>
                                <x-forwarded-host enabled='false'/>
                        </headers>
                </reverse-proxy>
                <davenport compatibilityMode="false">127.0.0.1:8070</davenport>
        </webaccess>
        <rpc-listen>127.0.0.1:9080</rpc-listen>
        <network-id></network-id>
        <services>/etc/ipdiva/gateway/services.xml</services>
        <compression>zlib</compression>
        <vlan>
                <prefixe></prefixe>
        </vlan>

        <openvpn>
                <ssl>
                        <cert>/usr/local/ipdiva/share/gw-controller-openvpnng/keys/allInOne.pem</cert>
                        <ca-file>/usr/local/ipdiva/share/gw-controller-openvpnng/keys/tmp-ca.crt</ca-file>
                        <version>tls1</version>
                </ssl>
                <client-ov>
                        <ip-type>V4</ip-type>
                        <dev-type>tun</dev-type>
                        <link-mtu>1507</link-mtu>
                        <tun-mtu>1500</tun-mtu>
                        <proto>TCPv4_CLIENT</proto>
                        <cipher>[null-cipher]</cipher>
                        <auth>[null-digest]</auth>
                        <keysize>0</keysize>
                        <key-method>2</key-method>
                        <tls-type>tls-client</tls-type>
                </client-ov>
        </openvpn>
    <useoldprotocol>false</useoldprotocol>
    <rate>0</rate>
</gateway>

Por último, inicie la instancia de Edge Gateway para cargar la nueva configuración y conectarla al Mediation Controller MASTER:

1
/usr/local/ipdiva/gateway/bin/start

Edite el fichero /etc/ipdiva/gateway-slave/gateway.xml y complételo con la información siguiente (se han omitido varias secciones, indicadas mediante […]):

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
<gateway>
    <server>@SERVER@:@SERVERPORT@:ssl</server>
[…]
    <ssl>
        <cert>/etc/ipdiva/gateway-slave/ssl/keyfile.pem</cert>
        <password>PASSWORD</password>
[…]
    </ssl>
[…]
    <rpc-listen>127.0.0.1:@RPC_PORT@</rpc-listen>
[…]
</gateway>

Sustituya los elementos siguientes:

  • @SERVER@: debe sustituirse por la dirección RIP_MED_SSL_SLAVE
  • @SERVERPORT@: debe sustituirse por el puerto de escucha del SSL Router, normalmente el 443
  • keyfile.pem: debe sustituirse por el nombre del fichero del certificado
  • PASSWORD: debe sustituirse por la contraseña del certificado
  • @RPC_PORT@: debe sustituirse por un puerto TCP disponible en la máquina; suele utilizarse el puerto 9081
Ejemplo

Teniendo en cuenta la información siguiente:

  • RIP_MED_SSL_SLAVE es igual a: 10.0.10.13
  • Puerto de escucha del SSL Router: 443
  • Nombre del fichero del certificado: edge-gateway.p12
  • Contraseña del certificado: Str0ngP@ssw0rd
  • Puerto RPC disponible: 9081

El fichero /etc/ipdiva/gateway-slave/gateway.xml quedaría configurado de la siguiente manera:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
<gateway>
    <server>10.0.10.13:443:ssl</server>
[…]
    <ssl>
        <cert>/etc/ipdiva/gateway-slave/ssl/edge-gateway.p12</cert>
        <password>Str0ngP@ssw0rd</password>
[…]
    </ssl>
[…]
    <rpc-listen>127.0.0.1:9081</rpc-listen>
[…]
</gateway>
Fichero completo
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
<gateway>
        <server>10.0.10.13:443:ssl</server>
        <pipe>
                <ping-timeout>60000</ping-timeout>
                <rout-max-lock>20000</rout-max-lock>
        </pipe>
        <timeout>
                <reconnect>15000</reconnect>
        </timeout>
        <ticket><hmac></hmac></ticket>
        <proxy>
                <type>no</type>
                <address></address>
                <login></login>
                <password></password>
                <domain></domain>
        </proxy>
        <periodic-licence-check>false</periodic-licence-check>
        <session>
           <sslconf name="default">
              <ca-dir>/etc/ssl/certs</ca-dir>
              <verify-cert>true</verify-cert>
           </sslconf>
        </session>
        <ssl>
                <cert>/etc/ipdiva/gateway-slave/ssl/edge-gateway.p12</cert>
                <password>Str0ngP@ssw0rd</password>
                <ca-dir>/etc/ipdiva/gateway-slave/ssl/ca</ca-dir>
                <min-version>tls1.3</min-version>
                <max-version></max-version>
                <cipherlist>!ADH:!AECDH:!MD5:kEECDH+AES:kEDH+AES:AES256+RSA:3DES+RSA</cipherlist>
                <cipherlist-tls1.3>TLS_CHACHA20_POLY1305_SHA256:TLS_AES_256_GCM_SHA384:TLS_AES_128_GCM_SHA256</cipherlist-tls1.3>
                <verify-cert>true</verify-cert>
                <verify-certhostnamematch>true</verify-certhostnamematch>
        </ssl>
        <webaccess>
                <proxy></proxy>
                <useragent>true</useragent>
                <autoauth>true</autoauth>
                <forceauth>false</forceauth>
                <forcebasic>false</forcebasic>
                <persistentbasicauth>true</persistentbasicauth>
                <cache-date>Thu, 14 Dec 2006 09:28:00 GMT</cache-date>
                <reverse-proxy>
                        <headers>
                                <x-forwarded-for enabled='false'/>
                                <x-forwarded-host enabled='false'/>
                        </headers>
                </reverse-proxy>
                <davenport compatibilityMode="false">127.0.0.1:8070</davenport>
        </webaccess>
        <rpc-listen>127.0.0.1:9081</rpc-listen>
        <network-id></network-id>
        <services>/etc/ipdiva/gateway-slave/services.xml</services>
        <compression>zlib</compression>
        <vlan>
                <prefixe></prefixe>
        </vlan>

        <openvpn>
                <ssl>
                        <cert>/usr/local/ipdiva/share/gw-controller-openvpnng/keys/allInOne.pem</cert>
                        <ca-file>/usr/local/ipdiva/share/gw-controller-openvpnng/keys/tmp-ca.crt</ca-file>
                        <version>tls1</version>
                </ssl>
                <client-ov>
                        <ip-type>V4</ip-type>
                        <dev-type>tun</dev-type>
                        <link-mtu>1507</link-mtu>
                        <tun-mtu>1500</tun-mtu>
                        <proto>TCPv4_CLIENT</proto>
                        <cipher>[null-cipher]</cipher>
                        <auth>[null-digest]</auth>
                        <keysize>0</keysize>
                        <key-method>2</key-method>
                        <tls-type>tls-client</tls-type>
                </client-ov>
        </openvpn>
    <useoldprotocol>false</useoldprotocol>
    <rate>0</rate>
</gateway>

Por último, inicie la instancia de Edge Gateway para cargar la nueva configuración y conectarla al Mediation Controller SLAVE:

1
/usr/local/ipdiva/gateway-slave/bin/start

Configuración del servicio de grabación

Traslade el certificado del servicio de grabación al directorio /etc/ipdiva/careserver/ con un comando similar a este (sustituya <CERT_NAME> por el nombre del certificado previsto):

1
mv /tmp/<CERT_NAME> /etc/ipdiva/careserver/

A continuación, configure el servicio modificando el fichero siguiente: /etc/ipdiva/careserver/careserver.xml. La configuración del fichero debe parecerse a esta (el fragmento siguiente omite numerosas líneas del fichero, indicadas mediante […]):

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
<?xml version="1.0" ?><careserver>

    <listen>0.0.0.0:8443</listen>
[…]
    <ssl>
        <cert>/etc/ipdiva/careserver/recording_service.p12</cert>
        <password>PASSWORD</password>
[…]
    </ssl>
    <xmlrpc-connect>
        <element>http://127.0.0.1:9080</element>
        <element>http://127.0.0.1:9081</element>
    </xmlrpc-connect>
[…]
</careserver>

Realice las modificaciones siguientes:

  • Cambie la dirección IP de escucha del servicio de grabación a 0.0.0.0 (escucha en todas las direcciones IP disponibles)
  • Sustituya recording_service.p12 por el nombre del certificado del servicio de grabación
  • Sustituya PASSWORD por la contraseña del certificado del servicio de grabación
  • Añada la línea <element>http://127.0.0.1:9081</element>
Ejemplo

Teniendo en cuenta la información siguiente:

  • Nombre del fichero del certificado: fqdn.edge-gateway.local.p12
  • Contraseña del certificado: Str0ngP@ssw0rd

El fichero /etc/ipdiva/careserver/careserver.xml quedaría configurado de la siguiente manera:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
<?xml version="1.0" ?><careserver>

    <listen>0.0.0.0:8443</listen>
[…]
    <ssl>
        <cert>/etc/ipdiva/careserver/fqdn.edge-gateway.local.p12</cert>
        <password>Str0ngP@ssw0rd</password>
[…]
    </ssl>
    <xmlrpc-connect>
        <element>http://127.0.0.1:9080</element>
        <element>http://127.0.0.1:9081</element>
    </xmlrpc-connect>
[…]
</careserver>
Fichero completo
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?xml version="1.0" ?><careserver>

    <listen>0.0.0.0:8443</listen>


    <archivesdirectory>/var/lib/ipdiva/carerecord/archives</archivesdirectory>
    <recordingdirectory>/var/lib/ipdiva/carerecord/recording</recordingdirectory>
    <ssl>
        <cert>/etc/ipdiva/careserver/fqdn.edge-gateway.local.p12</cert>
        <password>Str0ngP@ssw0rd</password>
        <ca-dir>/etc/ipdiva/gateway/ssl/ca</ca-dir>
        <min-version>tls1.2</min-version>
        <max-version/>
        <cipherlist>!ADH:!AECDH:!MD5:kEECDH+AES:kEDH+AES:AES256+RSA:3DES+RSA</cipherlist>
        <cipherlist-tls1.3>TLS_CHACHA20_POLY1305_SHA256:TLS_AES_256_GCM_SHA384:TLS_AES_128_GCM_SHA256</cipherlist-tls1.3>
        <verify-cert>true</verify-cert>
        <no-fail-if-no-peer-cert>true</no-fail-if-no-peer-cert>
    </ssl>
    <gopsize>10</gopsize>
        <webgopsize>5</webgopsize>
    <webfakeframespersec>2</webfakeframespersec>
        <webhlslistsize>20</webhlslistsize>
    <webcaptureinterval>10000</webcaptureinterval>
    <webcapturetimeout>30000</webcapturetimeout>
    <captureinterval>250</captureinterval>
    <hlslistsize>20</hlslistsize>
    <xmlrpc-connect>
        <element>http://127.0.0.1:9080</element>
        <element>http://127.0.0.1:9081</element>
    </xmlrpc-connect>
</careserver>

Valide la nueva configuración reiniciando el servicio de grabación:

1
systemctl restart ipdivacarerecord

Conexión de las instancias de HTML5 Gateway

Si hay que configurar la instancia de HTML5 Gateway, ejecute el siguiente comando en el servidor Edge Gateway como root para activar el arranque automático de la instancia:

1
chmod +x /etc/ipdiva/services/50html5gateway

Copie el fichero del certificado de la HTML5 Gateway en los directorios /etc/ipdiva/html5gateway/ssl/ y /etc/ipdiva/html5gateway-slave/ssl/. Puede hacerlo ejecutando como root comandos similares a los siguientes (sustituya <CERT_NAME> por el nombre del certificado de la HTML5 Gateway):

1
2
cp /tmp/<CERT_NAME> /etc/ipdiva/html5gateway/ssl/
mv /tmp/<CERT_NAME> /etc/ipdiva/html5gateway-slave/ssl/

Configure las instancias de HTML5 Gateway para que puedan conectarse a los Mediation Controllers.
Las configuraciones difieren según el Mediation Controller que se vaya a contactar. Realice ambas configuraciones:

Edite el fichero /etc/ipdiva/html5gateway/html5gateway.xml y complételo con la información siguiente (se han omitido varias secciones, indicadas mediante […]):

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
<gateway>
    <server>_FILL_ME_WITH_SERVER_ADDRESS_::ssl</server>
[…]
    <ssl>
        <cert>/etc/ipdiva/html5gateway/ssl/keyfile.pem</cert>
        <password>PASSWORD</password>
[…]
    </ssl>
[…]
</gateway>

Sustituya los elementos siguientes:

  • _FILL_ME_WITH_SERVER_ADDRESS_:: debe sustituirse por la dirección RIP_MED_SSL_MASTER, el carácter : y el puerto de escucha del SSL Router, normalmente el 443
  • keyfile.pem: debe sustituirse por el nombre del fichero del certificado
  • PASSWORD: debe sustituirse por la contraseña del certificado
Ejemplo

Teniendo en cuenta la información siguiente:

  • RIP_MED_SSL_MASTER es igual a: 10.0.10.11
  • Puerto de escucha del SSL Router: 443
  • Nombre del fichero del certificado: html5-gateway.p12
  • Contraseña del certificado: Str0ngP@ssw0rd

El fichero /etc/ipdiva/html5gateway/html5gateway.xml quedaría configurado de la siguiente manera:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
<gateway>
    <server>10.0.10.11:443:ssl</server>
[…]
    <ssl>
        <cert>/etc/ipdiva/html5gateway/ssl/html5-gateway.p12</cert>
        <password>Str0ngP@ssw0rd</password>
[…]
    </ssl>
[…]
</gateway>
Fichero completo
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<gateway>
        <server>10.0.10.11:443:ssl</server>
        <pipe>
                <ping-timeout>60000</ping-timeout>
                <rout-max-lock>20000</rout-max-lock>
        </pipe>
        <timeout>
                <reconnect>15000</reconnect>
        </timeout>
        <ticket><hmac></hmac></ticket>
        <proxy>
                <type>no</type>
                <address></address>
                <login></login>
                <password></password>
                <domain></domain>
        </proxy>

        <ssl>
                <cert>/etc/ipdiva/html5gateway/ssl/html5-gateway.p12</cert>
                <password>Str0ngP@ssw0rd</password>
                <ca-dir>/etc/ipdiva/html5gateway/ssl/ca</ca-dir>
                <min-version>tls1.3</min-version>
                <max-version></max-version>
                <cipherlist>!ADH:!AECDH:!MD5:kEECDH+AES:kEDH+AES:AES256+RSA:3DES+RSA</cipherlist>
                <cipherlist-tls1.3>TLS_CHACHA20_POLY1305_SHA256:TLS_AES_256_GCM_SHA384:TLS_AES_128_GCM_SHA256</cipherlist-tls1.3>
                <verify-cert>true</verify-cert>
                <verify-certhostnamematch>true</verify-certhostnamematch>
        </ssl>

        <rpc-listen>127.0.0.1:9088</rpc-listen>
        <network-id></network-id>
        <compression>zlib</compression>

 </gateway>

Por último, reinicie la instancia de HTML5 Gateway para cargar la nueva configuración y conectarla al Mediation Controller MASTER:

1
/usr/local/ipdiva/html5gateway/bin/start

Edite el fichero /etc/ipdiva/html5gateway-slave/html5gateway.xml y complételo con la información siguiente (se han omitido varias secciones, indicadas mediante […]):

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
<gateway>
    <server>@SERVER@:@SERVERPORT@:ssl</server>
[…]
    <ssl>
        <cert>/etc/ipdiva/html5gateway-slave/ssl/keyfile.pem</cert>
        <password>PASSWORD</password>
[…]
    </ssl>
[…]
    <rpc-listen>127.0.0.1:@RPC_PORT@</rpc-listen>
[…]
</gateway>

Sustituya los elementos siguientes:

  • @SERVER@: debe sustituirse por la dirección RIP_MED_SSL_SLAVE
  • @SERVERPORT@: debe sustituirse por el puerto de escucha del SSL Router, normalmente el 443
  • keyfile.pem: debe sustituirse por el nombre del fichero del certificado
  • PASSWORD: debe sustituirse por la contraseña del certificado
  • @RPC_PORT@: debe sustituirse por un puerto TCP disponible en la máquina; suele utilizarse el puerto 9089
Ejemplo

Teniendo en cuenta la información siguiente:

  • RIP_MED_SSL_SLAVE es igual a: 10.0.10.13
  • Puerto de escucha del SSL Router: 443
  • Nombre del fichero del certificado: html5-gateway.p12
  • Contraseña del certificado: Str0ngP@ssw0rd
  • Puerto RPC disponible: 9089

El fichero /etc/ipdiva/html5gateway-slave/html5gateway.xml quedaría configurado de la siguiente manera:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
<gateway>
    <server>10.0.10.13:443:ssl</server>
[…]
    <ssl>
        <cert>/etc/ipdiva/html5gateway-slave/ssl/html5-gateway.p12</cert>
        <password>Str0ngP@ssw0rd</password>
[…]
    </ssl>
[…]
    <rpc-listen>127.0.0.1:9089</rpc-listen>
[…]
</gateway>
Fichero completo
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<gateway>
        <server>10.0.10.13:443:ssl</server>
        <pipe>
                <ping-timeout>60000</ping-timeout>
                <rout-max-lock>20000</rout-max-lock>
        </pipe>
        <timeout>
                <reconnect>15000</reconnect>
        </timeout>
        <ticket><hmac></hmac></ticket>
        <proxy>
                <type>no</type>
                <address></address>
                <login></login>
                <password></password>
                <domain></domain>
        </proxy>

        <ssl>
                <cert>/etc/ipdiva/html5gateway-slave/ssl/html5-gateway.p12</cert>
                <password>Str0ngP@ssw0rd</password>
                <ca-dir>/etc/ipdiva/html5gateway-slave/ssl/ca</ca-dir>
                <min-version>tls1.3</min-version>
                <max-version></max-version>
                <cipherlist>!ADH:!AECDH:!MD5:kEECDH+AES:kEDH+AES:AES256+RSA:3DES+RSA</cipherlist>
                <cipherlist-tls1.3>TLS_CHACHA20_POLY1305_SHA256:TLS_AES_256_GCM_SHA384:TLS_AES_128_GCM_SHA256</cipherlist-tls1.3>
                <verify-cert>true</verify-cert>
                <verify-certhostnamematch>true</verify-certhostnamematch>
        </ssl>

        <rpc-listen>127.0.0.1:9089</rpc-listen>
        <network-id></network-id>
        <compression>zlib</compression>

 </gateway>

Por último, reinicie la instancia de HTML5 Gateway para cargar la nueva configuración y conectarla al Mediation Controller SLAVE:

1
/usr/local/ipdiva/html5gateway-slave/bin/start

Configuraciones previas a la conexión de las HTML5 Gateways

Para que las aplicaciones HTML5 funcionen, hay que configurar parámetros adicionales en los servidores Mediation Controller. Conéctese como root a los servidores Mediation Controllers MASTER y SLAVE.

Cree o edite el fichero /etc/ipdiva/httpd/commonParameters.extra.conf para añadir, para la HTML5 Gateway, una sección equivalente a la siguiente:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
<Location /URL_HTML5/>
        Order allow,deny
        Allow from all
        RequestHeader set X-Forwarded-Proto "https"
        RequestHeader set X-IPdiva-Gateway GW_NAME|
        RequestHeader set X-IPdiva-Orgname ORGANIZATION_NAME
        RequestHeader set X-IPdiva-Service 127.0.0.1:8080

        ProxyPass http://127.0.0.1:9016/systanciaHTML5-6.0/ flushpackets=on
</Location>

<Location /URL_HTML5/websocket-tunnel>
        Order allow,deny
        Allow from all
        RequestHeader set X-Forwarded-Proto "https"
        RequestHeader set X-IPdiva-Gateway GW_NAME|
        RequestHeader set X-IPdiva-Orgname ORGANIZATION_NAME
        RequestHeader set X-IPdiva-Service 127.0.0.1:8080

        ProxyPass ws://127.0.0.1:9016/systanciaHTML5-6.0/websocket-tunnel
</Location>

Where:

  • URL_HTML5 debe sustituirse por el contenido del campo URL de la HTML5 Gateway configurada en la consola de administración durante la declaración de la HTML5 Gateway (en Cluster suele ser HTML5-1 y HTML5-2).
  • GW_NAME debe sustituirse por el nombre de una Edge Gateway situada en el mismo servidor que la HTML5 Gateway. El carácter | del final de la línea debe conservarse.
  • ORGANIZATION_NAME debe sustituirse por el nombre de la organización a la que se conecta la Edge Gateway anterior.
Ejemplo

Para una plataforma con la configuración siguiente:

  • Nombre de la organización: my-organization-name
  • Declaración de la primera HTML5 Gateway en la consola de administración:
    • Name: html5-gateway-1
    • URL: HTML5-1
    • Protocol: WebSocket
  • Declaración de la segunda HTML5 Gateway en la consola de administración:
    • Name: html5-gateway-2
    • URL: HTML5-2
    • Protocol: WebSocket
  • Un servidor Edge Gateway de la primera HTML5 Gateway tiene:
    • Un servicio Edge Gateway llamado edge-gateway-1
    • Un servicio HTML5 Gateway llamado html5-gateway-1
  • Un servidor Edge Gateway de la segunda HTML5 Gateway tiene:
    • Un servicio Edge Gateway llamado edge-gateway-2
    • Un servicio HTML5 Gateway llamado html5-gateway-2

El fichero de configuración /etc/ipdiva/httpd/commonParameters.extra.conf creado quedaría configurado de la siguiente manera:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<Location /HTML5-1/>
        Order allow,deny
        Allow from all
        RequestHeader set X-Forwarded-Proto "https"
        RequestHeader set X-IPdiva-Gateway edge-gateway-1|
        RequestHeader set X-IPdiva-Orgname my-organization-name
        RequestHeader set X-IPdiva-Service 127.0.0.1:8080

        ProxyPass http://127.0.0.1:9016/systanciaHTML5-6.0/ flushpackets=on
</Location>

<Location /HTML5-1/websocket-tunnel>
        Order allow,deny
        Allow from all
        RequestHeader set X-Forwarded-Proto "https"
        RequestHeader set X-IPdiva-Gateway edge-gateway-1|
        RequestHeader set X-IPdiva-Orgname my-organization-name
        RequestHeader set X-IPdiva-Service 127.0.0.1:8080

        ProxyPass ws://127.0.0.1:9016/systanciaHTML5-6.0/websocket-tunnel
</Location>

<Location /HTML5-2/>
        Order allow,deny
        Allow from all
        RequestHeader set X-Forwarded-Proto "https"
        RequestHeader set X-IPdiva-Gateway edge-gateway-2|
        RequestHeader set X-IPdiva-Orgname my-organization-name
        RequestHeader set X-IPdiva-Service 127.0.0.1:8080

        ProxyPass http://127.0.0.1:9016/systanciaHTML5-6.0/ flushpackets=on
</Location>

<Location /HTML5-2/websocket-tunnel>
        Order allow,deny
        Allow from all
        RequestHeader set X-Forwarded-Proto "https"
        RequestHeader set X-IPdiva-Gateway edge-gateway-2|
        RequestHeader set X-IPdiva-Orgname my-organization-name
        RequestHeader set X-IPdiva-Service 127.0.0.1:8080

        ProxyPass ws://127.0.0.1:9016/systanciaHTML5-6.0/websocket-tunnel
</Location>

Antes de aplicar la nueva configuración, hay que comprobar que no provoque ningún error bloqueante en el servidor web Apache2.
Para ello, ejecute el siguiente comando:

1
apache2ctl configtest

Si la respuesta es Syntax OK, los cambios pueden aplicarse con el comando siguiente. En caso contrario, revise su configuración en el fichero /etc/ipdiva/httpd/commonParameters.extra.conf.

1
systemctl reload apache2

Configuración de un servidor de tiempo NTP

Se recomienda configurar un servidor de tiempo para mantener el reloj del sistema actualizado. Los pasos necesarios se describen en la página de configuración NTP.