Рекомендации по безопасной настройке носят общий характер и подходят для большинства инсталляций. Настоящие рекомендации в значительной степени повышают безопасность эксплуатации устройства, но не являются исчерпывающими. В зависимости от схемы применения устройства необходимо настраивать и другие параметры безопасности. В некоторых специфических случаях выполнение данных рекомендаций может привести к неработоспособности сети. При настройке устройства стоит в первую очередь следовать техническим требованиям и регламентам сетей, в которых будет эксплуатироваться данное устройство.

Telnet -  небезопасный протокол.
В Ubuntu действует политика "не открывать порты", которая распространяется на установку по умолчанию. Небезопасный протокол telnet по умолчанию не включен на сервере Ubuntu.
Не рекомендуется устанавливать telnet на серверах ECSS .

Общие требования

Для обеспечения необходимых настроек безопасности системы рекомендуется:

Telnet

В Ubuntu по умолчанию telnet выключен , так как не является безопасным протоколом. Не рекомендуется включать его.


Отключить доступ через root на сервер

По умолчанию учетная запись root отключена в Ubuntu, в отличии от других дистрибутивов Linux. Если root все-таки включен, отключить можно командой:

sudo passwd -l root

Включить доступ только по ключам ssh

В /etc/ssh/sshd_config:

PasswordAuthentication no
ChallengeResponseAuthentication no

Использовать безопасные ключи rsa -b 4096

sudo ssh-keygen -t rsa -b 4096 -f /etc/ssh/ssh_host_rsa_key
sudo ssh-keygen -o -a 100 -t ed25519 -f /etc/ssh/ssh_host_ed25519_key

Автоматическая генерация паролей для SIP-пользователей

Система ECSS-10 имеет возможность при создании SIP-абонентов генерировать пароли, которые соответствуют рекомендуемым требованиям безопасности.

Пример декларации абонента:

/domain/test_domain/sip/user/declare default_routing sip 42002 alias-as-user qop_authentication common_login 42002 auto-generation 
Executed on the sip1@ecss1
Intermediate (incomplete) result:
Declaration for range: 42002@test_domain..42002@test_domain (1)
...
1 interfaces check for existing ...
[**********************************************************************] 70mks    
1 users interfaces declaration ...
[**********************************************************************] 25ms     
1 users divided into 1 parts to declare ...
[**********************************************************************] 60mks    
1 users aliases declaration ...
[**********************************************************************] 4ms      
1 users trying licence packages activating ...
[**********************************************************************] 2ms      
8 interfaces recall to base
[**********************************************************************] 3ms      
Executed on the sip1@ecss1
┌────────────────────────┐
│ declared 1 subscribers │
└────────────────────────┘

Просмотр учетных данных:

сгенерированный пароль --> VmaifqfMais5

/domain/test_domain/sip/user/info sip 42002@test_domain
. . .
┌─────────────────────┬───────────────────────────────────────────┐
│        User         │             42002@test_domain             │
├─────────────────────┼───────────────────────────────────────────┤
│internal iface name  │06d48c3938a30f5d                           │
│isActive             │false                                      │
│group                │sip                                        │
│authentication       │42002:VmaifqfMais5 (ds) use qop: true      │
. . .
CODE

Изменение паролей пользователей

Изменение политики создания паролей  пользователей "cocon"

Отредактировать файл (нас интересует выделенная секция)

%% File autogenerate.
%% For change, remove it and run: dpkg-reconfigure 
[
    {ecss_env, [
        {config_root,   "/etc/ecss"},
        {data_root,     "/var/lib/ecss"},
        {log_root,      "/var/log/ecss"}
        ]},
    {rps, [
        {thresholds, [
            {disk, [
                {enabled, true},
                {points, ["/var/lib/mysql"]}
                ]}
            ]},
        {monitoring, [
            %{applications, [%%APPS_MON%%]}
            %{interfaces, [{noAlarmFor, [%%IFACES_MON%%]}]}
            ]}
        ]},
    {chronica, [
        {tty_enabled, true} %applyed for journald
        ]},
    {cocon, [
        % ms, delay for node in cluster group
        {heartbeat, 3000},
        % name of amqp exchange
        {exchange, "ccn.direct"},
        % Type DB storage for user authentication (ldap, mysql, undefined)
        %% default: mysql
        {user_data, 'mysql'},
        % Type DB for audit data (ldap, mysql, undefined)
        %% default: mysql
        {audit, 'mysql'},

        %%%% Settings LDAP (not required)
        %% ldap ip
        {ldap_server_ip, "cocon.ldap.ecss"},
        %% ldap port
        {ldap_server_port, "389"},
        %% DN for storage users
        {ldap_people_dn, "ou=people,dc=ecss"},
        %% DN for storage groups
        {ldap_groups_dn, "ou=groups,dc=ecss"},
        %% DN for storage events
        {ldap_audit_dn, "ou=audit,dc=ecss"},
        %% DN for ldap usages (audit, etc)
        {ldap_system_username, "cn=admin,dc=ecss"},
        {ldap_system_password, "admin"},

        %%%% Settings MySQL (not required)
        %% MySQL ip
        {mysql_server_ip, "cocon.mysql.ecss"},
        %% MySQL port
        %% default: undefined
        {mysql_server_port, "3306"},
        {mysql_username, "audit"},
        {mysql_password, "audit"},
        % Usage BD
        {mysql_db, "ecss_audit"},

        % Time (in UTC) for every day cleaning audit data
        {audit_clean_time, {2, 0, 0}},
        % Count of date for save audit data
        {audit_save_days, 90},
        {mount_cmd, "/etc/ecss/ssh_command"},
        %% Password expire lifetime (infinity or days count)
        {password_lifetime, infinity},
        %% Allow reuse of old CoCon passwords
        {allow_passwords_reuse, true},
        %% Maximum size of password history
        {password_history_depth, 10},
        % Security restrictions for CoCon's users' password
        {password_restrictions, [
            % Minimum password length (digit or unlimited)
            {min_length, unlimited},
            % Maximum password length (digit or unlimited)
            {max_length, unlimited},
            % Digits symbol required [0..9]
            {digits_required, false},
            % Special characters required: ( !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~)
            {special_characters_required, false},
            % Latin letter at uppercase special_characters_required [A..Z]
            {uppercase_letters_required, false},
            % Latin letter at lowercase special_characters_required [a..z]
            {lowercase_letters_required, false},
            % National (other unicode) characters allowed or not
            {national_characters_not_allowed, false},
            % List of prohibited passwords
            {banned_passwords, []}
         ]}
        ]},
    {ecss_mgmt, [
        {os_cmd, [
            {host_shell, "trap 'echo INTERRUPTED' SIGINT; ssh localhost"}
        ]}
    ]}
].

