Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Оглавление

Seahorse

 — это

— входящее в состав репозитория Astra Linux Common Edition графическое приложение для управления PGP и SSH ключами.

Поддерживает

Приложение поддерживает интеграцию с

редакторами

Nautilus, gedit и почтовым клиентом  Evolution для защитного преобразования данных.
Также имеется поддержка работы с серверам ключей HKP и LDAP.

Программа основана на GnuPG и распространяется как свободное программное обеспечение под лицензией GNU GPL.


Информация
titleДанная статья применима к:
  • ОС ОН Орёл 2.12
    • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7), РУСБ.10015-10, РУСБ.10015-17
    • Astra Linux Special Edition РУСБ.10015-37 (очередное обновление 7.7)
    • Astra Linux Special Edition РУСБ.10152-02 (очередное обновление 4.7)
    • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6)
    • Astra Linux Special Edition РУСБ.10015-16 исп. 1 и исп. 2
    • Astra Linux Special Edition РУСБ.10265-01 (очередное обновление 8.1)
    • Astra Linux Common Edition 2.12
    ОС СН Смоленск 1.6


    Графический менеджер паролей и ключей Seahorse

    Установка пакета

    Пакет seahorse включен в репозиторий ОС ОН Орёл 2.12 Astra Linux Common Edition и может быть установлен с помощью графического менеджера пакетов (см. Графический менеджер пакетов synaptic) или из командной строки командой:

    Command
    apt install seahorse

    При написании статьи использовалась версия пакета 3.20.0

    Запуск приложения

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

    Command
    seahorse

    Основные приемы работы с пакетом

    Главное окно программы устроено довольно просто:
    хранимая информация распределена по четырём отображает хранимую информацию, распределенную по четырем категориям:

    • Паролипароли;
    • Сертификатысертификаты;
    • Безопасная безопасная оболочка;
    • Ключи ключи PGP;
    • Секретный секретный ключ.

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

    Отключение запроса пароля к основной связке ключей

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

    Предупреждение

    Следует помнить, что отключение пароля снижает общую защищенность системы.
    Более безопасным вариантом исключения повторного ввода пароля является использование PAM-модуля pam-gnome-keyring.

    Для отключения запрос пароля:

    • Правой кнопкой мыши выбрать связку ключей "ОсновнаяВход" в категории "Пароли" (в зависимости от используемой системной локали версии ОС или системного языка связка может назваться называться "Основная" или "Login");
    • В появившемся окне ввести пароль от этой связки ключей;
    • В появившемся окне для ввода нового пароля оставить поля ввода пустыми, и нажать кнопку "Продолжить";
    • Программа выдаст предупреждение о возможных последствиях. Еще раз нажать кнопку "Продолжить".

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

    PAM-модуль pam-gnome-keyring

    Модуль pam-gnome-keyring (пакет libpam-gnome-keyring) позволяет автоматически разблокировать связку ключей "

    login

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

    login

    Вход", тогда и другие связки разблокируются автоматически.

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


    Предупреждение
    Следует помнить, что при использовании  совпадающих паролей компрометация пароля входа пользователя  ведёт к компрометации всех остальных паролей.

    Установка пакета

    Пакет libpam-gnome-keyring включен в репозиторий

    ОС ОН Орёл 2.12

    Astra Linux Common Edition, и может быть установлен с помощью графического менеджера пакетов или из командной строки командой:

    Command
    apt install libpam-gnome-keyring

    Работа пакета

    Работа пакета подробно описана в документации разработчика.

    Общий порядок работы:

    • При аутентификации пользователя или при входе в сессию, модуль проверяет наличие переменной окружения GNOME_KEYRING_CONTROL.
      Если переменная отсутствует, предполагается, что gnome-keyring-daemon не запущен для этой сессии.

      • Если указана опция auto_start модель запускает gnome-keyring-daemon.

    IЕсли
      • Если указана опция only_if то опция auto_start отрабатывается только в том случае, если процесс есть в списке.
        Например, auto_start only_if=fly_dm запустит gnome-keyring-daemon только для fly_dm.

    • При аутентификации пользователя модуль пытается разблокировать связку ключей '
    login
    • Вход' паролем, который ввёл пользователь.
      • Если связка ключей '
    login
      • Вход' не существует, она будет создана с паролем пользователя.
      • Если связка '
    login
      • Вход' является перовой и единственной связкой ключей, то она становится используемой по умолчанию.
    • При завершении этапа если gnome-keyring-daemon был запущен модулем, то демон будет остановлен.

    • Когда пользователь меняет пароль, модуль также меняет пароль связки '
    login
    • Вход'.
      • При необходимости, на

    это
      • этом этапе также запускается gnome-keyring-daemon .

      • Если суперпользователь меняет пароль, или /etc/shadow редактируется напрямую, в силу отсутствия старого пароля связка
    'login
      • Вход' не будет обновлена.
    • Если связка существует '
    login
    • Вход' и разблокирована, то при каждом последующем приглашении пользователю разблокировать иную связку ключей будет предоставляться возможность включить автоматическую разблокировку при следующем входе ("Automatically unlock this on login")
      • При согласии пользователя пароль связки будет добавлен в связку '
    login
      • Вход'
      • Перед тем,
    ка
      • как запросить согласие пользователя на автоматическую разблокировку, модуль проверяет, нет ли уже пароля от этой связки в связке '
    login
      • Вход'.

    Настройка авторизации

    В зависимости от задач возможно разное применение модуля. Для вызова модуля при прохождении PAM-стека используются следующие основные варианты:

    Вариант вызова модуляТиповое размещениеНазначениеКомментарий
    password optional pam_gnome_keyring.so
    Пример файла
    /etc/pam.d/
    gdm configures gdm service to use standard UNIX authentication, as well as start and unlock Gnome Keyring. Rest of configuration is inherited from login service configuration.
    common-passwordОбновление пароля связки ключей при смене пароляУстанавливается автоматически при установке пакета
    Информацияauth required pam_unix.so
    auth optional pam_gnome_keyring.so

    account include login
    session include login
    /etc/pam.d/common-authПолучение ранее введенного текущего пароля пользователя и сохранение его для последующего использования.

    Эти вызовы должны быть добавлено вручную.Вызовы модуля следует добавить в секцию "The additional".


    session optional pam_gnome_keyring.so auto_start

    password include login
    Пример файла
    /etc/pam.d/
    passwd для настройки обновления пароля связки при обновлении пароля пользователя:
    common-sessionЗапуск службы ключей Gnome Keyring.
    Разблокировка связки ключей с использованием ранее сохраненного пароля пользователя.
    Информацияpassword required pam_unix.so
    password optional pam_gnome_keyring.so

    Опции модуля pam_gnome_keyring:

    Опция \ Этап сессииauthsessionpassword
    auto_startЗапустить демон gnome-keyring, если он еще не запущен.На этапе password демон запускается всегда, а если опция auto_start не указана - демон будет остановлен после смены пароля.
    only_if=список_сервисовЕсли PAM-сессия запущена сервисом, не находящимся в списке, PAM-модуль не будет выполнять никаких действий (запуск демона, разблокировка, смена пароля). Пример: only_if=fly_dm
    use_autktok
    Не используется
    ИгнорируетсяИспользовать ранее заданный пароль и не запрашивать новый, даже если пароль не задан.


    Инструмент командной строки gpg (gpg2)

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

    ОС ОН Орёл 2.12 и ОС СН Смоленск 1.6

    Astra Linux включен пакет gnupg.
    Пакет устанавливается автоматически при установке системы.

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

    Основные инструменты пакета gnupg:

    • gpg - основной инструмент для работы с ключами. Подробная справка по работе с файлами доступна по ссылке или по команде man gpg.

    • Примеры команд:
      • Получение ключей с сервера ключей по отпечатку ключа:

        Command
        gpg --keyserver keys.gnupg.net --receive-keys 6FB2A1C265FFB764


      • Вывод списка зарегистрированных открытых ключей (по умолчанию - для текущего пользователя):

        Command
        gpg --list-keys

        Пример вывода команды:

        Раскрыть
        $ gpg --list-keys
        /home/user/.gnupg/pubring.kbx
        ---------------------------
        pub   rsa2048 2011-03-10 [SC]
              972FD88FA0BAFB578D0476DFE1F958385BFE2B6E
        uid         [ неизвестно ] X2go Debian/Ubuntu Packaging <debian@x2go.org>
        sub   rsa2048 2011-03-10 [E]

        pub   rsa4096 2012-05-08 [SC] [   годен до: 2019-05-07]
              ED6D65271AACF0FF15D123036FB2A1C265FFB764
        uid         [ неизвестно ] Wheezy Stable Release Key <debian-release@lists.debian.org>


      • Удаление открытого ключа:

        Command
        gpg --delete-keys debian-release@lists.debian.org

        Пример вывода команды:

        Раскрыть
        $ gpg --delete-keys debian-release@lists.debian.org
        gpg (GnuPG) 2.2.12; Copyright (C) 2018 Free Software Foundation, Inc.
        This is free software: you are free to change and redistribute it.
        There is NO WARRANTY, to the extent permitted by law.

        pub  rsa4096/6FB2A1C265FFB764 2012-05-08 Wheezy Stable Release Key <debian-release@lists.debian.org>

        Удалить данный ключ из таблицы? (y/N) y


    • gpg-zip - инструмент для защитного преобразования и подписания архивов. См. man gpg-zip;
    • gpgconf - настройка параметров работы с ключами. См. man gpgconf.

    Управление ключами SSH

    Управление ключами SSH c помощью конфигурационного файла

    Для SSH-подключения к другим компьютерам по умолчанию используются приватные ключи, расположенные в файлах ~/.ssh/id_rsa и ~/.ssh/id_dsa. Дополнительные файлы с ключами могут быть указаны в конфигурационном файле  ~/.ssh/config параметром IdentityFile. При этом может быть указано несколько ключей, которые будут применяться при подключении в порядке их указания. Например:

    Блок кода
    Host * 
     IgnoreUnknown UseKeychain 
     UseKeychain yes 
     AddKeysToAgent yes 
     IdentityFile ~/.ssh/github
     IdentityFile ~/.ssh/gitlab
    

    Подробную информацию про конфигурационный файл см. man ssh_config.

    Управление ключами SSH c помощью gnome-keyring

    Для передачи управления ключами службе gnome-keyring:

    1. Включить автоматический запуск необходимых служб, для чего в менеджере автозапуска ("Панель управления" -> "Автозапуск" -> "Общесистемный автозапуск") отметить три службы gnome-keyring:
      1. Агент ключей SSH;
      2. Служба безопасного хранения;
      3. Хранилище сертификатов и ключей;

    2. В переменной окружения SSH_AUTH_SOCK указать каталог $XDG_RUNTIME_DIR/keyring/ssh:

      Command
      export SSH_AUTH_SOCK=$XDG_RUNTIME_DIR/keyring/ssh

      Чтобы значение переменной устанавливалось автоматически можно указать в файле ~/.bashrc новое значение:

      Блок кода
      SSH_AUTH_SOCK=$XDG_RUNTIME_DIR/keyring/ssh

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