Vai al contenuto

Installazione del server Edge Gateway

Nota

Come promemoria, il passaggio a root sulle macchine Debian deve essere effettuato con il comando seguente:

1
su -

Download del mirror e degli strumenti necessari

Il mirror CyberElements Cleanroom 4.6 e la chiave di firma del repository Systancia possono essere scaricati da questo link (è necessaria la creazione di un account cliente): Systancia Marketplace

Oltre al mirror e alla chiave, per il processo di aggiornamento saranno necessari strumenti di terze parti:

  • Un client SSH (su Windows è possibile utilizzare PuTTY)
  • Un client SCP (su Windows è possibile utilizzare gli strumenti WinSCP o FileZilla)

Utilizzare il client SSH per connettersi in remoto al proprio server.

Utilizzare il client SCP per trasferire i file sulla propria macchina remota.

Preparazione dell'installazione

Configurazione della rete

Si raccomanda vivamente di definire un indirizzo di rete statico per il server Edge Gateway. A tale scopo, occorre prima ottenere il nome dell'interfaccia di rete della macchina e il suo indirizzo MAC. Eseguire il comando seguente come root:

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

Questo comando visualizza il nome dell'interfaccia di rete, il suo stato, il suo indirizzo MAC e le impostazioni dell'interfaccia.

Esempio

Dopo l'esecuzione del comando, viene visualizzato il risultato seguente:

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

Il nome dell'interfaccia di rete è ens192 e il suo indirizzo MAC è 00:50:56:a1:56:9f.

Una volta ottenuti il nome dell'interfaccia di rete e l'indirizzo MAC, è ora possibile modificare la configurazione di rete della macchina.
Modificare il file /etc/network/interfaces seguendo il modello seguente:

 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

Dove:

  • INTERFACE_NAME deve essere sostituito con il nome dell'interfaccia di rete ottenuto in precedenza.
  • MAC_ADDRESS deve essere sostituito con l'indirizzo MAC ottenuto in precedenza.
  • IP_GW deve essere sostituito con l'indirizzo IP del server.
  • NETMASK deve essere sostituito con la maschera di rete associata all'indirizzo IP.
  • NETWORK_GATEWAY deve essere sostituito con il gateway di rete predefinito.
  • IP_DNS deve essere sostituito con l'indirizzo IP del server DNS. Se occorre configurare più server (3 al massimo), separarli con uno spazio.
  • DNS_SUFFIX deve essere sostituito con il suffisso DNS da utilizzare. Se non occorre indicare alcun suffisso, eliminare la riga.
Esempio
 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

Prima di applicare la configurazione, restano tre passaggi da completare.

Il primo consiste nell'installare i pacchetti resolvconf e bridge-utils affinché possa essere applicata la configurazione DNS indicata nel file precedente e possa essere utilizzata l'interfaccia br0:

1
apt install -y resolvconf bridge-utils

Il secondo consiste nel verificare la configurazione del file /etc/hosts per quanto riguarda l'indirizzo IP principale della macchina (IP_GW).
A tale scopo, modificare il file /etc/hosts e verificare che la seconda riga abbia il formato seguente:

2
IP_GW   FQDN    MACHINE_NAME
Esempio

Se la macchina si chiama EDGE-GATEWAY senza appartenere a un dominio e il suo indirizzo IP IP_GW è 172.16.10.10, il file andrebbe completato come segue:

2
172.16.10.10  EDGE-GATEWAY

Se la macchina appartiene al dominio DOMAIN.LOCAL, il file andrebbe completato come segue:

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

Attenzione!

Una configurazione errata del file può causare un errore durante l'installazione del pacchetto collectd.

Resta solo da riavviare il server:

1
reboot

Configurazione del gestore di pacchetti APT

Caricare nella directory /tmp/ del server, tramite un client SCP, i file scaricati da Systancia Marketplace:

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

Connettersi al server come root, quindi eseguire i comandi seguenti per decomprimere il repository Systancia, configurarne l'uso in APT e 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

Si raccomanda vivamente di disabilitare l'installazione dei pacchetti non necessari durante l'esecuzione dei comandi apt. A tale scopo, eseguire il comando seguente:

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

Installazione del server Edge Gateway di CyberElements Bastion

Installazione dei componenti di base

Avviare l'installazione dei componenti con il comando seguente, eseguito come root:

1
apt install -y ipdiva-base

