Ga naar inhoud

Installatie van de Mediation Controller-servers

Opmerking

Ter herinnering: het overschakelen naar root moet op Debian-machines met de volgende opdracht gebeuren:

1
su -

De instructies op deze pagina moeten op beide Mediation Controller-servers worden uitgevoerd, te beginnen met de server MASTER.
Wanneer er verschillen bestaan tussen de servers MASTER en SLAVE, worden die aangegeven. Als er niets wordt vermeld, gelden de instructies zowel voor de server MASTER als voor de server SLAVE.

De mirror en de nodige hulpmiddelen downloaden

De mirror van CyberElements Cleanroom 4.6 en de ondertekeningssleutel van het Systancia-repository kunnen via deze link worden gedownload (vereist het aanmaken van een klantaccount): Systancia Marketplace

Naast de mirror en de sleutel zijn er voor de upgrade hulpmiddelen van derden nodig:

  • Een SSH-client (op Windows kunt u PuTTY gebruiken)
  • Een SCP-client (op Windows kunnen de hulpmiddelen WinSCP of FileZilla worden gebruikt)

Gebruik de SSH-client om op afstand verbinding te maken met uw server.

Gebruik de SCP-client om bestanden naar uw externe machine over te brengen.

De installatie voorbereiden

Configuratie van het netwerk

Installeer het pakket resolvconf zodat de DNS-configuratie kan worden toegepast die is opgegeven in het bestand dat zo dadelijk wordt gewijzigd:

1
apt install -y resolvconf

Het is noodzakelijk een statisch netwerkadres voor de Mediation Controller te configureren. Daarvoor moet eerst de naam van de netwerkinterface van uw machine worden opgehaald. Voer de volgende opdracht uit als root:

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

Deze opdracht geeft de naam van de netwerkinterface, de status ervan en de aan de interface toegewezen IP-adressen weer.

Voorbeeld

Na de uitvoering van de opdracht wordt de volgende uitvoer weergegeven:

1
ens192           UP             172.16.0.23/20 172.16.0.27/32 172.16.0.28/32 172.16.0.29/32 172.16.0.24/20

De naam van de netwerkinterface is ens192.

Zodra de naam van de netwerkinterface is verkregen, is het nu mogelijk de netwerkconfiguratie van de machine te bewerken.
Bewerk het bestand /etc/network/interfaces om het volgens het volgende model te wijzigen:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# 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 INTERFACE_NAME
iface INTERFACE_NAME inet static
    address RIP_MED_WEB_MASTER
    netmask NETMASK
    gateway NETWORK_GATEWAY
    dns-nameservers IP_DNS_1 IP_DNS_2
    dns-search DNS_SUFFIX

# The secondary network interface
auto INTERFACE_NAME:1
iface INTERFACE_NAME:1 inet static
    address RIP_MED_SSL_MASTER
    netmask NETMASK

Hierbij geldt:

  • INTERFACE_NAME moet worden vervangen door de eerder opgehaalde naam van de netwerkinterface.
  • RIP_MED_WEB_MASTER moet worden vervangen door het reële hoofd-IP-adres van de server; dat is het IP-adres waarmee de webconsoles bereikbaar zijn.
  • NETMASK moet worden vervangen door het netwerkmasker dat bij het IP-adres hoort.
  • NETWORK_GATEWAY moet worden vervangen door de standaardgateway van het netwerk.
  • IP_DNS moet worden vervangen door het IP-adres van de DNS-server. Als er meerdere servers moeten worden geconfigureerd (maximaal 3), scheidt u ze met een spatie.
  • DNS_SUFFIX moet worden vervangen door het te gebruiken DNS-suffix. Als er geen suffix hoeft te worden opgegeven, verwijdert u de regel.
  • RIP_MED_SSL_MASTER moet worden vervangen door het reële secundaire IP-adres van de server. Dat is het IP-adres waarmee de SSL Router bereikbaar is.
Voorbeeld
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# 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 eth0
iface eth0 inet static
    address 10.0.10.10
    netmask 255.255.255.0
    gateway 10.0.10.254
    dns-nameservers 10.0.10.100 10.0.10.101
    dns-search domain.local

# The secondary network interface
auto eth0:1
iface eth0:1 inet static
    address 10.0.10.11
    netmask 255.255.255.0

Ten slotte hoeft alleen nog de service networking opnieuw te worden gestart om de nieuwe netwerkconfiguratie te laden:

1
systemctl restart networking

Het is noodzakelijk een statisch netwerkadres voor de Mediation Controller te configureren. Daarvoor moet eerst de naam van de netwerkinterface van uw machine worden opgehaald. Voer de volgende opdracht uit als root:

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

Deze opdracht geeft de naam van de netwerkinterface, de status ervan en de aan de interface toegewezen IP-adressen weer.

Voorbeeld

Na de uitvoering van de opdracht wordt de volgende uitvoer weergegeven:

1
ens192           UP             172.16.0.25/20 172.16.0.27/32 172.16.0.28/32 172.16.0.29/32 172.16.0.26/20

De naam van de netwerkinterface is ens192.

Zodra de naam van de netwerkinterface is verkregen, is het nu mogelijk de netwerkconfiguratie van de machine te bewerken.
Bewerk het bestand /etc/network/interfaces om het volgens het volgende model te wijzigen:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# 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 INTERFACE_NAME
iface INTERFACE_NAME inet static
    address RIP_MED_WEB_SLAVE
    netmask NETMASK
    gateway NETWORK_GATEWAY
    dns-nameservers IP_DNS_1 IP_DNS_2
    dns-search DNS_SUFFIX

# The secondary network interface
auto INTERFACE_NAME:1
iface INTERFACE_NAME:1 inet static
    address RIP_MED_SSL_SLAVE
    netmask NETMASK

