Obecnie używam ip w acl i chcę do tego użyć nazwy użytkownika i hasła.
Odpowiedzi:
Oto, co musiałem zrobić, aby skonfigurować podstawowe uwierzytelnianie w systemie Ubuntu 14.04 (nie znalazłem przewodnika nigdzie indziej)
/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
W przypadku squid 2.x musisz edytować /etc/squid/squid.conf
plik 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
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
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
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 htdigest
i htpasswd
oba są dostępne w [apache2-utils][1]
pakiecie.
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_auth
moż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: htpasswd
i htdigest
są 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
htpasswd
zrób to sudo apt-get install apache2-utils
.