Konfiguriranje SquidGuarda, omogućavanje pravila sadržaja i analiza Squid zapisa - 6. dio


LFCE (Linux Foundation Certified Engineer) profesionalac je koji ima potrebne vještine za instaliranje, upravljanje i rješavanje problema s mrežnim uslugama u Linux sustavima te je zadužen za projektiranje, implementacija i kontinuirano održavanje arhitekture sustava u cijelosti.

Predstavljamo certifikacijski program Linux Foundation.

U prethodnim postovima raspravljali smo o tome kako instalirati Squid + squidGuard i kako konfigurirati squid da pravilno obrađuje ili ograničava zahtjeve za pristup. Provjerite jeste li pregledali ta dva vodiča i instalirali i Squid i squidGuard prije nego što nastavite jer oni postavljaju pozadinu i kontekst za ono što ćemo obraditi u ovom postu: integracija squidguarda u radnu squid okolinu za implementaciju pravila crne liste i kontrolu sadržaja nad proxy poslužitelj.

Zahtjevi

  1. Instalirajte Squid i SquidGuard – 1. dio
  2. Konfiguriranje Squid proxy poslužitelja s ograničenim pristupom – 5. dio

Za što mogu/ne mogu koristiti SquidGuard?

Iako će squidGuard sigurno poboljšati i poboljšati Squidove značajke, važno je istaknuti što može, a što ne može.

squidGuard se može koristiti za:

  1. ograničite dopušteni pristup webu za neke korisnike samo na popis prihvaćenih/dobro poznatih web poslužitelja i/ili URL-ova, dok uskraćujete pristup drugim web poslužiteljima i/ili URL-ovima na crnoj listi.
  2. blokirati pristup stranicama (prema IP adresi ili nazivu domene) koje odgovaraju popisu regularnih izraza ili riječi za neke korisnike.
  3. zahtijevaju korištenje naziva domena/zabranjuju korištenje IP adrese u URL-ovima.
  4. preusmjeriti blokirane URL-ove na stranice s pogreškama ili informacije.
  5. koristite različita pravila pristupa na temelju doba dana, dana u tjednu, datuma itd.
  6. implementirati različita pravila za različite grupe korisnika.

Međutim, ni squidGuard ni Squid ne mogu se koristiti za:

  1. analizirati tekst unutar dokumenata i djelovati prema rezultatu.
  2. otkriti ili blokirati ugrađene skriptne jezike kao što su JavaScript, Python ili VBscript unutar HTML koda.

Crne liste – Osnove

Crne liste bitan su dio squidGuarda. U osnovi, to su obične tekstualne datoteke koje će vam omogućiti implementaciju filtara sadržaja na temelju određenih ključnih riječi. Postoje i besplatno dostupne i komercijalne crne liste, a poveznice za preuzimanje možete pronaći na web stranici projekta squidguard blacklists.

U ovom vodiču pokazat ću vam kako integrirati crne liste koje pruža Shalla Secure Services u vašu squidGuard instalaciju. Ove crne liste besplatne su za osobnu/nekomercijalnu upotrebu i ažuriraju se svakodnevno. Oni do danas uključuju preko 1.700.000 unosa.

Radi naše udobnosti, stvorimo direktorij za preuzimanje paketa crne liste.

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

Najnovija veza za preuzimanje uvijek je dostupna kao što je istaknuto u nastavku.

Nakon što skinemo tar sa novopreuzete datoteke, pretražit ćemo mapu crne liste (BL).

tar xzf shallalist.tar.gz 
cd BL
ls

Možete zamisliti direktorije prikazane u izlazu ls kao kategorije backlist-a, a njihove odgovarajuće (neobavezne) poddirektorije kao potkategorije, spuštajući se sve do određenih URL-ova i domena, koje su navedene u datotekama urlovi odnosno domene. Pogledajte donju sliku za dodatne pojedinosti.

Instaliranje crnih lista

Instalacija cijelog paketa crne liste ili pojedinačnih kategorija izvodi se kopiranjem BL direktorija, odnosno jednog od njegovih poddirektorija, u /var/ direktorij lib/squidguard/db.

