« poprzedni punkt  następny punkt »


4. Usługi proxy

Pierwotnym przeznaczeniem serwerów proxy było przechowywanie w pamięci podręcznej często przeglądanych stron WWW. Znacznie przyśpieszało to dostęp do informacji. W chwili obecnej pełnią one raczej funkcje ściany ogniowej.

Serwery proxy pośredniczą w przekazywaniu żądań klientów sieci wewnętrznej do sieci zewnętrznej. Pozwala to ukrywać klientów przed badaniem z zewnątrz. Wiele aktualnie dostępnych pakietów tego typu realizuje również usługi filtrowania pakietów i NAT. Połączenie tych wszystkich technologii pozwala wyeliminować pewne ataki, którym prawdopodobnie "czyste" proxy nie sprostałoby. Serwery proxy najczęściej związane są z WWW (ze względów historycznych) ale podobnie działają dla innych usług.

Proxy nasłuchuje zleceń usługi od klientów wewnętrznych i przesyła je w ich imieniu do sieci zewnętrznej. Po otrzymaniu odpowiedzi z zewnątrz zwraca ją do rzeczywistego klienta. Ideę funkcjonowania serwera proxy przedstawiono na rys. 2.

Rys. 2. Idea funkcjonowania serwera proxy

Zalety proxy

Ukrywanie klienta jest możliwe ponieważ proxy generują żądania warstwy usługowej w imieniu swoich klientów. Nie jest to jedynie zmiana nagłówków. Klienci zwracają się do proxy jak do serwera docelowego. Przez proxy przesyłane są tylko komunikaty warstwy usługowej (np. HTTP) a nie pakiety TCP czy IP. Pakiety protokołów warstw niższych są ponownie generowane przez proxy. Jest to więc zupełnie inny mechanizm niż NAT, chociaż skutek jest podobny.

Blokowanie URL jest realizowane poprzez porównywanie URL z listą adresów zakazanych. Można to jednak ominąć poprzez użycie adresów liczbowych a nie nazw, gdyż zwykle sprawdzeniu podlega pełny tekst URL. Wymagane korzystanie z WWW łatwiej jest wymusić poprzez informowanie pracowników o śledzeniu ich dostępów a nie poprzez blokowanie. Zakazane strony często migrują.

Filtrowanie zawartości może polegać na usuwaniu określonych elementów z ładunku danych. Mogą to być kontrolki ActiveX, aplety Javy, duże pliki graficzne, wykonywalne pliki binarne przesyłane jako załączniki w poczcie.

Badanie spójności to sprawdzanie zgodności z protokołem. Eliminuje się w ten sposób, lub przynajmniej ogranicza użycie nieprawidłowo sformatowanych danych do wykorzystywania luk w systemie. Np. we wczesnych wersjach demona sendmail występował problem przepełnienia bufora. Przydzielał on bufor o wielkości określonej w komunikacie. Jeżeli danych jest więcej (przed znacznikiem końca pliku) to zwykle umieszczany tam był kod wykonywalny umożliwiający dostęp super-użytkownika do serwera pocztowego. Podobny błąd wykryto w IIS4. Problem przekroczenia bufora występował również we wczesnych przeglądarkach gdy wpisywano adresy URL dłuższe niż 256 znaków. O takich lukach dowiadujemy się jednak dopiero po ich wykorzystaniu.

Blokowanie routingu jest jedną z najważniejszych zalet. Żaden pakiet TCP/IP nie jest przesyłany pomiędzy sieciami, więc eliminuje się wiele ataków typu DoS oraz wykorzystujących luki TCP/IP. Niestety nie dla wszystkich usług dostępne są dobre proxy i nie można wobec tego całkowicie wyeliminować routingu. Można wykorzystać proxy TCP, ale nie będą one wówczas filtrowały zawartości.

Proxy mogą podnosić wydajność przetwarzania gdyż:

Pierwsze zastosowanie nabierze ponownie znaczenia gdy rozwinie się handel elektroniczny. Drugie zastosowanie to tzw. proxy odwrotne (reverse proxy) )obsługujące klientów zewnętrznych. Jeden serwer nie jest w stanie obsłużyć dużej liczby klientów (np. w handlu elektronicznym).

Wady proxy

Pojedynczy punkt kontroli - pojedynczy punkt awarii powoduje duże zagrożenie w przypadku jego awarii. Dlatego powinien on współpracować z filtrami. Sam proxy powinien być dodatkowo chroniony przez filtry lub ścianę ogniową.

Klienci muszą współpracować z proxy. Klienci niewłaściwie skonfigurowani nie będą korzystać z proxy. Jeżeli proxy jest elementem zapory sieciowej z translacją adresów, to ten problem nie istnieje. Ponadto niektóre pakiety klienckie nie pozwalają na współpracę z proxy. Zwłaszcza dotyczy to standardowych pakietów dostarczanych z systemem operacyjnym (np. FTP). Mozna jednak stosować tzw. proxy transparentne.

Oddzielne proxy dla każdej usługi. Dla niektórych usług trudno jest zbudować proxy, ponieważ wymagają one kanału zwrotnego. Dla niektórych usług nie ma skutecznych filtrów zawartości. Np. usługi strumieniowe typu RealVideo lub RealAudio wymagają przepływu skompresowanego strumienia w czasie rzeczywistym. Jego przerwanie uniemożliwia zwykle dalsze dekodowanie. Niemożność filtrowania powinna implikować konieczność blokowania.

Ochrona systemu operacyjnego ma decydujące znaczenie dla funkcjonowania proxy. Włamanie na serwer, na którym zainstalowano proxy może spowodować unieszkodliwienie tego mechanizmu. Zaleca się stosowanie jak najmocniejszych zabezpieczeń opartych na prawach dostępu oraz filtrowanie portów i protokołów na poziomie systemu operacyjnego. Nie należy gromadzić usług publicznych na tym samym serwerze co proxy. Jeśli usługa FTP lub SMTP pozwoli na dostęp do serwera proxy, to możliwe stanie się usunięcie zabezpieczeń proxy i dostęp do reszty sieci.

Zatory to wada powodująca spadek wydajności. Należy dodać więcej serwerów proxy.


« poprzedni punkt  następny punkt »