Настройка ssl astra linux

Обновлено: 04.07.2024

ELMA365 редакции Standard можно установить на Astra Linuх Орёл.

Перед началом работы, ознакомьтесь с минимальными системными требованиями для установки и корректной работы ПП ELMA365 редакции Standard.

Перед установкой сервера на Astra Linuх Орёл

Если вы работаете в закрытой сети, убедитесь, что разрешен доступ к ресурсам, находящимся по адресам:

    • quay.io:443
    • docker.io:443
    • hub.elma365.tech:443
    • k8s.gcr.io:443
    • ​ghcr.io:443
    • *.docker.io:443

    А также убедитесь, что открыты порты 80 и 443 для внешних подключений.

    Если вы используете VMWare ESXi, убедитесь, что включен disk UUID.

    Чтобы включить диск в VMWare ESXi 6.5:

    1. Отключите виртуальную машину.
    2. Нажмите на название машины и выберите пункт Edit Settings .
    3. В открывшемся окне перейдите на вкладку Options .
    4. В разделе Advanced выберите пункт General .
    5. В правой части окна нажмите Configuartion Parameters.
    6. В открывшемся окне найдите параметр disk.EnableUUID и установите для него значение TRUE . Если параметра нет в списке, нажмите на кнопку Add Row и добавьте его.
    7. Включите виртуальную машину.

    Также перед установкой ELMA365 нужно поставить snap. Snap — это система управления пакетами, при помощи которой устанавливается microk8s. Для этого выполните следующие команды:

    Установка сервера на Astra Linuх Орёл

    Все команды консоли, которые приводятся в справке по On-Premises, выполняются с повышенными привилегиями. Поэтому перед началом работы перейдите в режим суперпользователя, для чего выполните в консоли команду:

    Обратите внимание, что имя хоста (hostname сервера) не должно содержать заглавных букв. Посмотреть имя хоста, если оно не отображается в приглашении командной строки, можно при помощи команды:

    Если нужно изменить имя хоста, используйте команду

    hostnamectl set-hostname elma365client

    где elma365client — новое имя хоста. После этого необходимо выполнить reboot.

    Не меняйте hostname сервера после установки MicroK8S и ELMA365. Изменение приведет к неработоспособности MicroK8S и, как следствие, ELMA365.

    Установка сервера состоит из следующих шагов:

    1. Зайдите в командную консоль на сервере. Затем выполните следующую команду:
    1. Скрипт установки запросит пароль системного администратора (root).
    2. Проверка на включенный в системе своп-файл . Важно : для корректной установки и работы сервера ELMA365 своп-файл рекомендуется отключать. Если он включен, установка будет приостановлена и выведено предупреждение. Пользователь может игнорировать предупреждение (не рекомендуется) и продолжить установку по нажатию Enter или отключить своп-файл и нажать Enter для продолжения. Чтобы прервать установку, нажмите любую другую клавишу.
    3. На этом шаге вы можете изменить DNS сервер. По умолчанию ELMA365 использует публичные DNS сервера 8.8.8.8 и 8.8.4.4.
    4. Выберите язык интерфейса системы.
    5. Укажите логин (email) администратора — почту главного администратора приложения.
    6. Укажите пароль администратора — пароль для входа главного администратора.

    Журнал установки будет доступен по пути /var/log/elma365/install.log. В случае возникновения ошибок вы можете посмотреть информацию о них в журнале установки.

    В установленной системе текущую версию сервера можно посмотреть в меню Помощь , нажав на главной странице знак вопроса слева от профиля пользователя.

    Обновление SSL сертификата

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

    Ее необходимо использовать, например, если вы получили сертификат через LETSENCRYPT на три месяца. Следовательно, через три месяца при получении нового сертификата вам потребуется сертификат обновить.

    Нашли опечатку? Выделите текст, нажмите ctrl + enter и оповестите нас

    В этом посте мы решили рассказать о доменной аутентификации в Linux, с использованием смарт-карт и USB-токенов JaCarta PKI в качестве второго фактора аутентификации. Если о локальной аутентификации через PAM-модуль информации существует довольно много, то вопрос доменной инфраструктуры и аутентификация по Kerberos-билетам в Linux рассмотрен слабо, особенно на русском языке. В качестве операционной системы возьмем Astra Linux и на примере Astra Linux Directory (ALD) это и покажем.

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

    Немного вводных об Astra Linux Directory (ALD) и JaCarta PKI

    Домен Astra Linux Directory (ALD) предназначен для организации единого пространства пользователей (домена локальной вычислительной сети) в автоматизированных системах.

    ALD использует технологии LDAP, Kerberos5, Samba/CIFS и обеспечивает:

    • централизованное хранение и управление учетными записями пользователей и групп;
    • сквозную аутентификацию пользователей в домене с использованием протокола Kerberos5;
    • функционирование глобального хранилища домашних директорий, доступных по Samba/CIFS;
    • автоматическую настройку файлов конфигурации UNIX, LDAP, Kerberos, Samba, PAM;
    • поддержку соответствия БД LDAP и Kerberos;
    • создание резервных копий БД LDAP и Kerberos с возможностью восстановления;
    • интеграцию в домен входящих в дистрибутив СУБД, серверов электронной почты, Web-серверов, серверов печати и другие возможности.


    В среде Astra Linux Directory (ALD) электронные ключи JaCarta PKI могут использоваться для двухфакторной аутентификации пользователя в домене ALD и отказа от паролей. Кроме того, с этими же электронными ключами можно выполнять различные сценарии внутри ОС, после аутентификации, такие, как: электронная подпись, хранение ключевых контейнеров, доступ к Web-ресурсам, проброс ключа в сессии MS Windows. Доступ к VDI сервисам, таким, как VmWare или Citrix.

    Процесс настройки

    Пример демо-зоны

    • Сервер — Astra Linux Smolensk SE 1.5 4.2.0-23-generic, x86_64, с установленными пакетами:
      • JaCarta IDProtect 6.37;
      • libccid;
      • pcscd;
      • libpcsclite1;
      • krb5-pkinit;
      • libengine-pkcs11-openssl;
      • opensc.
      • JaCarta IDProtect 6.37;
      • libccid;
      • pcscd;
      • libpcsclite1;
      • krb5-pkinit.

      Установка драйверов на сервер и клиент

      Для обеспечения работы со смарт-картой JaCarta PKI на клиенте и сервере установите следующие пакеты: libccid, pcscd, libpcsclite1. После установки этих обязательных пакетов установите пакет драйверов IDProtectClient, который можно загрузить с официального сайта «Аладдин Р.Д.».

      Для обеспечения работы со смарт-картой подсистемы Kerberos добавочно к предустановленным пакетам ald/kerberos установите пакет krb5-pkinit на клиенте и сервере.

      Для обеспечения возможности выпуска ключей и сертификатов на JaCarta PKI на сервере также установите пакеты libengine-pkcs11-openssl и opensc.

      Установка и настройка центра сертификации на сервере

      В качестве центра сертификации (CA) будет использован OpenSSL.

      OpenSSL — криптографический пакет с открытым исходным кодом для работы с SSL/TLS. Позволяет создавать ключи RSA, DH, DSA и сертификаты X.509, подписывать их, формировать CSR и CRT.

        Выпустите сертификат KDC:
        $ openssl x509 -req -in kdc.req -CAkey cakey.pem -CA cacert.pem -out kdc.pem -extfile pkinit_extensions -extensions kdc_cert –CAcreateserial –days 365

      Подготовка смарт-карты. Выпуск ключей и сертификата пользователя

      Убедитесь в том, что установлены пакеты libengine-pkcs11-openssl и opensc. Подключите устройство, которое следует подготовить.

      Проинициализируйте устройство, установите PIN-код пользователя. Помните, что инициализация устройства удалит все данные на JaCarta PKI без возможности восстановления.

      Для инициализации необходимо воспользоваться утилитой pkcs11-tool.

      pkcs11-tool --slot 0 --init-token --so-pin 00000000 --label 'JaCarta PKI' --module /lib64/libASEP11.so,

      --slot 0 — указывает, в какой виртуальный слот подключено устройство. Как правило, это слот 0, но могут быть и другие значения – 1,2 и т.д.;

      --init-token – команда инициализации токена;

      --so-pin 00000000 – PIN-код администратора JaCarta PKI. По умолчанию имеет значение 00000000;

      --label 'JaCarta PKI' – метка устройства;

      --module /lib64/libASEP11.so — указывает путь до библиотеки libASEP11.so. Устанавливается в рамках пакета idprotectclient см. раздел «Установка драйверов на сервер и клиент».

      Для задания PIN-кода пользователя используйте команду:

      pkcs11-tool --slot 0 --init-pin --so-pin 00000000 --login --pin 11111111 --module /lib64/libASEP11.so,

      --slot 0 — указывает, в какой виртуальный слот подключено устройство. Как правило, это слот 0, но могут быть и другие значения – 1,2 и т.д.;

      --init-pin – команда установки PIN-кода пользователя;

      --so-pin 00000000 – PIN-код администратора JaCarta PKI. По умолчанию имеет значение 00000000;

      --login – команда логина;

      --pin 11111111 – задаваемый PIN-код пользователя;

      --module /lib64/libASEP11.so — указывает путь до библиотеки libASEP11.so. Устанавливается в рамках пакета idprotectclient см. раздел «Установка драйверов на сервер и клиент».

      Сгенерируйте ключи на устройстве, для этого введите следующую команду:

      pkcs11-tool --slot 0 --login --pin 11111111 --keypairgen --key-type rsa:2048 --id 42 --label “test1 key” --module /lib64/libASEP11.so,

      --slot 0 — указывает, в какой виртуальный слот подключено устройство. Как правило, это слот 0, но могут быть и другие значения – 1,2 и т.д.;

      --login --pin 11111111 — указывает, что следует произвести логин под пользователем с PIN-кодом «11111111». Если у Вашей карты другой PIN-код пользователя, укажите его;

      --keypairgen --key-type rsa:2048 — указывает, что должны быть сгенерированы ключи длиной 2048 бит;

      --id 42 — устанавливает атрибут CKA_ID ключа. CKA_ID может быть любым;

      Запомните это значение! Оно необходимо для дальнейших шагов подготовки устройства к работе.

      --label “test1 key” — устанавливает атрибут CKA_LABEL ключа. Атрибут может быть любым;

      --module /lib64/libASEP11.so — указывает путь до библиотеки libASEP11.so. Устанавливается в рамках пакета idprotectclient см. раздел «Установка драйверов на сервер и клиент».

      Сгенерируйте запрос на сертификат с помощью утилиты openssl. Для этого введите следующие команды:


      Обратите внимание на -new -key 0:42, где 0 — номер виртуального слота с устройством, 42 — атрибут CKA_ID сгенерированных раннее ключей.

      Информацию, которую необходимо указать в запросе, следует задавать в поле "/C=RU/ST=Moscow/L=Moscow/O=Aladdin/OU=dev/CN=test1 (! Ваш_Пользователь!)/emailAddress=test1@mail.com".

      Необходимо установить переменные окружения

      и выпустить сертификат на пользователя.

      $ openssl x509 -CAkey cakey.pem -CA cacert.pem -req -in client.req -extensions client_cert -extfile pkinit_extensions -out client.pem –days 365

      Далее перекодируйте полученный сертификат из PEM в DER.

      Запишите полученный сертификат на токен.

      pkcs11-tool --slot 0 --login --pin 11111111 --write-object client.cer --type 'cert' --label 'Certificate' --id 42 --module /lib/libASEP11.so,

      --slot 0 — указывает, в какой виртуальный слот подключено устройство. Как правило, это слот 0, но могут быть и другие значения – 1,2 и т.д.;

      --login --pin 11111111 — указывает, что следует произвести логин под пользователем с PIN-кодом «11111111». Если у Вашей карты другой PIN-код пользователя, укажите его;

      --write-object ./client.cer — указывает, что необходимо записать объект и путь до него;

      --type 'cert' — указывает, что тип записываемого объекта – сертификат;

      'cert' --label 'Certificate' — устанавливает атрибут CKA_LABEL сертификата. Атрибут может быть любым;

      --id 42 — устанавливает атрибут CKA_ID сертификата. Должен быть указан тот же CKA_ID, что и для ключей;

      --module /lib64/libASEP11.so — указывает путь до библиотеки libASEP11.so.

      Настройка клиента. Проверка работоспособности

      Создайте на клиенте каталог /etc/krb5/. Скопируйте в /etc/krb5/ сертификат CA (cacert.pem) c сервера.

      Настройте kerberos в /etc/krb5.conf. Секцию [libdefaults] дополните следующими строками.

      kinit Когда появится строка запроса PIN-кода к карте, введите его.

      Для проверки того, что kerberos-тикет был успешно получен для пользователя, введите команду klist. Для удаления тикета — kdestroy.

      Для входа в домен по смарт-карте на экране входа в ОС вместо пароля введите PIN-код от смарт-карты.

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

      Пишу для себя, чтобы не забыть как делал. 95 % рабочее. На комментарии отвечаю, когда увижу.

      пятница, 14 декабря 2018 г.

      Установка сертификатов используя КриптоПРО в Linux

      Для установки в uRoot админиских прав больше не нужно. Ради этого их с mRoot и разделили. Работает так: если ставить в uRoot - видно будет только текущему пользователю, даже если он root, но права не нужны и будет диалог с предупреждением. Если ставить в mRoot, то нужны права, видно будет всем и предупреждения не будет.

      Установка корневого сертификата удостоверяющего центра:
      $ /opt/cprocsp/bin/amd64/certmgr -inst -cert -file

      /Загрузки/<название файла>.cer -store uRoot
      $ /opt/cprocsp/bin/amd64/certmgr -inst -cert -file

      /Загрузки/guts_2012.cer -store uRoot

      Просмотор корневых сертификатов:
      $ /opt/cprocsp/bin/amd64/certmgr -list -store uRoot

      Удалить:
      $ /opt/cprocsp/bin/amd64/certmgr -delete -store uRoot
      $ /opt/cprocsp/bin/amd64/certmgr -delete -all -store uRoot

      Установка списка отозванных сертификатов:
      $ /opt/cprocsp/bin/amd64/certmgr -inst -crl -file

      Установка цепочки промежуточных сертификатов:
      $ /opt/cprocsp/bin/amd64/certmgr -inst -cert -file

      /Загрузки/<название файла>.p7b -store uca

      $ /opt/cprocsp/bin/amd64/certmgr -inst -cert -file

      /Загрузки/fk_2012.cer -store uca

      Просмотор промежуточных сертификатов:
      $ /opt/cprocsp/bin/amd64/certmgr -list -store uca

      Удалить:
      $ /opt/cprocsp/bin/amd64/certmgr -delete -store uca


      Установка сертификата с рутокена:
      $ /opt/cprocsp/bin/amd64/certmgr -inst -cont '<путь к контейнеру, начинающийся на \\.\>' -store uMy

      Установка сертификата из контейнера:
      $ /opt/cprocsp/bin/amd64/certmgr -inst -store uMy -cont '\\.\HDIMAGE\test'

      Просмотор личных сертификатов:
      $ /opt/cprocsp/bin/amd64/certmgr -list -store uMy

      Просмотр контейнеров, рутокенов
      $ /opt/cprocsp/bin/amd64/csptest -keyset -enum -verifycontext -fqcn

      1. Устанавливаем операционную систему Astra Linux "Орел". Как установить описано в этой статье.

      2. Устанавливаем пароль учетной записи root.


      3. Устанавливаем необходимые сетевые настройки и при необходимости вводим в домен.


      4. Обновляем операционную систему:


      На запрос о продолжении набираем Д или y или yes и нажимаем ввод.


      Перезагружаем операционную систему.

      5. Устанавливаем пакеты необходимых для сервера 1С зависимостей.

      6.1. Необходимую версию платформы 1С. Выбирать платформу необходимо исходя из своих задач, архитектуры сервера и имеющейся лицензии.


      6.2. СУБД PostgreSQL адаптированную под работу с 1С. Обратите внимание на совместимость версий платформы 1С и СУБД в описании версии на сайте.


      6.3. Сборник пакетов зависимостей СУБД PostgreSQL в соответствии с версией.


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

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

      В нашем примере будем использовать версию платформы 1С версии 8.3.14.1854, СУБД PostgreSQL версии 11.5-1.1C.

      7. Устанавливаем платформу 1С (sudo dpkg -i пакет) в следующей последовательности:

      • common (общие компоненты);
      • common-nls (языковые компоненты);
      • server (сервер (обязателен для работы толстого клиента;
      • server-nls (язковые компоненты);
      • ws (компоненты web-сервисы);
      • ws-nls (языковые компоненты);
      • client (клиентская часть);
      • client-nls (языковые компоненты).

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

      8. Изменяем права для каталога /opt/1C

      9. Запускаем сервер (для толстого клиента)

      10. Проверяем что запущено 3 процесса 1С командой:


      11. Добавляем в файл /etc/hosts строку с адресом и именем своего сервера 1С в формате:

      ip-адрес fqdn имя


      12. Для удобства администрирования скачиваем с портала ИТС 1С и устанавливаем платформу 1с с серверными компонентами на клиент Windows.

      13. Запускаем консоль Администрирования серверов 1С (клиент Windows) и добавляем наш центральный сервер. Если все установлено корректно то подключится наш локальный кластер.




      14. Устанавливаем все пакеты зависимостей СУБД (libs for PostgreSQL 11) заранее загруженные с портала ИТС 1С (sudo dpkg -i *.deb)

      • libgcrypt20_1.8.5-3_amd64
      • libicu55_55.1-7_amd64
      • libllvm6.0_6.0-1ubuntu2_amd64
      • libllvm9_9_+20191205074958+432bf48c08d-1_exp1_20191205185557.104_amd64
      • libssl1.0.0_1.0.2g-1ubuntu4.15_amd64
      • libxslt1.1_1.1.32-2.1_amd64
      • postgresql-client-common_207_all
      • postgresql-common_207_all
      • ssl-cert_1.0.39_all


      15.Устанавливаем СУБД PostgreSQL

      16. Для удобства администрирования СУБД скачиваем PGAdmin с официального сайта PostgreSQL

      17. Устанавливаем PGAdmin4

      18. Настраиваем СУБД:

      18.1. Временно для доступа к серверу через PGAdmin без пароля изменим настройки конфигурационного файла pg_hba.conf


      18.2. Для доступа к серверу не только с локального адреса изменим настройки конфигурационного файла postgresql.conf

      Дальнейшие настройки параметров СУБД производятся исходя из особенностей работы конкретного сервера.

      По умолчанию файл конфигурации настроен только на то, чтобы запустить сервер на минимальных настройках, но не для эффективной работы!

      19. Перезагрузить сервер СУБД:

      20. Запустим PGAdmin4 ярлыком для запуска, либо открыв любой браузер указав локальный адрес с портом 33609 (по умолчанию)


      21. При первом запуске задаем пароль.

      22. В настройках PGAdmin выбираем язык интерфейса Русский (File - Preferences - User language - Russian - Save) и перезапускаем браузер.

      23. Добавим сервер нажав на Servers - Создать - Сервер

      24. Задаем имя и адрес нашего сервера


      25. В свойствах пользователя postgres задаем и сохраняем пароль. После чего в настройку конфигурационного файла pg_hba.conf

      необходимо изменить (вернуть) к виду

      host all all 0.0.0.0/0 md5

      26. Запускаем 1С и создаем базу данных.


      Указываем имя создаваемой базы, выбираем создание на сервере 1С: Предприятия



      Указываем параметры информационной базы и реквизиты подключения к серверу. Обязательно устанавливаем атрибут "Создать базу данных в случае ее отсутствия", если вы заранее не создавали ее в СУБД.



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


      Выбираем к каким параметрам привязать программную лицензию. В большинстве случаев используется привязка к параметрам сервера.


      Для работы с аппаратным ключем защиты HASP необходимо скачать и установить необходимые пакеты.

      Читайте также: