Ir para o conteúdo

Instalação do servidor Edge Gateway

Nota

Recordamos que a mudança para root nas máquinas Debian deve ser feita com o seguinte comando:

1
su -

Transferência do espelho e das ferramentas necessárias

O espelho CyberElements Cleanroom 4.6 e a chave de assinatura do repositório da Systancia podem ser transferidos a partir deste link (requer a criação de uma conta de cliente): Systancia Marketplace

Além do espelho e da chave, serão necessárias ferramentas de terceiros para o processo de upgrade:

  • Um cliente SSH (no Windows, pode utilizar o PuTTY)
  • Um cliente SCP (no Windows, podem utilizar-se as ferramentas WinSCP ou FileZilla)

Utilize o cliente SSH para se ligar remotamente ao seu servidor.

Utilize o cliente SCP para transferir ficheiros para a sua máquina remota.

Preparação da instalação

Configuração da rede

Recomenda-se vivamente definir um endereço de rede estático para o servidor Edge Gateway. Para isso, é primeiro necessário obter o nome da interface de rede da sua máquina e o seu endereço MAC. Execute o seguinte comando como root:

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

Este comando apresenta o nome da interface de rede, o seu estado, o seu endereço MAC e as definições da interface.

Exemplo

Depois de executado o comando, é apresentado o seguinte resultado:

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

O nome da interface de rede é ens192 e o seu endereço MAC é 00:50:56:a1:56:9f.

Uma vez obtidos o nome da interface de rede e o endereço MAC, já é possível editar a configuração de rede da máquina.
Edite o ficheiro /etc/network/interfaces para o modificar segundo o modelo seguinte:

 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

Em que:

  • INTERFACE_NAME deve ser substituído pelo nome da interface de rede obtido anteriormente.
  • MAC_ADDRESS deve ser substituído pelo endereço MAC obtido anteriormente.
  • IP_GW deve ser substituído pelo endereço IP do servidor.
  • NETMASK deve ser substituído pela máscara de rede associada ao endereço IP.
  • NETWORK_GATEWAY deve ser substituído pelo gateway de rede predefinido.
  • IP_DNS deve ser substituído pelo endereço IP do servidor DNS. Se for necessário configurar vários servidores (3 no máximo), separe-os com um espaço.
  • DNS_SUFFIX deve ser substituído pelo sufixo DNS a utilizar. Se não for necessário indicar nenhum sufixo, elimine a linha.
Exemplo
 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 a configuração, faltam três etapas a concluir.

A primeira consiste em instalar os pacotes resolvconf e bridge-utils para que a configuração DNS indicada no ficheiro anterior possa ser aplicada e a interface br0 possa ser utilizada:

1
apt install -y resolvconf bridge-utils

A segunda consiste em verificar a configuração do ficheiro /etc/hosts no que respeita ao endereço IP principal da máquina (IP_GW).
Para isso, edite o ficheiro /etc/hosts e verifique se a segunda linha tem o formato seguinte:

2
IP_GW   FQDN    MACHINE_NAME
Exemplo

Se a máquina se chamar EDGE-GATEWAY sem pertencer a um domínio e o seu endereço IP IP_GW for 172.16.10.10, o ficheiro seria preenchido da seguinte forma:

2
172.16.10.10  EDGE-GATEWAY

Se a máquina pertencer ao domínio DOMAIN.LOCAL, o ficheiro seria preenchido da seguinte forma:

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

Atenção!

Uma configuração incorreta do ficheiro pode provocar um erro ao instalar o pacote collectd.

Resta apenas reiniciar o servidor:

1
reboot

Configuração do gestor de pacotes APT

Carregue para o diretório /tmp/ do servidor, através de um cliente SCP, os ficheiros transferidos do Systancia Marketplace:

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

Ligue-se ao servidor como root e execute depois os seguintes comandos para descompactar o repositório da Systancia, configurar a sua utilização no APT e autenticá-lo.

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 vivamente que desative a instalação de pacotes desnecessários ao executar os comandos apt. Para isso, execute o seguinte comando:

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

Instalação do servidor Edge Gateway do CyberElements Bastion

Instalação dos componentes básicos

Inicie a instalação dos componentes com o seguinte comando, executado como root:

1
apt install -y ipdiva-base

