Към съдържанието

Инсталиране на сървърите Mediation Controller

Забележка

Напомняме, че превключването към root на компютри с Debian трябва да се извършва със следната команда:

1
su -

Инструкциите на тази страница трябва да се повторят на двата сървъра Mediation Controller, като започнете първо със сървъра MASTER.
Когато има разлики между сървърите MASTER и SLAVE, те ще бъдат отбелязани. Ако няма такова споменаване, инструкциите се отнасят както за сървъра MASTER, така и за сървъра SLAVE.

Изтегляне на огледалото и необходимите инструменти

Огледалното хранилище (mirror) на CyberElements Cleanroom 4.6 и ключът за подпис на хранилището на Systancia могат да бъдат изтеглени от тази връзка (изисква създаване на клиентски акаунт): Systancia Marketplace

Освен огледалното хранилище и ключа, за процеса на надграждане ще са необходими и инструменти на трети страни:

  • SSH клиент (в Windows можете да използвате PuTTY)
  • SCP клиент (в Windows могат да се използват инструментите WinSCP или FileZilla)

Използвайте SSH клиента, за да се свържете отдалечено със своя сървър.

Използвайте SCP клиента, за да прехвърлите файлове към отдалечения компютър.

Подготовка за инсталирането

Конфигуриране на мрежата

Инсталирайте пакета resolvconf, за да може да се приложи DNS конфигурацията, зададена в конфигурационния файл, който ще бъде променен след малко:

1
apt install -y resolvconf

Задължително е да конфигурирате статичен мрежов адрес за компонента Mediation Controller. За да направите това, първо трябва да получите името на мрежовия интерфейс на компютъра. Изпълнете следната команда като root:

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

Тази команда показва името на мрежовия интерфейс, неговото състояние и IP адресите, присвоени на интерфейса.

Пример

След изпълнението на командата се показва следният резултат:

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

Името на мрежовия интерфейс е ens192.

След като името на мрежовия интерфейс е получено, вече можете да редактирате мрежовата конфигурация на компютъра.
Редактирайте файла /etc/network/interfaces, за да го промените по следния шаблон:

 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

Където:

  • INTERFACE_NAME трябва да бъде заменено с името на получения преди това мрежов интерфейс.
  • RIP_MED_WEB_MASTER трябва да бъде заменено с основния реален IP адрес на сървъра, чрез който ще бъдат достъпни уеб конзолите.
  • NETMASK трябва да бъде заменено с мрежовата маска, свързана с IP адреса.
  • NETWORK_GATEWAY трябва да бъде заменено с мрежовия шлюз по подразбиране.
  • IP_DNS трябва да бъде заменено с IP адреса на DNS сървъра. Ако трябва да се конфигурират няколко сървъра (най-много 3), разделете ги с интервал.
  • DNS_SUFFIX трябва да бъде заменено с DNS суфикса, който да се използва. Ако не е необходимо да се въвежда суфикс, изтрийте реда.
  • RIP_MED_SSL_MASTER трябва да бъде заменено с вторичния реален IP адрес на сървъра. Това ще бъде IP адресът, чрез който ще бъде достъпен компонентът SSL Router.
Пример
 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

Накрая остава само да рестартирате услугата networking, за да се зареди новата мрежова конфигурация:

1
systemctl restart networking

Задължително е да конфигурирате статичен мрежов адрес за компонента Mediation Controller. За да направите това, първо трябва да получите името на мрежовия интерфейс на компютъра. Изпълнете следната команда като root:

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

Тази команда показва името на мрежовия интерфейс, неговото състояние и IP адресите, присвоени на интерфейса.

Пример

След изпълнението на командата се показва следният резултат:

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

Името на мрежовия интерфейс е ens192.

След като името на мрежовия интерфейс е получено, вече можете да редактирате мрежовата конфигурация на компютъра.
Редактирайте файла /etc/network/interfaces, за да го промените по следния шаблон:

 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

