Dodaj uwierzytelnianie Basic do proxy Squid 6.13
Skonfiguruj pomocnika NCSA w Squid 6.13, połącz dozwolony IP klienta z poprawnym logowaniem i zrozum zakres ochrony Basic.
Ta procedura dodaje uwierzytelnianie Basic oparte na NCSA do proxy Squid 6.13 z ograniczeniem źródła. Pomocnik w Debianie 13 to /usr/lib/squid/basic_ncsa_auth; potwierdź ścieżkę i konto usługi swojego pakietu.
Utwórz pierwsze konto
Użyj narzędzia htpasswd z dystrybucji i wprowadź hasło interaktywnie:
sudo htpasswd -c /etc/squid/users proxyuser
sudo chown root:proxy /etc/squid/users
sudo chmod 640 /etc/squid/usersWłasność zakłada grupę usługi Debiana. Squid musi czytać plik; inni użytkownicy nie powinni. Dla kolejnych kont pomiń -c, bo tworzy nowy plik i może zastąpić istniejące wpisy.
Wymagaj źródła i logowania w tej samej regule zezwalającej
Umieść to za istniejącymi zabezpieczeniami portów docelowych, administracji, localhost i adresów link-local:
auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/squid/users
auth_param basic realm PrivateProxy
acl proxy_client src 198.51.100.27/32
acl logged_in proxy_auth REQUIRED
http_access allow proxy_client logged_in
http_access deny allZastąp adres klienta źródłem widzianym przez Squid. Oba warunki muszą pasować. Usuń wcześniejsze szerokie zezwolenia dla klientów, które omijałyby regułę logowania, zachowując ograniczenia nasłuchu i zapory.
Sprawdź składnię, przeładuj i porównaj dwa żądania
sudo squid -k parse -f /etc/squid/squid.confPopraw błędy parsera i przed testem przeładuj zarządzaną usługę Squid. Żądanie bez danych logowania z dozwolonego źródła powinno dostać wyzwanie uwierzytelnienia. Porównaj z autoryzowanym żądaniem, używając prawdziwej nazwy hosta proxy:
curl --proxy http://proxy.example:3128 --proxy-basic --proxy-user proxyuser --noproxy '' --connect-timeout 5 --max-time 15 https://example.com/Podanie samej nazwy użytkownika pozwala curl zapytać o hasło. Poprawne żądanie powinno dotrzeć do celu.
Basic nie szyfruje wymiany między klientem i proxy. Późniejsze HTTPS celu nie ochroni danych już wysłanych do jawnego proxy; użyj odpowiednio chronionej drogi. Te dyrektywy są dla Squid 6.13; dla Squid 8 sprawdź konfigurację właściwą dla wersji.