SQUID czyli WWW PROXY pod linuxem.



Podobne dokumenty
Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat protokołu http.

SIP Studia Podyplomowe Ćwiczenie laboratoryjne Instrukcja

Windows W celu dostępu do i konfiguracji firewall idź do Panelu sterowania -> System i zabezpieczenia -> Zapora systemu Windows.

Zanim zaczniesz. Warto ustawić kartę sieciową naszego serwera.

Praca z programami SAS poza lokalną siecią komputerową UZ. Zestawienie tunelu SSH oraz konfiguracja serwera proxy w przeglądarce WWW

Tomasz Greszata - Koszalin

procertum CLIDE Client 2.1 wersja 1.0.2

Instalacja i konfiguracja serwera IIS z FTP

Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat usługi DHCP.

Konfiguracja podglądu obrazu z kamery IP / rejestratora BCS przez sieć LAN.

Jak zainstalować i skonfigurować komunikator MIRANDA, aby wyglądał i funkcjonował jak Gadu Gadu Tutorial by t800.

Podstawy technologii WWW

Instalacja Active Directory w Windows Server 2003

instrukcja INSTALACJI APi_proxy

Rys. 1. Widok uruchomienia polecenia apt-get install build-essential. Rys. 2. Widok uruchomienia polecenia apt-get install apache2

tel fax

WINDOWS Instalacja serwera WWW na systemie Windows XP, 7, 8.

Instalacja systemu zarządzania treścią (CMS): Joomla

Przekierowanie portów w routerze TP-LINK na przykładzie kamery Kenik. Po co wykonujemy przekierowanie portów? Spójrzmy na rysunek poniżej:

Przekierowanie portów w routerze TP-LINK na przykładzie kamery Kenik. Po co wykonujemy przekierowanie portów? Spójrzmy na rysunek

Konfigurowanie PPP dla Windows 7

Instrukcja konfiguracji funkcji skanowania

1 INSTRUKCJA KONFIGURACJI DOSTĘPU DO INTERNETU za pomocą protokołu PPPoE konfiguracja dla systemu Windows VISTA

Podłączenie TV przez VPN na Samsung Smart VPN Online Access

OBSŁUGA I KONFIGURACJA SIECI W WINDOWS

UNIFON podręcznik użytkownika

NIP: REGON INSTRUKCJA KONFIGURACJI WIFI NA PRZYKŁADZIE ROUTERA TP-LINK TL-WR740N.

Konfiguracja vsftpd ( Very Secure FTP Server )

Spis treści. 1 Moduł RFID (APA) 3

Kancelaria Prawna.WEB - POMOC

Dokonaj instalacji IIS opublikuj stronę internetową z pierwszych zajęć. Ukaże się kreator konfigurowania serwera i klikamy przycisk Dalej-->.

Problemy techniczne SQL Server

Rozdział 8. Sieci lokalne

INSTRUKCJA INSTALACJI I KONFIGURACJI APLIKACJI WEBSOFT SITE ANALYZER 2.7.1

Instrukcja dla instalatora systemu SMDP Enterprise/Professional

Uwaga: NIE korzystaj z portów USB oraz PWR jednocześnie. Może to trwale uszkodzić urządzenie ZyWALL.

FAQ Systemu EKOS. 1. Jakie są wymagania techniczne dla stanowiska wprowadzania ocen?

Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat protokołu ftp.

Serwer proxy Squid. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

Instrukcja konfiguracji usługi DDNS na dedykowanym serwerze dla urządzeń Internec serii i7

Konfiguracja zapory Firewall w systemie Debian.

1. Konfiguracja sieciowa Konfiguracja Konfiguracja podstawowa Zamykanie aplikacji Lista adresów stron dozwolonych 10

Zadanie1: Odszukaj w Wolnej Encyklopedii Wikipedii informacje na temat NAT (ang. Network Address Translation).

13. Konfiguracja proxy http, smtp, pop3, ftp, ssl

Instrukcja instalacji Control Expert 3.0

Instrukcja konfiguracji programu Fakt z modułem lanfakt

Zdalny dostęp do źródeł elektronicznych BUR dla pracowników i studentów Uniwersytetu Rzeszowskiego