Depois de transferidas todas as dependências, abre-se uma janela que lhe pede para selecionar o tipo de servidor. Selecione gateway:

O que fazer em caso de erro?

Se existir um erro nas informações introduzidas, continue a instalação do pacote ipdiva-base e utilize depois o seguinte comando para reconfigurar o servidor:

1
dpkg-reconfigure ipdiva-base

Instalação dos componentes Edge Gateway

Inicie em seguida a instalação dos componentes próprios do Edge Gateway com o seguinte comando:

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

Os componentes do servidor Edge Gateway estão agora instalados. Resta apenas reiniciar a máquina para que os componentes recém-instalados possam inicializar-se:

1
reboot

Instalação dos componentes HTML5 Gateway

Utilize o seguinte comando para iniciar a instalação dos componentes HTML5 Gateway no servidor Edge Gateway:

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

Utilize as seguintes linhas de comandos para ativar e configurar as funcionalidades de transferência de ficheiros e de impressora 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

Configuração específica do funcionamento do CyberElements Bastion

Uma vez aplicadas as definições de rede, resta ligar as instâncias de Edge Gateway e de HTML5 Gateway aos Mediation Controllers.
Para isso, as primeiras instâncias de Edge Gateway e de HTML5 Gateway ligar-se-ão ao Mediation Controller MASTER, enquanto as segundas se ligarão ao Mediation Controller SLAVE.

Atenção!

Se a instalação do Edge Gateway não se situar na LAN e, por conseguinte, os endereços RIP_MED_SSL_MASTER e RIP_MED_SSL_SLAVE não estiverem acessíveis (mesmo com NAT).
Nesse caso, apenas terá de configurar a primeira instância de Edge Gateway e de HTML5 Gateway, que será configurada para se ligar a VIP_MED_SSL.

Neste contexto, pode utilizar-se a appliance virtual Standalone. A appliance virtual Cluster vem pré-configurada com duas instâncias, enquanto a sua equivalente Standalone está pré-configurada com uma só.

Antes de prosseguir com as instruções seguintes, certifique-se de que dispõe dos elementos seguintes:

  • O certificado das instâncias de Edge Gateway e de HTML5 Gateway a ligar
  • O certificado do serviço de gravação
  • Um cliente SSH (no Windows, pode utilizar o PuTTY)
  • Um cliente SCP (no Windows, podem utilizar-se as ferramentas WinSCP ou FileZilla)

Transfira os certificados para o diretório /tmp/ da máquina.

Criação das instâncias para ligação ao Mediation Controller SLAVE

Execute os seguintes comandos como root para declarar uma nova instância de Edge Gateway e de HTML5 Gateway que será utilizada para se ligar ao Mediation Controller SLAVE:

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

Ligação dos Edge Gateway

Copie o ficheiro do certificado do Edge Gateway para os diretórios /etc/ipdiva/gateway/ssl/ e /etc/ipdiva/gateway-slave/ssl/. Pode fazê-lo executando como root comandos semelhantes aos seguintes (substitua <CERT_NAME> pelo nome do certificado do Edge Gateway):

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

Configure as instâncias de Edge Gateway para que possam ligar-se aos Mediation Controllers.
As configurações diferem em função do Mediation Controller a contactar. Efetue ambas as configurações:

Edite o ficheiro /etc/ipdiva/gateway/gateway.xml e preencha-o com as informações seguintes (foram omitidas várias secções, indicadas por […]):

 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>

Substitua os elementos seguintes:

  • _FILL_ME_WITH_SERVER_ADDRESS_:: deve ser substituído pelo endereço RIP_MED_SSL_MASTER, pelo carácter : e pela porta de escuta do SSL Router, normalmente a 443
  • keyfile.pem: deve ser substituído pelo nome do ficheiro do certificado
  • PASSWORD: deve ser substituído pela palavra-passe do certificado
Exemplo

Tendo em conta as informações seguintes:

  • RIP_MED_SSL_MASTER é igual a: 10.0.10.11
  • Porta de escuta do SSL Router: 443
  • Nome do ficheiro do certificado: edge-gateway.p12
  • Palavra-passe do certificado: Str0ngP@ssw0rd

O ficheiro /etc/ipdiva/gateway/gateway.xml ficaria configurado da seguinte forma:

 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>