Където:

  • INTERFACE_NAME трябва да бъде заменено с името на получения преди това мрежов интерфейс.
  • RIP_MED_WEB_SLAVE трябва да бъде заменено с основния реален IP адрес на сървъра, чрез който ще бъдат достъпни уеб конзолите.
  • NETMASK трябва да бъде заменено с мрежовата маска, свързана с IP адреса.
  • NETWORK_GATEWAY трябва да бъде заменено с мрежовия шлюз по подразбиране.
  • IP_DNS трябва да бъде заменено с IP адреса на DNS сървъра. Ако трябва да се конфигурират няколко сървъра (най-много 3), разделете ги с интервал.
  • DNS_SUFFIX трябва да бъде заменено с DNS суфикса, който да се използва. Ако не е необходимо да се въвежда суфикс, изтрийте реда.
  • RIP_MED_SSL_SLAVE трябва да бъде заменено с вторичния реален IP адрес на сървъра. Това ще бъде IP адресът, чрез който ще бъде достъпен компонентът SSL Router.
Пример
 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

Накрая остава само да рестартирате услугата networking, за да се зареди новата мрежова конфигурация:

1
systemctl restart networking

Остава една последна стъпка: да промените вътрешното преобразуване на имена на компютъра, така че името му да се преобразува в реалния му основен IP адрес (съответстващ на RIP_MED_WEB_MASTER или RIP_MED_WEB_SLAVE).
За целта редактирайте файла /etc/hosts и заменете 127.0.1.1 с RIP_MED_WEB_MASTER или RIP_MED_WEB_SLAVE в зависимост от сървъра Mediation Controller.

Пример

За сървър Mediation Controller, чийто реален уеб IP адрес е 10.0.10.10 и чието име е mediation-controller.domain.local, файлът /etc/hosts ще има следната стойност:

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

Внимание!

Неправилна конфигурация на файла може да доведе до грешка при инсталирането на пакета collectd.

Конфигуриране на мениджъра на пакети APT

Качете файловете, изтеглени от Systancia Marketplace, в директорията /tmp/ на сървъра с помощта на SCP клиент:

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

Влезте в сървъра като root, след което изпълнете следните команди, за да разархивирате хранилището на Systancia, да конфигурирате използването му в APT и да го удостоверите.

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

Силно препоръчваме да деактивирате инсталирането на ненужни пакети при изпълнение на командите apt. За целта изпълнете следната команда:

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

Проверка за наличие на локала en_US.utf8

Инсталирането на сървъра Mediation Controller изисква генериране на локалите en_US.utf8.
За да проверите дали те вече са генерирани на сървъра, изпълнете следната команда като root:

1
locale -a  | grep en_US.utf8

Ако резултатът от командата показва en_US.utf8, преминете към следващата стъпка – конфигуриране на GRUB.
В противен случай изпълнете следните команди, за да добавите този локал към компютъра:

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

Конфигуриране на програмата за начално зареждане GRUB

След като тези команди бъдат изпълнени, трябва да рестартирате компютъра, след като приложите настройка в програмата за начално зареждане GRUB:

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

Инсталиране на сървъра Mediation Controller на CyberElements Bastion

Инсталиране на основните компоненти

Започнете инсталирането на компонентите със следната команда като root:

1
apt install -y ipdiva-base

След изтеглянето на всички зависимости ще се отвори прозорец, в който трябва да изберете типа на сървъра. Изберете mediation:

След това изберете режима на инсталиране lbMaster:

След това изберете режима на инсталиране lbSlave:

След това ще трябва да въведете порта, на който ще слуша компонентът SSL Router. Този порт за слушане обикновено е 443, но може да се използва и портът 8443, ако сървърът Mediation използва само един IP адрес:

След това задайте за режима Cluster стойност loadbalancing, така че натоварването от потребителите да се разпределя между двата сървъра Mediation Controller:

Посочете виртуалния уеб IP адрес на клъстера, VIP_MED_WEB:

Въведете виртуалния SSL IP адрес на клъстера, VIP_MED_SSL:

Въведете виртуалния IP адрес на конфигурационната база данни на клъстера, VIP_MED_ZEO:

