Подтвердить что ты не робот

Как настроить прокси-сервер Squid с базовым именем пользователя и парольной аутентификацией?

В настоящее время я использую ip в acl, и я хочу использовать имя пользователя и пароль для этого.

4b9b3361

Ответ 1

Вот что мне нужно было сделать, чтобы настроить базовую аутентификацию в Ubuntu 14.04 (больше нигде не нашел)

Базовый конф. Кальмара

/etc/squid3/squid.conf вместо стандартного файла конфигурации по умолчанию

auth_param basic program /usr/lib/squid3/basic_ncsa_auth /etc/squid3/passwords
auth_param basic realm proxy
acl authenticated proxy_auth REQUIRED
http_access allow authenticated

# Choose the port you want. Below we set it to default 3128.
http_port 3128

Обратите внимание на программу basic_ncsa_auth вместо старой ncsa_auth

кальмар 2.x

Для squid 2.x вам нужно отредактировать файл /etc/squid/squid.conf и разместить его:

auth_param basic program /usr/lib/squid/digest_pw_auth /etc/squid/passwords
auth_param basic realm proxy
acl authenticated proxy_auth REQUIRED
http_access allow authenticated

Настройка пользователя

sudo htpasswd -c /etc/squid3/passwords username_you_like

и дважды введите пароль для выбранного имени пользователя, затем

sudo service squid3 restart

кальмар 2.x

sudo htpasswd -c /etc/squid/passwords username_you_like

и дважды введите пароль для выбранного имени пользователя, затем

sudo service squid restart

htdigest vs htpasswd

Для многих людей, которые спрашивали меня: 2 инструмента создают файлы разных форматов:

  • htdigest сохраняет пароль в виде обычного текста.
  • htpasswd хранит хэши паролей (доступны различные алгоритмы хэширования)

Несмотря на это различие в формате basic_ncsa_auth, по-прежнему сможет анализировать файл паролей, созданный с помощью htdigest. Следовательно, вы можете альтернативно использовать:

sudo htdigest -c /etc/squid3/passwords realm_you_like username_you_like

Помните, что этот подход эмпирический, недокументированный и может не поддерживаться будущими версиями Squid.

В Ubuntu 14.04 htdigest и htpasswd доступны в пакете [apache2-utils][1].

MacOS

То же, что и выше, но пути к файлам разные.

Установить Squid

brew install squid

Запустите службу Squid

brew services start squid

Файл конфигурации Squid хранится в /usr/local/etc/squid.conf.

Прокомментируйте или удалите следующую строку:

http_access allow localnet

Затем, аналогично конфигурации Linux (но с обновленными путями), добавьте следующее:

auth_param basic program /usr/local/Cellar/squid/4.8/libexec/basic_ncsa_auth /usr/local/etc/squid_passwords
auth_param basic realm proxy
acl authenticated proxy_auth REQUIRED
http_access allow authenticated

Обратите внимание, что путь к basic_ncsa_auth может отличаться, поскольку он зависит от установленной версии при использовании brew, вы можете проверить это с помощью ls /usr/local/Cellar/squid/. Также обратите внимание, что вы должны добавить вышеперечисленное, просто ниже следующий раздел:

#
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
#

Теперь создайте себе учетную запись user: пароль базовой аутентификации (примечание: htpasswd и htdigest также доступны в MacOS)

htpasswd -c /usr/local/etc/squid_passwords username_you_like

Перезапустите службу Squid

brew services restart squid