background image

Sieciowe systemy operacyjne – laboratorium Proxy HTTP 

Celem  ćwiczenia  jest  zdobycie  umiejętności  konfiguracji  serwera  Proxy  HTTP  (squid)  szczególnie  w 
zakresie stosowania reguł dostępu do serwisów internetowych. Ćwiczenie realizujemy w SO Linux w 
wersji Live DVD - Knoppix 6.x. Materiały dotyczące usługi Proxy HTTP i jej konfiguracji były podane na 
wykładzie. 

1.

 

Czynności przygotowawcze 

Uruchamiamy  usługę  syslog.  Błędy  w  czasie  startu  usługi  będzie  można  odczytywać  z  pliku 
/var/log/syslog. 

sudo su 

/etc/init.d/sysklogd start 

#ewentualnie 

service sysklogd restart 

*Uwaga! W wersji Knoppix 6.4 i nowszych usługa syslog jest domyślnie uruchomiona, a komunikaty 
pojawiają się na dwunastej konsoli (Ctrl-Alt-F12). Powrót do konsoli graficznej (Ctrl-Alt-F5).  

Usuwamy wszystkie przykładowe konfiguracje z katalogu /etc/squid. 

cd /etc/squid 
rm –f * 

2.

 

Serwer Proxy HTTP cache’ujący 

 

Tworzymy główny plik konfiguracyjny serwera Proxy HTTP Squid: 

vim /etc/squid/squid.conf 

Minimalna zawartość pliku: 

http_port 8080 

cache_dir ufs /var/spool/squid 128 16 256  

acl all src 0.0.0.0/0.0.0.0 

acl siec src 10.1.0.0/255.255.0.0  

http_access allow siec 

http_access deny all 

Uruchamiamy serwer usługi Proxy 

/etc/init.d/squid start 

background image

Aby  sprawdzić  działanie serwera Proxy  należy  skonfigurować  przeglądarkę. Dla przeglądarki  Firefox 
(Iceweasel)  kolejno  wybieramy  z  menu:  Edit/Preferences/Advanced/Network/Settings,  a  następnie 
ustawiamy  opcje  HTTP  Proxy,  Port  i  Use  this  Proxy  Server  for  All  protocols  w  sekcji  Manual  Proxy 

configuration.  

 

3.

 

Zadania 

Zadania do samodzielnego wykonania: 

1.

 

Zablokować dostęp do wybranych portali społecznościowych np. NK, FB. 

2.

 

Zablokować dostęp dla wybranego kolegi np. sąsiad z prawej. 

3.

 

Zablokować dostęp dla użytkowników określonych przeglądarek np. Konqueror. 

4.

 

Zapewnić dostęp dla wszystkich do serwisów uczelnianych. 

5.

 

Zablokować dostęp do prywatnej poczty w popularnych serwisach (Onet, WP, Interia, O2, 
Gmail, Hotmail). Uwaga! Nie blokować dostępu do treści serwisów.  

6.

 

Zablokować dostęp do wybranego fragmentu serwisu, np. blokada tylko WebGG bez 
blokowania serwisu GG.  

7.

 

Zablokować dostęp do adresów zawierających określone słowa w adresie (xxx, sex, 
torrent). 

Zadania dodatkowe: 

1.

 

Wprowadzić uwierzytelnianie użytkowników serwera Proxy metodą login/hasło 
(auth_param, acl proxy_auth).  

2.

 

Ograniczyć szybkość pracy łącza jeżeli użytkownik próbuje ściągać duże pliki, np. do 
10kb/s po przekroczeniu 500KB transferu. (delay_class, delay pools) 

3.

 

Wymusić pojawianie się komunikatów o braku dostępu w języku polskim albo w języku 
przeglądarki (error_default_language) . Zmienić wygląd strony z komunikatem o braku 
dostępu.  

4.

 

Skonfigurować logowanie dostępów do serwera Proxy w formacie Apache access.log 
(access_log, emulate_httpd_log). 

background image

4.

 

Podpowiedzi 

Warto pamiętać, że reguły http_acces są czytane w kolejności ich wymienienia w pliku squid.conf i 
pierwszy pasujący do żądania acl decyduje o jego realizacja albo odrzuceniu. 

Oryginalna strona z opisem konfiguracji squida: 

http://www.squid-cache.org/Doc/config/

 

Podstawowe typy reguł ACL: 

src 

Adres źródłowy 

dst 

Adres docelowy 

srcdomain 

Źródłowy adres domenowy 

dstdomain 

Domena docelowa 

dstdom_regex 

Wyrażenie regularne w domenie docelowej 

url_regex 

Wyrażenie regularne w adresie URL 

urlpath_regex 

Wyrażenie regularne w ścieżce adresu 

req_mime_type  Wyrażenie regularne typu MIME żądania 

(tylko na podstawie adresu) 

 

rep_mime_type  Wyrażenie regularne typu MIME odpowiedzi 
browser 

Wyrazenie regularne w podpisie przeglądarki USER-AGENT 

port 

Numer portu 

proto 

Nazwa protokołu 

method 

Metoda żądania GET, POST 

proxy_auth 

Żądanie autoryzacji