Hierbij geldt:

  • INTERFACE_NAME moet worden vervangen door de eerder opgehaalde naam van de netwerkinterface.
  • RIP_MED_WEB_SLAVE moet worden vervangen door het reële hoofd-IP-adres van de server; dat is het IP-adres waarmee de webconsoles bereikbaar zijn.
  • NETMASK moet worden vervangen door het netwerkmasker dat bij het IP-adres hoort.
  • NETWORK_GATEWAY moet worden vervangen door de standaardgateway van het netwerk.
  • IP_DNS moet worden vervangen door het IP-adres van de DNS-server. Als er meerdere servers moeten worden geconfigureerd (maximaal 3), scheidt u ze met een spatie.
  • DNS_SUFFIX moet worden vervangen door het te gebruiken DNS-suffix. Als er geen suffix hoeft te worden opgegeven, verwijdert u de regel.
  • RIP_MED_SSL_SLAVE moet worden vervangen door het reële secundaire IP-adres van de server. Dat is het IP-adres waarmee de SSL Router bereikbaar is.
Voorbeeld
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# 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 eth0
iface eth0 inet static
    address 10.0.10.12
    netmask 255.255.255.0
    gateway 10.0.10.254
    dns-nameservers 10.0.10.100 10.0.10.101
    dns-search domain.local

# The secondary network interface
auto eth0:1
iface eth0:1 inet static
    address 10.0.10.13
    netmask 255.255.255.0

Ten slotte hoeft alleen nog de service networking opnieuw te worden gestart om de nieuwe netwerkconfiguratie te laden:

1
systemctl restart networking

Er blijft nog één stap over: de interne naamresolutie van de machine wijzigen zodat die het werkelijke primaire IP-adres oplost (dat overeenkomt met RIP_MED_WEB_MASTER of RIP_MED_WEB_SLAVE).
Bewerk daarvoor het bestand /etc/hosts en vervang 127.0.1.1 door RIP_MED_WEB_MASTER of RIP_MED_WEB_SLAVE, afhankelijk van de Mediation Controller-server.

Example

Voor een Mediation Controller-server waarvan het werkelijke web-IP-adres 10.0.10.10 is en de naam mediation-controller.domain.local, heeft het bestand /etc/hosts de volgende waarde:

1
2
127.0.0.1       localhost
10.0.10.10      mediation-controller.domain.local   mediation-controller

Waarschuwing!

Een onjuiste configuratie van het bestand kan een fout veroorzaken bij de installatie van het pakket collectd.

De pakketbeheerder APT configureren

Upload de van de Systancia Marketplace gedownloade bestanden met een SCP-client naar de map /tmp/ van de server:

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

Meld u als root aan op de server en voer vervolgens de volgende opdrachten uit om het Systancia-repository uit te pakken, het gebruik ervan in APT te configureren en het te authenticeren.

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

Wij raden sterk aan de installatie van onnodige pakketten uit te schakelen bij het uitvoeren van apt-opdrachten. Voer daarvoor de volgende opdracht uit:

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

Controleren of de locale en_US.utf8 aanwezig is

Voor de installatie van de Mediation Controller-server moeten de locales en_US.utf8 worden gegenereerd.
Voer de volgende opdracht uit als root om te controleren of ze al op de server zijn gegenereerd:

1
locale -a  | grep en_US.utf8

Als het antwoord van de opdracht en_US.utf8 weergeeft, ga dan naar de volgende stap, de configuratie van GRUB.
Voer anders de volgende opdrachten uit om deze locale aan de machine toe te voegen:

1
2
sed -i "s/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/" /etc/locale.gen
locale-gen

Configuratie van het opstartprogramma GRUB

Zodra deze opdrachten zijn uitgevoerd, moet u de machine opnieuw starten nadat u een instelling in het opstartprogramma GRUB hebt toegepast:

1
2
3
sed '9s/quiet/quiet vsyscall=emulate/' -i /etc/default/grub
update-grub
reboot

Installatie van de Mediation Controller-server van CyberElements Bastion

Installatie van de basiscomponenten

Start de installatie van de componenten met de volgende opdracht als root:

1
apt install -y ipdiva-base

Nadat alle afhankelijkheden zijn gedownload, wordt er een venster geopend waarin u het type server moet selecteren. Selecteer mediation:

Selecteer vervolgens de installatiemodus lbMaster:

Selecteer vervolgens de installatiemodus lbSlave:

Vervolgens moet u de poort opgeven waarop de SSL Router luistert. Die luisterpoort is doorgaans 443, maar poort 8443 kan ook worden gebruikt als de Mediation Controller slechts één IP-adres gebruikt:

Stel daarna de Cluster-modus in op loadbalancing, zodat de gebruikersbelasting over beide Mediation Controller-servers wordt verdeeld:

Geef het virtuele web-IP-adres van de Cluster op, VIP_MED_WEB:

Geef het virtuele SSL-IP-adres van de Cluster op, VIP_MED_SSL:

Geef het virtuele IP-adres van de configuratiedatabase van de Cluster op, VIP_MED_ZEO:

Geef het werkelijke web-IP-adres van de Mediation Controller MASTER op, RIP_MED_WEB_MASTER:

Geef het werkelijke SSL-IP-adres van de Mediation Controller MASTER op, RIP_MED_SSL_MASTER:

Geef het werkelijke web-IP-adres van de Mediation Controller SLAVE op, RIP_MED_WEB_SLAVE:

Geef ten slotte het werkelijke SSL-IP-adres van de Mediation Controller SLAVE op, RIP_MED_SSL_SLAVE:

Wat te doen bij een fout?

Als er een fout in de ingevoerde informatie is gemaakt, zet u de installatie van het pakket ipdiva-base voort en gebruikt u vervolgens de volgende opdracht om de server opnieuw te configureren:

1
dpkg-reconfigure ipdiva-base

Installatie van de Cluster-componenten

Na de installatie van de basiscomponenten moeten de Cluster-componenten op de Mediation Controller-servers worden geïnstalleerd:

1
apt install -y ipdiva-mediation-cluster

Na de installatie van de componenten is een herstart vereist:

1
reboot

Configuratie van de Cluster

Het wachtwoord van de console /mediation/system van CyberElements Gate wijzigen

In deze fase van de installatie is een nieuwe beheerinterface beschikbaar: Wachtwoord wijzigen

De licenties en certificaten toepassen

Nog steeds in de console /mediation/system moet u de certificaten en licenties van de Mediation Controller-server invoeren.

