Vyhledávání na webu

Konfigurace SquidGuard, povolení pravidel obsahu a analýza protokolů Squid - Část 6


LFCE (Linux Foundation Certified Engineer) je profesionál, který má potřebné dovednosti k instalaci, správě a odstraňování problémů se síťovými službami v systémech Linux a má na starosti návrh, implementace a průběžná údržba architektury systému jako celku.

Představujeme certifikační program Linux Foundation.

V předchozích příspěvcích jsme diskutovali o tom, jak nainstalovat Squid + squidGuard a jak nakonfigurovat squid, aby správně zpracovával nebo omezoval požadavky na přístup. Než budete pokračovat, ujistěte se, že jste si prošli tyto dva návody a nainstalovali Squid i squidGuard, protože nastavují pozadí a kontext toho, čemu se budeme věnovat v tomto příspěvku: integrace squidguard do fungujícího prostředí squid za účelem implementace pravidel černé listiny a kontroly obsahu nad proxy server.

Požadavky

  1. Nainstalujte Squid a SquidGuard – část 1
  2. Konfigurace serveru proxy Squid s omezeným přístupem – část 5

Na co mohu/nemohu použít SquidGuard?

Ačkoli squidGuard jistě zlepší a vylepší funkce Squid, je důležité zdůraznit, co umí a co nemůže.

squidGuard lze použít k:

  1. omezit povolený webový přístup pro některé uživatele pouze na seznam akceptovaných/dobře známých webových serverů a/nebo URL a zároveň odepřít přístup k jiným webovým serverům a/nebo URL na černé listině.
  2. blokovat přístup na stránky (podle IP adresy nebo názvu domény), které odpovídají seznamu regulárních výrazů nebo slov pro některé uživatele.
  3. vyžadovat použití doménových jmen/zakázat použití IP adresy v URL.
  4. přesměrovat blokované adresy URL na chybové nebo informační stránky.
  5. používat odlišná pravidla přístupu na základě denní doby, dne v týdnu, data atd.
  6. implementovat různá pravidla pro různé skupiny uživatelů.

SquidGuard ani Squid však nelze použít k:

  1. analyzovat text uvnitř dokumentů a jednat podle výsledku.
  2. detekovat nebo blokovat vestavěné skriptovací jazyky jako JavaScript, Python nebo VBscript v kódu HTML.

Blacklisty – základy

Černé listiny jsou nezbytnou součástí squidGuardu. V zásadě se jedná o prosté textové soubory, které vám umožní implementovat filtry obsahu založené na konkrétních klíčových slovech. Existují jak volně dostupné, tak komerční černé listiny a odkazy ke stažení najdete na webových stránkách projektu squidguard blacklists.

V tomto tutoriálu vám ukážu, jak integrovat černé listiny poskytované službou Shalla Secure Services do vaší instalace squidGuard. Tyto černé listiny jsou zdarma pro osobní/nekomerční použití a jsou denně aktualizovány. K dnešnímu dni zahrnují více než 1 700 000 záznamů.

Pro naše pohodlí si vytvořte adresář pro stažení balíčku blacklist.

mkdir /opt/3rdparty
cd /opt/3rdparty 
wget http://www.shallalist.de/Downloads/shallalist.tar.gz

Nejnovější odkaz ke stažení je vždy k dispozici, jak je zvýrazněno níže.

Po rozbalení nově staženého souboru přejdeme do složky blacklist (BL).

tar xzf shallalist.tar.gz 
cd BL
ls

Adresáře zobrazené ve výstupu ls si můžete představit jako kategorie backlist a jejich odpovídající (volitelné) podadresáře jako podkategorie, sestupně až dolů ke konkrétním adresám URL a doménám, které jsou uvedeny v souborech. adresy URL a domény. Další podrobnosti naleznete na obrázku níže.

Instalace blacklistů

Instalace celého balíčku blacklist nebo jednotlivých kategorií se provádí zkopírováním adresáře BL, respektive jednoho z jeho podadresářů, do /var/ adresář lib/squidguard/db.

Samozřejmě jste si mohli nejprve stáhnout tarball černé listiny do tohoto adresáře, ale dříve vysvětlený přístup vám dává větší kontrolu nad tím, které kategorie by měly být (nebo ne) v určitou dobu blokovány.

Dále vám ukážu, jak nainstalovat černé listiny anonvpn, hacking a chat a jak nakonfigurovat squidGuard, aby je používal.

Krok 1: Zkopírujte rekurzivně adresáře anonvpn, hacking a chat z /opt/3rdparty/ BL na /var/lib/squidguard/db.