Instrukcja obsługi serwera FTP v

Adresy dostępowe serwerów poczty elektronicznej. Konfiguracja programów klienckich poczty elektronicznej

PORADNIK KORZYSTANIA Z SERWERA FTP ftp.architekturaibiznes.com.pl

Laboratorium Ericsson HIS NAE SR-16

Instrukcja klienta wideokonferencji Yealink VC Desktop dla systemów Windows 7, 8, 10

KONFIGURACJA SERWERA USŁUG INTERNETOWYCH

Konfiguracja Połączenia

2014 Electronics For Imaging. Informacje zawarte w niniejszej publikacji podlegają postanowieniom opisanym w dokumencie Uwagi prawne dotyczącym tego

proxy.cmkp.edu.pl: Uruchom przeglądarkę 2. Przycisk Menu (po prawej stronie okna), następnie pozycja Ustawienia

Konfiguracja serwera DNS w systemie Windows Server 2008 /2008 R2

SERWER AKTUALIZACJI UpServ

oprogramowania F-Secure

Zdalny dostęp do źródeł elektronicznych BUR dla pracowników i studentów Uniwersytetu Rzeszowskiego

Bezpieczeństwo w M875

autor poradnika - KS Jak zamieszczać i edytować artykuły na szkolnej stronie internetowej

Grzegorz Cygan. Zarządzanie prawami plików i folderów w systemie operacyjnym Windows z systemem plików NTFS

8. Sieci lokalne. Konfiguracja połączenia lokalnego

Projektowanie Bezpieczeństwa Sieci Łukasz Jopek Projektowanie Bezpieczeństwa Sieci - Laboratorium. Konfiguracja NAP Network Access Protection

DESlock+ szybki start

4. Podstawowa konfiguracja

Praca z programami SAS poza lokalną siecią komputerową UZ. Zestawienie tunelu SSH oraz konfiguracja serwera proxy w przeglądarce WWW

Laboratorium - Konfiguracja zapory sieciowej systemu Windows Vista

Edycja strony: W edycję danej strony wchodzimy poprzez naciśnięcie opcji

z :16

KolNet. Konfiguracja kolektora Honeywell i instalacja programu. NET Innovation Software Sp. z o. o.

Instalacja NOD32 Remote Administrator

Połączenie VPN Host-LAN SSL z wykorzystaniem przeglądarki. 1. Konfiguracja serwera VPN 1.1. Ustawienia ogólne 1.2. Konto SSL 1.3. Grupa użytkowników

12. Wirtualne sieci prywatne (VPN)

Wstęp. Skąd pobrać program do obsługi FTP? Logowanie

Z pojedynczym obiekcie zasady grupy znajdziemy dwa główne typy ustawień:

Instalacja programu Warsztat 3 w sieci

Laboratorium 3.4.2: Zarządzanie serwerem WWW

Instrukcja konfiguracji programu Fakt z modułem lanfakt

Rejestratory DVS-NVR0401-4P i DVS-NVR0801-8P. Instrukcja aktywacji rejestratora i dodawania kamer IP

Połączenie VPN SSL Web Proxy. 1. Konfiguracja serwera VPN 1.1. Ustawienia ogólne 1.2. Profile SSL Web Proxy 1.3. Konto SSL 1.4. Grupa użytkowników

Oprogramowanie OpenVPN jest oprogramowaniem darmowym, które można pobrać ze strony:

Konfiguracja oprogramowania w systemach MS Windows dla kont z ograniczonymi uprawnieniami

Ćwiczenie 5b Sieć komputerowa z wykorzystaniem rutera.

Konfiguracja oprogramowania w systemach MS Windows dla kont z ograniczonymi uprawnieniami

KONFIGURACJA SIECIOWA SYSTEMU WINDOWS

KORZYSTANIE Z BAZY DANYCH UpToDate

Laboratorium - Używanie programu Wireshark do obserwacji mechanizmu uzgodnienia trójetapowego TCP

Serwer druku w Windows Server

INSTRUKCJA INSTALACJI I KONFIGURACJI APLIKACJI WEBSOFT CEIDG MONITOR

