Android

Jak zainstalować i skonfigurować squid proxy na Debianie 10 Linux

Урок 3: Squid с фильтрацией https ресурсов, debian 32-bit

Урок 3: Squid с фильтрацией https ресурсов, debian 32-bit

Spisu treści:

Anonim

Squid to w pełni funkcjonalny buforujący serwer proxy obsługujący popularne protokoły sieciowe, takie jak HTTP, HTTPS, FTP i inne. Można go wykorzystać do poprawy wydajności serwera WWW poprzez buforowanie powtarzających się żądań, filtrowanie ruchu w sieci i dostęp do treści ograniczonych geograficznie.

W tym samouczku wyjaśnimy, jak skonfigurować Squid Proxy w Debian Buster. Pokażemy także, jak skonfigurować przeglądarki internetowe Firefox i Google Chrome, aby z niego korzystać.

Instalowanie Squid na Debianie

Pakiet Squid jest zawarty w standardzie w repozytoriach Debiana 10. Uruchom następujące polecenia jako użytkownik sudo, aby zainstalować Squid:

sudo apt update sudo apt install squid

Po zakończeniu instalacji usługa Squid uruchomi się automatycznie.

Sprawdź, czy instalacja się powiodła i usługa Squid działa, sprawdzając status usługi Squid:

sudo systemctl status squid

● squid.service - LSB: Squid HTTP Proxy version 3.x Loaded: loaded (/etc/init.d/squid; generated) Active: active (running) since Sat 2019-08-03 08:52:47 PDT; 3s ago…

Konfigurowanie Squid

Squid można skonfigurować, edytując plik konfiguracyjny /etc/squid/squid.conf . Oddzielne pliki konfiguracyjne można dołączyć za pomocą dyrektywy „include”.

Plik konfiguracyjny squid.conf zawiera komentarze opisujące, co robi każda opcja konfiguracji.

Przed wprowadzeniem jakichkolwiek zmian zawsze warto wykonać kopię zapasową oryginalnego pliku:

sudo cp /etc/squid/squid.conf{,.orginal}

Aby zmodyfikować konfigurację, otwórz plik w edytorze tekstu:

sudo nano /etc/squid/squid.conf

Domyślnie Squid nasłuchuje na porcie 3128 na wszystkich interfejsach sieciowych.

/etc/squid/squid.conf

# Squid normally listens to port 3128 http_port IP_ADDR:PORT

Uruchomienie Squid na wszystkich interfejsach i na domyślnym porcie powinno być w porządku dla większości użytkowników.

Listy kontroli dostępu (ACL) pozwalają kontrolować, w jaki sposób klienci mogą uzyskiwać dostęp do zasobów sieciowych. Domyślnie Squid zezwala na dostęp tylko z lokalnego hosta.

Jeśli wszyscy klienci korzystający z serwera proxy mają statyczny adres IP, najprostszą opcją jest utworzenie listy ACL, która będzie zawierać dozwolone adresy IP.

Zamiast dodawać adresy IP w głównym pliku konfiguracyjnym utworzymy nowy plik dołączania, w którym będą przechowywane adresy IP:

/etc/squid/allowed_ips.txt

192.168.33.1 # All other allowed IPs

Po zakończeniu otwórz główny plik konfiguracyjny i utwórz nową listę ACL o nazwie allowed_ips (pierwsza podświetlona linia) i zezwól na dostęp do tej listy ACL za pomocą dyrektywy http_access (druga podświetlona linia):

/etc/squid/squid.conf

#… acl allowed_ips src "/etc/squid/allowed_ips.txt" #… #http_access allow localnet http_access allow localhost http_access allow allowed_ips # And finally deny all other access to this proxy http_access deny all

Kolejność reguł http_access jest ważna. Upewnij się, że dodajesz linię, zanim http_access deny all .

Dyrektywa http_access działa w podobny sposób, jak reguły zapory. Squid odczytuje reguły od góry do dołu, a gdy reguła pasuje do reguły poniżej, nie są przetwarzane.

Za każdym razem, gdy wprowadzasz zmiany w pliku konfiguracyjnym, musisz ponownie uruchomić usługę Squid, aby zmiany odniosły skutek:

sudo systemctl restart squid

Uwierzytelnianie Squid

Squid może korzystać z różnych uwierzytelnień, w tym podstawowego uwierzytelniania Samba, LDAP i HTTP dla uwierzytelnionych użytkowników.

W tym przykładzie skonfigurujemy Squid do korzystania z podstawowego uwierzytelniania. Jest to prosta metoda uwierzytelniania wbudowana w protokół