Ficheiro 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 a instância de Edge Gateway para carregar as novas definições e ligá-la ao Mediation Controller MASTER:

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

Edite o ficheiro /etc/ipdiva/gateway-slave/gateway.xml e complete-o com as informações seguintes (foram omitidas várias secções, indicadas por […]):

 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>

Substitua os elementos seguintes:

  • @SERVER@: deve ser substituído pelo endereço RIP_MED_SSL_SLAVE
  • @SERVERPORT@: deve ser substituído pela porta de escuta do SSL Router, normalmente a 443
  • keyfile.pem: deve ser substituído pelo nome do ficheiro do certificado
  • PASSWORD: deve ser substituído pela palavra-passe do certificado
  • @RPC_PORT@: deve ser substituído por uma porta TCP disponível na máquina; é habitual utilizar-se a porta 9081
Exemplo

Tendo em conta as informações seguintes:

  • RIP_MED_SSL_SLAVE é igual a: 10.0.10.13
  • Porta de escuta do SSL Router: 443
  • Nome do ficheiro do certificado: edge-gateway.p12
  • Palavra-passe do certificado: Str0ngP@ssw0rd
  • Porta RPC disponível: 9081

O ficheiro /etc/ipdiva/gateway-slave/gateway.xml ficaria configurado da seguinte forma:

 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>
Ficheiro 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 a instância de Edge Gateway para carregar as novas definições e ligá-la ao Mediation Controller SLAVE:

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

Configuração do serviço de gravação

Mova o certificado do serviço de gravação para o diretório /etc/ipdiva/careserver/ com um comando semelhante a este (substitua <CERT_NAME> pelo nome do certificado previsto):

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

Configure em seguida o serviço modificando o ficheiro seguinte: /etc/ipdiva/careserver/careserver.xml. A configuração do ficheiro deve ser semelhante a esta (o fragmento seguinte omite numerosas linhas do ficheiro, indicadas por […]):

 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>

Efetue as alterações seguintes:

  • Altere o endereço IP de escuta do serviço de gravação para 0.0.0.0 (escuta em todos os endereços IP disponíveis)
  • Substitua recording_service.p12 pelo nome do certificado do serviço de gravação
  • Substitua PASSWORD pela palavra-passe do certificado do serviço de gravação
  • Adicione a linha <element>http://127.0.0.1:9081</element>
Exemplo

Tendo em conta as informações seguintes:

  • Nome do ficheiro do certificado: fqdn.edge-gateway.local.p12
  • Palavra-passe do certificado: Str0ngP@ssw0rd

O ficheiro /etc/ipdiva/careserver/careserver.xml ficaria configurado da seguinte forma:

 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>
Ficheiro 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 as novas definições reiniciando o serviço de gravação:

1
systemctl restart ipdivacarerecord

Ligação das instâncias de HTML5 Gateway

Se for necessário configurar a instância de HTML5 Gateway, execute o seguinte comando no servidor Edge Gateway como root para ativar o arranque automático da instância:

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

Copie o ficheiro do certificado do HTML5 Gateway para os diretórios /etc/ipdiva/html5gateway/ssl/ e /etc/ipdiva/html5gateway-slave/ssl/. Pode fazê-lo executando como root comandos semelhantes aos seguintes (substitua <CERT_NAME> pelo nome do certificado do HTML5 Gateway):

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

Configure as instâncias de HTML5 Gateway para que possam ligar-se aos Mediation Controllers.
As configurações diferem em função do Mediation Controller a contactar. Efetue ambas as configurações:

Edite o ficheiro /etc/ipdiva/html5gateway/html5gateway.xml e complete-o com as informações seguintes (foram omitidas várias secções, indicadas por […]):

 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>

Substitua os elementos seguintes:

  • _FILL_ME_WITH_SERVER_ADDRESS_:: deve ser substituído pelo endereço RIP_MED_SSL_MASTER, pelo carácter : e pela porta de escuta do SSL Router, normalmente a 443
  • keyfile.pem: deve ser substituído pelo nome do ficheiro do certificado
  • PASSWORD: deve ser substituído pela palavra-passe do certificado
Exemplo

Tendo em conta as informações seguintes:

  • RIP_MED_SSL_MASTER é igual a: 10.0.10.11
  • Porta de escuta do SSL Router: 443
  • Nome do ficheiro do certificado: html5-gateway.p12
  • Palavra-passe do certificado: Str0ngP@ssw0rd