Въведете реалния уеб IP адрес на сървъра Mediation Controller MASTER, RIP_MED_WEB_MASTER:

Въведете реалния SSL IP адрес на сървъра Mediation Controller MASTER, RIP_MED_SSL_MASTER:

Въведете реалния уеб IP адрес на сървъра Mediation Controller SLAVE, RIP_MED_WEB_SLAVE:

Накрая въведете реалния SSL IP адрес на сървъра Mediation Controller SLAVE, RIP_MED_SSL_SLAVE:

Какво да направя, ако възникне грешка?

Ако във въведената информация има грешка, продължете инсталирането на пакета ipdiva-base и след това използвайте следната команда, за да конфигурирате отново сървъра:

1
dpkg-reconfigure ipdiva-base

Инсталиране на компонентите Cluster

След инсталирането на основните компоненти трябва да се инсталират компонентите Cluster на сървърите Mediation Controller:

1
apt install -y ipdiva-mediation-cluster

След инсталирането на компонентите е необходимо рестартиране:

1
reboot

Конфигуриране на клъстера

Промяна на паролата на конзолата /mediation/system на CyberElements Gate

На този етап от инсталирането е наличен нов административен интерфейс: Промяна на паролата

Прилагане на лицензи и сертификати

Все още в конзолата /mediation/system трябва да въведете сертификатите и лицензите за сървъра Mediation Controller.

Внимание!

Лицензът и сертификатът на компонента SSL Router са специфични за сървъра Mediation Controller MASTER или SLAVE.
Конфигурирането на грешен лиценз или сертификат ще причини неизправности по-късно.

Приложете лиценза и сертификата за компонента SSL Router:

  1. Щракнете върху раздела Settings.
  2. Изберете SSL Connections от менюто.
  3. Потърсете сертификата за компонента SSL Router.
  4. Въведете паролата за сертификата на компонента SSL Router.
  5. Щракнете върху Apply, за да приложите сертификата към компонента SSL Router.
  6. Изберете файла с лиценза на сървъра.
  7. Щракнете върху Modify, за да приложите лиценза на сървъра.

След това въведете информацията за сертификата за клиента на CyberElements Bastion:

  1. Изберете раздела Plugin.
  2. Потърсете сертификата за клиента на CyberElements Bastion.
  3. Въведете паролата за сертификата.
  4. Щракнете върху Apply, за да приложите сертификата.

Остава да въведете информацията за сертификата на компонента Watchdog:

  1. Изберете раздела Watchdog
  2. Потърсете сертификата на компонента Watchdog.
  3. Въведете паролата за сертификата.
  4. Щракнете върху Apply, за да приложите сертификата.

За да влязат в сила тези промени, трябва да рестартирате компонентите SSL Router и Watchdog:

Сдвояване на сървърите Mediation Controller

Внимание!

Към този момент двата сървъра Mediation Controller трябва да са конфигурирани до стъпката прилагане на лицензи и сертификати.
Ако сървърът Mediation Controller SLAVE все още не е конфигуриран, направете това, като започнете от началото на тази документация.

Стъпката на сдвояване на сървърите Mediation Controller ще установи доверена връзка между двата сървъра и ще инициализира работата на клъстера.

На сървъра Mediation Controller SLAVE

Изпълнете следната команда като root, за да инициирате заявка за сдвояване със сървъра Mediation Controller MASTER:

1
hostManagerCtl bootstrap RIP_MED_WEB_MASTER

Заменете RIP_MED_WEB_MASTER със съответния IP адрес.

Пример

Ако RIP_MED_WEB_MASTER е равно на 10.0.10.10, командата, която трябва да въведете, е следната:

1
hostManagerCtl bootstrap 10.0.10.10

На сървъра Mediation Controller MASTER

Изпълнете следната команда като root, за да проверите за чакащи заявки за сдвояване и да получите идентификатора на заявката:

1
hostManagerCtl getPendingRequests