По умолчанию значение параметров = unlimited/false. Нужно их установить / активировать.

. . .   

        % Security restrictions for CoCon's users' password
        {password_restrictions, [
            % Minimum password length (digit or unlimited)
            {min_length, 8},
            % Maximum password length (digit or unlimited)
            {max_length, 14},
            % Digits symbol required [0..9]
            {digits_required, true},
            % Special characters required: ( !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~)
            {special_characters_required,true},
            % Latin letter at uppercase special_characters_required [A..Z]
            {uppercase_letters_required,true},
            % Latin letter at lowercase special_characters_required [a..z]
            {lowercase_letters_required,true},
            % National (other unicode) characters allowed or not
            {national_characters_not_allowed, false},
            % List of prohibited passwords
            {banned_passwords, []}
         ]}

 . . .

Файл /etc/ecss/global.config нужно отредактировать на обоих хостах, и информация в файлах должна быть идентична.

Этим мы указали использовать в пароле  не менее 8 символов, включающих в себя строчные и заглавные буквы латинского алфавита, а также цифры и спецсимволы. Так же можно добавить буквы Кириллицы и запретить использовать простые пароли (для примера Qwerty-1).

Чтобы изменения вступили в силу нужно выключить , а затем включить все ноды. Выполняется последовательно , вначале на ecss1 затем на ecss2. Для этого выполнить следующие команды:

выключение
sudo systemctl stop ecss-mediator.service
sudo systemctl stop ecss-pa-sip.service
sudo systemctl stop ecss-core.service
sudo systemctl stop ecss-ds.service
sudo systemctl stop ecss-mycelium.service
включение
sudo systemctl start ecss-mycelium.service
sudo systemctl start ecss-ds.service
sudo systemctl start ecss-core.service
sudo systemctl start ecss-pa-sip.service
sudo systemctl start ecss-mediator.service



Пользователь "admin"

По умолчанию после инсталляции ECSS для доступа в CLI и web-конфигуратор автоматически создается пользователь admin со стандартным паролем password и пользователь support предназначенный для работы специалистов техподдержки .

Рекомендуется заменить дефолтный пароль "password" на более безопасный. Это можно выполнить как в CoCon, так и в Web интерфейсе.

В CoCon

выполняется в CoCon

/cocon/passwd admin
CODE

Пример:

cocon/passwd admin              
[passwd] Changing password for admin
Enter new password: 
Confirm new password: 
Password for user "admin" has been successfully changed

В Web

  1. Открыть приложение "Управление пользователями"
  2. Выбрать пользователя "admin"
  3. Выбрать "Редактировать"
  4. В окне "Редактировать пользователя "admin"", указать Старый пароль/Новый пароль/Подтвердить новый пароль.
  5. Сохранить

Пользователи для операторов

Нужно создать новых пользователей с правами администратора системы, для каждого оператора. Пароль данных пользователей, должен исключить возможность подбора. Для генерации сложных паролей можно воспользоваться стандартной утилитой Linux — pwgen. Выполенить это можно как через Cocon, так и через web:

/cocon/add-user test              
Enter password: 
Confirm password: 
ECSS global user: [n]/y ?> y
ECSS global administrator: [n]/y ?> y
User test has been successfully created

/cocon/list users                 
┌───────┬─────────────────────────────────────────┬─────┐
│ Login │                 Groups                  │Roles│
├───────┼─────────────────────────────────────────┼─────┤
test   │ecss-admin                               │     │
│       │ecss-test_domain-domain-admin            │     │
│       │ecss-test_domain-domain-user             │     │
│       │ecss-user                                │     │
│support│ecss-admin                               │     │
│       │ecss-user                                │     │
│admin  │ecss-admin                               │     │
│       │ecss-test_domain-domain-admin            │     │
│       │ecss-test_domain-domain-user             │     │
│       │ecss-user                                │     │
│abf    │ecss-admin                               │     │
│       │ecss-pcap                                │     │
│       │ecss-subscriber-portal                   │     │
│       │ecss-test_domain-domain-admin            │     │
│       │ecss-test_domain-domain-subscriber-portal│     │
│       │ecss-test_domain-domain-user             │     │
│       │ecss-user                                │     │
└───────┴─────────────────────────────────────────┴─────┘


  1. Открыть приложение "Управление пользователями";
  2. Выбрать "Добавить";
  3. Указать Имя нового пользователя/Пароль нового пользователя/Подтвердить пароль;
  4. Выбрать какие разрешения предоставить новому пользователю и для каких доменов;
  5. Создать;
  6. Сохранить.


MySQL пароль для пользователя "root"

Аналогичные требования и для пользователя mysql c правами root. При необходимости изменения пароля выполните следующие действия:

войти в mysql пользователем sudo "root"
sudo mysql -uroot
посмотреть данные пользователя "root"
select user,host,authentication_string,plugin from mysql.user where user="root";
установить пароль для пользователя "root" (в примере пароль=password))
ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'password';
применить таблицы привилегий
FLUSH PRIVILEGES;
проверить данные
select user,host,authentication_string,plugin from mysql.user where user="root";
выйти из mysql
quit;
войти в mysql пользователем "root" c установленным паролем
mysql -uroot -ppassword
sudo mysql -uroot
. . .
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> select user,host,authentication_string,plugin from mysql.user where user="root";
+------+-----------+-----------------------+-------------+
| user | host      | authentication_string | plugin      |
+------+-----------+-----------------------+-------------+
| root | localhost |                       | auth_socket |
+------+-----------+-----------------------+-------------+
1 row in set (0,00 sec)

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'password';
Query OK, 0 rows affected (0,01 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0,01 sec)

mysql> select user,host,authentication_string,plugin from mysql.user where user="root";
+------+-----------+------------------------------------------------------------------------+-----------------------+
| user | host      | authentication_string                                                  | plugin                |
+------+-----------+------------------------------------------------------------------------+-----------------------+
| root | localhost | $A$005$>g!J9p'NM*F5XUeBmcfdD0tL/wx0tCER1GAmzPm71peYB8TpQ8.PWn0         | caching_sha2_password |
+------+-----------+------------------------------------------------------------------------+-----------------------+
1 row in set (0,00 sec)

mysql> quit
Bye

mysql -uroot -ppassword
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 410
Server version: 5.7.42-0ubuntu0.18.04.1-log (Ubuntu)

