Seahorse — входящее в состав репозиториев Astra Linux Common Edition и Astra Linux Special Edition x.7 графическое приложение для управления PGP и SSH ключами.
Приложение поддерживает интеграцию с Nautilus, gedit и почтовым клиентом Evolution для защитного преобразования данных.
Также имеется поддержка работы с серверам ключей HKP и LDAP.
Программа основана на GnuPG и распространяется как свободное программное обеспечение под лицензией GNU GPL.
Данная статья применима к:
- 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
PAM-модуль pam-gnome-keyring
Модуль pam-gnome-keyring (пакет libpam-gnome-keyring) позволяет автоматически разблокировать связку ключей "Вход" паролем, который пользователь вводит при входе в систему, что исключает необходимость повторного ввода пароля при запуске приложений. Пароли от других связок ключей могут храниться в связке "Вход", тогда и другие связки разблокируются автоматически.
Установка пакета
Пакет libpam-gnome-keyring включен в базовый репозиторий Astra Linux Special Edition 1.6 и основной репозиторий Astra Linux Special Edition 8. 1 и x.7. Пакет может быть установлен с помощью графического менеджера пакетов или из командной строки командой:
Работа пакета
Работа пакета подробно описана в документации разработчика.
Общий порядок работы:
При аутентификации пользователя или при входе в сессию, модуль проверяет наличие переменной окружения GNOME_KEYRING_CONTROL.
Если переменная отсутствует, предполагается, что gnome-keyring-daemon не запущен для этой сессии.Если указана опция auto_start модель запускает gnome-keyring-daemon.
Если указана опция only_if то опция auto_start отрабатывается только в том случае, если процесс есть в списке.
Например, auto_start only_if=fly_dm запустит gnome-keyring-daemon только для fly_dm.
- При аутентификации пользователя модуль пытается разблокировать связку ключей 'Вход' паролем, который ввёл пользователь.
- Если связка ключей 'Вход' не существует, она будет создана с паролем пользователя.
- Если связка 'Вход' является перовой и единственной связкой ключей, то она становится используемой по умолчанию.
При завершении этапа если gnome-keyring-daemon был запущен модулем, то демон будет остановлен.
- Когда пользователь меняет пароль, модуль также меняет пароль связки 'Вход'.
При необходимости, на этом этапе также запускается gnome-keyring-daemon .
- Если суперпользователь меняет пароль, или /etc/shadow редактируется напрямую, в силу отсутствия старого пароля связка Вход' не будет обновлена.
- Если связка существует 'Вход' и разблокирована, то при каждом последующем приглашении пользователю разблокировать иную связку ключей будет предоставляться возможность включить автоматическую разблокировку при следующем входе ("Automatically unlock this on login")
- При согласии пользователя пароль связки будет добавлен в связку 'Вход'
- Перед тем, как запросить согласие пользователя на автоматическую разблокировку, модуль проверяет, нет ли уже пароля от этой связки в связке 'Вход'.
Настройка авторизации
В зависимости от задач возможно разное применение модуля. Для вызова модуля при прохождении PAM-стека используются следующие основные варианты:
Вариант вызова модуля | Типовое размещение | Назначение | Комментарий |
---|---|---|---|
password optional pam_gnome_keyring.so | /etc/pam.d/common-password | Обновление пароля связки ключей при смене пароля | Устанавливается автоматически при установке пакета |
auth optional pam_gnome_keyring.so | /etc/pam.d/common-auth | Получение ранее введенного текущего пароля пользователя и сохранение его для последующего использования. | Эти вызовы должны быть добавлено вручную.Вызовы модуля следует добавить в секцию "The additional". |
session optional pam_gnome_keyring.so auto_start | /etc/pam.d/common-session | Запуск службы ключей Gnome Keyring. Разблокировка связки ключей с использованием ранее сохраненного пароля пользователя. |
Опции модуля pam_gnome_keyring:
Опция \ Этап сессии PAM | auth | session | password |
---|---|---|---|
auto_start | Запустить демон gnome-keyring, если он еще не запущен | На этапе password демон запускается всегда, а если опция auto_start не указана - демон будет остановлен после смены пароля | |
only_if=список_сервисов | Если PAM-сессия запущена сервисом, не находящимся в списке, PAM-модуль не будет выполнять никаких действий (запуск демона, разблокировка, смена пароля). Пример: only_if=fly_dm | ||
use_authtok | Игнорируется | Использовать ранее заданный пароль и не запрашивать новый, даже если пароль не задан |
Настройку опций модуля рекомендуется выполнять с помощью внесения изменений в файл /usr/share/pam-configs/gnome-keyring. Например, для добавления опций auto_start и use_authtok файл можно привести к виду:
Name: GNOME Keyring Daemon - Login keyring management Default: yes Priority: 0 Auth-Type: Additional Auth: optional pam_gnome_keyring.so Session-Type: Additional Session: optional pam_gnome_keyring.so auto_start Password-Type: Additional Password-Final: optional pam_gnome_keyring.so use_authtok
Инструмент командной строки gpg
Для управления ключами пользователя в состав дистрибутивов Astra Linux включен пакет gnupg. Пакет устанавливается автоматически при установке системы.
Основные инструменты пакета gnupg:
- gpg — основной инструмент для работы с ключами. Подробная справка по работе с файлами доступна по ссылке или по команде man gpg. Примеры команд:
Получение ключей с сервера ключей по отпечатку ключа:
gpg --keyserver keys.gnupg.net --receive-keys 6FB2A1C265FFB764Вывод списка зарегистрированных открытых ключей (по умолчанию - для текущего пользователя):
gpg --list-keysПример вывода команды:Удаление открытого ключа:
gpg --delete-keys debian-release@lists.debian.orgПример вывода команды:
- 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:
- Включить автоматический запуск необходимых служб, для чего в менеджере автозапуска ("Панель управления" -> "Автозапуск" -> "Общесистемный автозапуск") отметить три службы gnome-keyring:
- Агент ключей SSH;
- Служба безопасного хранения;
- Хранилище сертификатов и ключей;
В переменной окружения SSH_AUTH_SOCK указать каталог $XDG_RUNTIME_DIR/keyring/ssh:
export SSH_AUTH_SOCK=$XDG_RUNTIME_DIR/keyring/sshЧтобы значение переменной устанавливалось автоматически можно указать в файле ~/.bashrc новое значение:SSH_AUTH_SOCK=$XDG_RUNTIME_DIR/keyring/ssh
подробнее см. Присвоение значений переменным окружения для пользовательских сессий.