След това изпълнете следната команда, за да приемете заявката за сдвояване, като замените ID с идентификатора, получен от предишната команда:

1
hostManagerCtl acceptRequest ID
Пример

Ако върнатата стойност от командата hostManagerCtl getPendingRequests е следната:

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

Тогава командата за приемане на заявката за сдвояване е следната:

1
hostManagerCtl acceptRequest 900elffl744ph7vpn6kepiswdh1rncd73            

За да проверите асоциирането, използвайте следната команда на сървъра Mediation Controller (MASTER или SLAVE):

1
hostManagerCtl listPeers

Резултатът ще се различава в зависимост от сървъра, на който се изпълнява командата:

Очакваният резултат на сървъра Mediation Controller MASTER е следният:

1
slave -> RIP_MED_WEB_SLAVE
Пример
1
slave -> 10.0.10.12

Очакваният резултат на сървъра Mediation Controller SLAVE е следният:

1
master -> RIP_MED_WEB_MASTER
Пример
1
master -> 10.0.10.10

На сървъра Mediation Controller SLAVE

Можете да проверите състоянието на първоначалното зареждане (bootstrap) от сървъра SLAVE със следната команда:

1
hostManagerCtl getBootstrapStatus

Клъстер, който няма проблеми със синхронизацията, ще върне стойността 0.

Необходима е последна серия от команди, отново на сървъра SLAVE, за да се синхронизира споделен таен ключ между двата компонента Mediation Controller:

1
2
hostManagerCtl masterSynchro /etc/ipdiva/secure/secret /etc/ipdiva/secure/secret
systemctl restart apache2
Каква е целта на междусървърната връзка?

Това е специална връзка за работата на клъстера, която позволява на сървър Mediation Controller да пренасочва трафика към друг сървър Mediation Controller в случаите, когато целевият компонент Edge Gateway не е свързан с първия сървър, а само с втория.

Например, ако сървърът Mediation Controller MASTER вече не е свързан с компонента Edge Gateway, той може да използва междусървърната връзка, за да достигне до компонента Edge Gateway чрез сървъра Mediation Controller SLAVE.

flowchart LR
    MASTER(Mediation Controller<br/>MASTER) --x |Връзката е прекъсната| GW(Edge Gateway)
    MASTER --> |Връзка между сървърите| SLAVE(Mediation Controller<br/>SLAVE) --> GW
Hold "Ctrl" to enable pan & zoom

На сървъра Mediation Controller MASTER

Редактирайте файла /etc/ipdiva/server/remoteServers.xml, за да посочите CN на сертификата за междусървърната връзка:

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"/>
                -->

Заменете SLAVECN с CN на сертификата, предназначен за междусървърната връзка.
Ако не знаете CN на сертификата за междусървърната връзка, можете да въведете символа * (препоръчително при съмнение):

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"/>
                -->
Пример

Като се вземе предвид следната информация:

  • CN на сертификата за междусървърната връзка: my-interserver-cert

Файлът /etc/ipdiva/server/remoteServers.xml на сървъра Mediation Controller MASTER ще бъде попълнен по следния начин:

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"/>
                -->
Пълен файл
 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>

На сървъра Mediation Controller SLAVE

Изпратете сертификата за междусървърната връзка до компонента Mediation Controller SLAVE в директорията /tmp/.
След това изпълнете следните команди като root, за да го преместите в целевата директория с подходящите разрешения:

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

След това редактирайте файла /etc/ipdiva/server/remoteServers.xml, за да добавите следното съдържание в етикета <remoteConfig> (старият етикет <localCluster> може да бъде изтрит изцяло):

 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>

Заменете:

  • MASTERCN: посочете CN на сертификата на SSL Router на компонента Mediation Controller MASTER, който обикновено е RIP_MED_SSL_MASTER.
  • RIP_MED_SSL_MASTER: съответства на вторичния IP адрес на компонента Mediation Controller MASTER.
  • PORT_RIP_MED_SSL_MASTER: това е портът, на който слуша SSL Router на компонента Mediation Controller MASTER; обикновено е 443.
  • INTERSERVER.P12: име на сертификата, предназначен за междусървърната връзка.
  • PASSWORD: парола на сертификата за междусървърната връзка.
