[[oktatas:linux:tűzfal|< Tűzfal]] ====== Squid ====== * **Szerző:** Sallai András * Copyright (c) Sallai András, 2011, 2013, 2022 * Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|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 [[wp>http://hu.wikipedia.org/wiki/Kalm%C3%A1rok|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