Przewodnik dla administratorów systemów · 1 min czytania

Konfiguracja i ustawienia proxy Squid

Squid to klasyczny proxy HTTP/HTTPS na Linuxie, zasilający niezliczone bramy korporacyjne. Oto czysta instalacja, kontrolowany dostęp do squid.conf, uwierzytelnianie oraz reguła CONNECT, która pozwala na przejście HTTPS.

Do czego służy Squid

Squid to dojrzały, bogaty w funkcje serwer proxy do buforowania dla HTTP i HTTPS. W przeciwieństwie do małego 3proxy lub działającego tylko na SOCKS Dante, Squid jest zbudowany wokół ruchu internetowego: może buforować odpowiedzi, filtrować według list kontroli dostępu, uwierzytelniać użytkowników i szczegółowo rejestrować. To sprawia, że jest to domyślny wybór dla korporacyjnej bramy wyjściowej, warstwy buforującej dla ruchliwego sieci lub kontrolowanego HTTP CONNECT proxy. Nie obsługuje SOCKS — do tego użyjesz 3proxy lub Dante (zobacz zbuduj własny serwer proxy).

Dwie rzeczy, na które nowicjusze zawsze natrafiają, to kontrola dostępu (Squid domyślnie odrzuca wszystko) i HTTPS (który wymaga zezwolenia na metodę CONNECT). Poniższa konfiguracja obsługuje obie te kwestie.

Zabezpieczony squid.conf

Uwierzytelniony proxy do przodu na porcie 3128 z ACL, CONNECT dozwolone dla HTTPS, a porty bezpieczne ograniczone. Dostosuj ścieżki do swojej dystrybucji.

bash
apt update && apt install -y squid apache2-utils
# create a password file for basic auth:
htpasswd -c /etc/squid/passwd USER   # prompts for password

cat > /etc/squid/squid.conf <<'CFG'
http_port 3128

# --- authentication ---
auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/squid/passwd
auth_param basic realm s4m-proxy
acl authenticated proxy_auth REQUIRED

# --- safe ports / CONNECT for HTTPS ---
acl SSL_ports port 443
acl Safe_ports port 80 443 21 1025-65535
acl CONNECT method CONNECT
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports

# --- allow only authenticated users, deny the rest ---
http_access allow authenticated
http_access deny all

# --- small cache ---
cache_dir ufs /var/spool/squid 1000 16 256
coredump_dir /var/spool/squid
CFG

squid -k parse            # validate config
systemctl restart squid

# test:  curl -x http://USER:PASS@YOUR.VPS.IP:3128 https://api.ipify.org

ACL, HTTPS i uczciwe limity

Moc Squida tkwi w jego modelu ACL: zezwalasz lub odmawiasz na podstawie adresu IP źródłowego, docelowego, portu, pory dnia lub uwierzytelnionego użytkownika, a zasady są oceniane od góry do dołu, przy czym pierwsze dopasowanie wygrywa. Linia http_access deny all na końcu jest niezbędna — bez domyślnego odrzucenia, źle skonfigurowany Squid staje się otwartym przekaźnikiem. W przypadku HTTPS pamiętaj, że Squid używa CONNECT do tunelowania zaszyfrowanego ruchu, którego nie może odczytać; ACL SSL_ports ogranicza, do których portów ten tunel może dotrzeć. (Squid może również przeprowadzać przechwytywanie TLS z lokalnym CA, ale w przypadku prostego proxy do przodu nie chcesz tego.)

Uruchomienie Squida samodzielnie daje ci kontrolowane wyjście z centrum danych i bogate logowanie, kosztem jego utrzymania. Jeśli potrzebujesz tylko uwierzytelnionego wyjścia HTTP bez obsługi serwera, dokładnie to zapewnia s4m HTTP proxy na proxy.s4m.online:3128, z opcją dedykowanego IP i API. Jeśli żądanie zwraca 407, sprawdź dane uwierzytelniające — zobacz przewodnik 407.

Share this page
FAQ

Pytania, odpowiedzi

Dlaczego Squid blokuje cały mój ruch po instalacji?

Squid domyślnie odrzuca wszystko, dopóki nie dodasz reguł http_access allow. Potrzebujesz ACL, który pasuje do twoich użytkowników lub adresów IP źródłowych oraz linii allow powyżej ostatecznego deny all. Domyślne odrzucenie to funkcja bezpieczeństwa, która zapobiega, aby Squid stał się otwartym przekaźnikiem.

Jak Squid obsługuje HTTPS?

Przez metodę CONNECT: Squid otwiera surowy tunel do celu na porcie 443 i przekazuje zaszyfrowane bajty bez ich odczytywania. Musisz zezwolić na CONNECT w swoim ACL SSL_ports. Squid może również przechwytywać TLS z lokalnym CA, ale zwykłe proxy forward nie potrzebuje tego.

Pomiń konserwację

Uruchom Squid dla pełnej kontroli lub skieruj swojego klienta na uwierzytelniony s4m HTTP proxy na porcie 3128 dla zarządzanego wyjścia z centrum danych — z dedykowanym IP i API, gdy ich potrzebujesz.

Ludzie znaleźli tę stronę, szukając

Rzeczywiste frazy wyszukiwania, na które ta strona odpowiada — powiązane otwierają stronę, która je szczegółowo omawia.