Пароль учетной записи msmtp и smtp - как запутать

Я настроил MSMTP с моей учетной записью Gmail. Я, очевидно, хочу избежать записи моего пароля в текстовом формате в файле конфигурации. К счастью, MSMTP предлагает вариант passwordeval который может быть использован для получения пароля из выходных данных исполняемого файла.

Вопрос: как мне это использовать?

Я нашел здесь следующее предложение: passwordeval gpg -d /some/path/to/.msmtp.password.gpg

Это не имеет особого смысла для меня: если кто-то сможет получить доступ к моему файлу конфигурации, ему непременно удастся запустить такую ​​команду и получить пароль от gpg.

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

Моя реализация, которую невозможно взломать, такова: если процесс sendmail работает, выведите правильный проход, в противном случае выдайте поддельный проход.

Ваши предложения? Другие (более безопасные) уловки отличаются от хранения прохода в двоичном файле?

2 ответа

Из комментария Sukima:

Причина, по которой работает gpg -d, заключается в том, что для этого требуется закрытый ключ человека, которому зашифрован файл. Таким образом, просто размещая этот зашифрованный файл в открытом доступе, он все еще зашифрован, и только один человек (тот, кто имеет секретный ключ) может расшифровать его. Предполагается, что секретный ключ заблокирован на компьютере пользователя и не просочился. Также предполагается, что они не настроили агентов, которые кэшируют пароль разблокировки, в то время как хакер имеет прямой доступ к той же машине. Все это маловероятно в 99% всех атак.

Не существует стандартного решения о том, как сохранить учетные данные с ограничением

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

У вас есть несколько решений, но ни одно из них не решит полностью вашу проблему:

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

Вы должны принять во внимание, какой риск является приемлемым, и идти оттуда.

Другие вопросы по тегам