Spis treści. Instalacja oprogramowania...j... 8 Instalacja pakietów poprzez rpm...j Listowanie zawartości folderu...j... 14

Instalacja i konfiguracja Symfonia.Common.Server oraz Symfonia.Common.Forte

onfiguracja serwera DNS w systemie Windows Server 2008 /2008 R2

Wyszukiwanie plików w systemie Windows

Blokowanie stron internetowych

System operacyjny Linux

Jarosław Kuchta Administrowanie Systemami Komputerowymi. Internetowe Usługi Informacyjne

Pracownia internetowa w każdej szkole (edycja Jesień 2007)

Transkrypt:

mgr Artur Ejsmont SQUID czyli WWW PROXY pod linuxem. 1. Wstęp WWW PROXY jest serwerem pośredniczącym w komunikacji między przeglądarką klienta i serwerem WWW. Serwery tego typu mogą pełnić szereg funkcji między innymi: Cache stron www oraz plików będących elementami stron, głównie obrazki i animacje flash. Pozwala to na bardziej wydajne wykorzystanie łącza zewnętrznego w przypadku często odwiedzanych serwisów i dużej liczby klientów w naszej sieci. Blokowanie dostępu do pojedynczych serwisów lub tworzenie reguł na nazwy domen itd Cache serwerów FTP w celu przyspieszenia pobierania plików i zmniejszenia ruchu. Możliwość udostępniania tylko poszczególnych serwisów lub tworzenie zasad które zezwolą na dostęp do serwisów o określonej tematyce. Możliwość ściślejszego blokowania ruchu w sieci IP z firmy na zewnątrz. Praca jako niewidzialny proxy (wymuszenie by cały ruch www naszej sieci przechodził przez proxy). Nie jest to jednak zalecana metoda ze względu na częste problemy. Praca jako serwer zmniejszający obciążenie serwera WWW buforując jednocześnie pliki które nie muszą być generowane przez serwer zmniejszając jego obciążenie. Proxy może nawet uczestniczyć w równoważeniu obciążenia kierując żądania http do kilku serwerów na przemian. Rozszerzanie funkcjonalności poprzez dodatkowe moduły filtrujące zawartość jak antyvirus czy poszukiwanie programów szpiegowskich. Serwery proxy działają jako pośrednik. Pobierają żądanie HTTP analizują je tak jakby było skierowane do nich a następnie jeśli zezwalają na to reguły zabezpieczeń nawiązują połączenie z serwerem www i pobierają żądane pliki. Serwer proxy może pracować w trybie normalnym lub transparentnym (niewidoczny proxy). W pierwszym przypadku proxy jest zwykłym serwerem w sieci (lokalnej lub nie to nie ma znaczenia). Korzystają z niego wyłącznie komputery które mają wpisany jego adres w ustawieniach przeglądarek i innych programów klienckich (np download managery jak getright czy fdm). Serwer nie uczestniczy jednak w żadnych innych połączeniach. Taki serwer proxy może stać w sieci lokalnej lub w dowolnym miejscu na świecie. Może być tak że kożystamy z serwera proxy w naszej firmie by ograniczyć ilość danych przesyłanych przez naszą sieć lub możemy np. korzystać z dużo większego serwera proxy znajdującego się w naszym mieście by poprawić szybkość transferu z resztą świata (im bardziej uczęszczany serwer proxy tym więcej stron buforuje i może potencjalnie przyśpieszyć nasze surfowanie). Transparentne proxy działa nieco inaczej. Sam serwer proxy działa podobnie jednak z tą różnicą że cały ruch www jest przekierowywany do serwera proxy. Oznacza to przeważnie modyfikacje reguł firewalla polegającą na przekierowaniu wszelkich połączeń z portem 80 do serwera proxy. Ponadto konfiguracja serwera proxy jest zmieniana tak by przyjmował Materiały do zajęć przygotował Artur Ejsmont. 1 / 8

