В моей системе 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 (Pluggable Authentication Modules), но я не знаю, связано ли это с тем, что я пытаюсь сделать.

2 ответа2

2

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

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

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

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

1

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

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .