Содержание

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

Seahorse — входящее в состав репозитория ОС ОН Орёл 2.12 графическое приложение для управления PGP и SSH ключами.
Приложение поддерживает интеграцию с Nautilus, gedit и почтовым клиентом  Evolution для защитного преобразования данных.
Также имеется поддержка работы с серверам ключей HKP и LDAP.

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


Info

Данная статья применима к:

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


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

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

Пакет seahorse включен в репозиторий ОС ОН Орёл 2.12 и может быть установлен с помощью графического менеджера пакетов или из командной строки командой:

Command
apt install seahorse

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

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

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

Command
seahorse

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

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

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

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

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

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

Warning

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

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

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

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

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

Модуль pam-gnome-keyring (пакет libpam-gnome-keyring) позволяет автоматически разблокировать связку ключей "login" паролем, который пользователь вводит при входе в систему, что исключает необходимость повторного ввода пароля при запуске приложений. Пароли от других связок ключей могут храниться в связке "login", тогда и другие связки разблокируются автоматически.

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


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

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

Пакет libpam-gnome-keyring включен в репозиторий ОС ОН Орёл 2.12, и может быть установлен с помощью графического менеджера пакетов или из командной строки командой:

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'.

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

В зависимости от задач возможно разное применение модуля.

Пример файла /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.для настройки службы gdm для использования стандартной аутентификации UNIX с одновременным запуском Gnome Keyring:


  • Info
    auth required pam_unix.so
    auth optional pam_gnome_keyring.so
    account include login
    session include login
    session optional pam_gnome_keyring.so auto_start
    password include login


Пример файла /etc/pam.d/passwd для настройки обновления пароля связки при обновлении пароля пользователя:


Info

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 включен пакет gnupg.
Пакет устанавливается автоматически при установке системы.

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

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

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

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


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

      Command
      gpg --list-keys

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

      Expand
      $ 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

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

      Expand
      $ 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