Я успешно настроил наш сервер разработки для отправки зашифрованных писем GPG из скрипта PHP. У пользователя запрашивается его / ее открытый ключ, который затем импортируется в GPG, и против этого пользователя сохраняется отпечаток пальца для последующего шифрования. Все хорошо!
Но теперь мне нужно развернуть это на производственных серверах — обратите внимание на несколько веб-серверов — и это доставляет мне некоторые неудобства, потому что я не знаю, как распределять ключи между ними. Чтобы сделать это более понятным, пользователь A заходит на сайт и сервер № 1 используется для обслуживания страниц. Он / она вводит свой открытый ключ, который будет храниться в центральной базе данных. Некоторое время спустя, пользователь A снова заходит на сайт, но сейчас включен сервер № 2. Действие принято, и письмо отправлено с сервер № 2 но в локальной GPG не найдено ни одного ключа, так как он был сохранен сервер № 1.
Поэтому на самом деле мой вопрос состоит в том, чтобы спросить, какой способ более подходит для этого, имея в виду, что в настоящее время у меня есть 3 веб-сервера + 1 центральный сервер базы данных. Я использую Ubuntu 14.04 на всех из них.
1) Должен ли я экспортировать все ключи в общественное место при получении? Это безопасно / разрешено или осуждается?
2) Существует ли механизм репликации ключей на других серверах?
3) Могу ли я использовать хранилище центральных ключей на одном из моих серверов?
Извините, если это звучит как глупый вопрос — большое спасибо!
Решил это, используя очень простой метод.
Каждый раз, когда электронное письмо необходимо отправить пользователю с включенным PGP, код проверяет, был ли ключ уже импортирован на сервер, используя --list-keys <signature>
, Если это ложно, тогда я просто импортирую ключ, так как он сохраняется в базе данных.
Довольно надежный, как сейчас, но я искал решение, более ориентированное на gpg.
Спасибо
Других решений пока нет …