Naravno da ste mogli preuzeti crnu listu tarball u ovaj direktorij na prvom mjestu, ali pristup koji je ranije objašnjen daje vam veću kontrolu nad kategorijama koje treba blokirati (ili ne) u određeno vrijeme.

Zatim ću vam pokazati kako instalirati anonvpn, hacking i chat crne liste i kako konfigurirati squidGuard da ih koristi.

Korak 1: Kopirajte rekurzivno direktorije anonvpn, hacking i chat iz /opt/3rdparty/ BL u /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

Korak 2: Upotrijebite datoteke domena i urls za izradu datoteka baze podataka squidguarda. Imajte na umu da će sljedeća naredba raditi za stvaranje .db datoteka za sve instalirane crne liste – čak i kada određena kategorija ima 2 ili više potkategorija.

squidGuard -C all

Korak 3: Promijenite vlasništvo nad direktorijem /var/lib/squidguard/db/ i njegovim sadržajem na proxy korisnika tako da Squid može čitati datoteke baze podataka.

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

Korak 4: Konfigurirajte Squid da koristi squidGuard. Koristit ćemo Squidovu direktivu url_rewrite_program u /etc/squid/squid.conf kako bismo rekli Squidu da koristi squidGuard kao URL prepisivač/preusmjerivač.

Dodajte sljedeći redak u squid.conf, pazeći da je /usr/bin/squidGuard pravi apsolutni put u vašem slučaju.

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

Korak 5: Dodajte potrebne direktive konfiguracijskoj datoteci squidGuarda (koja se nalazi u /etc/squidguard/squidGuard.conf).

Za daljnje pojašnjenje pogledajte gornju snimku zaslona nakon sljedećeg koda.

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
        }
}

Korak 6: Ponovno pokrenite Squid i testirajte.

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

Otvorite web preglednik u klijentu unutar lokalne mreže i potražite web mjesto koje se nalazi u bilo kojoj od datoteka s crne liste (domene ili url-ovi – koristit ćemo http://spin.de/ chat u sljedećem primjeru ) i bit ćete preusmjereni na drugi URL, www.lds.org u ovom slučaju.

Možete provjeriti je li zahtjev upućen proxy poslužitelju, ali je odbijen (301 http odgovor – Trajno premješteno) i umjesto toga preusmjeren na www.lds.org.

Uklanjanje ograničenja

Ako iz nekog razloga trebate omogućiti kategoriju koja je u prošlosti bila blokirana, uklonite odgovarajući direktorij iz /var/lib/squidguard/db i komentirajte (ili izbrišite) povezani acl u datoteci squidguard.conf.

Na primjer, ako želite omogućiti domene i URL-ove na crnoj listi kategorije anonvpn, trebate izvršiti sljedeće korake.

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

I uredite datoteku squidguard.conf na sljedeći način.

Imajte na umu da su dijelovi označeni žutom bojom pod PRIJE izbrisani u NAKON.

Stavljanje određenih domena i URL-ova na popis dopuštenih

Ponekad ćete možda htjeti dopustiti određene URL-ove ili domene, ali ne cijeli direktorij na crnoj listi. U tom slučaju, trebali biste stvoriti direktorij pod nazivom myWhiteLists (ili koji god naziv odaberete) i umetnuti željene URL-ove i domene pod /var/lib/squidguard/db/myWhiteLists u datotekama pod nazivom urls odnosno domene.

Zatim inicijalizirajte nova pravila sadržaja kao prije,

squidGuard -C all

i modificirajte squidguard.conf kako slijedi.

Kao i prije, dijelovi označeni žutom bojom označavaju promjene koje je potrebno dodati. Imajte na umu da niz myWhiteLists mora biti prvi u retku koji počinje s pass.

Na kraju, ne zaboravite ponovno pokrenuti Squid kako biste primijenili promjene.

Zaključak

Nakon što slijedite korake navedene u ovom vodiču, trebali biste imati moćan filtar sadržaja i URL preusmjerivač koji rade ruku pod ruku s vašim Squid proxyjem. Ako naiđete na bilo kakve probleme tijekom procesa instalacije/konfiguracije ili imate bilo kakva pitanja ili komentare, možete se obratiti web dokumentaciji squidGuarda, ali uvijek nam se slobodno javite putem donjeg obrasca i mi ćemo vam se javiti čim moguće.