żądania pomimo że nie są do niego adresowane. Transparentne proxy wydaje się kuszące ponieważ buforowane będą zarówno pliki pobierane przez przeglądarki klientów którzy odpowiednio je skonfigurowali jak i przez wszystkich innych. To samo dotyczy innych aplikacji (download managerów itd). Należy jednak pamiętać iż od pewnego czasu coraz więcej aplikacji używa portu 80 do przesyłania swoich danych. Należy więc ostrożnie konfigurować niewidoczne proxy by nie zablokować dostępu do przypadkowych usług. Należy też zachować ostrożność co do poprawnego buforowania by serwer nie podawał starych plików. Użycie transparentnego proxy może być korzystne w większych sieciach, tam gdzie nie mamy dostępu do komputerów klientów oraz gdy chcemy bardzo restrykcyjnie ograniczać dostęp do stron www (np w firmie gdzie działanie programow peer to peer jest wręcz niewskazane). 2. Ustawienie klienta (przeglądarka) Jeśli nie używamy transparentnego proxy przeglądarka będzie zawsze łączyć się bezpośrednio z serwerami WWW. Aby powiedzieć jej że powinna skorzystać z serwera proxy musimy zmodyfikować jej ustawienia. Aby skonfigurować IE wybieramy narzędzia -> opcje internetowe -> połączenia -> ustawienia sieci lan -> użyj serwera sieci LAN -> zaawansowane Aby skonfigurować Mozilla firefox wybieramy: tools -> options -> general -> connection settings W naszych ćwiczeniach będziemy konfigurować przeglądarkę tak by serwerem proxy był adres IP komputera naszego kolegi a portem domyślny port 3128. 3. Serwer SQUID Urochomienie i zatrzymanie serwera w naszym knoppixie wykonujemy za pomocą poleceń: /etc/init.d/squid start /etc/init.d/squid stop W przypadku gdy nasz serwer nie będzie chciał się zatrzymać możemy śmiało wykonać: killall squid Plik konfiguracyjny serwera: /etc/squid/squid.conf Katalog cache z plikami stron oraz inną zawartością keszowaną przez serwer znajdziemy domyślnie w katalogu: /var/spool/squid Serwer posiada też domyślnie angielskie strony błędów. Strony te wyświetlane są w przypadku Materiały do zajęć przygotował Artur Ejsmont. 2 / 8