Waarschuwing!

De licentie en het certificaat van de SSL Router zijn specifiek voor de Mediation Controller-server MASTER of SLAVE.
Het configureren van een verkeerde licentie of een verkeerd certificaat veroorzaakt later storingen.

Pas de licentie en het certificaat van de component SSL Router toe:

  1. Klik op het tabblad Settings.
  2. Selecteer SSL Connections in het menu.
  3. Zoek het certificaat van de SSL Router.
  4. Voer het wachtwoord van het certificaat van de SSL Router in.
  5. Klik op Apply om het certificaat op de SSL Router toe te passen.
  6. Selecteer het licentiebestand van de server.
  7. Klik op Modify om de licentie van de server toe te passen.

Voer vervolgens de informatie van het certificaat van de CyberElements Bastion-client in:

  1. Selecteer het tabblad Plugin.
  2. Zoek het certificaat van de CyberElements Bastion-client.
  3. Voer het wachtwoord van het certificaat in.
  4. Klik op Apply om het certificaat toe te passen.

Nu moet nog de informatie van het Watchdog-certificaat worden ingevoerd:

  1. Selecteer het tabblad Watchdog
  2. Zoek het Watchdog-certificaat.
  3. Voer het wachtwoord van het certificaat in.
  4. Klik op Apply om het certificaat toe te passen.

Om deze wijzigingen van kracht te laten worden, moet u de SSL Router en de Watchdog opnieuw starten:

Pairing van de Mediation Controller-servers

Waarschuwing!

Op dit punt moeten beide Mediation Controller-servers zijn geconfigureerd tot en met het toepassen van de licenties en de certificaten.
Als de Mediation Controller-server SLAVE nog niet is geconfigureerd, doe dat dan door aan het begin van deze documentatie te beginnen.

De stap van de pairing van de Mediation Controller-servers zorgt voor een vertrouwensrelatie tussen de twee servers en initialiseert de werking in Cluster.

Op de Mediation Controller-server SLAVE

Voer de volgende opdracht uit als root om een pairing-aanvraag naar de Mediation Controller-server MASTER te sturen:

1
hostManagerCtl bootstrap RIP_MED_WEB_MASTER

Vervang RIP_MED_WEB_MASTER door het overeenkomstige IP-adres.

Voorbeeld

Als RIP_MED_WEB_MASTER gelijk is aan 10.0.10.10, luidt de in te voeren opdracht als volgt:

1
hostManagerCtl bootstrap 10.0.10.10

Op de Mediation Controller-server MASTER

Voer de volgende opdracht uit als root om de openstaande pairing-aanvragen te bekijken en de identificatie van de aanvraag op te halen:

1
hostManagerCtl getPendingRequests

Voer vervolgens de volgende opdracht uit om de pairing-aanvraag te aanvaarden en vervang daarbij ID door de met de vorige opdracht opgehaalde identificatie:

1
hostManagerCtl acceptRequest ID
Voorbeeld

Als het resultaat van de opdracht hostManagerCtl getPendingRequests als volgt luidt:

1
2
3
                  id          name      url
===============================================================
900elffl744ph7vpn6kepiswdh1rncd73            slave      https://10.0.10.12:9060/

Dan luidt de opdracht om de pairing-aanvraag te aanvaarden als volgt:

1
hostManagerCtl acceptRequest 900elffl744ph7vpn6kepiswdh1rncd73            

Gebruik de volgende opdracht op de Mediation Controller-server (MASTER of SLAVE) om de koppeling te controleren:

1
hostManagerCtl listPeers

Het resultaat verschilt naargelang de server waarop de opdracht wordt uitgevoerd:

Het verwachte resultaat op de Mediation Controller-server MASTER luidt als volgt:

1
slave -> RIP_MED_WEB_SLAVE
Voorbeeld
1
slave -> 10.0.10.12

Het verwachte resultaat op de Mediation Controller-server SLAVE luidt als volgt:

1
master -> RIP_MED_WEB_MASTER
Voorbeeld
1
master -> 10.0.10.10

Op de Mediation Controller-server SLAVE

U kunt de status van de bootstrap vanaf de server SLAVE met de volgende opdracht controleren:

1
hostManagerCtl getBootstrapStatus

Een Cluster zonder synchronisatieproblemen geeft de waarde 0 terug.

Er is nog een laatste reeks opdrachten nodig, opnieuw op de server SLAVE, om een tussen beide Mediation Controllers gedeeld geheim te synchroniseren:

1
2
hostManagerCtl masterSynchro /etc/ipdiva/secure/secret /etc/ipdiva/secure/secret
systemctl restart apache2
Waarvoor dient de interserververbinding?

Het gaat om een bijzondere verbinding van de werking in Cluster, waarmee een Mediation Controller-server het verkeer naar een andere Mediation Controller-server kan routeren wanneer de doel-Edge Gateway niet met de eerste server, maar alleen met de tweede is verbonden.

Als de Mediation Controller-server MASTER bijvoorbeeld niet langer met de Edge Gateway is verbonden, kan hij de interserververbinding gebruiken om haar via de Mediation Controller-server SLAVE te bereiken.

flowchart LR
    MASTER(Mediation Controller<br/>MASTER) --x |Verbinding verbroken| GW(Edge Gateway)
    MASTER --> |Verbinding tussen servers| SLAVE(Mediation Controller<br/>SLAVE) --> GW
Hold "Ctrl" to enable pan & zoom

Op de Mediation Controller-server MASTER

Bewerk het bestand /etc/ipdiva/server/remoteServers.xml om de CN van het interservercertificaat op te geven:

1
2
3
4
5
6
7
8
9
<remoteConfig>
        <!-- allowed CNs can be specified as a semi-colon separed list, by default
                all CNs are allowed
         -->
        <localCluster allowed-cns='SLAVECN'>
                <!-- this example uses the listening certificate, so it MUST have the CLIENT role
                     to be usable
                        <remoteServer connect="192.168.0.123:443:ssl"/>
                -->

Vervang SLAVECN door de CN van het certificaat dat voor de interserververbinding is bestemd.
Als u de CN van het interservercertificaat niet kent, kan het teken * worden ingevoerd (aanbevolen in geval van twijfel):