O ficheiro /etc/ipdiva/html5gateway/html5gateway.xml ficaria configurado da seguinte forma:

 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>
Ficheiro 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 a instância de HTML5 Gateway para carregar as novas definições e ligá-la ao Mediation Controller MASTER:

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

Edite o ficheiro /etc/ipdiva/html5gateway-slave/html5gateway.xml e complete-o com as informações seguintes (foram omitidas várias secções, indicadas por […]):

 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>

Substitua os elementos seguintes:

  • @SERVER@: deve ser substituído pelo endereço RIP_MED_SSL_SLAVE
  • @SERVERPORT@: deve ser substituído pela porta de escuta do SSL Router, normalmente a 443
  • keyfile.pem: deve ser substituído pelo nome do ficheiro do certificado
  • PASSWORD: deve ser substituído pela palavra-passe do certificado
  • @RPC_PORT@: deve ser substituído por uma porta TCP disponível na máquina; é habitual utilizar-se a porta 9089
Exemplo

Tendo em conta as informações seguintes:

  • RIP_MED_SSL_SLAVE é igual a: 10.0.10.13
  • Porta de escuta do SSL Router: 443
  • Nome do ficheiro do certificado: html5-gateway.p12
  • Palavra-passe do certificado: Str0ngP@ssw0rd
  • Porta RPC disponível: 9089

O ficheiro /etc/ipdiva/html5gateway-slave/html5gateway.xml ficaria configurado da seguinte forma:

 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>
Ficheiro 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 a instância de HTML5 Gateway para carregar as novas definições e ligá-la ao Mediation Controller SLAVE:

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

Configurações prévias à ligação dos HTML5 Gateway

Para que as aplicações HTML5 funcionem, é necessário configurar definições adicionais nos servidores Mediation Controller. Ligue-se como root aos servidores Mediation Controllers MASTER e SLAVE.

Crie ou edite o ficheiro /etc/ipdiva/httpd/commonParameters.extra.conf para adicionar, para o HTML5 Gateway, uma secção equivalente à seguinte:

 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>

Em que:

  • URL_HTML5 deve ser substituído pelo conteúdo do campo URL do HTML5 Gateway configurado na consola de administração durante a declaração do HTML5 Gateway (num cluster, é geralmente HTML5-1 e HTML5-2).
  • GW_NAME deve ser substituído pelo nome de um Edge Gateway situado no mesmo servidor que o HTML5 Gateway. O carácter | no final da linha deve ser conservado.
  • ORGANIZATION_NAME deve ser substituído pelo nome da organização à qual se liga o Edge Gateway anterior.
Exemplo

Para uma plataforma com a configuração seguinte:

  • Nome da organização: my-organization-name
  • Declaração do primeiro HTML5 Gateway na consola de administração:
    • Name: html5-gateway-1
    • URL: HTML5-1
    • Protocol: WebSocket
  • Declaração do segundo HTML5 Gateway na consola de administração:
    • Name: html5-gateway-2
    • URL: HTML5-2
    • Protocol: WebSocket
  • Um servidor Edge Gateway do primeiro HTML5 Gateway tem:
    • Um serviço Edge Gateway chamado edge-gateway-1
    • Um serviço HTML5 Gateway chamado html5-gateway-1
  • Um servidor Edge Gateway do segundo HTML5 Gateway tem:
    • Um serviço Edge Gateway chamado edge-gateway-2
    • Um serviço HTML5 Gateway chamado html5-gateway-2

O ficheiro de configuração /etc/ipdiva/httpd/commonParameters.extra.conf criado ficará configurado da seguinte forma:

 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 as novas definições, é necessário verificar que a nova configuração não provoca nenhum erro bloqueante no servidor web Apache2.
Para isso, execute o seguinte comando:

1
apache2ctl configtest

Se a resposta for Syntax OK, as alterações podem ser aplicadas com o comando abaixo. Caso contrário, verifique a sua configuração no ficheiro /etc/ipdiva/httpd/commonParameters.extra.conf.

1
systemctl reload apache2

Configuração de um servidor de tempo NTP

Recomenda-se configurar um servidor de tempo para manter o relógio do sistema atualizado. As etapas necessárias são descritas na página de configuração NTP.