braku dostępu do serwera, niepoprawnej nazwy domenowej, zabronionego dostępu itd. Strony te możemy zmodyfikować i dostosować do naszych potrzeb. Pliki znajdują się w katalogu: /usr/lib/squid/errors/english Serwer posiada domyślne pliki w języku polskim. Możemy więc zmienić ścieżkę do plików z komunikatami o błędach zmieniając parametr error_directory a następnie modyfikując polską wersję komunikatów. Plik konfiguracyjny jest strasznie wielki więc powinniśmy używać wyszukiwania w tekście by odnajdywać pożądane parametry i wpisywać ich wartości zaraz pod opisem parametru. Nie jest dobrą praktyką wpisywanie wartości na początku pliku bo łatwo pogubić się w tym co jest gdzie ustawione. Do wyświetlenia aktualnej konfiguracji przyda nam się polecenie filtrujące plik np.: cat /etc/squid/squid.conf grep -e "^[^#]" less Polecenie to listuje zawartość pliku i wybiera tylko niepuste wiersze które nie zaczynają się od znaku komentarza. Pozwoli to na skuteczne sprawdzenie jakie parametry są ustawione (jak widać wszystko jest pozostawione z wartościami domyślnymi. Dodano jedynie trochę reguł acl (o nich za chwilę). Zawartość będzie można przewijać w górę i dół ponieważ wynik przekazaliśmy do polecenia less. Przeglądanie zakończymy przyciskiem escape. Serwer squid nie posiada manuala dla swojego pliku konfiguracyjnego, zamiast tego dokumentację wszelkich dostępnych opcji znajdziemy bezpośrednio w pliku konfiguracyjnym. Plik jest przez to strasznie wielki jednak wygodnie jest mieć wszystko pod ręką. Ponadto dokumentacja znajduje się pod adresem: http://squid.visolve.com/squid/squid24s1/contents.htm W przypadku naszego serwera proxy będziemy modyfikować jedynie listy kontroli dostępu (acl). Nie będziemy modyfikować ustawień serwera takich jak porty, ścieżki do katalogów z cache, rozmiar pamięci ani miejsca na dysku itd. Zadania: 1. Przejrzyj pierwszą stronę z dokumentacją (link podany powyżej). Przeczytaj jakie są dostępne sekcje pliku konfiguracyjnego oraz za co odpowiadają. Przejrzyj też nazwy parametrów. 2. Otwórz plik configuracyjny serwera /etc/squid/squid.conf i przejrzyj dostępne opcje za pomocą klawiszy pagedown i pageup. Plik jest bardzo długi więc nie czytaj dokładnie działania poszczególnych parametrów a jedynie przejrzyj ich nazwy. Nazwy parametrów powinny podpowiedzieć do czego służy parametr i dać wyobrażenie jakie rzeczy możemy potencjalnie zmienić w konfiguracji serwera. 3. Przeglądając plik konfiguracyjny pomiń access controls i przejdź od razu do następnej sekcji 4. Przeglądanie powinno zająć około 15 minut więc nie czytaj zbyt dokładnie opisów parametrów a jedynie postaraj się przeczytać ich nazwy i z jedno lub dwa zdania opisu. 5. Wykonaj polecenie (zobaczysz jedynie aktywne ustawienia) cat /etc/squid/squid.conf grep -e "^[^#]" less Materiały do zajęć przygotował Artur Ejsmont. 3 / 8

4. Wstęp do list kontroli dostępu ACL Najważniejsza część pliku konfiguracyjnego SQUID (z naszego punktu widzenia) to listy kontroli dostępu. Za ich pomocą będziemy określać dla jakich adresów IP pełnimy funkcję serwera, jakie domeny są zakazane, jakie dozwolone, jakie porty są dozwolone itd. Mechanizm list kontrolnych sprowadza się do dwóch kroków. 1. Definiujemy elementy ACL 2. Dodajemy elementy ACL do list Składnia definiowania elementów ACL jest następująca: acl nazwa_elementu typ_elementu argument_lub_argumenty Przykładowo: acl lokalna src 192.168.192.0/255.255.255.0 Definiuje nam element ACL typu scr (źródłowy adres IP z określonej podsieci). Dodanie elementu do listy ACL polega na dodanie wpisu z nazwą listy słowem allow lub deny oraz listą elementów. nazwa_listy allow deny element1 element2... Przykładowo: http_access allow lokalna Dodaje zdefiniowany wcześniej element lokalna do listy http_access zezwalając na dostęp. UWAGA Wpisy w liście są sprawdzane w tej kolejności w jakiej zostaną wpisane do pliku. Jeśli połączenie nie spełnia warunków wpisu sprawdzane są kolejne Wpisy w liście przestają być sprawdzane gdy natrafimy na pasującą regułkę Wpis w liście zawierający więcej niż jeden element będzie dopasowany tylko gdy spełnione będą wszystkie warunki jednocześnie. przykład: acl serwer dst 212.191.65.6/255.255.255.255 acl lokalna src 192.168.192.0/255.255.255.0 http_access deny serwer lokalna Taki wpis w liście spowoduje że jeśli jednocześnie spełnione będą warunki: adres docelowy serwera kolos oraz adres źródłowy z sieci lokalnej to połączenie będzie dopuszczone ACL działa podobnie do iptables. Parametry określamy tu definiując elementy acl. Analogia ta jest pomocna tylko jeśli znamy działanie iptables, no ale przecież od dawna już znamy ;-) Poniżej lista najważniejszych typów elementów ACL: src: source ip klienta dst: destination ip serwera dstdomain: nazwa domenowa serwera srcdom_regex: wyrażenie regularne dopasowujące nazwę domenową klienta dstdom_regex: wyrażenie regularne dopasowujące nazwę domenową serwera time: czas (dzień tygodnia, godzina itd) url_regex: wyrażenie regularne dopasowujące adres URL Materiały do zajęć przygotował Artur Ejsmont. 4 / 8

