Базовая аутентификация на сервере Squid (за NAT) через Интернет

Я искал в Google поисковые запросы типа «базовая аутентификация, не работающая через Интернет на сервере Squid», но не дал подходящего ответа для моей проблемы.

Вот моя проблема: я установил прокси-сервер Squid за брандмауэром. Я перенаправил порт (54321) на порт 9999, где прослушивает прокси-сервер squid. Сейчас все нормально. Я могу подключиться к этому прокси откуда угодно. Но мне нужна была какая-то аутентификация, поэтому я включил basic_ncsa_auth. Теперь я могу получить доступ к Интернету после аутентификации со своих компьютеров в локальной сети. Хорошо, все идет так, как я хотел, но,

из Интернета у меня есть всплывающее окно для имени пользователя / пароля (firefox), и после аутентификации я получаю сообщение «доступ к кешу запрещен» от прокси-сервера squid.

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

Вот мой файл squid.conf:

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

Настройка сети: Статический IP-адрес межсетевого экрана: Порт: 54321 перенаправлен на прокси-сервер: 10.11.12.8:9999.


person butterfly    schedule 01.04.2017    source источник


Ответы (1)


Допускает ли ваша конфигурация Squid http_reply_access?

http_reply_access allow all

Если ваши пароли длиннее 8 символов, вам также необходимо убедиться, что вы не используете хеширование DES, которое используется по умолчанию для команды htpasswd.

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

[root@localhost ~] htpasswd -cm /tmp/passwd testuser
New password: 
Re-type new password: 
Adding password for user testuser

Проверьте содержимое файла:

[root@localhost ~] cat /tmp/password
testuser:$apr1$VxCDyltg$krZ6v7VrnULVOiuS0u6KD1

Подтвердите пароль с помощью basic_ncsa_auth:

[root@localhost ~] /usr/lib64/squid/basic_ncsa_auth /tmp/passwd
testuser superspurs
OK

Теперь проверьте в CLI:

[root@TLABprx00 ~]# http_proxy=http://localhost:9999/ curl http://www.msftncsi.com/ncsi.txt --proxy-user testuser:superspurs
Microsoft NCSI
person djluko    schedule 03.04.2017
comment
Спасибо за четкое объяснение. Как я уже сказал, все работает нормально, за исключением того, что проверка подлинности из Интернета на прокси-сервер дает мне ошибку отказа в доступе, и через некоторое время я обнаружил, что Chromium / Chrome может успешно пройти проверку подлинности и работать, как ожидалось, но Firefox не может ... он показывает сообщение об отказе в доступе к кешу. Я использую Chrome прямо сейчас только потому, что Firefox не аутентифицируется на прокси-сервере. (Firefox показывает окно аутентификации и после ввода учетных данных отображает ошибку отказа в доступе. СТРАНА.) - person butterfly; 04.04.2017