Copyright (c) 2000, 2023, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

Изменение паролей других пользователей MySQL

Посмотреть список пользователей в БД MySql можно командой:

в MySql

select user,host,authentication_string,plugin from mysql.user;
CODE

mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4160
Server version: 8.0.41-0ubuntu0.22.04.1 (Ubuntu)


Copyright (c) 2000, 2025, Oracle and/or its affiliates.


Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.


Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> select user,host,authentication_string,plugin from mysql.user;

+------------------+-----------+------------------------------------------------------------------------+-----------------------+
| user             | host      | authentication_string                                                  | plugin                |
+------------------+-----------+------------------------------------------------------------------------+-----------------------+
 . . .

| address_book     | localhost | $A$005$'DNECw    >7eF{kaJtUxtOLQjMYR6xZDDqo/OsxwvymADJtE7ljLVcGwkVk6.  | caching_sha2_password |
| audit            | localhost | $A$005$PS"cmwT0.%mMH~Xs[Ch0YTviF.nksrbJcSu29GeEFPjGG03PwurU7ytORLAA    | caching_sha2_password |
| calls_db         | localhost | $A$005$xCd}G7+\v.h]B.@jMQa1ooxctVSu7pluTHQokfKtvqRKGcqjBqaVggU.GD      | caching_sha2_password |
| dialer_db        | localhost | $A$005$q    6)^4jS%c[u8GX%6xBB9eO0KvyfyAhZwLHjLpW7kdc4Iz2J20796.WyeZ4  | caching_sha2_password |
| ecss_chat        | localhost | $A$005$H^h2'Yq}3+W!r:s68ws1z4T0GkCpVHluj.B3NIGASqVcP5dWEYRKD6svb8      | caching_sha2_password |
| ecss_meeting_db  | localhost | $A$005$6!o0!mEId8bP!20OgwCZIZg.49ZKAVKNOKdSqSPCUqSMHoGHfqNlgtQ/        | caching_sha2_password |
| ecss_system      | localhost | $A$005$/I+uj�,[9,ayq/wPK2N/3l4tOs8SMd3icgGg7nGuf3170uPG1VX80DaE/W1     | caching_sha2_password |
| elph_api         | localhost | $A$005$jmGwL0{1n5:;0Zi0mxf5kVJlGLLFLOA3sd947hOjJg3fA8p1NxT3Z2/         | caching_sha2_password |
| history_db       | localhost | $A$005$^q|&IXAuT@YX4\q V68zU.c0o0QExgGXj1HmDxNGlRNzzkqbpGZC9MkGf0OJ8   | caching_sha2_password |
| numbers_db       | localhost | $A$005$-Bp\Ip:6 )VcR8UvCu/f/FvyA7/1JbF5.dgr0rQ4OREn/xEdx2vf/uZWJ78     | caching_sha2_password |
| root             | localhost | $A$005$|4#-/5.ZOTJ|G'*;qu.EhI1j110dTurmZidj2WGsgMqd7L3M3Zg6VBx/FD9     | caching_sha2_password |
| statistics       | localhost | $A$005$dxc=fAN&C&FV1hwQLDs3EauEyrMU/B5tOxFy9zFd6.ZlbA6MP6n26           | caching_sha2_password |
| subscribers      | localhost | $A$005$.hj1E(25dgenVUHl0cgEqLVoEGADFagjLEcTk.7JS6knQgLtKFHgAP4n1       | caching_sha2_password |
| web_conf         | localhost | $A$005$;"@t0      )Lpg/5e0RAKJl.cDzDP1GleL6BqeL6CN1vHiUoL2W6Nflt8      | caching_sha2_password |
+------------------+-----------+------------------------------------------------------------------------+-----------------------+

Как поменять пароль для пользователя "root" показано выше.

Теперь как изменить пароли для других пользователей:

В директории  /lib/ecss/db-deployment/databases/ находятся поддиректории для отдельных таблиц БД MySql. В каждой из которых есть конфигурационный файл users.cnf, используемый сервисом ecss-mysql при первоначальной установке или конфигурации.  

/lib/ecss/db-deployment/databases$ ll
total 52
drwxr-xr-x 13 root root 4096 окт  7 12:05 ./
drwxr-xr-x  4 root root 4096 окт  7 12:05 ../
drwxr-xr-x  3 root root 4096 окт 13 12:44 ecss_address_book/
drwxr-xr-x  3 root root 4096 окт  7 12:05 ecss_audit/
drwxr-xr-x  3 root root 4096 окт  7 12:05 ecss_calls_db/
drwxr-xr-x  3 root root 4096 окт  7 12:05 ecss_dialer_db/
drwxr-xr-x  3 root root 4096 окт  7 12:05 ecss_meeting_db/
drwxr-xr-x  3 root root 4096 окт  7 12:05 ecss_numbers_db/
drwxr-xr-x  3 root root 4096 окт  7 12:05 ecss_statistics/
drwxr-xr-x  3 root root 4096 окт  7 12:05 ecss_subscribers/
drwxr-xr-x  3 root root 4096 окт  7 12:05 ecss_system/
drwxr-xr-x  3 root root 4096 окт  7 12:05 history_db/
drwxr-xr-x  3 root root 4096 окт  7 12:05 web_conf/
Для примера /lib/ecss/db-deployment/databases/ecss_address_book/users.cnf

cat users.cnf
user=address_book
password=address_book
grant=CREATE, DELETE, DROP, INSERT, SELECT, UPDATE, EXECUTE, EVENT, ALTER

user=elph_api
password=elph_api
grant=CREATE, DELETE, DROP, INSERT, SELECT, UPDATE, EXECUTE, EVENT, ALTER

user=ecss_chat
password=ecss_chat
grant=CREATE, DELETE, DROP, INSERT, SELECT, UPDATE, EXECUTE, EVENT, ALTER

При коррекции пароля нужно отредактировать данный файл для каждой из таблиц БД MySql (в файле могут быть описаны один или несколько пользователей). А затем нужно выполнить реконфигурацию сервиса ecss-mysql.

Пример: для таблицы ecss_address_book

на обоих хостах

sudo nano /lib/ecss/db-deployment/databases/ecss_address_book/users.cnf
CODE

Заменим значение пароля (в примере) address_book на address_book@2 / elph_api на elph_api!9 / ecss_chat на ecss_chat@7.

значение по умолчанию password=user
user=address_book
password=address_book@2
grant=CREATE, DELETE, DROP, INSERT, SELECT, UPDATE, EXECUTE, EVENT, ALTER

user=elph_api
password=elph_api!9
grant=CREATE, DELETE, DROP, INSERT, SELECT, UPDATE, EXECUTE, EVENT, ALTER

user=ecss_chat
password=ecss_chat@7
grant=CREATE, DELETE, DROP, INSERT, SELECT, UPDATE, EXECUTE, EVENT, ALTER


После изменения паролей для всех пользователей: address_book, lph_api, ecss_chat, audit, calls_db, dialer_db, ecss_meeting_db, numbers_db, statistics, subscribers, ecss_system, history_db, web_conf → выполнить команду: dpkg-reconfigure ecss-mysql

на обоих хостах

sudo dpkg-reconfigure ecss-mysql
CODE

При выполнении команды "sudo dpkg-reconfigure ecss-mysql" будет задан вопрос пароля для пользователя root на подключение к БД MySql, не забудьте, что пароль был изменен на предыдущем шаге.

На данном шаге были изменены пароли для различных пользователей для подключения к БД MySql. Но пароли для этих же пользователей в сервисах-клиентов остались прежними. Их так же нужно обновить.

Изменение пароля пользователя для клиента ecss-node

Сервис ecss-node использует для подключения к БД MySql пользователя "audit". Для его модификации требуется отредактировать файл /etc/ecss/global.config (секция cocon, параметр mysql_password). После модификации, для того чтобы изменения вступили в силу, потребуется перезагрузка сервисов ecss-mycelium.service, ecss-mediator.service, ecss-core.service, ecss-ds.service.

на обоих хостах

sudo nano /etc/ecss/global.config
CODE
для примера меняем пароль "audit" на "audit!1"

. . .
        %%%% Settings MySQL (not required)
        %% MySQL ip
        {mysql_server_ip, "cocon.mysql.ecss"},
        %% MySQL port
        %% default: undefined
        {mysql_server_port, "3306"},
        {mysql_username, "audit"},
        {mysql_password, "audit!1"},
        % Usage BD
        {mysql_db, "ecss_audit"},

 . . .

на обоих хостах

sudo systemctl restart ecss-mediator.service
CODE

на обоих хостах

sudo systemctl restart ecss-mycelium.service
CODE

на обоих хостах

sudo systemctl restart ecss-core.service
CODE

на обоих хостах

sudo systemctl restart ecss-ds.service
CODE


Изменение пароля пользователя для клиентов ecss-teleconference-ui и ecss-cc-ui

Эти сервисы используют для подключения к ДБ MySql пользователя "address_book". Для модификации пароля необходимо выполнить команду dpkg-reconfigure для сервиса ecss-teleconference-ui /ecss-cc-ui соответственно.

на обоих хостах

sudo dpkg-reconfigure ecss-teleconference-ui
CODE

на обоих хостах

sudo dpkg-reconfigure ecss-cc-ui
CODE

В процессе конфигурации будет задан вопрос о пароле для пользователя address_book - необходимо указать новый пароль (в примере сервис ecss-teleconference-ui ).

Изменение пароля пользователя для клиента ecss-restfs

Сервис ecss-restfs использует для подключения к ДБ MySql пользователя "address_book". Для модификации пароля необходимо выполнить команду dpkg-reconfigure ecss-restfs.

В процессе конфигурации будет заданы вопросы:


Изменение паролей пользователей для SSW (address_book, calls_db, dialer_db, ecss_meeting_db,  history_db, numbers_db, statistics, subscribers)

Замена пароля для пользователя "address_book" в SSW выполняется через CoCon:

выполняется в CoCon

/system/address-book/properties/set password
CODE
выполняется в CoCon

/system/address-book/properties/info 
┌───────────────────┬───────────────────────┐
│     Property      │         Value         │
├───────────────────┼───────────────────────┤
│auto_create_account│true                   │
│auto_delete_account│true                   │
│database           │ecss_address_book      │
│host               │address-book.mysql.ecss│
│password           │address_book           │
│port               │3306                   │
│username           │address_book           │
└───────────────────┴───────────────────────┘


/system/address-book/properties/set password address_book@2
Property "password" successfully changed from: 
address_book
   to
address_book@2.


/system/address-book/properties/info
┌───────────────────┬───────────────────────┐
│     Property      │         Value         │
├───────────────────┼───────────────────────┤
│auto_create_account│true                   │
│auto_delete_account│true                   │
│database           │ecss_address_book      │
│host               │address-book.mysql.ecss│
│password           │address_book@2         │
│port               │3306                   │
│username           │address_book           │
└───────────────────┴───────────────────────┘


Замена пароля для пользователя "calls_db" в SSW выполняется через CoCon:

выполняется в CoCon

/cluster/core/core1/tts/db/set mysql_password
CODE
выполняется в CoCon

/cluster/core/core1/tts/db/info  
┌──────────────┬──────────────┐
│   Property   │    Value     │
├──────────────┼──────────────┤
│mysql_database│ecss_calls_db │
│mysql_enabled │true          │
│mysql_host    │tts.mysql.ecss│
│mysql_password│calls_db      │
│mysql_port    │3306          │
│mysql_user    │calls_db      │
└──────────────┴──────────────┘


/cluster/core/core1/tts/db/set mysql_password calls_db^6   
Property "mysql_password" successfully changed from: 
calls_db
   to
calls_db^6.


/cluster/core/core1/tts/db/info                                      
┌──────────────┬──────────────┐
│   Property   │    Value     │
├──────────────┼──────────────┤
│mysql_database│ecss_calls_db │
│mysql_enabled │true          │
│mysql_host    │tts.mysql.ecss│
│mysql_password│calls_db^6    │
│mysql_port    │3306          │
│mysql_user    │calls_db      │
└──────────────┴──────────────┘


Замена пароля для пользователя "dialer_db" в SSW выполняется через CoCon:

выполняется в CoCon

/cluster/core/core1/dialer/db/set mysql_password
CODE
выполняется в CoCon

/cluster/core/core1/dialer/db/info 
┌──────────────┬─────────────────┐
│   Property   │      Value      │
├──────────────┼─────────────────┤
│mysql_database│ecss_dialer_db   │
│mysql_enabled │true             │
│mysql_host    │dialer.mysql.ecss│
│mysql_password│dialer_db        │
│mysql_port    │3306             │
│mysql_user    │dialer_db        │
└──────────────┴─────────────────┘


/cluster/core/core1/dialer/db/set mysql_password dialer_db&7
Property "mysql_password" successfully changed from: 
dialer_db
   to
dialer_db&7.


/cluster/core/core1/dialer/db/info                                       
┌──────────────┬─────────────────┐
│   Property   │      Value      │
├──────────────┼─────────────────┤
│mysql_database│ecss_dialer_db   │
│mysql_enabled │true             │
│mysql_host    │dialer.mysql.ecss│
│mysql_password│dialer_db&7      │
│mysql_port    │3306             │
│mysql_user    │dialer_db        │
└──────────────┴─────────────────┘


Замена пароля для пользователя "ecss_meeting_db" в SSW выполняется через CoCon:

выполняется в CoCon

/cluster/core/core1/teleconference/db/set mysql_password
CODE
выполняется в CoCon

/cluster/core/core1/teleconference/db/info 
┌──────────────┬───────────────┐
│   Property   │     Value     │
├──────────────┼───────────────┤
│mysql_database│ecss_meeting_db│
│mysql_enabled │true           │
│mysql_host    │tc.mysql.ecss  │
│mysql_password│ecss_meeting_db
│mysql_port    │3306           │
│mysql_user    │ecss_meeting_db│
└──────────────┴───────────────┘


/cluster/core/core1/teleconference/db/set mysql_password ecss_meeting_db#3
Property "mysql_password" successfully changed from: 
ecss_meeting_db
   to
ecss_meeting_db#3.


/cluster/core/core1/teleconference/db/info                                             
┌──────────────┬─────────────────┐
│   Property   │      Value      │
├──────────────┼─────────────────┤
│mysql_database│ecss_meeting_db  │
│mysql_enabled │true             │
│mysql_host    │tc.mysql.ecss    │
│mysql_password│ecss_meeting_db#3
│mysql_port    │3306             │
│mysql_user    │ecss_meeting_db  │
└──────────────┴─────────────────┘


Замена пароля для пользователя "history_db" в SSW выполняется через CoCon:

выполняется в CoCon

/system/tc/set * mysql_password
CODE
выполняется в CoCon

/system/tc/info       
┌─────────────────────┬────┬─────────────┐
│      Property       │Node│    Value    │
├─────────────────────┼────┼─────────────┤
│count_active_channels│    │infinity     │
│enabled              │    │true         │
│mysql_database       │    │history_db   │
│mysql_enabled        │    │false        │
│mysql_host           │    │tc.mysql.ecss│
│mysql_password       │    │history_db   │
│mysql_port           │    │3306         │
│mysql_timeout        │    │300000       │
│mysql_user           │    │history_db   │
└─────────────────────┴────┴─────────────┘


/system/tc/set * mysql_password history_db*8
Property "mysql_password" successfully changed from: 
history_db
   to
history_db*8.


/system/tc/info                                          
┌─────────────────────┬────┬─────────────┐
│      Property       │Node│    Value    │
├─────────────────────┼────┼─────────────┤
│count_active_channels│    │infinity     │
│enabled              │    │true         │
│mysql_database       │    │history_db   │
│mysql_enabled        │    │false        │
│mysql_host           │    │tc.mysql.ecss│
│mysql_password       │    │history_db*8
│mysql_port           │    │3306         │
│mysql_timeout        │    │300000       │
│mysql_user           │    │history_db   │
└─────────────────────┴────┴─────────────┘


Замена пароля для пользователя "numbers_db" в SSW выполняется через CoCon:

выполняется в CoCon

/cluster/storage/ds1/routing/numbers-db/properties/set mysql_password
CODE
выполняется в CoCon

/cluster/storage/ds1/routing/numbers-db/properties/info 
┌──────────────┬──────────────────┐
│   Property   │      Value       │
├──────────────┼──────────────────┤
│mysql_database│ecss_numbers_db   │
│mysql_enabled │true              │
│mysql_host    │numbers.mysql.ecss│
│mysql_password│numbers_db        │
│mysql_port    │3306              │
│mysql_user    │numbers_db        │
└──────────────┴──────────────────┘


/cluster/storage/ds1/routing/numbers-db/properties/set mysql_password numbers_db(9
Property "mysql_password" successfully changed from: 
numbers_db
   to
numbers_db(9.


/cluster/storage/ds1/routing/numbers-db/properties/info                                        
┌──────────────┬──────────────────┐
│   Property   │      Value       │
├──────────────┼──────────────────┤
│mysql_database│ecss_numbers_db   │
│mysql_enabled │true              │
│mysql_host    │numbers.mysql.ecss│
│mysql_password│numbers_db(9      │
│mysql_port    │3306              │
│mysql_user    │numbers_db        │
└──────────────┴──────────────────┘


Замена пароля для пользователя "statistics" в SSW выполняется через CoCon:

выполняется в CoCon

/statistics/set mysql_password
CODE
выполняется в CoCon

/statistics/info 
┌────────────────────────────┬─────────────────────┐
│          Property          │        Value        │
├────────────────────────────┼─────────────────────┤
│mysql_database              │ecss_statistics      │
│mysql_host                  │statistics.mysql.ecss│
│mysql_password              │statistics           │
│mysql_port                  │3306                 │
│mysql_timeout               │300000               │
│mysql_user                  │statistics           │
│system_cc_upload_enabled    │false                │
│system_common_upload_enabled│false                │
│system_ssw_upload_enabled   │false                │
│upload_enabled              │false                │
└────────────────────────────┴─────────────────────┘


/statistics/set mysql_password statistics)0
Property "mysql_password" successfully changed from: 
statistics
   to
statistics)0.


/statistics/info                                        
┌────────────────────────────┬─────────────────────┐
│          Property          │        Value        │
├────────────────────────────┼─────────────────────┤
│mysql_database              │ecss_statistics      │
│mysql_host                  │statistics.mysql.ecss│
│mysql_password              │statistics)0         │
│mysql_port                  │3306                 │
│mysql_timeout               │300000               │
│mysql_user                  │statistics           │
│system_cc_upload_enabled    │false                │
│system_common_upload_enabled│false                │
│system_ssw_upload_enabled   │false                │
│upload_enabled              │false                │
└────────────────────────────┴─────────────────────┘


Замена пароля для пользователя "subscribers" в SSW выполняется через CoCon:

выполняется в CoCon

/domain/<DOMAIN>/subscriber-portal/properties/set connection <IP add MySql> subscribers <New Password> ecss_subscribers
CODE
выполняется в CoCon

/domain/test_domain/subscriber-portal/properties/info 
┌───────────────────────────┬───────────┬───────────────────────────────────────────────────────────────────────────────────────┐
│         Property          │  Domain   │                                     Value                                             │
├───────────────────────────┼───────────┼───────────────────────────────────────────────────────────────────────────────────────┤
│auto_create_account        │test_domain│true                                                                                   │
│auto_delete_account        │test_domain│true                                                                                   │
│connection                 │test_domain│Host: 10.0.10.10; Database: ecss_subscribers; Login: subscribers; Password: subscribers
│enable                     │test_domain│true                                                                                   │
│expire_time                │test_domain│3600                                                                                   │
│ldap_authentication_enabled│test_domain│false                                                                                  │
│ldap_server_id             │test_domain│                                                                                       │
│web_sp_server              │test_domain│http://sp.web.ecss/                                                                    │
└───────────────────────────┴───────────┴───────────────────────────────────────────────────────────────────────────────────────┘


/domain/test_domain/subscriber-portal/properties/set connection 10.0.10.10 subscribers subscribers!0 ecss_subscribers
Property "connection" successfully changed from: 
Host: 10.0.10.10; Database: ecss_subscribers; Login: subscribers; Password: subscribers
   to
Host: 10.0.10.10; Database: ecss_subscribers; Login: subscribers; Password: subscribers!0.


/domain/test_domain/subscriber-portal/properties/info                                                                             
┌───────────────────────────┬───────────┬─────────────────────────────────────────────────────────────────────────────────────────┐
│         Property          │  Domain   │                                     Value                                               │
├───────────────────────────┼───────────┼─────────────────────────────────────────────────────────────────────────────────────────┤
│auto_create_account        │test_domain│true                                                                                     │
│auto_delete_account        │test_domain│true                                                                                     │
│connection                 │test_domain│Host: 10.0.10.10; Database: ecss_subscribers; Login: subscribers; Password: subscribers!0
│enable                     │test_domain│true                                                                                     │
│expire_time                │test_domain│3600                                                                                     │
│ldap_authentication_enabled│test_domain│false                                                                                    │
│ldap_server_id             │test_domain│                                                                                         │
│web_sp_server              │test_domain│http://sp.web.ecss/                                                                      │
└───────────────────────────┴───────────┴─────────────────────────────────────────────────────────────────────────────────────────┘

Проверить можно командой: domain/<DOMAIN>/subscriber-portal/check-connection

/domain/test_domain/subscriber-portal/check-connection                                                                          
Connection successful



Изменение паролей пользователей для клиентов ElphChatServer и ecss-call-history

Эти сервисы используют для подключения к ДБ MySql пользователей "address_book", "ecss_meeting_db", "calls_db". Для модификации пароля необходимо выполнить модификацию конфигурационного файла. Для сервиса ElphChatServer - /opt/elph-chat-server/stable/.elph-chat.env. Для сервиса ecss-call-history /opt/ecss-call-history/stable/.env.

на сервере Chat Server/Call History

sudo nano /opt/elph-chat-server/stable/.elph-chat.env
CODE
изменить пароль на новый

. . .

# Параметры подключения к ecss-mysql (БД meeting-db - для работы чатов телеконференций)
ECSS_MEETING_DB_HOST="${ELPH_SSW}"
ECSS_MEETING_DB_PORT=3306
ECSS_MEETING_DB_NAME=ecss_meeting_db
ECSS_MEETING_DB_USER=ecss_meeting_db
ECSS_MEETING_DB_PASS=ecss_meeting_db#3

ECSS_ADDRESSBOOK_DB_NAME=ecss_address_book
ECSS_ADDRESSBOOK_DB_PASSWORD=address_book@2
ECSS_ADDRESSBOOK_DB_USER=address_book

. . .

на сервере Chat Server/Call History

sudo nano /opt/ecss-call-history/unstable/.env
CODE
изменить пароль на новый

. . .

#####################################################
# External endpoints
#####################################################
# ecss-meeting DB
ECSS_MEETING_DB_HOST="192.168.107.108"
ECSS_MEETING_DB_PORT=3306
ECSS_MEETING_DB_NAME=ecss_meeting_db
ECSS_MEETING_DB_USER=ecss_meeting_db
ECSS_MEETING_DB_PASS=ecss_meeting_db%5
# ecss-calls DB
ECSS_CALLS_DB_HOST="192.168.107.108"
ECSS_CALLS_DB_PORT=3306
ECSS_CALLS_DB_NAME=ecss_calls_db
ECSS_CALLS_DB_USER=calls_db
ECSS_CALLS_DB_PASS=calls_db^6
ECSS_CALLS_DB_TIMEZONE=+07:00
# ecss-addressbook DB
ECSS_ADDRESS_BOOK_DB_HOST="192.168.107.108"
ECSS_ADDRESS_BOOK_DB_PORT=3306
ECSS_ADDRESS_BOOK_DB_NAME=ecss_address_book
ECSS_ADDRESS_BOOK_DB_USER=address_book
ECSS_ADDRESS_BOOK_DB_PASS=address_book@2

#####################################################

. . .

После изменения паролей требуется обновить сервис ElphChatServer и ecss-call-history

ElphChatServer

 /opt/elph-chat-server/stable/.ecss-elph-chat-server.sh up
CODE

ecss-call-history

/opt/elph-chat-server/stable/.ecss-call-history.sh up
CODE


Изменение пароля пользователя для клиента ecss-web-configurator

Этот сервис используют для подключения к ДБ MySql пользователя "web_conf". Для модификации пароля необходимо выполнить модификацию  файла /usr/share/ecss/ecss-web-conf/settings.py.

/usr/share/ecss/ecss-web-conf/settings.py

sudo nano /usr/share/ecss/ecss-web-conf/settings.py
CODE
/usr/share/ecss/ecss-web-conf/settings.py

. . .

_DEB_USER = 'web_conf'
_DEB_PASS = '258741'
_DEB_HOST = '127.0.0.1'
_DEB_PORT = '3306'

. . .

Для применения изменений выполнить команду:

sudo dpkg-reconfigure ecss-web-conf
CODE


Использовать SBC, настроить firewall, ACL

Рекомендуется настроить свой firewall таким образом, чтобы Restfs был доступен только с самого сервера и недоступен внешне.

Если сервер или SBC имеет прямой доступ в интернет или корпоративную сеть, где не исключены разного рода попытки неавторизованных запросов или DDoS-атаки, нужно настроить список разрешенных IP или подсетей, с которых разрешен доступ к определенным портам. Для остальных доступ должен быт запрещен. Если в составе комплекса есть SBC, то в нем уже реализован необходимый функционал для защиты от внешних атак — динамический брандмауэр с механизмом распознавания атак и попыток несанкционированного доступа. В SBC также можно настроить черные/белые списки подсетей для доступа как по управлению, так и по SIP.

Обновлять Ubuntu и утилиты сервера при выходе пакета безопасности

Рекомендуется не пренебрегать периодическими обновлениями системы, особенно при выпуске свежих версий пакетов, улучшающих функционал безопасности.

NTP

Рекомендуется всегда настраивать синхронизацию системных часов с доверенными источниками сетевого времени (NTP). Алгоритм настройки NTP приведён в разделе установка ecss-node входит в стандартную установку пакетов ECSS.

Настройка безопасности OpenSSH

На серверах ECSS должны быть установлены пакеты openssh-client openssh-server или мета-пакет ssh, включающий в себя клиента и сервер.

Настройка конфигурации сервера и клиента ssh

Конфигурация сервера OpenSSH описана в файле /etc/ssh/sshd_config. Для более полного обеспечения безопасности необходимо изменить некоторые  настройки, принятые по умолчанию.

В репозитории Ubuntu-18.04 LTS текущая версия OpenSSH_7.6p1. Нижеприведенные рекомендации по конфигурации для версий, начиная с 7.6.

В OpenSSH 7.0 и старше отключена поддержка протокола SSH 1.0 по умолчанию во время компиляции. Точно так же по умолчанию во время компиляции больше не активируется поддержка ключей diffie-hellman-group1-sha1 размером 1024 бит, хостов и пользовательских ключей ssh-dss, ssh-dss-cert-*. Не поддерживается формат сертификатов v00, а опция PermitRootLogin по умолчанию изменила значение с yes на prohibit-password.

Обмен ключами

Для использования только заслуживающих доверия протоколов обмена ключами в /etc/ssh/sshd_config для сервера следует указать:

KexAlgorithms curve25519-sha256@libssh.org,diffie-hellman-group-exchange-sha256

Аналогичные настройки для клиента, в /etc/ssh/ssh_config:

Host * 
    KexAlgorithms curve25519-sha256@libssh.org,diffie-hellman-group-exchange-sha25

Аутентификация

В SSH поддерживается четыре алгоритма аутентификации по открытым ключам: DSA, ECDSA, Ed25519 и RSA.

ECDSA завязан на технологиях NIST и должен быть отключен. Так как размер ключей DSA не может превышать 1024 бит, его тоже следует отключить. Поэтому рекомендуется удалить все ключи:

cd /etc/ssh
rm ssh_host_*key*

Далее следует сгенерировать ключ RSA большего размера, а также добавить ключ ed25519:

sudo ssh-keygen -t rsa -b 4096 -f /etc/ssh/ssh_host_rsa_key
sudo ssh-keygen -o -a 100 -t ed25519 -f /etc/ssh/ssh_host_ed25519_key

Симметричные шифры

Из 15 поддерживаемых в SSH алгоритмов симметричного шифрования, используемых для организации защиты установленного канала связи, безопасными можно считать chacha20-poly1305, aes*-ctr и aes*-gcm. Шифры 3des-cbc и arcfour потенциально уязвимы в силу использования DES и RC4, cast128-cbc применяет слишком короткий размер блока (64 бит).

Поэтому в /etc/ssh/sshd_config рекомендуется добавить:

Ciphers aes256-gcm@openssh.com,aes128-gcm@openssh.com,chacha20-poly1305@openssh.com,aes256-ctr,aes192-ctr,aes128-ctr

В /etc/ssh/ssh_config:

Host * 
    Ciphers aes256-gcm@openssh.com,aes128-gcm@openssh.com,chacha20-poly1305@openssh.com,aes256-ctr,aes192-ctr,aes128-ctr

Код аутентичности сообщения (MAC)

Для шифров в режиме CTR для гарантирования целостности передаваемых блоков доверия заслуживает только метод Encrypt-then-MAC ("*-etm", MAC добавляется к уже зашифрованному блоку). Методы MAC-then-encrypt и Encrypt-and-MAC потенциально подвержены атакам. Из 18 доступных в SSH алгоритмов MAC сразу следует отбросить основанные на хэшах MD5 и SHA1, не стойких к выявлению коллизий, а также алгоритмы, использующие размеры ключей менее 128 бит и размеры тегов менее 256 бит. В итоге, наиболее безопасными MAC можно считать hmac-sha2-512-etm и hmac-sha2-256-etm.

В /etc/ssh/sshd_config:

MACs hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com

 В /etc/ssh/ssh_config:

Host *
MACs hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com

Защита от утечки ключей

Наиболее простым способом получения контроля за SSH-соединением является захват ключей на стороне клиента или сервера. Рекомендации сводятся к соблюдению типовых правил поддержания безопасности системы:

  • оперативная установка обновлений, установка программ только из надёжных источников;
  • установка только действительно необходимых программ и сервисов;
  • использование программ, для которых доступны исходные тексты, включение дополнительных механизмов защиты (Grsecurity, сборка с флагом -fstack-protector).

Для защиты ключей следует выбрать надёжный пароль доступа к клиентским файлам ключей. При формировании ключа для увеличения числа итераций хэширования можно использовать опцию "ssh-keygen -o -a число", что усложнит подбор пароля. Также можно сохранить ключи только на внешнем носителе, подключая его только во время соединения по SSH.

Ограничение пользователей

Добавляем параметр AllowUsers, которого нет в конфигурационном файле по умолчанию. Этот параметр разрешает доступ к серверу по протоколу SSH только для перечисленных пользователей.

В /etc/ssh/sshd_config:

AllowUsers dmitry support 

Ограничение интерфейсов

Эти строки отвечают за настройку разграничений по сетевым интерфейсам, сетевому адресу или имени компьютера. По умолчанию сервер «слушает» (принимает подключения) на всех сетевых интерфейсах. Если нужно оставить подключение только через определенные интерфейсы, то раскомментировать строку:

ListenAddress 192.168.1.21
ListenAddress 10.16.33.5

В этой же строке можно явно указать порт, предварительно закомментировав (поставив символ # в начале строки)

#ListenAddress 0.0.0.0

Смена порта

Если есть вероятность попыток подбора пароля (например сервер в публичной сети) можно изменить порт на другой.

Port 22025

По умолчанию используется 22 порт. Изменим его на нестандартный порт 22025 — это избавит наш сервер от сетевых роботов, которые автоматически сканируют интернет в поиске открытых портов и пытаются через них подключиться. В основном, боты настроены на поиск стандартных портов. Это не избавит от сканирования человеком, но для защиты от человека существует файервол, хитрые способы открытия порта и пр.

Примерный листинг получившихся файлов конфигурации:

#    $OpenBSD: sshd_config,v 1.101 2017/03/14 07:19:07 djm Exp $

# This is the sshd server system-wide configuration file.  See
# sshd_config(5) for more information.

# This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:/sbin

# The strategy used for options in the default sshd_config shipped with
# OpenSSH is to specify options with their default value where
# possible, but leave them commented.  Uncommented options override the
# default value.

Port 22025
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::
ListenAddress 192.168.1.21
ListenAddress 10.16.33.5

#HostKey /etc/ssh/ssh_host_rsa_key
#HostKey /etc/ssh/ssh_host_ecdsa_key
#HostKey /etc/ssh/ssh_host_ed25519_key

# Ciphers and keying
#RekeyLimit default none

# Logging
#SyslogFacility AUTH
#LogLevel INFO

# Authentication:

#LoginGraceTime 2m
#PermitRootLogin prohibit-password
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10

#PubkeyAuthentication yes

# Expect .ssh/authorized_keys2 to be disregarded by default in future.
#AuthorizedKeysFile    .ssh/authorized_keys .ssh/authorized_keys2

#AuthorizedPrincipalsFile none

#AuthorizedKeysCommand none
#AuthorizedKeysCommandUser nobody

# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts
#HostbasedAuthentication no
# Change to yes if you don't trust ~/.ssh/known_hosts for
# HostbasedAuthentication
#IgnoreUserKnownHosts no
# Don't read the user's ~/.rhosts and ~/.shosts files
#IgnoreRhosts yes

# To disable tunneled clear text passwords, change to no here!
#PasswordAuthentication yes
#PermitEmptyPasswords no

# Change to yes to enable challenge-response passwords (beware issues with
# some PAM modules and threads)
ChallengeResponseAuthentication no

# Kerberos options
#KerberosAuthentication no
#KerberosOrLocalPasswd yes
#KerberosTicketCleanup yes
#KerberosGetAFSToken no

# GSSAPI options
#GSSAPIAuthentication no
#GSSAPICleanupCredentials yes
#GSSAPIStrictAcceptorCheck yes
#GSSAPIKeyExchange no

# Set this to 'yes' to enable PAM authentication, account processing,
# and session processing. If this is enabled, PAM authentication will
# be allowed through the ChallengeResponseAuthentication and
# PasswordAuthentication.  Depending on your PAM configuration,
# PAM authentication via ChallengeResponseAuthentication may bypass
# the setting of "PermitRootLogin without-password".
# If you just want the PAM account and session checks to run without
# PAM authentication, then enable this but set PasswordAuthentication
# and ChallengeResponseAuthentication to 'no'.
UsePAM yes

#AllowAgentForwarding yes
#AllowTcpForwarding yes
#GatewayPorts no
X11Forwarding yes
#X11DisplayOffset 10
#X11UseLocalhost yes
#PermitTTY yes
PrintMotd no
#PrintLastLog yes
#TCPKeepAlive yes
#UseLogin no
#PermitUserEnvironment no
#Compression delayed
#ClientAliveInterval 0
#ClientAliveCountMax 3
#UseDNS no
#PidFile /var/run/sshd.pid
#MaxStartups 10:30:100
#PermitTunnel no
#ChrootDirectory none
#VersionAddendum none

# no default banner path
#Banner none

# Allow client to pass locale environment variables
AcceptEnv LANG LC_*

# override default of no subsystems
Subsystem    sftp    /usr/lib/openssh/sftp-server

# Example of overriding settings on a per-user basis
#Match User anoncvs
#    X11Forwarding no
#    AllowTcpForwarding no
#    PermitTTY no
#    ForceCommand cvs server

# @override for ECSS

KexAlgorithms curve25519-sha256@libssh.org,diffie-hellman-group-exchange-sha256
Ciphers aes256-gcm@openssh.com,aes128-gcm@openssh.com,chacha20-poly1305@openssh.com,aes256-ctr,aes192-ctr,aes128-ctr
MACs hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com

HostKey /etc/ssh/ssh_host_ed25519_key
HostKey /etc/ssh/ssh_host_rsa_key
PY
# This is the ssh client system-wide configuration file. See
# ssh_config(5) for more information. This file provides defaults for
# users, and the values can be changed in per-user configuration files
# or on the command line.

# Configuration data is parsed as follows:
# 1. command line options
# 2. user-specific file
# 3. system-wide file
# Any configuration value is only changed the first time it is set.
# Thus, host-specific definitions should be at the beginning of the
# configuration file, and defaults at the end.

# Site-wide defaults for some commonly used options. For a comprehensive
# list of available options, their meanings and defaults, please see the
# ssh_config(5) man page.

Host *
# ForwardAgent no
# ForwardX11 no
# ForwardX11Trusted yes
# PasswordAuthentication yes
# HostbasedAuthentication no
# GSSAPIAuthentication no
# GSSAPIDelegateCredentials no
# GSSAPIKeyExchange no
# GSSAPITrustDNS no
# BatchMode no
# CheckHostIP yes
# AddressFamily any
# ConnectTimeout 0
# StrictHostKeyChecking ask
# IdentityFile ~/.ssh/id_rsa
# IdentityFile ~/.ssh/id_dsa
# IdentityFile ~/.ssh/id_ecdsa
# IdentityFile ~/.ssh/id_ed25519
# Port 22
# Protocol 2
# Ciphers aes128-ctr,aes192-ctr,aes256-ctr,aes128-cbc,3des-cbc
# MACs hmac-md5,hmac-sha1,umac-64@openssh.com
# EscapeChar ~
# Tunnel no
# TunnelDevice any:any
# PermitLocalCommand no
# VisualHostKey no
# ProxyCommand ssh -q -W %h:%p gateway.example.com
# RekeyLimit 1G 1h
 SendEnv LANG LC_*
 HashKnownHosts yes
 GSSAPIAuthentication yes
# @override for ECSS
 Ciphers aes256-gcm@openssh.com,aes128-gcm@openssh.com,chacha20-poly1305@openssh.com,aes256-ctr,aes192-ctr,aes128-ctr
 KexAlgorithms curve25519-sha256@libssh.org,diffie-hellman-group-exchange-sha256 
 MACs hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com
PY

Проверить синтаксис файла конфигурации можно командой:

sshd -t

Посмотреть текущие настройки сервера:

sshd -T