port: port docelowy myport: port z jakim połączył się klient proto: protokół (http, ftp itd) method: metoda HTTP (post, get itd) maxconn: limit połączeń z jednego adresu ip rep_mime_type: wyrażenie regularne dopasowujące odpowiedź serwera external: wykorzystanie zewnętrznego narzędzia Poniżej najważniejsze listy ACL do których możemy dodawać wpisy: http_access: Podstawowa lista zezwalająca klientom na połączenia z serwerami www http_reply_access: Lista zezwalająca na odbiór danych od serwera, powinna być używana z rep_mime_type by ograniczać typ danych pobieranych z sieci. no_cache: Jakie odpowiedzi nie powinny być keszowane redirector_access: Określa jakie połączenia powinny być przekierowywane always_direct: Jakie połączenia powinny być zawsze kierowane bezpośrednio do serwera never_direct: Jakie połączenia nie powinny być nigdy kierowane bezpośrednio do serwera deny_info: strona błędu jaka ma być pokazana w przypadku zablokowania dostępu 5. Uruchamiamy serwer Aby uruchomić serwer musimy dodać jeden wpis acl dla komputera naszego kolegi oraz dodać go do listy przyjmowanych połączeń. Zadanie: 1. Odszukaj sekcję acl w pliku konfiguracyjnym. 2. Przejdź do definicji listy all 3. Zdefiniuj nową listę z komputerem kolegi oraz dodaj wpis zezwalający na połączenia z tego adresu (poniżej allow localhost). Oczywiście nie zapomnij wpisać adres IP kolegi. acl kolega src 192.168.192.0/255.255.255.255 http_access allow lokalna 4. Uruchom serwer 5. Wpisz swój adres IP oraz port 3128 jako serwer proxy w przeglądarce kolegi. 6. Następnie podglądaj ruch na swoim serwerze: 1. Uruchom na swoim komputerze konsole. 2. Przeloguj się na użytkownika root poleceniem su. 3. Uruchom program iptraf. Program ten domyślnie nasłuchuje wyłącznie komunikacji z naszym komputerem więc nie będziemy widzieć zbędnych połączeń w sieci lokalnej. 4. Wybierz opcję ip trafic monitor a potem all interfaces. 7. W przeglądarce kolegi spróbuj otworzyć jakąś stronę internetową np. www.onet.pl 8. Patrz czy widzisz połączenia w oknie iptraf i zwróć uwagę na porty oraz kierunek i stan połączeń. Sortuj po ilości przesyłanych danych. 9. Wyjdź z opcji iptraf by wyczyścić listę wejdź ponownie i przeładuj stronę u kolegi. Zastanów się co dzieje się po przeładowaniu strony i czy to powinno się właśnie dziać. 10. Teraz zrób ten sam eksperyment ze stroną wydziału (www.math.uni.lodz.pl) 11. Czy ruch za pierwszym razem jest tak samo duży jak za kolejnymi odsłonami? 12. Jeśli doszedłeś do wniosku że nie to dobrze ;-) strony takie jak onet, wp i inne serwisy dynamiczne posiadają znaczniki html mówiące o tym że nie wolno ich buforować w przeglądarce ani serwerach proxy. Dlatego każde odwołanie do strony powoduje tak samo duży ruch sieciowy. W przypadku strony wydziałowej która nie posiada tych znaczników cała Materiały do zajęć przygotował Artur Ejsmont. 5 / 8

zawartość może być buforowana. 13. (dla chętnych) Podejrzyj źródło strony onetu i wydziałowej, zwróć uwagę na znaczniki w sekcji head. 14. Wykonaj polecenie du -h /val/spool/squid aby zobaczyć jak dużo zboforował nasz serwer. 6. Przykłady zastosowania ACL Poniżej zamieszczam trochę przydatnych przykładów aby lepiej zademonstrować możliwości list oraz ułatwić zadania do wykonania ;-) Wszystkie przykłady proszę traktować tak jakby były jedynymi wpisami w listach (jeśli przed przykładem są inne regułki to może on w ogóle nie być użyty) 1. Połączenia będą przyjmowane jedynie z określonej sieci w dni robocze w godzinach pracy acl ip_acl src 192.168.2.0/24 acl time_acl time M T W H F 7:30-18:00 http_access allow ip_acl time_acl http_access deny all 2. Zobaczmy jak składają się warunki logiczne. 1. Chcąc pozwolić kierownikowi na łączenie się o dowolnej porze dnia i nocy dodajemy wpis z regułką bez czasu (tylko adres ip musi być dopasowany żeby zezwolić na połączenie). 2. Chcąc by kierownik2 mógł łączyć się rano lub wieczorem ale nie w nocy dodamy dwa wpisy zezwalające na połączenia z jego adresu ip w godzinach porannych i wieczornych. Nie ma znaczenia że czasy się nakładają. Trzeba zwrócić uwagę na to że jeśli chcemy połączyć warunki operatorem logicznym LUB musimy utworzyć dwa osobne wpisy. 3. Dalej jeśli chcemy by user1 łączył się tylko rano a user2 tylko wieczorem dodajemy po jednej regółce. Deny all na końcu listy zapewnia nam że nie będą się mogli łączyć poza tymi godzinami. 4. No i w końcu błędny wpis. Nie jest on błędny jednak nie będzie działać tak jak możnaby oczekiwać. Jeśli wpis listy zawiera kilka elementów ACL to wszystkie warunki muszą być spełnione jednocześnie by połączenie zostało dopasowane. Tak więc wpis dla adresu blad będzie zezwalał na połączenia w godzinach 12-16 ponieważ tylko wtedy spełnione są jednocześnie warunki rano oraz wieczor. W przypadku rozłącznych przedziałów czasowych warunek nigdy nie mógłby być spełniony. acl kierownik1 src 172.161.163.1 acl kierownik2 src 172.161.163.2 acl user1 src 172.161.163.3 acl user2 src 172.161.163.4 acl blad src 172.161.163.5 acl rano time 08:00-16:00 acl wieczor time 12:00-20:00 http_access allow kierownik1 http_access allow kierownik2 rano http_access allow kierownik2 wieczor http_access allow user1 rano http_access allow user2 wieczor http_access allow blad rano wieczor http_access deny all 3. Jeśli nie chcemy żeby nasi użytkownicy instalowali jakieś programy lub same im się instalowały bo kiepsko się znają na komputerach można pokusić się o zablokowanie niektórych rozszerzeń plików dla określonych komputerów. Proszę zwrócić uwagę na to że Materiały do zajęć przygotował Artur Ejsmont. 6 / 8

