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

Я нахожусь за прокси-сервером и должен указать параметры аутентификации для доступа в Интернет. Для этого я экспортировал свое имя пользователя, пароль, хост и номер_порта в мой файл /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/";

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

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

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

4
задан 11 November 2013 в 14:36

1 ответ

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

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

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

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

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.

Создайте временный файл с именем say tmproxy.txt в /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

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

0
ответ дан 11 November 2013 в 14:36
  • 1
    It' s от pipelight веб-сайта, который позволяет Вам устанавливать и Flash и Silverlight. – Bunni 11 May 2015 в 15:47

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

Похожие вопросы: