Для обеспечения безопасного взаимодействия между администратором и системой NAICE реализована защита пользовательских интерфейсов: lemmus, gavia, larus, castor и sterna. HTTP-трафик полностью зашифрован с использованием протокола TLS, что предотвращает перехват данных и несанкционированный доступ.
Во время установки сервисов NAICE для пользовательских интерфейсов автоматически выполняется генерация двух самоподписанных сертификата, что позволяет обеспечить защищённое взаимодействие через HTTPS на основе параметров, указанных в конфигурации. Подробнее про установку сервисов NAICE здесь.
Генерируются различные сертификаты для двух групп сервисов:
При наличии стороннего центра сертификации (ЦС) предусмотрена возможность заменить самоподписанные сертификаты на выпущенные сторонним ЦС.
При установке NAICE через OVA-образ замена выполняется по инструкции v1.1_3.2.6 Замена портальных/WEB сертификатов. |
Сертификат должен соответствовать всем нижеуказанным требованиям для обеспечения корректной работы с сервисом NAICE:
Замена самоподписанного сертификата на собственный заверенный сертификат становится возможной после завершения установки NAC-системы NAICE на целевом хосте. |
Для замены сертификата на собственный необходимо указать соответствующие значения переменных в файле group_vars/all.yml.
Файлы сертификата должны быть размещены на хосте, с которого осуществляется запуск плейбука. |
Описание параметров, которые необходимо настроить перед заменой сертификата:
| Переменная | Описание |
|---|---|
cert_path | Директория, в которую будет помещен сертификат на целевом хосте, указывается относительно директории установки NAICE в переменной naice_address. Изменение данной переменной не рекомендуется! |
| server_domain | DNS-имя или IP-адрес сервера NAICE |
| cert_name | Признак. указывающий какой сертификат требуется заменить: WEB GUI NAICE ( |
| key_password | Пароль к файлу приватного ключа сервера, который будет перезаписан в .env. Может иметь пустое значение, если пароль не используется. |
| cert_path_src | Путь до файла собственного заверенного сертификата сервера. По умолчанию - /etc/ssl/certs/server.crt |
| key_path_src | Путь до файла приватного ключа от сертификата сервера. По умолчанию - /etc/ssl/private/server.key |
Если в переменной server_domain используется DNS-имя сервера, необходимо обеспечить разрешение данного имени DNS-сервером, который используется в настройках NAICE и на рабочих местах администраторов, имеющих доступ к WEB GUI NAICE. В противном случае доступ к GUI станет невозможным. |
Прежде чем производить замену сертификата, убедитесь, что значение переменных server_domain, cert_name, cert_path_src, key_path_src, key_password являются валидными и при необходимости замените их значения в Если приватный ключ не защищён паролем, значение переменной key_password следует оставить пустым. |
После настройки всех переменных для замены сертификата необходимо запустить плейбук:
ansible-playbook https-replacement-cert.yml |
Если с хоста, на котором выполняется запуск плейбука ansible не разрешается DNS-имя, указанное в переменной server_domain - плейбук не будет выполнен, возникнет ошибка.
|
Во время выполнения плейбука для замены сертификата потребуется дважды подтвердить согласие на перезапуск системы NAICE. Это подтверждение необходимо для продолжения операции и замены сертификата.
Замена сертификата без интерактивного подтверждения запуска:
|
Сертификаты и приватные ключи всегда сохраняются под указанным в переменной |
Важно учитывать, что перезапуск может повлиять на текущую работу системы, поэтому рекомендуется планировать его на время с минимальной нагрузкой или в период, когда минимально возможно влияние на работу пользователей. |
В данной схеме доменное имя, которое будет использоваться для подключения к WEB GUI должно разрешаться только в VIP-адрес NAICE! Требуется убедиться, что в настройках DNS и файлах хостов отсутствуют записи, указывающие на индивидуальные IP-адреса нод. |
inventory/hosts.yml.Для замены сертификата необходимо выполнить следующие действия:
Перед запуском плейбука внимательно ознакомьтесь с разделом Предварительная подготовка перед заменой сертификата и замена на собственный сертификат. |
master, а какая VRRP backupinventory/hosts.yml адрес VRRP masterВыполнить плейбук https-replacement-cert.yml на VRRP master
Проверить доступность NAICE по домену, указанному в сертификате.
inventory/hosts.yml адрес VRRP backupВыполнить плейбук https-replacement-cert.yml на VRRP backup
sudo systemctl restart keepalived |
В данной схеме каждый хост будет иметь свое доменное имя. Это потребует, что бы каждое из данных имён было прописано в сертификате в атрибуте |
inventory/hosts.yml.server_domain файла group_vars/all.yml необходимо указать доменное имя виртуальной машины с NAICE, на которой будет выполняться замена сертификата.Для замены сертификата необходимо выполнить следующие действия:
Перед запуском плейбука внимательно ознакомьтесь с разделом Предварительная подготовка перед заменой сертификата и замена на собственный сертификат. |
inventory/hosts.yml адрес первой нодыgroup_vars/all.yml в переменной server_domain доменное имя первой нодыВыполнить плейбук https-replacement-cert.yml для первой ноды
Проверить доступность NAICE по доменному имени первой ноды
inventory/hosts.yml адрес второй нодыgroup_vars/all.yml в переменной server_domain доменное имя второй нодыВыполнить плейбук https-replacement-cert.yml для второй ноды
Проверить доступность NAICE по доменному имени второй ноды
При установке NAICE через OVA-образ восстановление конфигурации по умолчанию выполняется по инструкции v1.1_ru_3.3.5 Замена портальных/WEB сертификатов |
После замены сертификата старый будет затерт! При необходимости возврата к самоподписному сертификату необходимо выполнить его повторный выпуск!
Повторный выпуск сертификата выполняется путём удаления ранее установленных сертификатов и повторным выполнением плейбука установки.
Удалить установленные сертификаты командой (если используется установка с резервированием - необходимо выполнить удаление на каждой ноде NAICE):
# По умолчанию папка установки NAICE /etc/docker-naice sudo rm -v <папка установки NAICE>/https/* |
После удаления сертификатов выполнить повторно плейбук установки.
Для однохостовой установки:
ansible-playbook install-naice.yml |
Для установки с резервированием с использованием VRRP:
ansible-playbook reservation-naice-services.yml -i inventory/hosts-cluster.yml |
Для установки с резервированием без использования VRRP:
ansible-playbook geo-naice-services.yml -i inventory/hosts-geo.yml |
Посмотреть метрики / получить параметры nginx можно командой:
Для веб интерфейса NAICE:
echo | openssl s_client -showcerts -connect <IP-адрес или доменное имя>:443 2>&1 | openssl x509 -noout -dates |
Для веб интерфейса портала NAICE:
echo | openssl s_client -showcerts -connect <IP-адрес или доменное имя>:8443 2>&1 | openssl x509 -noout -dates |
Nginx реализует метод, возвращающий информацию о SSL-сертификате в виде JSON. |
Пример вывода:
notBefore=Feb 25 04:32:04 2026 GMT notAfter=Feb 1 04:32:04 2126 GMT |
Для naice-gavia:
curl -k https://<IP-адрес или доменное имя хоста для NAICE>:8080/actuator/info |
Для naice-lemmus:
curl -k https://<IP-адрес или доменное имя хоста для NAICE>:8083/actuator/info |
{"certificationInfo":"[\n[\n Version: V3\n Subject: CN=naice.eltex.loc\n Signature Algorithm: SHA256withRSA, OID = 1.2.840.113549.1.1.11\n\n Key: Sun RSA public key, 2048 bits\n params: null\n modulus: 20486967698613267930909072363030876768829382668037653959787293720836693037928105253241476741132543189024216394802025956688056563424715596228948534991165300263386817165467478160825626126485740592732390380827272721590133814642584953058405940822026985924893382111244494224675400688570979828213773583419015857751195999453517367776747967524791333248346299091289472585316995257682843651922067607138984537621206898106292347585416976597088550184844009552218272531760031782701234470695835451229760735228708466934677559090711246811340726563284325073340020794600896874630686783268793254419061795884880349881938140092553567913571\n public exponent: 65537\n Validity: [From: Wed Feb 25 04:31:57 UTC 2026,\n To: Fri Feb 01 04:31:57 UTC 2126]\n Issuer: CN=naice.eltex.loc\n SerialNumber: 6b:91:5f:9f:fd:8a:aa:af:d1:49:ad:9d:5a:d3:5e:2f:f8:68:a0:dc\n\nCertificate Extensions: 4\n[1]: ObjectId: 2.5.29.37 Criticality=false\nExtendedKeyUsages [\n serverAuth\n clientAuth\n]\n\n[2]: ObjectId: 2.5.29.15 Criticality=true\nKeyUsage [\n DigitalSignature\n Non_repudiation\n Key_Encipherment\n Key_Agreement\n Key_CertSign\n]\n\n[3]: ObjectId: 2.5.29.17 Criticality=false\nSubjectAlternativeName [\n IPAddress: 100.110.3.35\n]\n\n[4]: ObjectId: 2.5.29.14 Criticality=false\nSubjectKeyIdentifier [\nKeyIdentifier [\n0000: D2 9A 06 D5 1F 13 45 D1 68 C3 EB 3C 08 26 DB 5C ......E.h..<.&.\\\n0010: FE E5 92 00 ....\n]\n]\n\n]\n Algorithm: [SHA256withRSA]\n Signature:\n0000: 7F 27 56 8D 5F E5 98 59 1A 82 0B 43 BB 24 19 AA .'V._..Y...C.$..\n0010: 8B A0 19 2E B2 12 63 6C 2B 2D B1 19 11 61 B4 58 ......cl+-...a.X\n0020: B7 10 91 F8 A5 60 54 98 0C D5 D9 88 2C 3F 53 C6 .....`T.....,?S.\n0030: 40 75 EC 49 CC 05 13 25 70 A2 43 55 67 86 D5 E7 @u.I...%p.CUg...\n0040: E6 60 50 CD 4F 1B 79 DB 9C 33 E1 BE 18 77 68 65 .`P.O.y..3...whe\n0050: FD 58 5B 6C BA 5C FA DB 4E 12 3B B4 1E 29 75 2A .X[l.\\..N.;..)u*\n0060: 72 BD 4F DA 7D 99 3F 7B D4 33 4C C8 10 EB 4E F2 r.O...?..3L...N.\n0070: 90 5A 57 BD 39 C3 D5 DA DF 18 A2 6C 86 45 3E 0C .ZW.9......l.E>.\n0080: 0A C7 E7 EF 88 16 E1 8F DF 81 0D 92 45 9A 46 7A ............E.Fz\n0090: 61 D3 0B A0 5E DA 7F F6 EF 35 5B E1 4F 91 D8 02 a...^....5[.O...\n00A0: 75 0A 99 52 5F 2F 24 A0 0C 7A 44 77 4E 4A F4 31 u..R_/$..zDwNJ.1\n00B0: D1 F9 35 BC BD A3 DF 08 71 16 AC 32 D4 F6 BF EE ..5.....q..2....\n00C0: 9F B5 25 58 64 08 BA D5 79 3C B7 77 E4 25 9B 92 ..%Xd...y<.w.%..\n00D0: 51 A6 38 21 F6 09 BA B1 20 C8 E1 69 9E 04 44 B6 Q.8!.... ..i..D.\n00E0: 43 A3 A9 99 63 72 53 B1 F9 36 9F E5 35 5E F8 02 C...crS..6..5^..\n00F0: F1 F5 6B 16 40 FA F3 73 68 48 7E 47 97 B8 92 D4 ..k.@..shH.G....\n\n]"} |
Для naice-gavia:
https://<IP-адрес или доменное имя хоста для NAICE>:8080/actuator/prometheus |
Для naice-lemmus:
https://<IP-адрес или доменное имя хоста для NAICE>:8083/actuator/prometheus |
# HELP cert_valid_from The start date of the validity period in milliseconds
# TYPE cert_valid_from gauge
cert_valid_from{application="lemmus"} 1.771993917E12
# HELP cert_valid_to The end date of the validity period in milliseconds
# TYPE cert_valid_to gauge
cert_valid_to{application="lemmus"} 4.925593917E12
Для проверки дат можно использовать следующие команды в терминале: Конвертация значения в целое число:
Конвертация полученного целого числа в дату:
В результате будет получена читаемая дата начала действия сертификата. |
Для отображения подробной информации о сертификате выполните следующую команду:
# Для сертификата WEB GUI NAICE sudo openssl x509 -in <папка установки NAICE>/https/server.crt -text -noout # Для сертификата WEB портальной авторизации sudo openssl x509 -in <папка установки NAICE>/https/portal.crt -text -noout |