Instalacja i prosta konfiguracja proxy Squid (Debian).
Serwery proxy pozwalają na przekierowanie swojego ruchu sieciowego przez serwer VPS, pozwala to np. ukryć swój adres IP. Tu zajmiemy się tylko bazową konfiguracją proxy dla zapoznania z tematem.
Poradnik ma charakter wyłącznie demonstracyjny. Dopasuj konfigurację i zabezpiecznia do swoich potrzeb.
Dystrybucja: Debian 10
- W pierwszej kolejności logujemy się do swojego VPS po SSH np. za pomocą puTTy, na domyślny port
22
- Następnie po zalogowaniu na konto
root
wydajemy polecenie aktualizacji listy pakietów poleceniem:
apt-get update
root@adamhitme:~# apt-get update
Hit:1 http://ftp.debian.org/debian buster InRelease
Hit:2 http://security.debian.org buster/updates InRelease
Hit:3 http://ftp.debian.org/debian buster-updates InRelease
Reading package lists... Done
Instalacja squid (proxy).
- Instalujemy pakiet squid
apt install squid
- Kopia zapasowa konfiguracji (na wszelki wypadek)
cd /etc/squid/squid.conf /etc/squid/squid.conf.bak
- Utworzymy sobie nowy plik z naszą konfiguracją
nano /etc/squid/conf.d/mojeproxy.conf
- Zawartość pliku:
# 1. pozwalamy tylko adresom IP z pliku
acl allowed_ips src "/etc/squid/allowed_ips.txt"
http_access allow allowed_ips
# 2. włączamy autoryzacje login/haslo
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 authenticated
Możemy wybrać, której metody chcemy używać. Nieużywane linijki metody 1. lub 2. możemy zakomentować znakiem '#'.
-
Następnie jeśli posiadamy stały publiczny adres IP w swoim komputerze, dodajemy je do listy w pliku
allowed_ips.txt
pozwoli to na łączenie z proxy się tylko z tego adresu IP -
Teraz dodamy autoryzację usera i hasło do naszego proxy. W tym miejscu wymyślamy sobie własną nazwę użytkownika oraz hasło.
Użytkownik: janekproxy Hasło: J1an34k!
- wpisujemy użytkownika i hasło w polecenie:
printf "janekproxy:$(openssl passwd -crypt 'J1an34k!')\n" | sudo tee -a /etc/squid/htpasswd
- Na koniec restartujemy usługę proxy
systemctl restart squid
- Możemy sprawdzić status usługi poleceniem
systemctl status squid
root@adamhitme:/etc/squid# systemctl status squid
● squid.service - Squid Web Proxy Server
Loaded: loaded (/lib/systemd/system/squid.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2021-07-23 13:41:55 CEST; 11min ago
Docs: man:squid(8)
Process: 2672 ExecStartPre=/usr/sbin/squid --foreground -z (code=exited, status=0/SUCCESS)
Process: 2675 ExecStart=/usr/sbin/squid -sYC (code=exited, status=0/SUCCESS)
Main PID: 2676 (squid)
Tasks: 4 (limit: 4915)
Memory: 17.6M
CGroup: /system.slice/squid.service
├─2676 /usr/sbin/squid -sYC
├─2678 (squid-1) --kid squid-1 -sYC
├─2679 (logfile-daemon) /var/log/squid/access.log
└─2680 (pinger)
Jul 23 13:41:55 adamhitme.serwervps.pl squid[2678]: Max Swap size: 0 KB
Jul 23 13:41:55 adamhitme.serwervps.pl squid[2678]: Using Least Load store dir selection
Jul 23 13:41:55 adamhitme.serwervps.pl squid[2678]: Set Current Directory to /var/spool/squid
Jul 23 13:41:55 adamhitme.serwervps.pl squid[2678]: Finished loading MIME types and icons.
Jul 23 13:41:55 adamhitme.serwervps.pl squid[2678]: HTCP Disabled.
Jul 23 13:41:55 adamhitme.serwervps.pl squid[2678]: Pinger socket opened on FD 14
Jul 23 13:41:55 adamhitme.serwervps.pl squid[2678]: Squid plugin modules loaded: 0
Jul 23 13:41:55 adamhitme.serwervps.pl squid[2678]: Adaptation support is off.
Jul 23 13:41:55 adamhitme.serwervps.pl squid[2678]: Accepting HTTP Socket connections at local=[::]:3
Jul 23 13:41:56 adamhitme.serwervps.pl squid[2678]: storeLateRelease: released 0 objects
Jeśli używamy jakiejkolwiek zapory (firewall) należy pamiętać o odblokowaniu portu TCP: 3128
Konfiguracja Firefox.
Następnie w zależności od aplikacji z jakiej korzystamy, np. przeglądarki musimy skonfigurować w niej połączenie proxy. w przypadku Mozilla Firefox dokonujemy tego w ustawieniach, sekcja 'Konfiguracja sieci', połączenie, ręczna konfiguracja serwera proxy. W polu Serwer proxy http wpisujemy adres IP naszego serwera VPS, zaś w polu port 3128.
Squid Proxy. Konfiguracja Mozilla Firefox.
Teraz połączenie będzie tunelowanie przez nasz serwer VPS.
Możemy to sprawdzić po naszym publicznym IP na stronie https://ip.hitme.pl