ciemne logo proxyscrape

Czym jest przezroczysty serwer proxy?

Proxy, Lipiec-04-20215 minut czytania

We can define a transparent proxy as a server that acts as an intermediary system intercepting the connection between an end-user and a content provider. Other names for transparent proxy are inline proxy or forced proxy. We use the word ‘transparent’ with the proxy because it intercepts requests by intercepting packets directed to the destination

Możemy zdefiniować przezroczysty serwer proxy jako serwer, który działa jako system pośredniczący przechwytujący połączenie między użytkownikiem końcowym a dostawcą treści. Inne nazwy przezroczystego serwera proxy to inline proxy lub forced proxy. Używamy słowa "przezroczysty" w odniesieniu do serwera proxy, ponieważ przechwytuje on żądania poprzez przechwytywanie pakietów kierowanych do miejsca docelowego, dzięki czemu wydaje się, że samo miejsce docelowe obsługuje żądanie. Przezroczyste serwery proxy są konfigurowane przez stronę internetową lub operatora sieci, a nie przez użytkownika końcowego.

Czasami używamy również terminu "wymuszone proxy" dla przezroczystego proxy. Dzieje się tak dlatego, że można je zastosować do połączenia użytkownika bez modyfikowania ustawień proxy jego komputera. W związku z tym przezroczyste serwery proxy mogą być wymuszane na użytkownikach bez ich zgody, ale w wielu przypadkach wiedzą o ich obecności. 

Przykłady przezroczystych serwerów proxy

Zapora sieciowa jest przykładem przezroczystego serwera proxy, który zezwala na ruch przechodzący między siecią wewnętrzną a Internetem, ale blokuje ruch, jeśli narusza on tabelę reguł zapory.

Innymi przykładami przezroczystych serwerów proxy są sieci dostarczania treści (CDN). Zapewniają one redundancję, buforowanie i poprawiają szybkość bez modyfikowania lub ujawniania systemu źródłowego. Użytkownik myśli, że jest bezpośrednio połączony z dostawcą usług, ale w rzeczywistości CDN obsługuje wszystkie jego żądania. W ten sposób firmy technologiczne, takie jak Google, Twitter i Facebook, zarządzają milionami żądań przy minimalnych przestojach.

Typowe ustawienia przezroczystego serwera proxy

Poniżej znajdują się standardowe ustawienia przezroczystego serwera proxy:

  • Uwierzytelnianie: Zapewnia serwerowi te same dane uwierzytelniające, co użytkownikom za serwerem proxy.
  • Przechwytywanie: Określa sposób, w jaki przezroczysty serwer proxy przechwytuje ruch na poziomie routera lub systemu operacyjnego.
  • Buforowanie: określa, czy serwer proxy powinien buforować zawartość dla powracających użytkowników.
  • Odwrotne proxy: Zamiast ustawiać proxy do przechwytywania zdalnego dostępu, możemy umieścić go przed serwerem WWW, aby przyspieszyć działanie użytkownika. 
  • Strumieniowanie danych, filtrowanie czatów: Możemy skonfigurować przezroczysty serwer proxy tak, aby użytkownicy nie mieli dostępu do określonych portów lub protokołów.

Korzystanie z przezroczystego serwera proxy - po stronie klienta

Możemy wdrożyć przezroczysty serwer proxy po stronie klienta, co oznacza, że przechwytuje on cały ruch do i z punktu końcowego klienta. Zastosowania przezroczystych serwerów proxy po stronie klienta są następujące:

Przezroczyste buforowanie

Gdy wiele osób uzyskuje dostęp do tej samej zawartości z tego samego obszaru lub lokalizacji - na przykład, gdy kilku studentów przegląda tę samą witrynę z wiadomościami za pośrednictwem sieci uniwersyteckiej, wówczas bardziej efektywne jest użycie przezroczystego serwera proxy do wstępnego buforowania zawartości i serwowania jej z pamięci podręcznej kolejnym użytkownikom.

Uwierzytelnianie

Operatorzy Internetu komórkowego i publiczne punkty Wi-Fi czasami używają przezroczystych serwerów proxy, aby zmusić użytkowników do uwierzytelnienia się w sieci i wyrażenia zgody na ich warunki świadczenia usług. Mogą oni surfować tylko wtedy, gdy użytkownik poświadczy i zgodzi się na warunki. 

Większość użytkowników nie ma pojęcia, że całe połączenie może zostać przechwycone i monitorowane przez operatora nawet po początkowym ekranie uwierzytelniania za pośrednictwem przezroczystego serwera proxy.

Monitorowanie ruchu

Kiedy obsługujemy sieć, możemy skonfigurować przezroczysty serwer proxy do monitorowania ruchu i zachowania użytkowników, ale monitorowanie ruchu ma również wiele nielegalnych zastosowań. Na przykład, pozbawiony skrupułów i niegodny zaufania operator publicznego Wi-Fi może z łatwością monitorować połączenia użytkowników i kraść dane uwierzytelniające i dane.

