пароли linux в файлах конфигурации


3

Некоторые программы на linux, которые используют файлы конфигурации, хотят, чтобы я ввел свой пароль в виде простого текста в одном из их файлов конфигурации. Например, newsbeauter, программа rss reader хочет, чтобы я ввел пароль моей учетной записи Google в ~ / .newsbeauter / config, если я хочу читать каналы Google Reader. Матт также хочет ввести пароль в текстовом файле, но дает возможность вводить его при каждом входе в систему.

Есть ли какой-нибудь безопасный способ обойти пароль в таком файле конфигурации (например, для newsbeauter)? Я думал о запуске приложения от имени пользователя root, но это не так. Или как-то создать и удалить файл каждый раз, когда я использую приложение.

Есть идеи?

Ответы:


4

Настройка разрешения не защитит от злоумышленника, который имеет доступ к вашим дискам (украден ноутбук).

Вы не можете защитить от злоумышленника, имеющего root в вашей работающей системе, но вы можете защитить себя от кражи диска или другого не слишком умного вредоносного программного обеспечения с помощью следующих двух методов:

  • Настройте небольшую зашифрованную файловую систему (например, используйте dm-crypt или truecrypt), затем замените ваши файлы конфигурации символическими ссылками, которые указывают на какое-то место в зашифрованном разделе. Это просто для развертывания, но подвергает вас риску, когда монтируется зашифрованная файловая система

    mount encrypted fs under /mnt/crypt
    cp ~/.application/config /mnt/crypt/app-config
    ln -s /mnt/crypt/app-config ~/.application/config
    unmount encrypted fs to lock config
    
  • Замените ваши файлы конфигурации именованными каналами (mkfifo). Это будет хорошо работать, только если приложение читает конфигурацию за один проход; после запуска приложение заблокирует чтение файла конфигурации, пока вы не запишите его в именованный канал. Затем вы можете сохранить зашифрованную версию файла в другом месте (используйте, например, gpg); при необходимости расшифруйте содержимое с помощью gpg и отправьте его на лету в трубу. Это немного безопаснее, так как вы должны вручную разрешать каждый доступ к файлу, но, возможно, менее удобно.

     # setup
     gpg -e -r my-address@domain.com <~/.application/config ~/.application/config.pgp
     mkfifo ~/.application/config
     # run application, application hangs waiting for config
     gpg -d <~/.application/config.pgp >~/.application/config
    

2

Запуск некритического программного обеспечения с правами root почти никогда не является хорошей идеей.

Вместо этого вам следует изменить разрешения этих файлов, чтобы их могли прочитать только вы (пользователь, запускающий эти программы). Например удалить разрешение на чтение, запись и выполнение для всех, кроме вас, в файле mine.confВы бы под своей учетной записью

chmod og-rwx mine.conf

0

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

chmod a-r все что угодно /

Так что вы можете видеть внутри него, только если вы являетесь пользователем root, или вы можете просто вспомнить, как называется файл, но вы все равно сможете делать все с файлом внутри, если вы знаете имя файла или если вы root, делать

sudo ls что угодно /

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.