Пример

Като се вземе предвид следната информация:

  • Име на сертификата за междусървърната връзка: my-interserver-cert.p12
  • Парола на сертификата за междусървърната връзка: MySecurePassword
  • RIP SSL на компонента Mediation Controller MASTER: 10.0.10.11
  • Порт на RIP SSL на компонента Mediation Controller MASTER: 443
  • CN на сертификата на компонента Mediation Controller MASTER: 10.0.10.11

Файлът /etc/ipdiva/server/remoteServers.xml на сървъра Mediation Controller SLAVE ще бъде попълнен по следния начин:

 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>
Пълен файл
 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>

Променете конфигурацията на SSL Router на SLAVE, като изпълните следната команда:

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

На сървърите Mediation Controller MASTER и SLAVE

Рестартирайте компонента SSL Router, за да приложите настройките на междусървърната връзка:

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

За да потвърдите, че междусървърната връзка работи правилно, следната команда трябва да върне резултат:

1
grep floodWithLocalInfos /var/log/IPdivaServer.log

Предишната команда трябва да генерира запис в дневника, съдържащ следното: TRACE Router.floodWithLocalInfos sent 0 peer(s), 0 foreignPeers, and 0 multicast group(s).
Ако не се показва такъв запис в дневника, проверете конфигурацията, зададена в тази глава.

В уеб конзолата /mediation/system на компонента Mediation Controller MASTER

Активирайте междусървърната връзка между двата компонента Mediation Controller, като редактирате виртуалния SSL хост default:

Попълнете различните полета според указанията по-долу и активирайте функцията за междусървърна връзка, като поставите отметка в квадратчето Is cross-server linking configured?:

  • Public address for plugin connections: съответства на VIP_MED_SSL, последван от порта му за слушане (обикновено 443).
  • Actual public IP addresses for web connections: съответства на двойката реални уеб IP адреси (RIP_MED_WEB_MASTER и RIP_MED_WEB_SLAVE) със съответните им портове, по един ред за всяка двойка IP адрес и порт.
  • Actual public IP addresses for SSL connections: съответства на двойката реални SSL IP адреси (RIP_MED_SSL_MASTER и RIP_MED_SSL_SLAVE) със съответните им портове, по един ред за всяка двойка IP адрес и порт.

Инсталиране на специфичните компоненти на CyberElements Bastion

Започнете инсталирането на компонентите на CyberElements Bastion на сървърите Mediation Controller със следната команда:

1
apt install -y ipdiva-safe-server

Сървърите трябва да бъдат рестартирани, за да завърши инсталирането:

1
reboot

Свързване с базата данни PostgreSQL

За да работи, CyberElements Bastion изисква външна база данни PostgreSQL (БД), в която да съхранява своите настройки и различните дневници в конзолата /system.
Ако БД е директно достъпна от сървърите Mediation Controller, преминете направо към стъпката за инициализиране на БД.

Свързване с база данни в LAN

За да се позволи свързване с база данни, намираща се в LAN, без да се отваря поток от DMZ към LAN, потокът на базата данни ще бъде пренасочен през TLS тунел между сървърите Edge Gateway и сървърите Mediation Controller.
За целта е необходимо да конфигурирате един сървър Edge Gateway (или два сървъра Edge Gateway), като използвате базовата технология CyberElements Gate.

Деклариране на сървърите Edge Gateway на CyberElements Gate

За да направите това, започнете с влизане в конзолата /mediation/system в CyberElements Gate.

След това отидете в менюто „Organizations“ и щракнете върху „Add“:

Въведете името на организацията, което трябва да е различно от присвоеното на CyberElements Bastion (например tunnel), и задайте поне един лиценз за потребителска сесия заедно с паролата за акаунта admin:

Влезте в административния интерфейс на създадената по-рано организация с акаунта admin, като отидете на /gate/admin:

След това декларирайте двата компонента Edge Gateway, които ще се използват за изграждане на тунела.
Вляво задръжте показалеца на мишката върху Infrastructure, щракнете върху Gateways и след това щракнете върху бутона Add:

Въведете името на първия компонент Edge Gateway и потвърдете въведеното:

Информация

Напомняме, че името на компонент Edge Gateway е свързано със сертификата, който той ще използва, за да се удостовери пред SSL Router на компонента Mediation Controller.
Това име има следния вид <GW_NAME>@<ORGANIZATION_NAME>, където <GW_NAME> съответства на името на компонента Edge Gateway, а <ORGANIZATION_NAME> съответства на името на организацията, създадена в системната конзола на CyberElements Gate.

Повторете стъпката за деклариране на Edge Gateway за втория компонент Edge Gateway.

Връзки и настройки на тунела на сървърите Edge Gateway

Информация

Следващите стъпки могат да бъдат повторени на двата компонента Edge Gateway, използвани за тунела за достъп до базата данни.

Предварителни изисквания

За да завършите тази част, ще трябва да използвате едно от следните:

Първо използвайте инструмент като WinSCP или FileZilla, за да прехвърлите чрез SCP сертификата, необходим за връзката, в директорията /tmp/ на компонента Edge Gateway.

След това се свържете чрез SSH и превключете към root.

За да свържете компонента Edge Gateway с двата компонента Mediation Controller, трябва да създадете два нови екземпляра на Edge Gateway: единият ще се свързва с компонента Mediation Controller MASTER, а другият – с компонента Mediation Controller SLAVE.
За да ги създадете, изпълнете следните команди:

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

Копирайте файла на сертификата в директориите /etc/ipdiva/gateway-tunnel-master/ssl/ и /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/

Заменете <CERT_NAME> с името на сертификата, който компонентът Edge Gateway трябва да използва, за да се свърже с компонента Mediation Controller.

Конфигурирайте екземплярите на Edge Gateway така, че да могат да се свързват с компонентите Mediation Controller.
Конфигурациите се различават в зависимост от компонента Mediation Controller, с който трябва да се осъществи връзка. Извършете и двете настройки:

Редактирайте файла /etc/ipdiva/gateway-tunnel-master/gateway.xml и го попълнете със следната информация (няколко части са пропуснати и са обозначени с […]):

 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>

Заменете следните елементи:

  • @SERVER@: трябва да бъде заменено с адреса RIP_MED_SSL_MASTER
  • @SERVERPORT@: трябва да бъде заменено с порта за слушане на SSL Router, обикновено зададен на 443
  • keyfile.pem: трябва да бъде заменено с името на файла на сертификата
  • PASSWORD: трябва да бъде заменено с паролата на сертификата
  • @RPC_PORT@: трябва да бъде заменено с порт, на който компютърът в момента не слуша; може да се използва портът 9082
Пример

Като се вземе предвид следната информация:

  • RIP_MED_SSL_MASTER е равно на: 10.0.10.11
  • Порт за слушане на SSL Router: 443
  • Име на файла на сертификата: gate-tunnel.p12
  • Парола на сертификата: Str0ngP@ssw0rd

Файлът /etc/ipdiva/gateway-tunnel-master/gateway.xml ще бъде конфигуриран по следния начин:

 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>
Пълен файл
 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>

Редактирайте файла /etc/ipdiva/gateway-tunnel-slave/gateway.xml и го попълнете със следната информация (няколко части са пропуснати и са обозначени с […]):

 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>

Заменете следните елементи:

  • @SERVER@: трябва да бъде заменено с адреса RIP_MED_SSL_SLAVE
  • @SERVERPORT@: трябва да бъде заменено с порта за слушане на SSL Router, обикновено зададен на 443
  • keyfile.pem: трябва да бъде заменено с името на файла на сертификата
  • PASSWORD: трябва да бъде заменено с паролата на сертификата
  • @RPC_PORT@: трябва да бъде заменено с порт, който в момента не се използва на компютъра; може да се използва портът 9083
