Як налаштувати проксі-сервер кальмара з базовою автентифікацією імені користувача та пароля? [зачинено]


85

В даний час я використовую ip в acl, і для цього я хочу використовувати ім’я користувача та пароль.


Ось ще один приклад налаштування Squid3 з аутентифікацією в стилі htdigest
hendry

ось повний посібник з інсталяції та конфігурації Squid3
hevi

Відповіді:


202

Ось, що мені потрібно було зробити, щоб встановити базову автентифікацію на 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 проти htpasswd

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

  • 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

Подібне, як і вище, застосовується, але шляхи до файлів різні.

Встановіть кальмари

brew install squid

Запустіть сервіс кальмарів

brew services start 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: password basic auth credential (примітка: htpasswdі htdigestвони також доступні в MacOS)

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

Перезапустіть службу кальмарів

brew services restart squid

1
Виправлено зараз. Дякую Марк.
Стефано Фратіні,

11
Для мене команда htdigest не працювала, однак після того, як я її замінив на "sudo htpasswd -cd / etc / squid3 / passwords admin", вона працювала, як очікувалося.
Phil Hannent

1
Це я думав, навіть якщо це справді спрацювало для мене. Була дискусія, пов’язана з цим постом: 50% людей сказали, що це працює, а 50% запропонували змінити htpasswd. У мене не вистачило репутації для участі в обговоренні ... :(
Стефано Фратіні

2
працював у мене, але мені також довелося використовувати htpasswd замість htdigest, не знаю чому, але таким чином це спрацювало.
Пісу

21
Якщо у вашій системі немає, htpasswdбудь ласка sudo apt-get install apache2-utils.
exebook
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.