-
Squid w CentOS i nie tylko- część 2
W poprzedniej części tutoriala na temat squida opisałem jego wstępną konfigurację. Dzisiaj zajmiemy się trochę bardziej zaawansowanymi opcjami. Na początek zmuśmy nasze proxy do „keszowania”. Edytujemy w tym celu plik „/etc/squid/squid.conf” i dopisujemy lub odhaszowujemy następujące linie:
cache_mem 32 MB # wielkość pamięci operacyjnej przeznaczonej na cache
cache_dir ufs /var/spool/squid 1024 16 256 # określamy miejsce na dysku, gdzie będzie przechowywany cache, liczba 1024 oznacza pojemność pamięci ustaloną na 1 GB, druga liczba katalogów pierwszego poziomy. Wyliczamy ją dzieląc miejsce przeznaczone na cache przez średnią wielkość obiektu, a następnie wynik jeszcze raz dzielimy przez 32
cache_log /var/log/squid/cache.log # ścieżka do pliku z logami
cache_swap_low 90 # określamy po osiągnięciu jakiego stopnia zapełnienia bufora dyskowego, ma zaczynać się wymiana starszej treści na nowszą
cache_swap_high 95 # po osiągnięciu tego pułapu następuje agresywna polityka wymiany starszej treści na nowszą
refresh_pattern -i \.(gif|jpg|jpeg|png|html|bmp) 4320 90% 43200
powyższa reguła dotyczy plików z podanymi rozszerzeniami, liczba 4320 oznacza minimalny czas (w minutach) obiektu w cache, a ostatnia maksymalny czas, środkowa liczba wyrażona w procentach oznacza stosunek wieku obiektu do czasu jego ostatniej modyfikacji
maximum_object_size 65536 KB # maksymalna wielkość pliku
maximum_object_size_in_memory 20 KB # maksymalna wielkość obiektu w pamięci
Teraz czas na ustawienie blokowania dostępu do określonych stron
acl nazw_regulki url_regex „/etc/squid/blokowanie_www.acl” # określamy nazwę, metodę (tutaj po adresie URL z użyciem wyrażeń regularnych) oraz położenie pliku z adresami witryn
http_access deny mazwa_regulki # aktywacja reguły blokującej
Przykładowa zawartość pliku „/etc/squid/blokowanie_www.acl”:
^http://nazwa-fitryny.plvisible_hostname nasza-nazwa # ta opcja nie ma nic wspólnego z „keszowaniem”, ale może się przydać bowiem dotyczy nazwy domenowej naszego squida
Teraz przystąpmy do autoryzacji dostępu. Na razie skupmy się na autoryzacji przy użyciu „ncsa_auth”. Istnieją jeszcze inne metody, takie jak LDAP, SQL.
auth_param basic program /usr/lib/squid/ncsa_auth ściezka_do_pliku_z_userami_hasłami # plik o którym wspomniałem generujemy znanym narzędziem htapasswd
auth_param basic children 5 # ilość procesów potomnych zależna jest od ilości użytkowników naszego proxy (im ich więcej, tym ta liczba powinna być większa)
auth_param basic credentialsttl 2 hours # czas ważności naszej autoryzacji
auth_param basic realm teks_pojawiający_się_w_okienku_z_hasłem # możemy tu ustawić tekst pojawiający się w oknie autoryzacji
acl AuthorizedUsers proxy_auth REQUIRED # regułka wymagania autoryzacji użytkowników
http_access allow AuthorizedUsers # dopuszczenie do użytkowania squida przez zaautoryzowanych użytkowników
http_access deny all # blokada dostępu dla wszystkich, których nie dotyczyły powyższe reguły.
Mam nadzieję, że powyższe informacje okażą się przydatne i pomocne. W razie problemów, zapraszam na nasze forum. Część 1 tutoriala