cp -a /opt/3rdparty/BL/anonvpn /var/lib/squidguard/db
cp -a /opt/3rdparty/BL/hacking /var/lib/squidguard/db
cp -a /opt/3rdparty/BL/chat /var/lib/squidguard/db

Krok 2: Pomocí souborů domén a adres URL vytvořte databázové soubory squidguard. Upozorňujeme, že následující příkaz bude fungovat pro vytvoření souborů .db pro všechny nainstalované černé listiny – i když má určitá kategorie 2 nebo více podkategorií.

squidGuard -C all

Krok 3: Změňte vlastnictví adresáře /var/lib/squidguard/db/ a jeho obsahu na uživatele proxy, aby Squid mohl číst soubory databáze.

chown -R proxy:proxy /var/lib/squidguard/db/

Krok 4: Nakonfigurujte Squid pro použití squidGuard. Použijeme direktivu Squid url_rewrite_program v /etc/squid/squid.conf, abychom řekli Squid, aby používal squidGuard jako přepisovač/přesměrovač URL.

Přidejte následující řádek do squid.conf a ujistěte se, že /usr/bin/squidGuard je ve vašem případě správná absolutní cesta.

which squidGuard
echo "url_rewrite_program $(which squidGuard)" >> /etc/squid/squid.conf
tail -n 1 /etc/squid/squid.conf

Krok 5: Přidejte potřebné direktivy do konfiguračního souboru squidGuard (nachází se v /etc/squidguard/squidGuard.conf).

Další vysvětlení naleznete na výše uvedeném snímku obrazovky po následujícím kódu.

src localnet {
        ip      192.168.0.0/24
}

dest anonvpn {
        domainlist      anonvpn/domains
        urllist         anonvpn/urls
}
dest hacking {
        domainlist      hacking/domains
        urllist         hacking/urls
}
dest chat {
        domainlist      chat/domains
        urllist         chat/urls
}

acl {
        localnet {
                        pass     !anonvpn !hacking !chat !in-addr all
                        redirect http://www.lds.org
                }
        default {
                        pass     local none
        }
}

Krok 6: Restartujte Squid a otestujte.

service squid restart 		[sysvinit / Upstart-based systems]
systemctl restart squid.service 	[systemctl-based systems]

Otevřete webový prohlížeč v klientovi v místní síti a přejděte na stránku, která se nachází v některém ze souborů černé listiny (domény nebo adresy URL – v následujícím příkladu použijeme chat http://spin.de/ ) a budete přesměrováni na jinou adresu URL, v tomto případě www.lds.org.

Můžete ověřit, že požadavek byl odeslán na proxy server, ale byl zamítnut (odpověď 301 http – Trvale přesunuto) a místo toho byl přesměrován na www.lds.org.

Odstranění omezení

Pokud z nějakého důvodu potřebujete povolit kategorii, která byla v minulosti zablokována, odeberte odpovídající adresář z /var/lib/squidguard/db a okomentujte (nebo odstraňte) související acl v souboru squidguard.conf.

Pokud například chcete povolit domény a adresy URL uvedené na černé listině podle kategorie anonvpn, budete muset provést následující kroky.

rm -rf /var/lib/squidguard/db/anonvpn

A upravte soubor squidguard.conf následovně.

Upozorňujeme, že části zvýrazněné žlutě pod PŘED byly smazány v PO.

Přidání konkrétních domén a adres URL na seznam povolených

Občas můžete chtít povolit určité URL nebo domény, ale ne celý adresář na černé listině. V takovém případě byste měli vytvořit adresář s názvem myWhiteLists (nebo jakýkoli název, který si zvolíte) a vložit požadované URL a domény pod /var/lib/squidguard/db/myWhiteLists v souborech s názvem adresy URL a domény.

Poté inicializujte nová pravidla obsahu jako dříve,

squidGuard -C all

a upravte soubor squidguard.conf následovně.

Stejně jako dříve části zvýrazněné žlutě označují změny, které je třeba přidat. Všimněte si, že řetězec myWhiteLists musí být první v řádku, který začíná pass.

Nakonec nezapomeňte restartovat Squid, abyste použili změny.

Závěr

Po provedení kroků uvedených v tomto tutoriálu byste měli mít výkonný filtr obsahu a přesměrovač adres URL, který bude pracovat ruku v ruce s vaším proxy serverem Squid. Pokud se během procesu instalace/konfigurace setkáte s nějakými problémy nebo máte nějaké dotazy či komentáře, možná budete chtít nahlédnout do webové dokumentace squidGuard, ale vždy nám neváhejte napsat pomocí formuláře níže a my se vám ozveme, jakmile možný.