Существует ли безопасный способ передачи параметров аутентификации прокси-сервера в приложения?

Существует ли безопасный способ передачи параметров аутентификации прокси-сервера в приложения?

Я нахожусь за прокси-сервером и мне нужно указать параметры аутентификации для доступа в интернет. Для этого я экспортировал свое имя пользователя, пароль, хост и port_no в свой /home/$USER/.bashrcфайл и в /etc/apt/apt.confфайл, которые доступны для чтения человеком.
Например

Acquire::http::proxy "http://<username>:<password>@172.16.0.2:8080";
Acquire::ftp::proxy "ftp://<username>:<password>@172.16.0.2:8080/";
Acquire::https::proxy "https://<username>:<password>@172.16.0.2:8080/";

Это делает мой пароль видимым для всех, кто имеет доступ на чтение этих файлов.

Существует ли безопасный способ передачи этих параметров приложениям, которым требуются параметры аутентификации прокси-сервера, без необходимости записи в такой удобной для восприятия форме?

Примечание:Было бы неплохо узнать о постоянных методах. Я знаю, что могу сделать это временно, экспортируя каждый раз, когда открываю новую сессию. Но мне придется делать это каждый раз, когда открываю новую сессию, чего я хочу избежать.

решение1

Извините за длинный ответ, но apt.confэто очень деликатный вопрос системы. Поэтому необходимо прояснить все аспекты.

Насколько я знаю ~/.bashrcи /etc/apt/apt.confпринимаю ваши настройки прокси только если они даны в удобной для чтения форме, максимум, что вы можете заставить их читать из других файлов. Я собираюсь этим воспользоваться. Я буду хранить учетные данные прокси в файлах, которые недоступны никому, кроме пользователя root/sudoer. Но нужно раскрывать настройки прокси для apt-getи/или software-centerперед их использованием каждый раз.

Безопасный способ предоставления прокси-сервера для оболочки

Резатьвсе содержимоекоторый вы вставляете в свой ~/.bashrc, чтобы предоставить настройки прокси в среде оболочки и вставить в файл, скажем ~/.mybashproxy. Измените ~/.mybashproxyвладельца на root и удалите разрешение на чтение и запись для группы и других, чтобы только пользователи sudo могли получить к ним доступ.

sudo chown root:root ~/.mybashproxy
sudo chmod go-rw ~/.mybashproxy

Создайте следующий псевдоним в ~/.bashrcили в ~/.bash_aliases, я бы предпочел использовать последний.

alias begin_proxy='sudo cat .mybashproxy > .tmp; source .tmp; rm .tmp'

Применение

Вам необходимо включить прокси в вашей оболочке с помощью begin_proxyкоманды из терминала, указав свой sudoпароль. Таким образом, никто не узнает ваши учетные данные прокси. Но после использования, begin_proxyесли вы разрешите кому-то получить доступ к тому же терминалу, он может увидеть ваши учетные данные с помощью env | grep proxyкоманды в терминале. Для обеспечения безопасности не позволяйте никому использовать тот же терминал, где вы использовали begin_proxy.

Безопасный способ предоставления прокси для apt-get

apt-getи software-centerиспользовать файл /etc/apt.confдля сохранения настроек прокси. Создайте файл /etc/apt/myproxy.txtипоместить содержимоевы /etc/apt/apt.confвходите в него из терминала, открыв его как,

sudo gedit /etc/apt/myproxy.txt

затем скопируйте нужный контент и сохраните файл. Удалите разрешение на чтение и запись /etc/apt/myproxy.txtдля группы и других, как показано выше, используя chmod.

Создайте временный файл с именем, скажем, tmproxy.txtat /etc/apt/и предоставьте всем права на чтение и запись в него следующим образом:

sudo touch /etc/apt/tmproxy.txt
sudo chmod go+rw /etc/apt/tmproxy.txt

Я собираюсь предоставить настройки прокси-сервера в него apt-getи software-centerиз него, когда это необходимо. Добавьте следующую строку, /etc/apt/apt.confчтобы прочитать настройки прокси-сервера из /etc/apt/tmproxy.txt.

#inclued /etc/apt/tmproxy.txt;

за исключением того, что строка выше /etc/apt/apt.confне должна содержать ничего. Теперь создайте следующие псевдонимы в~/.bash_aliases

alias able_apt='sudo cat /etc/apt/myproxy.txt > /etc/apt/tmproxy.txt'
alias disable_apt='echo "0;" > /etc/apt/tmproxy.txt'

Применение

Перед использованием apt-getи/или software-centerвы должны использовать команду, able_aptпредоставляющую ваш sudoпароль. Затем все ваши учетные данные прокси будут сохранены в /etc/apt/tmproxy.txtи apt-getи/или software-centerвы сможете использовать его. После закрытия software-centerили после использования apt-get, чтобы стереть учетные данные прокси из /etc/apt/tmproxy.txt, используйте команду disable_apt. В этом процессе также никто не сможет увидеть ваши учетные данные прокси, если вы не оставите их, /etc/apt/tmproxy.txtзабыв использоватьdisable_apt

Примечания и резюме

  1. В псевдониме disable_aptточка с запятой ( ;) после нуля важна, иначе вы получитеошибки «Лишний мусор в конце файла»На верхней правой панели также может появиться красный значок ошибки.
  2. Если у вас нет ~/.bash_aliases, создайте его. И source ~/.bashrcпосле того, как убедитесь, что он ~/.bashrcсодержит следующие строки,
   if [ -f ~/.bash_aliases ]; then
    . ~/.bash_aliases
    fi
  1. Сразу после выполнения вышеуказанных настроек для включения псевдонимов вам придется либо выйти из системы и войти в нее один раз, либо использовать source ~/.bash_aliasesтерминал.
  2. В конце истории у вас будет три псевдонима, которые можно использовать:

    • begin_proxy- для запуска прокси в среде оболочки. Длится до тех пор, пока открыт терминал.
    • able_apt- включить apt-getи/или softwere-centerсохранить учетные данные прокси-сервера в/etc/apt/tmproxy.txt
    • disable_apt- отключить apt-getи/или softwere-centerудалить учетные данные прокси-сервера/etc/apt/tmproxy.txt

Надеюсь, это будет полезно.

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