Użyjemy narzędzia openssl do wygenerowania haseł i dodamy parę username:password do /etc/squid/htpasswd za pomocą polecenia tee jak pokazano poniżej:

printf "USERNAME:$(openssl passwd -crypt PASSWORD)\n" | sudo tee -a /etc/squid/htpasswd

Sz$Zdg69 użytkownika o nazwie „buster” z hasłem „ Sz$Zdg69 ”:

printf "buster:$(openssl passwd -crypt 'Sz$Zdg69')\n" | sudo tee -a /etc/squid/htpasswd

buster:RrvgO7NxY86VM

Następnym krokiem jest włączenie podstawowego uwierzytelniania HTTP. Otwórz główną konfigurację i dodaj:

/etc/squid/squid.conf

#… auth_param basic program /usr/lib/squid3/basic_ncsa_auth /etc/squid/htpasswd auth_param basic realm proxy acl authenticated proxy_auth REQUIRED #… #http_access allow localnet http_access allow localhost http_access allow authenticated # And finally deny all other access to this proxy http_access deny all

Pierwsze trzy wyróżnione linie tworzą nową listę ACL o nazwie authenticated a ostatnia wyróżniona linia umożliwia dostęp do uwierzytelnionych użytkowników.

Uruchom ponownie usługę Squid:

sudo systemctl restart squid

Konfigurowanie zapory ogniowej

Użytkownicy UFW mogą otworzyć port 3128 , włączając profil „Squid”:

sudo ufw allow 'Squid'

sudo nft add rule inet filter input tcp dport 3128 ct state new, established counter accept Jeśli Squid działa na innym, innym niż domyślny porcie, musisz zezwolić na ruch na tym porcie.

Konfigurowanie przeglądarki do korzystania z serwera proxy

W tej sekcji dobrze pokażemy, jak skonfigurować przeglądarkę do korzystania z proxy Squid.

Firefox

Poniższe kroki są takie same dla systemów Windows, macOS i Linux.

  1. W prawym górnym rogu kliknij ikonę hamburgera aby otworzyć menu Firefoksa:

    Kliknij link ⚙ Preferences .

    Przewiń w dół do sekcji Network Settings i kliknij przycisk Settings…

    Otworzy się nowe okno.

    • Wybierz przycisk opcji Manual proxy configuration Wprowadź adres IP serwera Squid w polu HTTP Host i 3128 w polu Port Zaznacz pole wyboru Use this proxy server for all protocols Kliknij przycisk OK , aby zapisać ustawienia.

W tym momencie Firefox jest skonfigurowany i możesz przeglądać Internet za pośrednictwem serwera proxy Squid. Aby to zweryfikować, otwórz google.com , wpisz „what is my ip”, a powinieneś zobaczyć adres IP swojego serwera Squid.

Aby przywrócić ustawienia domyślne, przejdź do Network Settings , wybierz przycisk radiowy Use system proxy settings i zapisz ustawienia.

Istnieje również kilka wtyczek, które mogą pomóc w konfiguracji ustawień proxy Firefoksa, takich jak FoxyProxy.

Google Chrome

Google Chrome używa domyślnych systemowych ustawień proxy. Zamiast zmieniać ustawienia proxy systemu operacyjnego, możesz użyć dodatku takiego jak SwitchyOmega lub uruchomić przeglądarkę Chrome z wiersza polecenia.

Aby uruchomić Chrome przy użyciu nowego profilu i połączyć się z serwerem Squid, użyj następującego polecenia:

Linux:

/usr/bin/google-chrome \ --user-data-dir="$HOME/proxy-profile" \ --proxy-server="http://SQUID_IP:3128"

System operacyjny Mac:

"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" \ --user-data-dir="$HOME/proxy-profile" \ --proxy-server="http://SQUID_IP:3128"

Windows:

"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" ^ --user-data-dir="%USERPROFILE%\proxy-profile" ^ --proxy-server="http://SQUID_IP:3128"

Profil zostanie utworzony automatycznie, jeśli nie istnieje. W ten sposób możesz uruchamiać wiele instancji Chrome jednocześnie.

Aby potwierdzić, że serwer proxy działa poprawnie, otwórz google.com i wpisz „what is my ip”. Adres IP wyświetlany w przeglądarce powinien być adresem IP serwera.

Wniosek

Omówiliśmy podstawy instalacji Squid na Debianie 10 i skonfigurowania przeglądarki, aby z niego korzystać.

Squid jest jednym z najpopularniejszych serwerów buforujących proxy. Poprawia szybkość serwera internetowego i może pomóc ograniczyć dostęp użytkownika do Internetu.

proxy debian