1
2
3
4
5
6
7
8
9
<remoteConfig>
        <!-- allowed CNs can be specified as a semi-colon separed list, by default
                all CNs are allowed
         -->
        <localCluster allowed-cns='*'>
                <!-- this example uses the listening certificate, so it MUST have the CLIENT role
                     to be usable
                        <remoteServer connect="192.168.0.123:443:ssl"/>
                -->
Voorbeeld

Rekening houdend met de volgende informatie:

  • CN van het interservercertificaat: my-interserver-cert

Het bestand /etc/ipdiva/server/remoteServers.xml van de Mediation Controller-server MASTER moet als volgt worden aangevuld:

1
2
3
4
5
6
7
8
9
<remoteConfig>
        <!-- allowed CNs can be specified as a semi-colon separed list, by default
                all CNs are allowed
         -->
        <localCluster allowed-cns='my-interserver-cert'>
                <!-- this example uses the listening certificate, so it MUST have the CLIENT role
                     to be usable
                        <remoteServer connect="192.168.0.123:443:ssl"/>
                -->
Volledig bestand
 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
<remoteConfig>
        <!-- allowed CNs can be specified as a semi-colon separed list, by default
                all CNs are allowed
         -->
        <localCluster allowed-cns='interserver-documentation-cluster'>
                <!-- this example uses the listening certificate, so it MUST have the CLIENT role
                     to be usable
                        <remoteServer connect="192.168.0.123:443:ssl"/>
                -->

                <!-- in this example we use a custom certificate, it MUST have the CLIENT role
                     to be usable
                        <remoteServer connect="192.168.0.123:443:ssl">
                                <cert>/etc/ipdiva/server/ssl/interserver.p12</cert>
                <password>s3cr3t</password>
                <ca-dir>/etc/ipdiva/server/ssl/ca</ca-dir>
                <crl-dir>/etc/ipdiva/server/ssl/crl</crl-dir>
                                <min-version>tls1.3</min-version>
                                <max-version></max-version>
                                <cipherlist>!ADH:RSA+AES:kEDH+AES</cipherlist>
                                <cipherlist-tls1.3>TLS_CHACHA20_POLY1305_SHA256:TLS_AES_256_GCM_SHA384:TLS_AES_128_GCM_SHA256</cipherlist-tls1.3>
                <use-cn>no</use-cn>
                <verify-cert>true</verify-cert>
                <verify-certhostnamematch>true</verify-certhostnamematch>
                <cert-peername>MASTERCN</cert-peername>
                        </remoteServer>
                -->
        </localCluster>

        <!--
                Intersites connections
        -->
        <intersites localSiteName='localSite1'>
                <!-- An accepted remote connection
                        name : the name of the accepted remote site
                        password : the associated password
                        pattern : a list of pattern of allowed peers for this remote site (separated by ;)
                -->
                <!-- <accept name='david-desktop' password='passwd' pattern='S:[^@]+@ipdiva'/> -->

                <!-- A connection to a remote site
                        name : is the name of the remoteSite
                        password : the password to use to connect
                        pattern : a list of pattern (regex) of the gateway that could be addressed via this link (separated by ;)
                        connect : a connection URL

                        the body can contain traditional TlsData parameters:
                            <cert>file.p12</cert>
                            <password>....</password>
                            <cadir>....</cadir>
                -->
                <!--
                        <remoteSite name='remoteSiteName'
                                        password='mypass'
                                        pattern='S:gw1@ipdiva;S:gw2@ipdiva'
                                        connect="192.168.0.168:9002" />
                -->
        </intersites>


</remoteConfig>

Op de Mediation Controller-server SLAVE

Stuur het interservercertificaat naar de Mediation Controller SLAVE, in de map /tmp/.
Voer vervolgens de volgende opdrachten uit als root om het met de juiste machtigingen naar de doelmap te verplaatsen:

