Ir para o conteúdo

Instalação do servidor Edge Gateway

Configuração inicial do sistema

Quando a appliance Edge Gateway Cluster é iniciada pela primeira vez, aparece um assistente de configuração inicial da máquina. Este assistente permite inicializar a configuração própria do sistema, bem como a específica da utilização do CyberElements Bastion.

Configuração do sistema

O assistente começa por lhe pedir que selecione um idioma:

Informação

O idioma que escolher afeta tanto o idioma de visualização do sistema como a disposição do teclado. Em inglês, o teclado terá uma disposição QWERTY, enquanto em francês será AZERTY.

O assistente pede-lhe em seguida para adicionar uma nova palavra-passe para a conta de sistema root (verifique se respeita a complexidade exigida):

Em seguida, deve alterar a palavra-passe da conta de utilizador de sistema systancia (verifique se respeita a complexidade exigida):

Por último, deve introduzir o nome da máquina:

Configuração da rede

Depois de aplicadas as definições do sistema, o assistente passa às definições de rede da máquina.

O primeiro painel pede-lhe para escolher entre uma configuração estática e uma configuração dinâmica através de DHCP:

Recomendação

Recomenda-se utilizar uma configuração estática para as definições de rede da máquina, em particular para a funcionalidade de acesso direto.
O DHCP também pode ser utilizado se o endereço IP for fixado ao nível do servidor DHCP.

Se for escolhida a configuração estática, o assistente pedirá as definições de rede seguintes:

Sugestão

É possível introduzir vários servidores DNS (3 no máximo), separando-os por espaços. Do mesmo modo, podem ser adicionados vários sufixos DNS, separando-os por um espaço.

Finalização da configuração inicial

O menu de configuração inicial propõe agora prosseguir com o mecanismo de pairing do Edge Gateway.
Nesta documentação não será utilizado, pelo que é necessário desativar o aparecimento deste menu no início de sessão e desativar a ligação automática como root.

Para isso, comece por sair do menu de configuração inicial, selecionando o botão Cancel ou utilizando a combinação de teclas Ctrl+C.
Execute em seguida os seguintes comandos:

1
2
3
4
sed -i '/gateway-setup/d' /root/.bashrc
sed -i 's/^NAutoVTs/#NAutoVTs/' /etc/systemd/logind.conf
rm -r /etc/systemd/system/getty@tty1.service.d/
systemctl daemon-reload

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.

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.