Dopo il download di tutte le dipendenze, si apre una finestra che chiede di selezionare il tipo di server. Selezionare gateway:

Cosa fare in caso di errore?

Se si è verificato un errore nelle informazioni immesse, proseguire con l'installazione del pacchetto ipdiva-base e utilizzare quindi il comando seguente per riconfigurare il server:

1
dpkg-reconfigure ipdiva-base

Installazione dei componenti Edge Gateway

Avviare quindi l'installazione dei componenti specifici dell'Edge Gateway con il comando seguente:

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

I componenti del server Edge Gateway sono ora installati. Resta solo da riavviare la macchina affinché i componenti appena installati possano inizializzarsi:

1
reboot

Installazione dei componenti HTML5 Gateway

Utilizzare il comando seguente per avviare l'installazione dei componenti HTML5 Gateway sul server Edge Gateway:

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

Utilizzare le righe di comando seguenti per abilitare e configurare le funzionalità di trasferimento di file e di stampante virtuale:

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

Impostazioni specifiche del funzionamento di CyberElements Bastion

Una volta applicate le impostazioni di rete, resta da connettere le istanze di Edge Gateway e di HTML5 Gateway ai Mediation Controller.
A tale scopo, le prime istanze di Edge Gateway e di HTML5 Gateway si connetteranno al Mediation Controller MASTER, mentre le seconde si connetteranno al Mediation Controller SLAVE.

Attenzione!

Se l'installazione dell'Edge Gateway non si trova nella LAN e pertanto gli indirizzi RIP_MED_SSL_MASTER e RIP_MED_SSL_SLAVE non sono accessibili (nemmeno con NAT).
In tal caso, occorrerà configurare solo la prima istanza di Edge Gateway e di HTML5 Gateway, che verrà configurata per connettersi a VIP_MED_SSL.

In questo contesto è possibile utilizzare l'appliance virtuale Standalone. L'appliance virtuale Cluster è preconfigurata con due istanze, mentre la sua equivalente Standalone lo è con una sola.

Prima di proseguire con le istruzioni seguenti, assicurarsi di disporre degli elementi seguenti:

  • Il certificato delle istanze di Edge Gateway e di HTML5 Gateway da connettere
  • Il certificato del servizio di registrazione
  • Un client SSH (su Windows è possibile utilizzare PuTTY)
  • Un client SCP (su Windows è possibile utilizzare gli strumenti WinSCP o FileZilla)

Trasferire i certificati nella directory /tmp/ della macchina.

Creazione delle istanze per la connessione al Mediation Controller SLAVE

Eseguire i comandi seguenti come root per dichiarare una nuova istanza di Edge Gateway e di HTML5 Gateway che verrà utilizzata per connettersi al Mediation Controller SLAVE:

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

Connessione degli Edge Gateway

Copiare il file del certificato dell'Edge Gateway nelle directory /etc/ipdiva/gateway/ssl/ e /etc/ipdiva/gateway-slave/ssl/. È possibile farlo eseguendo come root comandi simili ai seguenti (sostituire <CERT_NAME> con il nome del certificato dell'Edge Gateway):

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

Configurare le istanze di Edge Gateway affinché possano connettersi ai Mediation Controller.
Le configurazioni differiscono in funzione del Mediation Controller da contattare. Effettuare entrambe le impostazioni:

Modificare il file /etc/ipdiva/gateway/gateway.xml e completarlo con le informazioni seguenti (diverse sezioni sono state omesse e sono indicate da […]):

 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>

Sostituire gli elementi seguenti:

  • _FILL_ME_WITH_SERVER_ADDRESS_:: deve essere sostituito con l'indirizzo RIP_MED_SSL_MASTER, il carattere : e la porta di ascolto dell'SSL Router, normalmente la 443
  • keyfile.pem: deve essere sostituito con il nome del file del certificato
  • PASSWORD: deve essere sostituito con la password del certificato
Esempio

Tenendo conto delle informazioni seguenti:

  • RIP_MED_SSL_MASTER è uguale a: 10.0.10.11
  • Porta di ascolto dell'SSL Router: 443
  • Nome del file del certificato: edge-gateway.p12
  • Password del certificato: Str0ngP@ssw0rd

Il file /etc/ipdiva/gateway/gateway.xml andrebbe configurato come segue:

 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>
File 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>