Пример

Като се вземе предвид следната информация:

  • RIP_MED_SSL_SLAVE е равно на: 10.0.10.13
  • Порт за слушане на SSL Router: 443
  • Име на файла на сертификата: gate-tunnel.p12
  • Парола на сертификата: Str0ngP@ssw0rd

Файлът /etc/ipdiva/gateway-tunnel-slave/gateway.xml ще бъде конфигуриран по следния начин:

 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>
Пълен файл
 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>

Сега, когато екземплярите са конфигурирани да се свързват с компонентите Mediation Controller, те трябва да бъдат конфигурирани и да пренасочват връзката от Mediation Controller към базата данни.
За да направите това, редактирайте файла /etc/ipdiva/gateway-tunnel-master/services.xml и го променете по следния начин:

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>

Заменете DB_SERVER с DNS името или IP адреса, използвани за свързване с базата данни, а DB_PORT – с порта за слушане на екземпляра на базата данни.
Повторете тези настройки за екземпляра, който се свързва със сървъра Mediation Controller SLAVE, като копирате файла:

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

Накрая стартирайте екземплярите на Edge Gateway, за да установят връзка с компонентите Mediation Controller:

1
2
/usr/local/ipdiva/gateway-tunnel-master/bin/start
/usr/local/ipdiva/gateway-tunnel-slave/bin/start
Конфигуриране на тунела на сървърите Mediation Controller

За да може тунелът да се използва от компонентите Mediation Controller, трябва още да декларирате съществуването му.
За да направите това, влезте като root в компонентите Mediation Controller и редактирайте файла /etc/ipdiva/server/services.xml, за да добавите следната част (няколко части са пропуснати и са обозначени с […]):

 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>

Заменете следните елементи:

  • GW1_NAME с името на първия компонент Edge Gateway
  • GW2_NAME с името на втория компонент Edge Gateway
  • ORGANIZATION_NAME с името на създадената по-рано организация в CyberElements Gate
Пример

Като се вземе предвид следната информация:

  • Име на Edge Gateway 1: gate-tunnel-1
  • Име на Edge Gateway 2: gate-tunnel-2
  • Име на организацията в CyberElements Gate: tunnel

Файлът /etc/ipdiva/server/services.xml ще бъде попълнен по следния начин:

 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>
Пълен файл
 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>

За да приложите новата конфигурация, рестартирайте компонента SSL Router със следната команда:

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

Инициализиране на базата данни

Внимание!

Трябва да създадете базата данни default, преди CyberElements Bastion да я инициализира (тя не се създава автоматично).

За да инициализирате базата данни на PostgreSQL за системната конфигурация, първо трябва да конфигурирате настройките за връзка в компонентите Mediation Controller.
За да направите това, редактирайте файла /etc/ipdiva/care/databasesettings.ini на двата сървъра и добавете следните записи:

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

Заменете следните елементи:

  • DB_USERNAME с потребителското име, използвано за свързване с базата данни.
  • DB_PWD с паролата на влизащия потребител.
  • DB_HOST с IP адреса или DNS името, използвани за свързване с базата данни; ако се използва връзка през компоненти Edge Gateway, трябва да въведете 127.0.0.1.
  • DB_PORT с порта, използван за свързване с екземпляра на базата данни; ако се използва връзка през компоненти Edge Gateway, трябва да въведете 1432.

Инициализирането на базата данни може да бъде стартирано със следните команди, които трябва да се изпълнят само на един компонент Mediation Controller:

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

След това остава само да рестартирате услугата apache2 на двата компонента Mediation Controller, за да приложите инициализирането на системната база данни:

1
systemctl restart apache2

Инсталиране на драйвери за свързване с бази данни Microsoft SQL

Ако искате да се свържете с външна база данни и тя е Microsoft SQL Server, трябва да бъдат инсталирани допълнителни ODBC драйвери.

Налични са две версии: версия 17 и версия 18.

За драйверите във версия 18 е необходима TLS връзка