jeśli chcemy podać całą sieć podajemy adres z odpowiednią maską. W przypadku pojedynczego komputera podajemy maskę 255.255.255.255 co oznacza ten konkretny adres. Jak widać w przykładzie możemy też podać zakres adresów ip poprzez użycie myślnika i maski 255.255.255.255. Takie ustawienie kolejności wpisów spowoduje że adresy z przedziału 10-20 nie będą mogły pobierać plików. Pozostali użytkownicy z naszej sieci będą mogli wszystko. acl local_users src 192.168.1.0/255.255.255.0 acl restricted_files urlpath_regex \.zip$ \.exe$ \.vbs$ \.rar$ \.bat$ acl restricted_users src 192.168.1.10-192.168.1.20/255.255.255.255 http_access deny restricted_users restricted_files http_access allow local_users 4. Jeśli lista blokowanych domen lub elementów adresów URL jakie chcemy blokować jest duża możemy umieścić ją w osobnym pliku. acl lista url_regex -i "/etc/squid/lista.txt" http_access deny lista 5. Jeśli mamy taką potrzebę możemy odblokować lub blokować całe domeny wraz ze wszystkimi poddomenami. acl zezwalaj dstdomain.gov.pl http_access allow zezwalaj 6. Jeśli nie lubimy download managera naszego pracownika bo nawiązuje za dużo połączeń i generuje za duży ruch możemy nałożyć limit jednoczesnych połączeń. acl user1 src 10.1.1.12 acl maxpolaczen maxconn 3 http_access deny user1 maxpolaczen 7. Jeśli chcemy nałożyć jakieś ograniczenia na połączenia i pokazywać własną stronę błędu możemy to zrobić w następujący sposób. acl porn url_regex -i "/usr/local/squid/etc/porno.txt" deny_info ERR_NO_PORNO porn http_access deny porn 8. Możemy zezwalać na (lub blokować) dostęp do adresów spełniających określone wyrażenie regularne. Stosując parametr -i wielkość liter będzie pomijana tak że slowo = Slowo itd. Przykład zezwala na pobieranie dowolnych plików jpeg i zabrania pobieranie plików gif jeśli w ścieżce lub nazwie pliku zawarte jest określone słowo. acl blokowac urlpath_regex -i slowo.*\.gif$ acl zezwalac urlpath_regex -i \.jpeg$ http_access deny blokowac http_access deny zezwalac Zadania: 1. Zezwól na korzystanie ze swojego serwera proxy całej naszej sieci wydziałowej. Regułka zezwalająca powinna na dostęp z naszej sieci lokalnej powinna być ostatnia zaraz przed regułką zabraniającą dostęp wszystkim. 2. Sprawdź czy serwer działa na komputerach kolegów (wpisz swój adres ip i port 3128 w ich przeglądarce). 3. Wpisz powyższe przykłady i sprawdź ich działanie. 1. zatrzymaj serwer 2. wprowadź zmiany w konfiguracji dodając wpisy z kolejnego przykładu 3. uruchom serwer 4. sprawdź w przeglądarce czy połączenie zostaje nawiązane 4. Zmodyfikuj przykłady tak żeby zobaczyć czy faktycznie działają, np. ograniczenia czasowe zmień tak by zobaczyć zarówno poprawny jak i negatywny wynik. 5. W przykładzie 4 oraz 7 utwórz plik z listą domen. W każdym wierszu osobny wpis. Wpisz domeny gastea.pl i onet.pl. Utwórz plik komunikatu o błędzie w odpowiednim katalogu (patrz Materiały do zajęć przygotował Artur Ejsmont. 7 / 8

rozdzial 3). Wpisz w komunikacie o błędzie tekst "Blokujemy dostęp do tej domeny. 6. Wyczyść wszystkie edytowane wpisy acl (zakomentuj znakeim #). 7. Utwórz konfigurację która spełni następujące założenia: 1. Zdefiniuj elementy typu src dla wszystkich, sieci wydziałowej, kolegi po prawej, kolegi po lewej, komputera z windowsem. 2. Dodaj wpis aby nie keszować domeny uni.lodz.pl (wraz z poddomenami) sprawdź transfery 3. Zabraniaj na dostęp (wszystkim) jeśli w nazwie domeny jest słowo czat lub chat lub blog 4. Utworzyć komunikat z treścią "nie wchodź na czaty" i pokazuj jeśli zablokowano domene 5. Zabraniaj na dostęp (wszystkim) jeśli w url znajdzie się słowo gadu lub gg (litery duże i małe) 6. Utwórz komunikat błędu z treścią "NIE WOLNO KLIKAĆ" i pokazuj go gdy zablokowany zostanie dostęp z powodu pojawienia się słów gg, gadu 7. Zabraniaj koledze po prawej otwierać wp.pl (z poddomenami) 8. Zabraniaj koledze po lewej na dostęp do serwisów ze słowem blog w url 9. Zabraniaj koledze po prawej pobieranie plików zip, rar, exe, com, bat 10. Zabraniaj koledze po lewej na pobieranie plików avi, mpg, mpeg, mp3, m3u, asf, dat, rm 11. Zabraniaj koledze po prawej na wykonywanie więcej niż 1 połączenie jednocześnie 12. Zezwolić na dostęp dla kolegi po prawej w godzinach od rana do 14 13. Zezwolić na dostęp dla kolegi po lewej w godzinach od 14 do wieczora 14. Zezwolić na dostęp dla sieci wydziałowej 15. Zabronić dostępu całej reszcie 8. Sprawdź działanie poszczególnych ustawień, jeśli trzeba odnajdź odpowiednie strony lub domeny i zobacz czy faktycznie są blokowane na komputerach odpowiedniego kolegi i nie blokowane na komputerze drugiej osoby. Materiały do zajęć przygotował Artur Ejsmont. 8 / 8