Gateway Proxy

Możemy użyć bramy proxy do modyfikowania lub blokowania ruchu sieciowego w oparciu o reguły. Przykładem bramy proxy jest przezroczysty firewall proxy omówiony w powyższym przykładzie.

Filtrowanie zawartości

Możemy również użyć przezroczystego serwera proxy do filtrowania niepotrzebnych i niechcianych treści. Na przykład, serwer proxy może powstrzymać się od przekierowania żądania do serwera WWW, gdy żądana jest określona strona internetowa. Zamiast tego przechwytuje połączenie i wyświetla użytkownikowi powiadomienie lub komunikat o błędzie.

Korzystanie z przezroczystego serwera proxy - po stronie serwera

Ochrona przed odmową usługi (Dos)

Możemy chronić serwer przed atakiem typu SYN-flood Denial of Service (DoS) przy użyciu typu przezroczystego proxy, tj. przechwytywania TCP. Pełni on funkcję przechwytywania całego ruchu do serwera WWW, akceptowania żądań klientów i wykonywania trójstronnego uzgadniania. Ponadto, jeśli przechwytywanie ruchu się powiedzie, wykonuje on trójstronny uścisk dłoni z serwerem, łącząc w ten sposób dwa półpołączenia między klientem a serwerem.

Przechwytywanie protokołu kontroli transmisji sprawdza żądania TCP i zazwyczaj czeka 30 sekund na nawiązanie połączenia. Przechodzi w "tryb agresywny", gdy liczba nieaktywnych połączeń przekroczy określony próg. W tym trybie każde nowe połączenie powoduje usunięcie najstarszego pasywnego połączenia.

Jednak powyższa technika nie jest już skuteczna przeciwko nowoczesnym, zakrojonym na szeroką skalę atakom typu Distributed Denial of Service (DDoS). Wynika to z faktu, że atakujący kontrolują obecnie miliony komputerów zombie i serwerów o dużej mocy, tworząc powodzie SYN, które przytłaczają kontroler przechwytywania TCP.

Z tego powodu większość organizacji korzysta dziś z usług opartych na chmurze, takich jak Imperva DDoS Protection. Usługi te mogą chronić przed dużymi atakami DDoS, a także mogą skalować się na żądanie, dodatkowo radząc sobie z atakami na dużą skalę. 

Na przykład usługi DDoS mogą zapobiegać atakom w warstwie aplikacji i atakom na protokoły, które nie występują w warstwie TCP.

CDN dla optymalizacji front-endu

Sieć dostarczania treści (CDN) możemy zdefiniować jako globalnie rozproszoną sieć serwerów proxy, które serwują i buforują treści użytkownikom w pobliżu ich lokalizacji geograficznej.

Przykładem CDN jest Imperva's Global Content Delivery Network, przezroczysty serwer proxy działający po stronie serwera. Jego celem jest optymalizacja front-endu w celu poprawy doświadczenia użytkownika końcowego. Przechwytuje ruch do serwera WWW i oferuje tę samą zawartość z pamięci podręcznej serwera, zamiast umożliwiać użytkownikowi bezpośredni dostęp do serwera. W rezultacie poprawia się wydajność użytkownika, a zasoby systemowe wymagane na serwerze są zmniejszone.

Ograniczenia Transparent proxy

Chociaż przejrzyste proxy ma wiele zalet, może generować pewne frustracje w złożonych środowiskach korporacyjnych.

Brak odporności: Jeśli połączenie zostanie nawiązane między klientem a pamięcią podręczną i nastąpi zmiana routingu, która spowoduje, że klient przyjmie ścieżkę, która nie przepływa już przez "przekierowujące" urządzenie sieciowe, sesja zostanie przerwana, a użytkownik będzie musiał ponownie załadować stronę.

Z drugiej strony, jeśli routery w Internecie są zmienne (router naprzemiennie reklamuje sieć docelową w szybkiej sekwencji), wyniki będą jeszcze bardziej nieprzewidywalne.

Zależność od przeglądarki: Większość przezroczystych serwerów proxy polega na przeglądarce dostarczającej nazwę hosta serwera źródłowego w nagłówku żądania HTTP w celu pomyślnego działania.

Jest to wymagane, ponieważ te pamięci podręczne nie mają dostępu do docelowego adresu IP serwera źródłowego z adresu IP pakietu.

Dlatego też, gdy wystąpi brak pamięci podręcznej, nie mogą zidentyfikować adresu serwera źródłowego, do którego należy wysłać żądanie.

Wnioski

Omówiliśmy, że ruch internetowy może być monitorowany i filtrowany za pomocą przezroczystego serwera proxy. Kształtuje on również sposób, w jaki wchodzimy w interakcję z siecią. Niezależnie od tego, czy serwuje dane szybciej poprzez filtrowanie niechcianych treści, buforowanie, czy też daje firmom większą kontrolę nad ich sieciami, przezroczysty serwer proxy dodaje funkcjonalność do Internetu bez dodawania jakichkolwiek niedogodności.