Debian Squeeze Proxy squid

Miután túl vagyunk a tűzfal konfiguráláson és az útvonal választáson, állítsuk be a proxy-t, hogy legyen netünk is.

Telepítsük fel:

apt-get install squid3

Az /etc/init.d/squid3/squid.conf fájlban találjuk a konfigurációs lehetőségeinket.

Az squid az összes hálókártyán figyel alapértelmezetten. Vegyük fel milyen portokat használjon:
http_port 3128 transparent
http_port 8080 transparent

Mi ezt a kettőt választottuk lehetett volna többet vagy kevesebbet is. Ugye a tűzfalban mi a 80-as portról érkező csomagokat a 3128-ra irányítottuk át, de a 8080-asra lehet lehet.

Ezután következnek a log fájlok elérési útja, majd a cache méretek és mappák helyei. Alapértelmezetten szoktuk használni őket, nem nagyon állítunk rajtuk, mert alapból megfelelőek. A domain neveket azért írjuk át.

access_log /var/log/squid3/access.log squid
buffered_logs on
cache_mem 100 MB
cache_mgr admin@mail.ceg.hu
cache_dir ufs /var/spool/squid3 200 16 256
coredump_dir /var/spool/squid3
error_directory /usr/share/squid3/errors/Hungarian
hosts_file /etc/hosts
icp_port 0
ie_refresh on
log_icp_queries off
redirect_rewrites_host_header off
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320
visible_hostname proxy.ceg.hu

A 'cgi-bin', ill. '?' karaktereket tartalmazó URL-eken található objektumokat nem cache-eljük és az msn-t tiltjuk.
acl QUERY urlpath_regex cgi-bin \?
acl msnmsgr req_mime_type -i ^applicaiton/x-msn-messenger$

Adjuk meg a localhostot és az ip tartományunkat amin akarjuk, hogy figyeljen a proxy és a védett portokat.
acl localhost src 127.0.0.1/255.255.255.255
acl localnet src 10.0.0.0/255.0.0.0
acl safe_ports port 21 70 80 119 210 441 443 445 563 1025-65535

Csinálhatunk kedvünkre acl-eket, amikben megadhatjuk, hogy milyen ip tartományokat fogunk majd kezelni.

acl iroda src 10.1.5.0/24
acl titkarsag src 10.0.4.0/24

Adjunk meg további beállításokat:

acl CONNECT method CONNECT
acl purge method PURGE
acl manager proto cache_object

Adhatunk meg szűrési feltételeket, pl bannereket és játékokat is szűrhetünk:

acl denied_dolgozok url_regex "/etc/squid3/files/denied_dolgozok.acl"
tartalma:
/adv/.*.gif$
/adv/.*.swf$
/ads/.*.gif$
/ads/.*.swf$
/game/.*.swf$
/games/.*.swf$
/[Aa][Dd][Ss]/.*.gif$
/[Aa][Dd][Ss]/.*.swf$
/[Aa][Dd][Pp]ix/
/[Aa][Dd][Ss]erver
/[Aa][Dd]/.*.[GgJjPpSs][IiPpNnWw][FfGg]$
/[Bb]anner/
/[Bb]anners/
/[Bb]anner[Aa][Dd][Ss]/
/[Ff]lashjatekok/
/[Gg]ame/
/[Gg]ames/
/banner.*.[GgJjPpSs][IiPpNnWw][FfGg]$
/game.*.[Ss][Ww][Ff]$

vagy domaineket is tilthatunk:
acl denied_domains dstdomain "/etc/squid3/files/denied_domains.acl"
tartalma:
.baratikor.com
.ebuddy.com
.e-buddy.com
.iloveim.com
.inda.hu
.inda.net
.iwiw.hu
.iwiw.net
.meebo.com
.messenger.hotmail.com
.messengerfx.com
.msn2go.com
.myvip.com
.myvip.hu
.myvip.net
.ppl.com
.ppl.hu
.ppl.net
.tinypic.com
.troodi.com
.youtube.com
.youtube.net
.videa.be
.videa.hu
.videok.hu
.videoplayer.hu
.videoplayer.com
.video.google.com
.vodpod.com
.webmessenger.msn.com

vagy fájlkiterjesztéseket:
acl filetypes urlpath_regex -i "/etc/squid3/files/denied_filetypes.acl"
tartalma:

\.(asf)$
\.(asx)$
\.(au)$
\.(avi)$
\.(bin)$
\.(cda)$
\.(cue)$
\.(iso)$
\.(mod)$
\.(mov)$
\.(mp2)$
\.(mp3)$
\.(mp4)$
\.(mpeg)$
\.(mpg)$
\.(nrg)$
\.(ogg)$
\.(ram)$
\.(rm)$
\.(snd)$
\.(voc)$
\.(wav)$
\.(wma)$
\.(wmf)$
\.(wmv)$

Vehetünk fel időkorlátot is, hogy egy aktuális tiltás milyen időintervallumra legyen érvényes:
acl munkaido time M T W H F 8:00-16:00

Még pár beállítást adjunk meg:
always_direct allow all
icp_access allow all
no_cache deny QUERY localnet

Ha szeretnénk, hogy valamelyik acl-ünk érvénybe lépjen, akkor vegyünk fel https_access kezdetű sorokat és allow vagy deny-vel tiltsuk vagy engedélyezzük őket.

Fektessük le az alapszabályokat:

http_access allow manager localhost
http_access deny manager
http_access allow purge localhost
http_access deny purge
http_access deny !safe_ports

Tiltsuk kedvünkre, akár idő intervallumot megadva is.
http_access deny denied_domains
http_access deny url_ads
http_access allow t201t denied_diak
http_access deny t201 denied_diak
http_access allow iroda denied_domains
http_access deny titkarsag filetypes
http_access deny titkarsag msnmsgr munkaido

A fájl vége mindig így nézzen ki:
http_access allow localhost
http_access allow localnet
http_access deny all
http_reply_access allow all

A delay_pools paraméterrel lehet sávszélességet korlátozni, nekünk valamiért nem volt teljesen jó anno. Ezért nem foglalkoztunk vele, de több idő ráfordítással biztosan működhet jól is.

Több netvonal esetén, hogy a proxynk kezelje a többi vonalat használnunk kell a tcp_outgoing_address paramétert.

Ezeket a tartományokat fent már megadtuk, ne adjuk meg még egyszer, csak az érthetőség kedvéért másoltam ide őket:
acl iroda src 10.1.5.0/24
acl titkarsag src 10.0.4.0/24

Adjuk meg az internet vonalunk címét és a tartományt. Ezután az adott tartományon az adott internet vonalunk fog működni:

tcp_outgoing_address 192.168.64.4 iroda
tcp_outgoing_address 192.168.0.100 titkarsag

Ezeket a beállításokat is a http_access sorok elé kell írni egyértelműen, ha egyáltalán szükség van rájuk.

Plusz információ: a https-t nem kezeli, mivel az titkosított kapcsolat és nem illik(nem is lehet vele) cachelni. Így se szűrni se cachelni nem tudjuk squid-vel a https tartalmakat.

squid-cache.org
Squid
A Squid proxyszerver
multiple outgoing IP addresses

SQUID - proxy cache szolgáltatás felsőfokon

2013.02.24.