1
2
3
mv /tmp/*.p12 /etc/ipdiva/server/ssl/
chown root:ipdivasrv /etc/ipdiva/server/ssl/*.p12
chmod 640 /etc/ipdiva/server/ssl/*.p12

Bewerk vervolgens het bestand /etc/ipdiva/server/remoteServers.xml om de volgende inhoud aan de tag <remoteConfig> toe te voegen (de oude tag <localCluster> kan volledig worden verwijderd):

 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
<localCluster allowed-cns='MASTERCN'>
    <remoteServer connect="RIP_MED_SSL_MASTER:PORT_RIP_MED_SSL_MASTER:ssl">
        <cert>/etc/ipdiva/server/ssl/INTERSERVER.P12</cert>
        <password>PASSWORD</password>
        <ca-dir>/etc/ipdiva/server/ssl/ca</ca-dir>
        <crl-dir>/etc/ipdiva/server/ssl/crl</crl-dir>
        <cipherlist>!ADH:RSA+AES:kEDH+AES</cipherlist>
        <use-cn>no</use-cn>
        <verify-cert>true</verify-cert>
        <verify-certhostnamematch>true</verify-certhostnamematch>
        <cert-peername>MASTERCN</cert-peername>
    </remoteServer>
</localCluster>

Vervang:

  • MASTERCN: geef de CN op van het certificaat van de SSL Router van de Mediation Controller MASTER; dat is doorgaans RIP_MED_SSL_MASTER.
  • RIP_MED_SSL_MASTER: komt overeen met het secundaire IP-adres van de Mediation Controller MASTER.
  • PORT_RIP_MED_SSL_MASTER: dit is de poort waarop de SSL Router van de Mediation Controller MASTER luistert; doorgaans is dat 443.
  • INTERSERVER.P12: naam van het certificaat dat voor de interserver is bestemd.
  • PASSWORD: wachtwoord van het interservercertificaat.
Voorbeeld

Rekening houdend met de volgende informatie:

  • Naam van het interservercertificaat: my-interserver-cert.p12
  • Wachtwoord van het interservercertificaat: MySecurePassword
  • RIP SSL van de Mediation Controller MASTER: 10.0.10.11
  • Poort op de RIP SSL van de Mediation Controller MASTER: 443
  • CN van het certificaat van de Mediation Controller MASTER: 10.0.10.11

Het bestand /etc/ipdiva/server/remoteServers.xml van de Mediation Controller-server SLAVE moet als volgt worden aangevuld:

 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
<localCluster allowed-cns='10.0.10.11'>
    <remoteServer connect="10.0.10.11:443:ssl">
        <cert>/etc/ipdiva/server/ssl/my-interserver-cert.p12</cert>
        <password>MySecurePassword</password>
        <ca-dir>/etc/ipdiva/server/ssl/ca</ca-dir>
        <crl-dir>/etc/ipdiva/server/ssl/crl</crl-dir>
        <cipherlist>!ADH:RSA+AES:kEDH+AES</cipherlist>
        <use-cn>no</use-cn>
        <verify-cert>true</verify-cert>
        <verify-certhostnamematch>true</verify-certhostnamematch>
        <cert-peername>10.0.10.11</cert-peername>
    </remoteServer>
</localCluster>
Volledig bestand
 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
<remoteConfig>
        <!-- allowed CNs can be specified as a semi-colon separed list, by default
                all CNs are allowed
         -->
        <localCluster allowed-cns='10.0.10.11'>
            <remoteServer connect="10.0.10.11:443:ssl">
                <cert>/etc/ipdiva/server/ssl/my-interserver-cert.p12</cert>
                <password>MySecurePassword</password>
                <ca-dir>/etc/ipdiva/server/ssl/ca</ca-dir>
                <crl-dir>/etc/ipdiva/server/ssl/crl</crl-dir>
                <cipherlist>!ADH:RSA+AES:kEDH+AES</cipherlist>
                <use-cn>no</use-cn>
                <verify-cert>true</verify-cert>
                <verify-certhostnamematch>true</verify-certhostnamematch>
                <cert-peername>10.0.10.11</cert-peername>
            </remoteServer>
        </localCluster>

        <!--
                Intersites connections
        -->
        <intersites localSiteName='localSite1'>
                <!-- An accepted remote connection
                        name : the name of the accepted remote site
                        password : the associated password
                        pattern : a list of pattern of allowed peers for this remote site (separated by ;)
                -->
                <!-- <accept name='david-desktop' password='passwd' pattern='S:[^@]+@ipdiva'/> -->

                <!-- A connection to a remote site
                        name : is the name of the remoteSite
                        password : the password to use to connect
                        pattern : a list of pattern (regex) of the gateway that could be addressed via this link (separated by ;)
                        connect : a connection URL

                        the body can contain traditional TlsData parameters:
                            <cert>file.p12</cert>
                            <password>....</password>
                            <cadir>....</cadir>
                -->
                <!--
                        <remoteSite name='remoteSiteName'
                                        password='mypass'
                                        pattern='S:gw1@ipdiva;S:gw2@ipdiva'
                                        connect="192.168.0.168:9002" />
                -->
        </intersites>


</remoteConfig>

Wijzig de configuratie van de SSL Router SLAVE door de volgende opdracht uit te voeren:

1
sed -i '8i\\t<network-id>1</network-id>' /etc/ipdiva/server/server.xml

Op de Mediation Controller-servers MASTER en SLAVE

Start de SSL Router opnieuw om de configuratie van de interserververbinding toe te passen:

1
/usr/local/ipdiva/server/bin/restart

Om te bevestigen dat de interserververbinding correct werkt, moet de volgende opdracht een resultaat teruggeven:

1
grep floodWithLocalInfos /var/log/IPdivaServer.log

De vorige opdracht moet een log opleveren die het volgende bevat: TRACE Router.floodWithLocalInfos sent 0 peer(s), 0 foreignPeers, and 0 multicast group(s).
Als er geen dergelijke log wordt weergegeven, controleer dan de configuratie die in dit hoofdstuk is uitgevoerd.

In de webconsole /mediation/system van de Mediation Controller MASTER

Schakel de interserververbinding tussen de twee Mediation Controllers in door de virtuele SSL-host default te bewerken:

Vul de verschillende velden in aan de hand van de onderstaande aanwijzingen en schakel de functie voor de interserververbinding in door het selectievakje Is cross-server linking configured? aan te vinken:

  • Public address for plugin connections: komt overeen met VIP_MED_SSL, gevolgd door de luisterpoort ervan (doorgaans 443).
  • Actual public IP addresses for web connections: komt overeen met het paar reële web-IP-adressen (RIP_MED_WEB_MASTER en RIP_MED_WEB_SLAVE) met de bijbehorende poorten, één regel per paar IP-adres en poort.
  • Actual public IP addresses for SSL connections: komt overeen met het paar reële SSL-IP-adressen (RIP_MED_SSL_MASTER en RIP_MED_SSL_SLAVE) met de bijbehorende poorten, één regel per paar IP-adres en poort.

Installatie van de specifieke componenten van CyberElements Bastion

Start de installatie van de componenten van CyberElements Bastion op de Mediation Controller-servers met de volgende opdracht:

1
apt install -y ipdiva-safe-server

De servers moeten opnieuw worden opgestart om de installatie te voltooien:

1
reboot

Verbinding met de PostgreSQL-database

Om te functioneren heeft CyberElements Bastion een externe PostgreSQL-database (DB) nodig om de configuratie en de verschillende logs van de console /system op te slaan.
Als de DB direct bereikbaar is vanaf de Mediation Controller-servers, ga dan direct naar de stap voor de initialisatie van de DB.

Verbinding met een database in het LAN

Om verbinding met een database in het LAN mogelijk te maken zonder een stroom van de DMZ naar het LAN te openen, wordt de stroom van de database omgeleid via een TLS-tunnel tussen de Edge Gateways en de Mediation Controllers.
Daarvoor moet één Edge Gateway (of twee Edge Gateways) worden geconfigureerd met de onderliggende CyberElements Gate-technologie.

Declaratie van de CyberElements Gate Edge Gateways

Meld u daarvoor eerst aan bij de console /mediation/system van CyberElements Gate.

Ga vervolgens naar het menu ”Organizations” en klik op ”Add”:

Voer de naam van de organisatie in, die moet verschillen van de naam die aan CyberElements Bastion is toegekend (bijvoorbeeld tunnel), en geef ten minste één gebruikerssessielicentie op, samen met het wachtwoord van het account admin:

Meld u met het account admin aan bij de beheerinterface van de eerder aangemaakte organisatie door naar /gate/admin te gaan:

Declareer vervolgens de twee Edge Gateways die voor het opzetten van de tunnel worden gebruikt.
Beweeg links de cursor over Infrastructure, klik op Gateways en vervolgens op de knop Add:

Voer de naam van de eerste Edge Gateway in en bevestig de invoer:

Informatie

Ter herinnering: de naam van een Edge Gateway is verbonden met het certificaat dat zij gebruikt om zich bij de SSL Router van de Mediation Controller te authenticeren.
Deze naam heeft de volgende vorm <GW_NAME>@<ORGANIZATION_NAME>, waarbij <GW_NAME> overeenkomt met de naam van de Edge Gateway en <ORGANIZATION_NAME> met de naam van de organisatie die in de systeemconsole van CyberElements Gate is aangemaakt.

Herhaal de stap van de declaratie van de Edge Gateway voor de tweede Edge Gateway.

Verbindingen en configuratie van de tunnel op de Edge Gateways

Informatie

De volgende stappen kunnen op beide Edge Gateways worden uitgevoerd die voor de tunnel naar de database worden gebruikt.

Voorwaarden

Om dit deel af te ronden, moet u een van de volgende twee mogelijkheden gebruiken:

Gebruik eerst een hulpmiddel zoals WinSCP of FileZilla om het voor de verbinding vereiste certificaat via SCP naar de map /tmp/ van de Edge Gateway over te brengen.

Maak vervolgens verbinding via SSH en schakel over naar root.

Om de Edge Gateway met beide Mediation Controllers te verbinden, moeten er twee nieuwe Edge Gateway-instanties worden aangemaakt: de ene maakt verbinding met de Mediation Controller MASTER, de andere met de Mediation Controller SLAVE.
Voer de volgende opdrachten uit om ze aan te maken:

1
2
/usr/local/ipdiva/gateway/bin/gatewayCloner -tunnel-master
/usr/local/ipdiva/gateway/bin/gatewayCloner -tunnel-slave

Kopieer het certificaatbestand naar de mappen /etc/ipdiva/gateway-tunnel-master/ssl/ en /etc/ipdiva/gateway-tunnel-slave/ssl/:

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

Vervang <CERT_NAME> door de naam van het certificaat dat de Edge Gateway moet gebruiken om verbinding te maken met de Mediation Controller.

Configureer de Edge Gateway-instanties zo dat zij verbinding kunnen maken met de Mediation Controllers.
De configuraties verschillen naargelang de Mediation Controller die moet worden gecontacteerd. Voer beide configuraties uit:

Bewerk het bestand /etc/ipdiva/gateway-tunnel-master/gateway.xml en vul het aan met de volgende informatie (verschillende secties zijn weggelaten en worden aangeduid met […]):

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

Vervang de volgende elementen:

  • @SERVER@: moet worden vervangen door het adres RIP_MED_SSL_MASTER
  • @SERVERPORT@: moet worden vervangen door de luisterpoort van de SSL Router, normaal gezien 443
  • keyfile.pem: moet worden vervangen door de naam van het certificaatbestand
  • PASSWORD: moet worden vervangen door het wachtwoord van het certificaat
  • @RPC_PORT@: moet worden vervangen door een poort waarop de machine momenteel niet luistert; de poort 9082 kan worden gebruikt
Voorbeeld

Rekening houdend met de volgende informatie:

  • RIP_MED_SSL_MASTER is gelijk aan: 10.0.10.11
  • Luisterpoort van de SSL Router: 443
  • Naam van het certificaatbestand: gate-tunnel.p12
  • Wachtwoord van het certificaat: Str0ngP@ssw0rd

Het bestand /etc/ipdiva/gateway-tunnel-master/gateway.xml moet als volgt worden geconfigureerd:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
<gateway>
    <server>10.0.10.11:443:ssl</server>
[…]
    <ssl>
        <cert>/etc/ipdiva/gateway-tunnel-master/ssl/gate-tunnel.p12</cert>
        <password>Str0ngP@ssw0rd</password>
[…]
    </ssl>
[…]
    <rpc-listen>127.0.0.1:9082</rpc-listen>
[…]
</gateway>
Volledig bestand
 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-tunnel-master/ssl/gate-tunnel.p12</cert>
                <password>Str0ngP@ssw0rd</password>
                <ca-dir>/etc/ipdiva/gateway-tunnel-master/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:9082</rpc-listen>
        <network-id></network-id>
        <services>/etc/ipdiva/gateway-tunnel-master/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>

Bewerk het bestand /etc/ipdiva/gateway-tunnel-slave/gateway.xml en vul het aan met de volgende informatie (verschillende secties zijn weggelaten en worden aangeduid met […]):

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

Vervang de volgende elementen:

  • @SERVER@: moet worden vervangen door het adres RIP_MED_SSL_SLAVE
  • @SERVERPORT@: moet worden vervangen door de luisterpoort van de SSL Router, normaal gezien 443
  • keyfile.pem: moet worden vervangen door de naam van het certificaatbestand
  • PASSWORD: moet worden vervangen door het wachtwoord van het certificaat
  • @RPC_PORT@: moet worden vervangen door een poort die momenteel niet op de machine in gebruik is; de poort 9083 kan worden gebruikt
Voorbeeld

Rekening houdend met de volgende informatie:

  • RIP_MED_SSL_SLAVE is gelijk aan: 10.0.10.13
  • Luisterpoort van de SSL Router: 443
  • Naam van het certificaatbestand: gate-tunnel.p12
  • Wachtwoord van het certificaat: Str0ngP@ssw0rd

Het bestand /etc/ipdiva/gateway-tunnel-slave/gateway.xml moet als volgt worden geconfigureerd:

 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-tunnel-slave/ssl/gate-tunnel.p12</cert>
        <password>Str0ngP@ssw0rd</password>
[…]
    </ssl>
[…]
    <rpc-listen>127.0.0.1:9083</rpc-listen>
[…]
</gateway>
Volledig bestand
 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-tunnel-slave/ssl/gate-tunnel.p12</cert>
                <password>Str0ngP@ssw0rd</password>
                <ca-dir>/etc/ipdiva/gateway-tunnel-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:9083</rpc-listen>
        <network-id></network-id>
        <services>/etc/ipdiva/gateway-tunnel-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>

Nu de instanties zijn geconfigureerd om verbinding te maken met de Mediation Controllers, moeten zij nog zo worden geconfigureerd dat zij de verbinding van de Mediation Controller naar de database omleiden.
Bewerk daarvoor het bestand /etc/ipdiva/gateway-tunnel-master/services.xml en wijzig het als volgt:

1
2
3
4
5
6
7
8
9
<services>
    <out>
        <service>
            <name>DB</name>
            <protocol>tcp</protocol>
            <connect>DB_SERVER:DB_PORT</connect>
        </service>
    </out>
</services>

Vervang DB_SERVER door de DNS-naam of het IP-adres dat voor de verbinding met de database wordt gebruikt, en DB_PORT door de luisterpoort van de database-instantie.
Neem deze configuratie over voor de instantie die verbinding maakt met de Mediation Controller-server SLAVE door het bestand te kopiëren:

1
cp /etc/ipdiva/gateway-tunnel-master/services.xml /etc/ipdiva/gateway-tunnel-slave/

Start ten slotte de Edge Gateway-instanties zodat zij de verbinding met de Mediation Controllers tot stand brengen:

1
2
/usr/local/ipdiva/gateway-tunnel-master/bin/start
/usr/local/ipdiva/gateway-tunnel-slave/bin/start
De tunnel op de Mediation Controllers configureren

Om de tunnel door de Mediation Controllers te laten gebruiken, moet het bestaan ervan nog worden gedeclareerd.
Meld u daarvoor als root aan bij de Mediation Controllers en bewerk het bestand /etc/ipdiva/server/services.xml om de volgende sectie toe te voegen (verschillende secties zijn weggelaten en worden aangeduid met […]):

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
<services>
[…]
    <in>
[…]
        <service>
            <name>DB</name>
            <gateway>GW1_NAME@ORGANIZATION_NAME</gateway>
            <gateway>GW2_NAME@ORGANIZATION_NAME</gateway>
            <protocol>tcp</protocol>
            <listen>127.0.0.1:1432</listen>
            <must-exist>true</must-exist>
        </service>
    </in>
</services>

Vervang de volgende elementen:

  • GW1_NAME door de naam van de eerste Edge Gateway
  • GW2_NAME door de naam van de tweede Edge Gateway
  • ORGANIZATION_NAME door de naam van de eerder aangemaakte organisatie CyberElements Gate
Voorbeeld

Rekening houdend met de volgende informatie:

  • Naam van Edge Gateway 1: gate-tunnel-1
  • Naam van Edge Gateway 2: gate-tunnel-2
  • Naam van de organisatie CyberElements Gate: tunnel

Het bestand /etc/ipdiva/server/services.xml moet als volgt worden aangevuld:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
<services>
[…]
    <in>
[…]
        <service>
            <name>DB</name>
            <gateway>gate-tunnel-1@tunnel</gateway>
            <gateway>gate-tunnel-2@tunnel</gateway>
            <protocol>tcp</protocol>
            <listen>127.0.0.1:1432</listen>
            <must-exist>true</must-exist>
        </service>
    </in>
</services>
Volledig bestand
 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
<services>
    <out>
        <service>
            <name>ntp</name>
            <protocol>udp</protocol>
            <connect>127.0.0.1:123</connect>
        </service>
        <service>
            <name>logging</name>
            <protocol>tcp</protocol>
            <connect>127.0.0.1:1514</connect>
        </service>
        <service>
            <name>clreanroom_acm</name>
            <protocol>tcp</protocol>
            <connect>127.0.0.1:8001</connect>
        </service>
    </out>
    <in>
        <service>
            <gateway>edge-gateway-1@my-organization-name</gateway>
            <protocol>tcp</protocol>
            <name>HTML5</name>
            <listen>127.0.0.1:1234</listen>
            <must-exist>true</must-exist>
        </service>
        <service>
            <name>DB</name>
            <gateway>gate-tunnel-1@tunnel</gateway>
            <gateway>gate-tunnel-2@tunnel</gateway>
            <protocol>tcp</protocol>
            <listen>127.0.0.1:1432</listen>
            <must-exist>true</must-exist>
        </service>
    </in>
</services>

Start de SSL Router met de volgende opdracht opnieuw om de nieuwe configuratie toe te passen:

1
/usr/local/ipdiva/server/bin/restart

De database initialiseren

Waarschuwing!

U moet de database default aanmaken voordat CyberElements Bastion deze initialiseert (zij wordt niet automatisch aangemaakt).

Om de PostgreSQL-database van de systeemconfiguratie te initialiseren, moeten eerst de verbindingsparameters op de Mediation Controllers worden geconfigureerd.
Bewerk daarvoor het bestand /etc/ipdiva/care/databasesettings.ini op beide servers en voeg de volgende vermeldingen toe:

2
3
4
5
6
7
8
9
[database]

ENGINE:django.db.backends.postgresql
NAME:default
USER:DB_USERNAME
PASSWORD:DB_PWD
HOST:DB_HOST
PORT:DB_PORT

Vervang de volgende elementen:

  • DB_USERNAME door de gebruikersnaam die voor de verbinding met de database wordt gebruikt.
  • DB_PWD door het wachtwoord van de gebruiker die verbinding maakt.
  • DB_HOST door het IP-adres of de DNS-naam die voor de verbinding met de database wordt gebruikt; als er een verbinding via Edge Gateways wordt gebruikt, moet 127.0.0.1 worden ingevoerd.
  • DB_PORT door de poort die voor de verbinding met de database-instantie wordt gebruikt; als er een verbinding via Edge Gateways wordt gebruikt, moet 1432 worden ingevoerd.

De initialisatie van de database kan met de volgende opdrachten worden gestart, die op slechts één Mediation Controller mogen worden uitgevoerd:

1
2
cd /var/lib/ipdiva/care/
python3 manage.py migrate

Daarna hoeft alleen nog de service apache2 op beide Mediation Controllers opnieuw te worden gestart om de initialisatie van de systeemdatabase toe te passen:

1
systemctl restart apache2

Installatie van de stuurprogramma's voor de verbinding met Microsoft SQL-databases

Als u verbinding wilt maken met een externe database en dit een Microsoft SQL Server is, moeten er aanvullende ODBC-stuurprogramma's worden geïnstalleerd.

Er zijn twee versies beschikbaar: versie 17 en versie 18.

TLS-verbinding vereist voor de stuurprogramma's in versie 18

Voor het gebruik van de ODBC 18-stuurprogramma's moet de verbinding met TLS zijn versleuteld. Daarvoor moet u MS SQL Server configureren voor de versleuteling van de verbindingen.

Voordat u met de installatie van de ODBC-stuurprogramma's begint, moet u de voor de voorbereiding benodigde pakketten installeren en vervolgens het Microsoft-repository voor de installatie van de pakketten voorbereiden:

1
2
3
4
apt install -y curl apt-transport-https gpg
curl -fsSL https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor -o /usr/share/keyrings/microsoft-prod.gpg
curl https://packages.microsoft.com/config/debian/12/prod.list > /etc/apt/sources.list.d/mssql-release.list
apt update

Installeer vervolgens de stuurprogramma's volgens de gekozen versie en configureer het systeem voor het gebruik van de opdracht sqlcmd:

1
2
3
ACCEPT_EULA=Y apt install -y msodbcsql17 mssql-tools python3-pip
pip install mssql-scripter --break-system-packages
ln -sfn /opt/mssql-tools/bin/sqlcmd /usr/bin/sqlcmd
1
2
3
ACCEPT_EULA=Y apt install -y msodbcsql18 mssql-tools18 python3-pip
pip install mssql-scripter --break-system-packages
ln -sfn /opt/mssql-tools18/bin/sqlcmd /usr/bin/sqlcmd

De ODBC-stuurprogramma's zijn nu correct geïnstalleerd.
Als de Mediation Controller-server toegang heeft tot een MS SQL-server, moet de volgende opdracht de verbinding met de externe server mogelijk maken:

1
sqlcmd -S SERVER\INSTANCE_NAME,PORT -U USER

Hierbij geldt:

  • SERVER moet worden vervangen door de DNS-naam of het IP-adres van de MS SQL-server.
  • INSTANCE_NAME moet worden vervangen door de naam van de instantie waarmee verbinding moet worden gemaakt; als dat niet nodig is, verwijdert u ook het teken \.
  • PORT moet worden vervangen door de verbindingspoort naar de MS SQL-database-instantie.
  • USER moet worden vervangen door de gebruikersnaam waarmee de verbinding tot stand wordt gebracht.
Voorbeelden

Als de Mediation Controller-server via het IP-adres 10.0.10.100 toegang heeft tot een MS SQL-databaseserver, de betreffende instantie op de poort 1433 luistert en het toegangsaccount sql-user is. Dan luidt de verbindingsopdracht als volgt:

1
sqlcmd -S 10.0.10.100,1433 -U sql-user

Als de verbindingsinstantie met de naam MSSQLINSTANCE moest worden opgegeven, zou de opdracht als volgt worden gewijzigd:

1
sqlcmd -S 10.0.10.100\MSSQLINSTANCE,1433 -U sql-user

Een NTP-tijdserver configureren

Het is raadzaam een tijdserver in te stellen om de systeemklok actueel te houden. De vereiste stappen worden beschreven op de pagina over de NTP-configuratie.

Eerste configuraties in CyberElements Bastion

Toegang tot de webinterfaces met het virtuele IP-adres toestaan

Standaard is het niet toegestaan met het virtuele IP VIP_MED_WEB verbinding te maken met de webinterfaces van het product CyberElements Bastion.
Voer als root de volgende opdrachten uit op de Mediation Controllers om de autorisatie toe te voegen:

1
2
sed -i '2s/$/, IP/' /etc/ipdiva/care/djangosettings.ini
systemctl restart apache2

Vervang IP door het IP-adres dat overeenkomt met VIP_MED_WEB.

Eerste configuraties

In deze fase zijn de Mediation Controller-servers geïnstalleerd, maar er moeten nog verschillende acties worden uitgevoerd:

  • De standaardwachtwoorden wijzigen


    Wijzig de standaardwachtwoorden van de systeemconsoles.

    Wijzigen

  • De certificaten en licenties installeren


    De Mediation Controller heeft verschillende certificaten en een licentie nodig om operationeel te zijn.
    Alleen het certificaat van de CyberElements Bastion-client moet op beide Mediation Controllers opnieuw worden gedeclareerd (gebruik de RIP RIP_MED_WEB_MASTER en RIP_MED_WEB_SLAVE).

    De certificaten en de licentie installeren

  • Het webcertificaat configureren


    Configureer het webcertificaat dat wordt gebruikt om verbinding te maken met de webinterfaces

    Configureren

  • Een DNS-naam declareren


    Voeg een DNS-naam toe die gemachtigd is om verbinding te maken met de webinterfaces.

    Toevoegen

  • De organisatie configureren


    Configureer de organisatie van CyberElements Bastion.

    Configureren met directe toegang tot de database

    Configureren met toegang tot de database via de tunnel van de Edge Gateways

  • De Edge Gateways declareren


    Declareer de te installeren Edge Gateway(s) of HTML5 Gateway(s).

    Edge Gateways aanmaken

  • Een logische site aanmaken


    Maak een logische site aan die de Edge Gateways en HTML5 Gateways samenbrengt die toegang hebben tot de lokale resources, en configureer die.

    Een site aanmaken

  • Een Edge Gateway installeren


    Installeer en configureer een nieuwe Edge Gateway met de pas geïnstalleerde Mediation Controller-servers.
    Er wordt ook een HTML5 Gateway-instantie geconfigureerd.

    Installeren