Как экспортировать прокси в Redhat Linux 7, используя текущие учетные данные для входа?

Вопрос или проблема

Мне нужно экспортировать прокси на RHEL 7 с текущими учетными данными вошедшего пользователя.

Я могу сделать это, добавив вручную в .bashrc или .bash_profile.:

export http_proxy=http://username:[email protected]:6080
export https_proxy=http://username:[email protected]:6080

Указанный метод работает хорошо. Но я не хочу использовать этот метод, так как мы жестко кодируем имя пользователя и пароль, и это также небезопасно.

Возможно ли использовать существующий файл /etc/shadow в качестве пароля для экспорта прокси?

Вы можете разместить что-то вроде следующего в виде скрипта в каталоге /etc/profile.d/:

#!/bin/bash
    if [ $SHLVL = 1 ]; then
    echo -n "Введите пароль прокси:"
    read -sr mypass
    export http_proxy="http://$USER:[email protected]:6080"
    export https_proxy=$http_proxy
    echo
fi

if [ $SHLVL = 1 ] предотвратит выполнение скрипта при создании подсобытий, например, при запуске скрипта для ведения журнала.

read -s предотвратит отображение ввода при вводе пароля.

$USER — это переменная окружения, которая содержит текущее имя пользователя.

Заключительный echo просто печатает новую строку, чтобы следующий запрос появился на следующей строке.

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

Есть причина, по которой формат конфигурационного файла PAC прокси не включает аутентификацию по паролю.

Установите пароль в приложении

Вместо того чтобы устанавливать URL прокси в среде bash, вам нужно определить URL прокси для каждого приложения. Например, для установки пакетов Redhat вы можете определить прокси в /etc/yum.conf или в любом из файлов /etc/yum.repos.d/*.repo.

Аналогично для веб-браузеров установите URL прокси в настройках браузера.

Цепочка прокси

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

Используйте инструмент, такой как proxy-login-automator

Ответ или решение

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

1. Использование read в скрипте

Одним из наиболее простых и безопасных способов экспорта прокси является использование скрипта, который запрашивает у пользователя ввод пароля в момент его выполнения. Это можно реализовать в скрипте, который будет помещен в директорию /etc/profile.d/:

#!/bin/bash
if [ $SHLVL = 1 ]; then
    echo -n "Введите пароль прокси: "
    read -sr mypass
    export http_proxy="http://$USER:$mypass@proxy-server:6080"  # Укажите адрес прокси
    export https_proxy=$http_proxy
    echo
fi

Объяснение кода:

  • if [ $SHLVL = 1 ]; then — данная конструкция предотвращает выполнение скрипта в подшеллах, что может быть полезно в различных сценариях выполнения скриптов.
  • read -sr mypass — эта команда позволяет вводить пароль без его отображения на экране.
  • Использование переменной $USER автоматически подставляет имя текущего пользователя.

2. Установка прокси в конфигурационных файлах приложений

Вместо того чтобы устанавливать прокси на уровне среды, вы можете конфигурировать его для конкретных приложений напрямую. Например, для управления пакетами в RHEL, вы можете добавить настройки прокси в файл /etc/yum.conf или в файлы в каталоге /etc/yum.repos.d/:

proxy=http://proxy-server:6080
proxy_username=username
proxy_password=mypass  # Не рекомендуется жесткое кодирование паролей

Учтите, что данный метод также требует аккуратности с безопасностью, и рекомендуется избегать явного указания паролей.

3. Использование локального прокси-сервера

Еще одним подходом является использование локального прокси-сервера, который будет принимать запросы без пароля и передавать их на внешний прокси, где аутентификация уже будет выполнена. Для этого можно использовать, например, proxy-login-automator или другие инструменты.

Рекомендации по безопасности

  1. Избегайте жесткого кодирования: Всегда старайтесь избегать жесткого указания паролей в скриптах и конфигурациях.
  2. Используйте менеджеры секретов: Рассмотрите возможность применения менеджеров секретов, таких как HashiCorp Vault или встроенные инструменты для управления секретами, которые могут хранить ваши учетные данные безопасно.
  3. Шифрование: Изучите возможность использования шифрования для ваших сценариев, чтобы минимизировать риск утечки паролей.

Заключение

Экспорт прокси в RHEL 7 с использованием текущих учетных данных можно реализовать различными способами. Основное внимание следует уделить безопасности, чтобы избежать жесткого кодирования паролей. Выбор метода будет зависеть от контекста вашего использования и уровня удобства, требуемого для автоматизации.

Оцените материал
Добавить комментарий

Капча загружается...