Proxy
Z wiki linux-user
Linia 16: | Linia 16: | ||
*/var/log/squid/squid.out | */var/log/squid/squid.out | ||
*/var/log/squid/store.log | */var/log/squid/store.log | ||
+ | Aby uruchomić serwer wydajemy polecenie | ||
+ | service squid start | ||
+ | restartowanie serwera | ||
+ | service squid restart | ||
+ | lub przeładowanie konfiguracji | ||
+ | service squid reload | ||
+ | oraz zatrzymywanie serwera squid | ||
+ | service squid stop | ||
+ | aby skonfigurować automatyczne włączanie się squida po uruchomieniu serwera wydajemy polecenie | ||
+ | chkconfig squid on | ||
=== Podstawowe opcje === | === Podstawowe opcje === | ||
Linia 34: | Linia 44: | ||
acl [nazwa_ACL] [typ] [parametry] | acl [nazwa_ACL] [typ] [parametry] | ||
niektóre z ciekawszych typów to | niektóre z ciekawszych typów to | ||
+ | |||
** '''arp''' adres ''MAC'' klienta | ** '''arp''' adres ''MAC'' klienta | ||
** '''browser''' przeglądark, która wysłała zapytanie | ** '''browser''' przeglądark, która wysłała zapytanie | ||
Linia 57: | Linia 68: | ||
lub | lub | ||
http_port 80 vhost | http_port 80 vhost | ||
+ | |||
+ | === Inne opcje === | ||
+ | aby uzyskać więcej informacji na temat działania serwera możemy dodać opcję | ||
+ | debug_options ALL,1 33,2 | ||
+ | lub jeszcze więcej | ||
+ | debug_options ALL,1 33,2 28,9 | ||
+ | informacje będą zachowywane w pliku ''/var/log/squid/cache.log'' | ||
+ | Aby uruchomić serwer squid w trybie pełnego debugowania używamy opcji | ||
+ | squid -NX | ||
+ | |||
+ | === Przykłady === | ||
+ | Poniżej przedstawiam kilka przykładowych opcji, które można wkleić bezpośrednio do swojej konfiguracji squida (plik squid.conf) | ||
+ | |||
+ | Blokowanie wybranej witryny | ||
+ | acl blokowana1 url_regex wp\.pl | ||
+ | http_access deny blokowana1 | ||
+ | |||
+ | Blokowanie wybranych domen znajdujących się w pliku tekstowym | ||
+ | acl zakazane url_regex "/etc/squid/lista_domen_zakazanych.txt" | ||
+ | http_access deny zakazane | ||
+ | |||
+ | Autoryzacja użytkowników | ||
+ | auth_param basic program /usr/lib64/squid/pam_auth | ||
+ | auth_param basic children 5 | ||
+ | auth_param basic realm Logowanie | ||
+ | auth_param basic credentialsttl 1 hours | ||
+ | oraz wymuszamy autoryzację przy pomocy acl: | ||
+ | acl password proxy_auth REQUIRED | ||
+ | http_access allow password | ||
+ | |||
+ | Pliki użytkowników i haseł | ||
+ | tworzymy plik z hasłami i nazwami użytkowników | ||
+ | htpasswd -c /etc/squid/passwd user1 | ||
+ | nadajemy mu odpowiednie uprawnienia | ||
+ | chmod o+r /etc/squid/passwd | ||
+ | dodajemy obsługę uwierzytelniania poprzez plik haseł: | ||
+ | auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/passwd | ||
+ | auth_param basic children 5 | ||
+ | auth_param basic realm Squid proxy-caching web server | ||
+ | auth_param basic credentialsttl 2 hours | ||
+ | auth_param basic casesensitive off | ||
+ | ustawiamy odpowiednie acl i listy dostępu: | ||
+ | acl ncsa_users proxy_auth REQUIRED | ||
+ | http_access allow ncsa_users | ||
+ | opis wykorzystanych przełączników: | ||
+ | * '''auth_param basic program''' określa położenie pliku z hasłami oraz programu pomocniczego | ||
+ | * '''auth_param basic children''' ilość procesów uwierzytelniania | ||
+ | * '''auth_param basic realm''' część tekstu jaki zobaczy użytkownik podczas wprowadzania nazwy użytkownika i hasła | ||
+ | * '''auth_param basic credentialsttl''' jak długo będzie utrzymywana autoryzacja | ||
+ | * '''auth_param basic casesensitive''' określa czy w nazwie użytkownika mają być rozpoznawana duże i małe litery | ||
+ | |||
+ | === Squid jako transparent proxy === | ||
+ | ustawiamy squid tak, aby działa jak przezroczyste proxy | ||
+ | http_port 3128 transparent | ||
+ | przy pomocy [[Firewall|firewalla]] ustawiamy przekierowanie całego ruchu z portu 80 na port squid | ||
+ | iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128 | ||
+ | '''UWAGA''' nie można posługiwać się uwierzytelnianiem w trybie przeźroczystego proxy | ||
+ | |||
<br /><google1 style="4"></google1> | <br /><google1 style="4"></google1> |