Използването на драйвери ODBC 18 изисква връзката да бъде шифрована с TLS. За да направите това, трябва да конфигурирате MS SQL Server за шифроване на връзките.

Преди да започнете инсталирането на ODBC драйверите, трябва да инсталирате необходимите пакети за подготовка и след това да подготвите хранилището на Microsoft за инсталирането на пакетите:

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

След това инсталирайте драйверите според избраната версия и конфигурирайте системата да използва командата 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

ODBC драйверите вече са инсталирани правилно.
Ако сървърът Mediation Controller има достъп до MS SQL сървър, следната команда би трябвало да позволи свързването с отдалечения сървър:

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

Където:

  • SERVER трябва да бъде заменено с DNS името или IP адреса на MS SQL сървъра.
  • INSTANCE_NAME трябва да бъде заменено с името на екземпляра, с който да се свържете; ако не е необходимо, премахнете и символа \.
  • PORT трябва да бъде заменено с порта за връзка с екземпляра на базата данни MS SQL.
  • USER трябва да бъде заменено с потребителското име за установяване на връзката.
Примери

Ако сървърът Mediation Controller има достъп до сървър за бази данни MS SQL чрез IP адреса 10.0.10.100, екземплярът, до който трябва да се осъществи достъп, слуша на порт 1433, а акаунтът за достъп е sql-user. Тогава командата за свързване е следната:

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

Ако трябваше да се посочи екземплярът за връзка с име MSSQLINSTANCE, командата щеше да бъде променена по следния начин:

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

Конфигуриране на NTP сървър за време

Препоръчително е да настроите сървър за време, за да поддържате системния часовник актуален. Необходимите стъпки са описани на страницата за конфигуриране на NTP.

Първоначални конфигурации в CyberElements Bastion

Упълномощаване за достъп до уеб интерфейсите с виртуалния IP адрес

По подразбиране не е разрешено свързването с уеб интерфейсите на CyberElements Bastion чрез виртуалния IP адрес VIP_MED_WEB.
За да добавите това упълномощаване, изпълнете като root следните команди в компонентите Mediation Controller:

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

Заменете IP с IP адреса, съответстващ на VIP_MED_WEB.

Първоначални конфигурации

На този етап сървърите Mediation Controller са инсталирани, но все още трябва да се извършат няколко действия:

  • Променете паролите по подразбиране


    Променете паролите по подразбиране за системните конзоли.

    Промяна

  • Инсталирайте сертификати и лицензи


    Сървърът Mediation Controller изисква различни сертификати и лиценз, за да работи.
    Само сертификатът за клиента на CyberElements Bastion трябва да бъде деклариран отново на двата сървъра Mediation Controller (използвайте RIP RIP_MED_WEB_MASTER и RIP_MED_WEB_SLAVE).

    Инсталиране на сертификати и лиценз

  • Конфигурирайте уеб сертификата


    Конфигурирайте уеб сертификата, използван за свързване с уеб интерфейсите

    Конфигуриране

  • Декларирайте DNS име


    Добавете DNS име, на което е разрешено да се свързва с уеб интерфейсите.

    Добавяне

  • Конфигурирайте организацията


    Конфигурирайте организацията на CyberElements Bastion.

    Конфигуриране с директен достъп до базата данни

    Конфигуриране с достъп до базата данни чрез тунела на сървърите Edge Gateway

  • Декларирайте сървърите Edge Gateway


    Декларирайте сървъра или сървърите Edge Gateway или HTML5 Gateway, които трябва да бъдат инсталирани.

    Създаване на сървъри Edge Gateway

  • Създайте логически сайт


    Създайте и конфигурирайте логически сайт, който групира сървърите Edge Gateway и HTML5 Gateway с достъп до локалните ресурси.

    Създаване на сайт

  • Инсталирайте сървър Edge Gateway


    Инсталирайте и конфигурирайте нов сървър Edge Gateway с новоинсталираните сървъри Mediation Controller.
    Ще бъде конфигуриран и екземпляр на HTML5 Gateway.

    Инсталирайте