< Tűzfal

Squid

Szerző: Sallai András

Copyright © Sallai András, 2011, 2013, 2022

Licenc: CC Attribution-Share Alike 4.0 International

Web: https://szit.hu

Bevezetés

A Squid tartalomszűrő és cache (tároló) szerver, vagy egyszerűen csak proxy szerverként emlegetjük.

A HTTP proxy szerverek között talán a legnépszerűbbnek mondható.

A Squid egyébként a kalmárt (mint állat) jelent.

Beszerzés

Debian GNU/Linux alatt:

apt install squid

Webhely:

http://www.squid-cache.org

Telepítés után

Telepítés után kapunk egy könyvtárat a beállításokhoz:

/etc/squid/

/etc/squid/
|-conf.d
|-errorpage.css
`-squid.conf

A fő beállítófájl az /etc/squid/squid.conf állomány. Saját beállításokat tehetünk még a /etc/squid/conf.d/ könyvtárba. Az állomány neve tetszőleges, de .conf kiterjesztés szükséges.

Beállítások

A Squid milyen porton várja a kéréseket:

http_port 3128

Hozzáférési neveket, majd azokhoz tartozó szabályokat kell meghatározni. A neveket az „acl” szóval vezetjük be. Ha van például egy IP címünk:

acl localnet src 1.2.3.4

De megadhatunk tartományt is:

acl localnet src 1.2.3.0/24

Határozzunk meg, hozzá egy szabályt:

http_access allow localnet

Ez utóbbi szabályt tegyük a http_access allow localhost sor után.

A kliens IP címe alapértelmezésként tovíbbítódik a webszerver felé.

forwarded_for on

Ezt kikapcsolhatja ha off-ra állítja:

forwarded_for off

Más konfigurációs fájlok befoglalása:

include /etc/squid/masik.conf

De egész könyvtárat is befoglalhatunk, abban minden .conf fájllal:

include /etc/squid/conf.d/*.conf

Konfiguráció tesztelése

squid -k parse

Esetleg szűrjünk az error szót tartalmazó sorokra:

squid -k parse | grep 'error'

Vagy más kifejezésekre:

squid -k parse | egrep 'egyik|masik'

Konfiguráció újratöltése

/usr/sbin/squid -k reconfigure

Vagy:

/etc/init.d/squid reload

Vagy:

kill -HUP $(cat /var/run/squid.pid)

A következő, ami nem szokott működni:

systemctl reload squid

Cache tiltása

Állítsuk be:

cache deny all

URL-k fájlban

A következő beállításokat készítjük el:

Létrehozunk block néven egy hivatkozást.

Utána tiltunk mindent ami a hivatkozásban szerepel.

Ami nem volt tiltva azt engedjük

Az /etc/squid/squid.conf fájlban:

acl block url_regex -i "/etc/squid/forbidden"
http_access deny block
http_access allow all

Beállításminták

# Feketelistás webhelyek, amit nem szeretnénk engedni: acl blacklisted_sites dstdomain wer.csunya.hu acl blacklisted_sites dstdomain social.csunya.hu acl blacklisted_sites dstdomain stats.update.csunya.hu http_access deny blacklisted_sites # Nem tárolandó webhely acl cache_bypass_domains dstdomain mindiguj.hu no_cache deny cache_bypass_domains always_direct allow cache_bypass_domains

Minimális Squid cache nélkül

cache deny all
http_port 3128
include /etc/squid/conf.d/*
acl block url_regex -i "/etc/squid/forbidden"
http_access deny block
http_access allow all