Используйте службу хранения ключей ядра

Используйте службу хранения ключей ядра

У меня в системе Linux есть файл, который называется ".fetchmailrc", и он используется для настройки адреса электронной почты, с которого fetchmail будет получать почту. Поэтому мне приходится вводить свой пароль и адрес электронной почты в виде обычного текста.

Вот как выглядит файл .fetchmailrc:

set daemon 1
set logfile /home/user/.fetchmail.log
set no bouncemail
poll pop.gmail.com proto POP3 auth password no dns user "MY_EMAIL" password     "MY_PASSWORD" is user keep ssl

mda "/usr/bin/procmail -d %T"

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

Я слышал, что в системах Linux есть PAM (подключаемые модули аутентификации), но не знаю, связано ли это с тем, что я пытаюсь сделать.

решение1

Независимо от того, как вы храните свои пароли, при запуске программы, которая не запрашивает ваши пароли, программа должна расшифровать сохраненный пароль с помощью информации, доступной на сервере. «Хакер», получивший доступ к вашему серверу, может использовать всю информацию, хранящуюся на сервере. Поэтому он также может расшифровать пароль тем же способом, которым его расшифровывает программа.

Если схема, которую вы используете для шифрования и хранения пароля, немного сложнее, «хакеру» может потребоваться немного больше времени.

Так что нет способа сделать то, что вы хотите: как бы вы ни хранили свой пароль, вы не можете сделать его «безопасным для хакера». Хакеру просто нужно сделать то, что делает программа (или, может быть, даже просто запустить программу и пронюхать сетевой трафик).

Модули PAM не имеют к этому никакого отношения. Они не предназначены для хранения паролей, а предоставляют способы настройки методов аутентификации для существующих служб Linux. Для этого должна быть написана программа, желающая использовать PAM.

решение2

Используйте службу хранения ключей ядра

Если вы беспокоитесь о том, что кто-то снова получит доступ к вашей системе с правами root, то после этого вы практически ничего не сможете сделать. (Но это кошмар, следуйте рекомендациям и делайте хорошие резервные копии).

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

  • Зашифруйте свой дом, чтобы текстовый файл (в $HOME) был зашифрован, по крайней мере, когда вы не вошли в систему.
  • Зашифруйте весь диск, как описано выше.
  • Не храните пароль в файле, вводите его самостоятельно только при необходимости.
  • Если вам необходимо хранить введенные пароли, введите их при входе в систему, а затем поместите их:

Связанный контент