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


LFCE (Linux Foundation Certified Engineer) je profesionalac koji ima potrebne vještine za instaliranje, upravljanje i rješavanje problema mrežnih usluga u Linux sistemima i zadužen je za projektovanje, implementacija i tekuće održavanje arhitekture sistema u celini.

Predstavljamo program sertifikacije Linux Foundation.

U prethodnim objavama smo razgovarali o tome kako instalirati Squid + squidGuard i kako konfigurirati squid da pravilno obrađuje ili ograničava zahtjeve za pristup. Molimo provjerite jeste li pregledali ova dva tutorijala i instalirajte i Squid i squidGuard prije nego što nastavite jer postavljaju pozadinu i kontekst za ono što ćemo pokriti u ovom postu: integraciju squidguarda u radno okruženje squid za implementaciju pravila crne liste i kontrolu sadržaja nad proxy server.

Zahtjevi

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

Za šta mogu/ne mogu koristiti SquidGuard?

Iako će squidGuard sigurno poboljšati i poboljšati Squid karakteristike, važno je naglasiti šta može, a šta ne može.

squidGuard se može koristiti za:

  1. ograničiti dozvoljeni pristup Internetu za neke korisnike na listu prihvaćenih/dobro poznatih web servera i/ili samo URL-ova, dok zabranjuje pristup drugim web serverima i/ili URL-ovima sa crne liste.
  2. blokirati pristup stranicama (prema IP adresi ili nazivu domene) koje odgovaraju listi regularnih izraza ili riječi za neke korisnike.
  3. zahtijevati korištenje imena domena/zabraniti korištenje IP adrese u URL-ovima.
  4. preusmjeriti blokirane URL-ove na stranice s greškom ili informacije.
  5. koristite različita pravila pristupa na osnovu doba dana, dana u sedmici, datuma itd.
  6. implementirati različita pravila za različite grupe korisnika.

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

  1. analizirati tekst unutar dokumenata i djelovati na rezultat.
  2. otkriti ili blokirati ugrađene jezike za skriptiranje kao što su JavaScript, Python ili VBscript unutar HTML koda.

Crne liste – osnove

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

U ovom vodiču ću vam pokazati kako integrirati crne liste koje pruža Shalla Secure Services u vašu squidGuard instalaciju. Ove crne liste su besplatne za ličnu/nekomercijalnu upotrebu i ažuriraju se na dnevnoj bazi. Oni uključuju, od danas, preko 1,700,000 unosa.

Radi naše pogodnosti, napravimo 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 je uvijek dostupna kao što je istaknuto ispod.

Nakon što skinemo tar sa novo preuzete datoteke, mi ćemo pretražiti mapu crne liste (BL).

tar xzf shallalist.tar.gz 
cd BL
ls

Direktorijume prikazane u izlazu ls možete zamisliti kao kategorije pozadinske liste, a njihove odgovarajuće (opciono) poddirektorije kao potkategorije, koje se spuštaju sve do određenih URL-ova i domena, koji su navedeni u datotekama urls i domene, respektivno. Za više detalja pogledajte sliku ispod.

Instaliranje crnih lista

Instalacija cijelog paketa crne liste, ili pojedinih kategorija, vrši se kopiranjem direktorija BL, odnosno jednog od njegovih poddirektorija u /var/ direktorij lib/squidguard/db.

Naravno, mogli ste prvo preuzeti tarball crne liste u ovaj direktorij, ali pristup koji je ranije objašnjen daje vam više kontrole nad tim koje kategorije treba blokirati (ili ne) u određenom trenutku.

Zatim ću vam pokazati kako da instalirate crne liste anonvpn, hakiranja i chat i kako da konfigurišete squidGuard da ih koristi.

Korak 1: Rekurzivno kopirajte 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: Koristite domene i urls datoteke za kreiranje datoteka baze podataka squidguarda. Imajte na umu da će sljedeća naredba raditi za kreiranje .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 /var/lib/squidguard/db/ direktorijumom 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 url_rewrite_program direktivu u /etc/squid/squid.conf da kažemo Squid-u da koristi squidGuard kao URL prepisivač/preusmjerivač.

Dodajte sljedeći red u squid.conf, pazeći da je /usr/bin/squidGuard prava apsolutna putanja 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 u konfiguracijski fajl squidGuarda (koji se nalazi u /etc/squidguard/squidGuard.conf).

Molimo pogledajte snimak ekrana iznad, nakon sljedećeg koda za dodatna pojašnjenja.

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: Ponovo 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 idite na web lokaciju koja se nalazi na bilo kojoj od datoteka 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 da je zahtjev upućen proxy serveru, ali je odbijen (301 http odgovor – Trajno premješten) i umjesto toga preusmjeren na www.lds.org.

Uklanjanje ograničenja

Ako iz nekog razloga trebate omogućiti kategoriju koja je bila blokirana u prošlosti, 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, morat ćete 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 bijelu listu

Ponekad ćete možda htjeti dozvoliti određene URL-ove ili domene, ali ne i cijeli direktorij na crnoj listi. U tom slučaju, trebali biste kreirati direktorij pod nazivom myWhiteLists (ili bilo koji naziv koji odaberete) i umetnuti željene URL-ove i domene pod /var/lib/squidguard/db/myWhiteLists u fajlovima pod nazivom url i domeni, respektivno.

Zatim inicijalizirajte nova pravila sadržaja kao i prije,

squidGuard -C all

i modificirajte squidguard.conf kako slijedi.

Kao i ranije, dijelovi označeni žutom bojom označavaju promjene koje je potrebno dodati. Imajte na umu da string myWhiteLists mora biti prvi u redu koji počinje sa pass.

Konačno, ne zaboravite ponovo pokrenuti Squid kako biste primijenili promjene.

Zaključak

Nakon što slijedite korake navedene u ovom vodiču, trebali biste imati moćan filter sadržaja i URL preusmjerivač koji rade ruku pod ruku sa vašim Squid proxyjem. Ako naiđete na bilo kakve probleme tokom procesa instalacije/konfiguracije ili imate bilo kakva pitanja ili komentare, možda ćete htjeti pogledati web dokumentaciju squidGuard-a, ali uvijek nam slobodno pošaljite liniju koristeći formu ispod i mi ćemo vam se javiti čim moguće.