komputerowa Serwer proxy Squid Marcin Bieńkowski Instytut Informatyki Uniwersytet Wrocławski komputerowa () Serwer proxy Squid 1 / 10
Wprowadzenie Po co nam serwer proxy? Ograniczanie ruchu do/z zewnętrznych stron www przez przechowywanie ich zawartości w pamięci wewnętrznej serwera Ograniczanie ruchu przez ograniczanie dostępnej przepustowości dla WWW Kontrolowanie dostępu do zasobów sieci Web komputerowa () Serwer proxy Squid 2 / 10
Wprowadzenie Podstawowe opcje serwera Squid http_port 3128 (często używamy 8080) visible_hostname squid komputerowa () Serwer proxy Squid 3 / 10
Wprowadzenie Mechanizmy cache cache_replacement_policy lru: least recently used - najdawniej używany heap GDSF: wyrzuca duże obiekty heap LFUDA: wyrzuca najrzadziej używane obiekty memory_replacement_policy cache_dir ufs /var/cache/squid 100 16 256 ufs klasyczny dostęp do dysku (zbyt wiele operacji wejścia/wyjścia może spowolnić serwer Squid) aufs asynchroniczny UFS używajacy watków, niższe ryzyko rywalizacji o dostęp do dysku diskd demon diskd unikajacy rywalizacji o dostęp do dysku, ale używajacy więcej pamięci Po zmianie parametrów cache_dir, nowe katalogi nie utworza się automatycznie, trzeba użyć polecenia squid -z komputerowa () Serwer proxy Squid 4 / 10
Wprowadzenie Mechanizmy cache cache_replacement_policy lru: least recently used - najdawniej używany heap GDSF: wyrzuca duże obiekty heap LFUDA: wyrzuca najrzadziej używane obiekty memory_replacement_policy cache_dir ufs /var/cache/squid 100 16 256 ufs klasyczny dostęp do dysku (zbyt wiele operacji wejścia/wyjścia może spowolnić serwer Squid) aufs asynchroniczny UFS używajacy watków, niższe ryzyko rywalizacji o dostęp do dysku diskd demon diskd unikajacy rywalizacji o dostęp do dysku, ale używajacy więcej pamięci Po zmianie parametrów cache_dir, nowe katalogi nie utworza się automatycznie, trzeba użyć polecenia squid -z komputerowa () Serwer proxy Squid 4 / 10
Wprowadzenie Mechanizmy cache cache_replacement_policy lru: least recently used - najdawniej używany heap GDSF: wyrzuca duże obiekty heap LFUDA: wyrzuca najrzadziej używane obiekty memory_replacement_policy cache_dir ufs /var/cache/squid 100 16 256 ufs klasyczny dostęp do dysku (zbyt wiele operacji wejścia/wyjścia może spowolnić serwer Squid) aufs asynchroniczny UFS używajacy watków, niższe ryzyko rywalizacji o dostęp do dysku diskd demon diskd unikajacy rywalizacji o dostęp do dysku, ale używajacy więcej pamięci Po zmianie parametrów cache_dir, nowe katalogi nie utworza się automatycznie, trzeba użyć polecenia squid -z komputerowa () Serwer proxy Squid 4 / 10
ACL-e Kontrola dostępu Kontrola dostępu składa się z określenia kategorii i nadania uprawnień tym kategoriom 1 Określanie kategorii: acl nasza_siec src 1.2.3.4/24 acl all src 0.0.0.0/0 2 Nadanie uprawnień kategoriom: http_access allow nasza_siec http_access deny all Można też filtrować po porze dnia, protokole, porcie, adresach URL... komputerowa () Serwer proxy Squid 5 / 10
ACL-e Kontrola dostępu Kontrola dostępu składa się z określenia kategorii i nadania uprawnień tym kategoriom 1 Określanie kategorii: acl nasza_siec src 1.2.3.4/24 acl all src 0.0.0.0/0 2 Nadanie uprawnień kategoriom: http_access allow nasza_siec http_access deny all Można też filtrować po porze dnia, protokole, porcie, adresach URL... komputerowa () Serwer proxy Squid 5 / 10
Kontrola dostępu Filtrowanie po wybranych adresach URL Przykład: acl blokowany-url url_regex aaa acl blokowany-url url_regex \.htm$ http_access deny blokowany-url http_access allow nasza_siec http_access deny all komputerowa () Serwer proxy Squid 6 / 10
Zaawansowane techniki Transparent proxy Możliwe jest skonfigurowanie Squida w trybie transparent proxy. Odpowiednia reguła zapory sieciowej przekierowuje do lokalnego serwera proxy wszystkie przechodzace przez router połaczenia skierowane do serwerów WWW. iptables -t nat -A PREROUTING -p tcp -dport 80 -j REDIRECT -to-ports 8080 Do konfiguracji Squida dodajemy: httpd_accel_host virtual httpd_accel_port 80 httpd_accel_with_proxy on httpd_accel_uses_host_header on komputerowa () Serwer proxy Squid 7 / 10
Zaawansowane techniki Hierarchie serwerów cache Siec szkieletowa Wymiana pomiędzy serwerami z tego samego poziomu za pomoca protokołu ICP Cliparty ze strony http://jimmac.musichall.cz/i.php?i=computer-clipart komputerowa () Serwer proxy Squid 8 / 10
Zaawansowane techniki Hierarchie serwerów cache Siec szkieletowa ICP ICP Wymiana pomiędzy serwerami z tego samego poziomu za pomoca protokołu ICP Cliparty ze strony http://jimmac.musichall.cz/i.php?i=computer-clipart komputerowa () Serwer proxy Squid 8 / 10
Zaawansowane techniki Działanie w trybie httpd-accelerator Tryb przyśpieszacza: odwrócenie standardowej sytuacji Serwery proxy stojace obok serwera WWW i odciażaj ace go Akamai (używaja zmodyfikowanej wersji Squida) komputerowa () Serwer proxy Squid 9 / 10
Literatura Literatura Duane Wessels Squid: The Definitive Guide O Reilly & Associates Daniel Kiracofe Transparent Proxy with Linux and Squid mini-howto http://www.faqs.org/docs/linux-mini/transparentproxy.html komputerowa () Serwer proxy Squid 10 / 10