🌐 Własny serwer proxy na Ubuntu – filtracja ruchu i prywatność w sieci
Uruchomienie własnego serwera proxy na Ubuntu to doskonały sposób na poprawę prywatności, kontrolę nad ruchem sieciowym i ochronę użytkowników przed niepożądanymi treściami. W przeciwieństwie do publicznych proxy, własny serwer daje pełną kontrolę nad tym, jakie dane są przesyłane, logowane i filtrowane.
W tym poradniku pokażemy krok po kroku, jak skonfigurować serwer proxy na Ubuntu, jak wdrożyć filtrację ruchu, oraz jak zadbać o anonimowość i bezpieczeństwo w Internecie.
🧠 Czym jest serwer proxy i do czego służy?
Proxy (ang. pośrednik) to serwer pośredniczący między użytkownikiem a Internetem. Kiedy klient (np. przeglądarka) wysyła żądanie o stronę internetową, proxy przejmuje to żądanie, przesyła je dalej i odsyła wynik do użytkownika.
Dzięki temu można:
- ukryć adres IP użytkownika,
- kontrolować i logować ruch sieciowy,
- blokować niechciane treści (np. reklamy, malware, porty),
- przyspieszyć połączenia przez lokalne buforowanie (cache),
- zwiększyć bezpieczeństwo w sieciach firmowych i domowych.
⚙️ Rodzaje serwerów proxy
| Typ | Opis | Zastosowanie |
|---|---|---|
| HTTP Proxy | Obsługuje ruch HTTP/HTTPS | Przeglądanie stron, filtrowanie treści |
| SOCKS5 Proxy | Obsługuje dowolny ruch (TCP/UDP) | Gry online, P2P, aplikacje |
| Transparent Proxy | Użytkownik nie wie, że korzysta z proxy | Sieci firmowe, szkoły |
| Caching Proxy | Buforuje dane, przyspieszając dostęp | Sieci biurowe i lokalne |
🧩 Instalacja serwera proxy Squid na Ubuntu
Najpopularniejszym rozwiązaniem proxy w systemach Linux jest Squid – stabilny, szybki i konfigurowalny serwer obsługujący HTTP, HTTPS i FTP.
🔹 Krok 1: Aktualizacja systemu
sudo apt update && sudo apt upgrade -y
🔹 Krok 2: Instalacja Squid
sudo apt install squid -y
🔹 Krok 3: Sprawdzenie statusu usługi
sudo systemctl status squid
Jeśli usługa działa poprawnie, serwer nasłuchuje domyślnie na porcie 3128.
🔧 Konfiguracja serwera proxy Squid
Plik główny konfiguracji znajduje się w:
/etc/squid/squid.conf
Przed edycją zaleca się utworzenie kopii zapasowej:
sudo cp /etc/squid/squid.conf /etc/squid/squid.conf.backup
🔹 Krok 4: Ustawienie dostępu
Zmień sekcję kontroli dostępu, by określić, kto może korzystać z proxy:
acl localnet src 192.168.1.0/24 # sieć lokalna
http_access allow localnet
http_access deny all
🔹 Krok 5: Zmiana portu nasłuchu (opcjonalnie)
http_port 8080
🔹 Krok 6: Zapisz zmiany i zrestartuj usługę
sudo systemctl restart squid
🔍 Filtracja ruchu sieciowego
Squid umożliwia blokowanie stron, domen i typów treści.
Przykład konfiguracji czarnej listy:
- Utwórz plik z listą zablokowanych domen:
sudo nano /etc/squid/blacklist.txtDodaj np.:
facebook.com tiktok.com youtube.com - Dodaj regułę do konfiguracji:
acl blocked_sites dstdomain "/etc/squid/blacklist.txt" http_access deny blocked_sites - Zrestartuj Squid:
sudo systemctl restart squid
💡 Możesz również tworzyć białe listy (whitelists), filtrować po słowach kluczowych, typach MIME lub rozmiarze plików.
🧰 Autoryzacja użytkowników
Aby zabezpieczyć serwer przed nieautoryzowanym dostępem, można wymagać logowania hasłem:
- Zainstaluj narzędzie
apache2-utils:sudo apt install apache2-utils -y - Utwórz plik z użytkownikiem:
sudo htpasswd -c /etc/squid/passwd user1 - Dodaj do konfiguracji Squid:
auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/squid/passwd acl authenticated proxy_auth REQUIRED http_access allow authenticated - Restart usługi:
sudo systemctl restart squid
🔒 Anonimowość i prywatność
Squid może usuwać z nagłówków HTTP dane identyfikujące użytkownika.
Dodaj do konfiguracji:
header_access From deny all
header_access Referer deny all
header_access X-Forwarded-For deny all
forwarded_for off
Dzięki temu Twój adres IP i dane przeglądarki nie będą przekazywane dalej.
⚡ Monitorowanie i logowanie ruchu
Squid prowadzi logi w katalogu:
/var/log/squid/access.log
Aby analizować aktywność, można zainstalować narzędzie:
sudo apt install squidview -y
Uruchom:
squidview /var/log/squid/access.log
Dzięki temu łatwo sprawdzisz, jakie strony są odwiedzane i przez kogo.
🌍 Integracja z HTTPS i SSL Bump
Squid obsługuje także analizę szyfrowanego ruchu HTTPS poprzez tzw. SSL Bump (intercept proxy).
Dzięki temu można filtrować złośliwe strony nawet przy połączeniach szyfrowanych – choć wymaga to wygenerowania i zaufania lokalnego certyfikatu SSL.
⚠️ Uwaga: SSL Bump ingeruje w prywatność użytkowników. Stosuj go tylko w sieciach, które kontrolujesz (np. firmowych lub domowych).
🧱 Alternatywy dla Squid
| Nazwa | Typ | Cechy |
|---|---|---|
| Privoxy | HTTP | Lekki, prywatny proxy z filtrowaniem reklam |
| Tinyproxy | HTTP | Niski narzut zasobów, prosty w konfiguracji |
| 3proxy | SOCKS/HTTP | Obsługa wielu protokołów i użytkowników |
| Shadowsocks | SOCKS5 | Szyfrowany proxy, trudny do wykrycia (prywatność) |
🔗 Powiązane artykuły na Netbe.pl
- 🧱 Jak stworzyć prywatny serwer DNS i poprawić bezpieczeństwo przeglądania
- 🔐 Wykrywanie intruzów w sieci lokalnej – darmowe narzędzia IDS/IPS
- 🌍 Porównanie protokołów VPN: WireGuard vs OpenVPN vs IPSec
🏁 Podsumowanie
Uruchomienie własnego serwera proxy na Ubuntu to krok w stronę większej kontroli, bezpieczeństwa i prywatności w sieci.
Dzięki narzędziom takim jak Squid, Privoxy czy 3proxy, możesz filtrować ruch, blokować złośliwe strony, przyspieszyć przeglądanie i zabezpieczyć swoją sieć przed atakami.
To proste, darmowe i niezwykle skuteczne rozwiązanie zarówno dla domowych użytkowników, jak i administratorów sieci firmowych.