Infine, avviare l'istanza di Edge Gateway per caricare le nuove impostazioni e connetterla al Mediation Controller MASTER:

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

Modificare il file /etc/ipdiva/gateway-slave/gateway.xml e completarlo con le informazioni seguenti (diverse sezioni sono state omesse e sono indicate da […]):

 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>

Sostituire gli elementi seguenti:

  • @SERVER@: deve essere sostituito con l'indirizzo RIP_MED_SSL_SLAVE
  • @SERVERPORT@: deve essere sostituito con la porta di ascolto dell'SSL Router, normalmente la 443
  • keyfile.pem: deve essere sostituito con il nome del file del certificato
  • PASSWORD: deve essere sostituito con la password del certificato
  • @RPC_PORT@: deve essere sostituito con una porta TCP disponibile sulla macchina; di solito si utilizza la porta 9081
Esempio

Tenendo conto delle informazioni seguenti:

  • RIP_MED_SSL_SLAVE è uguale a: 10.0.10.13
  • Porta di ascolto dell'SSL Router: 443
  • Nome del file del certificato: edge-gateway.p12
  • Password del certificato: Str0ngP@ssw0rd
  • Porta RPC disponibile: 9081

Il file /etc/ipdiva/gateway-slave/gateway.xml andrebbe configurato come segue:

 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>
File 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>

Infine, avviare l'istanza di Edge Gateway per caricare le nuove impostazioni e connetterla al Mediation Controller SLAVE:

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

Configurazione del servizio di registrazione

Spostare il certificato del servizio di registrazione nella directory /etc/ipdiva/careserver/ con un comando simile a questo (sostituire <CERT_NAME> con il nome del certificato previsto):

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

Configurare quindi il servizio modificando il file seguente: /etc/ipdiva/careserver/careserver.xml. La configurazione del file deve essere simile a questa (nell'estratto seguente sono omesse numerose righe del file, indicate da […]):

 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>

Apportare le modifiche seguenti:

  • Modificare l'indirizzo IP di ascolto del servizio di registrazione in 0.0.0.0 (in ascolto su tutti gli indirizzi IP disponibili)
  • Sostituire recording_service.p12 con il nome del certificato del servizio di registrazione
  • Sostituire PASSWORD con la password del certificato del servizio di registrazione
  • Aggiungere la riga <element>http://127.0.0.1:9081</element>
Esempio

Tenendo conto delle informazioni seguenti:

  • Nome del file del certificato: fqdn.edge-gateway.local.p12
  • Password del certificato: Str0ngP@ssw0rd

Il file /etc/ipdiva/careserver/careserver.xml andrebbe configurato come segue:

 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>
File 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>

Convalidare le nuove impostazioni riavviando il servizio di registrazione:

1
systemctl restart ipdivacarerecord

Connessione delle istanze di HTML5 Gateway

Se occorre configurare l'istanza di HTML5 Gateway, eseguire il comando seguente sul server Edge Gateway come root per abilitare l'avvio automatico dell'istanza:

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

Copiare il file del certificato dell'HTML5 Gateway nelle directory /etc/ipdiva/html5gateway/ssl/ e /etc/ipdiva/html5gateway-slave/ssl/. È possibile farlo eseguendo come root comandi simili ai seguenti (sostituire <CERT_NAME> con il nome del certificato dell'HTML5 Gateway):

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

Configurare le istanze di HTML5 Gateway affinché possano connettersi ai Mediation Controller.
Le configurazioni differiscono in funzione del Mediation Controller da contattare. Effettuare entrambe le impostazioni:

Modificare il file /etc/ipdiva/html5gateway/html5gateway.xml e completarlo con le informazioni seguenti (diverse sezioni sono state omesse e sono indicate da […]):

 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>

Sostituire gli elementi seguenti:

  • _FILL_ME_WITH_SERVER_ADDRESS_:: deve essere sostituito con l'indirizzo RIP_MED_SSL_MASTER, il carattere : e la porta di ascolto dell'SSL Router, normalmente la 443
  • keyfile.pem: deve essere sostituito con il nome del file del certificato
  • PASSWORD: deve essere sostituito con la password del certificato
Esempio

Tenendo conto delle informazioni seguenti:

  • RIP_MED_SSL_MASTER è uguale a: 10.0.10.11
  • Porta di ascolto dell'SSL Router: 443
  • Nome del file del certificato: html5-gateway.p12
  • Password del certificato: Str0ngP@ssw0rd

