Jak skonfigurować serwer proxy squid z podstawowym uwierzytelnianiem nazwy użytkownika i hasła? [Zamknięte]

85

Obecnie używam ip w acl i chcę do tego użyć nazwy użytkownika i hasła.

www
źródło
Oto kolejny przykład, jak skonfigurować Squid3 z uwierzytelnianiem w stylu htdigest
hendry
tutaj jest kompletny przewodnik po instalacji i konfiguracji Squid3
hevi

Odpowiedzi:

202

Oto, co musiałem zrobić, aby skonfigurować podstawowe uwierzytelnianie w systemie Ubuntu 14.04 (nie znalazłem przewodnika nigdzie indziej)

Konf. Podstawowych kalmarów

/etc/squid3/squid.conf zamiast super rozdętego domyślnego pliku konfiguracyjnego

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

Zwróć uwagę na program basic_ncsa_auth zamiast starego ncsa_auth

kałamarnica 2.x

W przypadku squid 2.x musisz edytować /etc/squid/squid.confplik i umieścić:

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

Konfigurowanie użytkownika

sudo htpasswd -c /etc/squid3/passwords username_you_like

a następnie dwukrotnie wprowadź hasło dla wybranej nazwy użytkownika

sudo service squid3 restart

kałamarnica 2.x

sudo htpasswd -c /etc/squid/passwords username_you_like

a następnie dwukrotnie wprowadź hasło dla wybranej nazwy użytkownika

sudo service squid restart

htdigest vs htpasswd

Dla wielu osób, które mnie o to pytały: te 2 narzędzia tworzą różne formaty plików:

  • htdigest przechowuje hasło w postaci zwykłego tekstu.
  • htpasswd przechowuje zaszyfrowane hasło (dostępne są różne algorytmy haszowania)

Pomimo tej różnicy w formacie basic_ncsa_auth nadal będzie można przeanalizować plik haseł wygenerowany za pomocąhtdigest . Dlatego możesz alternatywnie użyć:

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

Uważaj, to podejście jest empiryczne, nieudokumentowane i może nie być obsługiwane przez przyszłe wersje Squid.

Na Ubuntu 14.04 htdigesti htpasswdoba są dostępne w [apache2-utils][1]pakiecie.

System operacyjny Mac

Podobnie jak powyżej, ale ścieżki plików są różne.

Zainstaluj squid

brew install squid

Uruchom usługę kałamarnicy

brew services start squid

Plik konfiguracyjny Squid jest przechowywany w /usr/local/etc/squid.conf.

Skomentuj lub usuń następujący wiersz:

http_access allow localnet

Następnie podobnie do konfiguracji Linuksa (ale ze zaktualizowanymi ścieżkami) dodaj to:

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

Zauważ, że ścieżka do basic_ncsa_authmoże być inna, ponieważ zależy to od zainstalowanej wersji podczas używania brew, możesz to sprawdzić za pomocą ls /usr/local/Cellar/squid/. Pamiętaj również, że powinieneś dodać powyższe informacje poniżej następującej sekcji:

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

Teraz wygenerować sobie użytkownik: hasło podstawowe poświadczenia uwierzytelniania (uwaga: htpasswdi htdigestsą również dostępne zarówno na MacOS)

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

Uruchom ponownie usługę kałamarnicy

brew services restart squid
Stefano Fratini
źródło
1
Naprawiono teraz. Dzięki Mark.
Stefano Fratini
11
Dla mnie polecenie htdigest nie działało, jednak gdy zastąpiłem je przez „sudo htpasswd -cd / etc / squid3 / passwords admin”, działało zgodnie z oczekiwaniami.
Phil Hannent,
1
Tak myślałem, nawet jeśli to zadziałało. Odbyła się dyskusja związana z tym postem, w której 50% osób twierdziło, że działa, a 50% sugeruje zmianę na htpasswd. Nie miałem jednak wystarczającej reputacji, aby wziąć udział w dyskusji ... :(
Stefano Fratini
2
działało u mnie, ale musiałem też użyć htpasswd zamiast htdigest, nie wiem dlaczego, ale w ten sposób zadziałało.
Pisu,
21
Jeśli Twój system nie ma, htpasswdzrób to sudo apt-get install apache2-utils.
exebook