Il file /etc/ipdiva/html5gateway/html5gateway.xml andrebbe configurato come segue:

 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>
File 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>

Infine, riavviare l'istanza di HTML5 Gateway per caricare le nuove impostazioni e connetterla al Mediation Controller MASTER:

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

Modificare il file /etc/ipdiva/html5gateway-slave/html5gateway.xml e completarlo con le informazioni seguenti (diverse sezioni sono state omesse e sono indicate da […]):

 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>

Sostituire gli elementi seguenti:

  • @SERVER@: deve essere sostituito con l'indirizzo RIP_MED_SSL_SLAVE
  • @SERVERPORT@: deve essere sostituito con la porta di ascolto dell'SSL Router, normalmente la 443
  • keyfile.pem: deve essere sostituito con il nome del file del certificato
  • PASSWORD: deve essere sostituito con la password del certificato
  • @RPC_PORT@: deve essere sostituito con una porta TCP disponibile sulla macchina; di solito si utilizza la porta 9089
Esempio

Tenendo conto delle informazioni seguenti:

  • RIP_MED_SSL_SLAVE è uguale a: 10.0.10.13
  • Porta di ascolto dell'SSL Router: 443
  • Nome del file del certificato: html5-gateway.p12
  • Password del certificato: Str0ngP@ssw0rd
  • Porta RPC disponibile: 9089

Il file /etc/ipdiva/html5gateway-slave/html5gateway.xml andrebbe configurato come segue:

 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>
File 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>

Infine, riavviare l'istanza di HTML5 Gateway per caricare le nuove impostazioni e connetterla al Mediation Controller SLAVE:

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

Configurazioni preliminari alla connessione degli HTML5 Gateway

Affinché le applicazioni HTML5 funzionino, occorre configurare impostazioni aggiuntive sui server Mediation Controller. Connettersi come root ai server Mediation Controller MASTER e SLAVE.

Creare o modificare il file /etc/ipdiva/httpd/commonParameters.extra.conf per aggiungere, per l'HTML5 Gateway, una sezione equivalente alla seguente:

 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>

Dove:

  • URL_HTML5 deve essere sostituito con il contenuto del campo URL dell'HTML5 Gateway configurato nella console di amministrazione durante la dichiarazione dell'HTML5 Gateway (in Cluster di solito HTML5-1 e HTML5-2).
  • GW_NAME deve essere sostituito con il nome di un Edge Gateway situato sullo stesso server dell'HTML5 Gateway. Il carattere | alla fine della riga deve essere conservato.
  • ORGANIZATION_NAME deve essere sostituito con il nome dell'organizzazione alla quale si connette l'Edge Gateway precedente.
Esempio

Per una piattaforma con la configurazione seguente:

  • Nome dell'organizzazione: my-organization-name
  • Dichiarazione del primo HTML5 Gateway nella console di amministrazione:
    • Name: html5-gateway-1
    • URL: HTML5-1
    • Protocol: WebSocket
  • Dichiarazione del secondo HTML5 Gateway nella console di amministrazione:
    • Name: html5-gateway-2
    • URL: HTML5-2
    • Protocol: WebSocket
  • Un server Edge Gateway del primo HTML5 Gateway dispone di:
    • Un servizio Edge Gateway denominato edge-gateway-1
    • Un servizio HTML5 Gateway denominato html5-gateway-1
  • Un server Edge Gateway del secondo HTML5 Gateway dispone di:
    • Un servizio Edge Gateway denominato edge-gateway-2
    • Un servizio HTML5 Gateway denominato html5-gateway-2

Il file di configurazione /etc/ipdiva/httpd/commonParameters.extra.conf creato andrebbe configurato come segue:

 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>

Prima di applicare la nuova configurazione, occorre verificare che non provochi alcun errore bloccante per il server web Apache2.
A tale scopo, eseguire il comando seguente:

1
apache2ctl configtest

Se la risposta è Syntax OK, le modifiche possono essere applicate con il comando seguente. In caso contrario, verificare la propria configurazione nel file /etc/ipdiva/httpd/commonParameters.extra.conf.

1
systemctl reload apache2

Configurazione di un server di riferimento orario NTP

Si consiglia di configurare un server di riferimento orario per mantenere aggiornato l'orologio di sistema. I passaggi necessari sono descritti nella pagina di configurazione NTP.