Uvod u Squid: korak-po-korak postavljanja

Logo lignje i Tux

Squid je još jedan filter na razini aplikacije koji mogu dopuniti iptable. Squid je predmemorirani web proxy server, vrlo je popularan i besplatan te je višeplatformalan. Iako se može koristiti za poboljšanje performansi internetskih veza, može se koristiti i u sigurnosne svrhe. Otkako je projekt započeo 90-ih, Squid je vrlo napredan i sada vam ga predstavljamo kako biste znali kako ga koristiti.

Za vašu instalaciju, možete pristupiti službena web stranica projekta i odaberite binarne pakete za vaš operativni sistem ili distribuciju. Ako ga želite instalirati iz paketa izvornog koda kompajliranjem, takođe imate tu mogućnost. Dostupne tarbal lopte su tar.gz, tar.bz2 i tar.xz. Ako ne znate kako instalirati, možete otići na članak o kojem uređujemo na ovom blogu kako instalirati bilo koji paket iz linuxa. Oko! Ako imate Debian ili izvedenicu i vidjeli ste da je instaliran sa sudo "apt-get install squid", možda ćete dobiti grešku jer morate "squid" zamijeniti s "squid3" da bi stupio na snagu .. .

Sada idemo direktno na objašnjavanje akcije nekoliko primjera kako koristiti Squid da zaštitimo našu opremu. Prije nego što bih želio objasniti da se Squid temelji na ACL-ovima, odnosno na Popisu za kontrolu pristupa ili na popisu za kontrolu pristupa, odnosno popisima koji detaljno opisuju dozvole za kontrolu u ovom slučaju mrežnog toka i implementiraju filtere slične onima iz iptables-a, ali na nivou aplikacije.

Obično se nakon instalacije uključi konfiguracijska datoteka koju možete pronaći u /etc/squid3/squid.conf a ovo je onaj koji moramo urediti uređivačem poput nano ili gedit. U njemu možemo generirati naša pravila filtriranja, iako postoje opcije cache_dir, cache_mem i http_port, potonje ćemo koristiti za naša sigurnosna pravila. Još jedan detalj je da ova datoteka navodi zadani port koji koristi usluga Squid, a koji je prema zadanim postavkama 3128 (pogledajte liniju ili direktivu "http_port 3128" i uklonite # da biste je aktivirali). Ako želite, možete ga promijeniti u drugi port poput 8080 ... I još jedna stvar koja je neophodna je konfiguriranje imena hosta, potražite komentar "TAG: Vidljivo_ime hosta" i vidjet ćete redak "visible_hostname" u koji morate staviti svoj ime hosta.

Da biste znali svoje ime hosta, možete upisati terminal:

hostname

A ime koje se pojavi dodajete ga u redak kojem ne treba prethoditi # kako ne bi bilo zanemareno kao komentar. Odnosno, izgledalo bi ovako:

visible_hostname hostname_which_you_appeared

Ako vidite konfiguracijsku datoteku, vidjet ćete da je jako komentirana, ako želite poništiti kreirano pravilo, liniju možete započeti s # i pretvorite ga u komentar, s kojim ga Squid ignorira, da biste ga vratili u upotrebu, brišete # i to je to. U stvari, postoji mnogo kreiranih i komentiranih pravila koja možete koristiti uklanjanjem # iz njega. Dakle, ne morate brisati i prepisivati ​​pravila. Pa, da biste dodali određeno pravilo ili filter, mora imati ACL i direktivu koja pokazuje šta treba učiniti.

Usput, kada uklonite # za aktiviranje pravila, pazite da ne ostavljate razmake na početku retka. Na primjer:

Pogrešan način:

http_port 3128

Ispravan način:

http_port 3128

Niste ništa čuli? Pa, ne brini, sa Primjer sve ćete vidjeti puno bolje. Zamislite ovo:

acl blokira url_regex kao facebook
http_access odbiti blokiranje

Što ovo pravilo znači je da će acl s imenom "blokiranje" zabraniti pristup URL-u koji sadrži "facebook" (stoga ako pokušamo ući na Facebook preskočit će grešku u pregledniku). Ako umjesto "zabranite" koristite "dopusti", dozvolili biste pristup umjesto da ga zabranite. Takođe možete koristiti! Da izuzmete, na primjer, pretpostavimo da želite dopustiti pristup listi1, ali ne i listi2:

http_access allow lista1 !lista2

Drugi primjer može biti stvaranje datoteke / etc / squid3 / ips dozvoljeno i u nju spremite listu IP-ova kojima želimo omogućiti pristup. Na primjer, pretpostavimo da je sadržaj dopuštenih ips-a:

192.168.30.1

190.169.3.250

192.168.1.26

A onda kreiramo ACL kako bi se omogućio pristup ovim IP-ovima:

acl nuevaregla src "/etc/squid3/ipspermitidas"

Prilično praktičan primjerZamislite da vaš računar koriste djeca mlađa od 18 godina i želite ograničiti pristup određenim web lokacijama sa sadržajem za odrasle. Prva stvar je stvoriti datoteku koja se zove / etc / squid3 / list sa sadržajem:

odrasla osoba

Porn

seks

poringa

A sada unutra  datoteku squid.conf postavljamo sljedeće pravilo:

acl denegados url_regex "/etc/squid3/lista"

http_access allow !denegados

Kao što vidiš koristili smo dozvolu što je u principu dopustiti, ali ako pogledate dodali smo! poreći, dakle, bilo bi ekvivalentno stavljanju:

acl denegados url_regex "/etc/squid3/lista"

http_access deny denegados

Takođe se mogu kreirati liste, ne samo imena domena ili IP-ova kao što smo to već uradili, možete staviti i domene i na primjer ograničiti pristup domenima kao što su .xxx, .gov itd. Pogledajmo primjer zasnovan na prethodnom pravilu. Kreiramo datoteku / etc / squid3 / domene koja ima:

.edu

.es

.org

A sada naše pravilo, da odbije pristup popisu zabranjenih web lokacija koje kreiramo, ali dozvoljavajući pristup URL-ovima s ovim domenima:

acl denegados url_regex "/etc/squid3/lista" 
acl permitidos dstdomain "/etc/squid3/dominios"

http_access allow !denegados dominios

PROŠIRENJE:

Žao mi je, kad sam vidio komentare, shvatio sam to Nedostaje mi glavno. Ograničio sam se na davanje primjera kako se koristi i zaboravio sam to reći za pokretanje Squid servera:

sudo service squid3 start

Prije nego što je krenulo sa "/etc/init.d/squid start", ali sada morate koristiti ovu drugu liniju koju sam stavio. Baš kao što se konfiguracijska datoteka više ne nalazi u /etc/squid/squid.conf, već u /etc/squid3/squid.conf. U redu, nakon što se kreiraju politike filtriranja i pokrenemo ga, moramo konfigurirati i pretraživač, na primjer, ako koristite Mozilla Firefox ili derivate, možete otići u konfiguracijski meni (znate, tri trake), a zatim na Postavke, Napredno i na kartici Mreža kliknite na Konfiguracija u odjeljku Povezivanje. Tamo odabiremo Ručnu konfiguraciju proxyja i stavimo IP i port koji koristi Squid, u ovom slučaju 3128. Također odaberite "Koristi isti proxy za sve" i zatvorite spremanje promjena.

Molim te Ne zaboravite ostaviti komentare, sumnje ili što god želite ... Iako je ovo udžbenik daleko iznad Squid-a, nadam se da će vam pomoći.


Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Odgovoran za podatke: AB Internet Networks 2008 SL
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.

  1.   Nicolas rekao je

    hvala !, korisno.

  2.   Jimmy olano rekao je

    OPET vrlo dobro sažeto za pomalo složenu temu, stalno ponavljam "nivo korisnika: srednji", trebali biste znati neke pojmove o "mrežama".

    POHUMNO smatram da treba dodati opciju za konfiguriranje našeg pretraživača da koristi "proxy", ali kako je ovaj unos "UVOD u Squid", bit ćemo vrlo svjesni sljedećeg? dostava (konačno i uz rizik da me iznervirate, ZAPAMTITE da ne "proksirate" bankarske web stranice i / ili finansijske institucije koje koristite u svom domu ili kompaniji).

    1.    Isaac PE rekao je

      Zdravo, hvala na komentarima. Da, IPTABLES i Squid su previše debeli da bi napravili članak koji ih detaljno objašnjava i morate se ograničiti na davanje svakodnevnih primjera ...

      Ali u potpunosti ste u pravu, dodao sam ga sada kako bih konfigurirao proxy, planirao sam ga i zaboravio. Moja greška.

      Pozdrav i hvala !!

      1.    Jimmy olano rekao je

        Uffff "trunk" izvinite što nisam shvatio glavnu stvar:
        POKRENITE USLUGU :-( bez toga «nema tete» - oprostite mi na razgovornom govoru - JAKO USPJEŠNO PROŠIRENJE! 8-)

        {popravljanje kod svakog pokretanja događa se mijenjanjem «/ sbin / init»:
        http: // www. ubuntu-es.org/node/ 13012 # .Vsr_SUJVIWw}

        {još jedan lakši način je korištenje "update-rc.d":
        https: // parbaedlo. wordpress.com/201 3/03/07 / postavljanje-pokretanje-i-zaustavljanje-usluga-linux-ažuriranje-rc-d /}

        Vezama sam dodao razmake, uklonite ih i vi ćete se kretati ;-)

        VELIKO HVALA NA PAŽNJI.

  3.   ALBERT rekao je

    LINUX VIJESTI: Napad na Linux Mint: zarazi programe za instaliranje i ugrozi vjerodajnice korisnika

    http://www.muylinux.com/2016/02/21/ataque-a-linux-mint

    1.    AZPE rekao je

      Već sam ga objavio, ali molim vas nemojte slati druge stranice ovdje

  4.   ALBERT rekao je

    VIJESTI O ANDROIDU: GM Bot, Android trojanac od kojeg je Mazar izveden

    http://www.redeszone.net/2016/02/21/gm-bot-el-troyano-para-android-del-que-deriva-mazar/

  5.   hernan rekao je

    Zdravo Jimmy, kako to radiš da lignje ne pretražuju te stranice umjesto tebe? Bilo bi lijepo kada biste komentirali transparentnu opciju koja izbjegava zamor konfiguriranja proxyja za svako računalo

    1.    Jimmy olano rekao je

      Dobro pitanje, instalirao sam CAPTCHA u besplatni softver na web stranicama svojih klijenata:
      (http: // www. ks7000. net. ve / 2015/04/03 / un-captcha-lako-i-jednostavno-za-implementaciju /
      - Iskreno, NIJE "neželjena pošta" ili samopromocija, to je prikladno-)
      i pretpostavljam da se pri korištenju Squid ove slike NE PONAVLJAJU jer im stavljam isto ime -ea, mogu i generirati nasumična imena, o tome nisam razmišljao do sada- a s istim imenom Squid vraća ono što ima u "predmemoriji".

      Očigledno je da je glavna funkcija «proxyja» ušteda propusnosti sa slikama - najtežom od web stranica - [i] pod pretpostavkom da su ove slike statične, ne mijenjaju se tokom vremena, što je tačno u 99% slučajeva slučajevi [/ i].

      Ali u CAPTCHA, s obzirom da "nema pokretanja", moramo eliminirati njegovo prethodno skladište i uvijek vratiti novu sliku.

      Što se tiče banaka, razumijem da je najveća u Španiji «Caixa» jer ćemo stvoriti PRIMJER pravila:

      acl caixa dstdomain .lacaixa.es

      gde:
      acl -> naredba za stvaranje pravila (pročitajte članak gospodina Isaaca, gornje pasuse).

      caixa -> naziv pravila.

      dtsdomain -> opcija "type" da naznačimo da se pozivamo na domenu, VAŽNO tačka na početku ( http://ww w.visolve. com / squid / squid24s1 / access_controls.php)

      domena (e) -> pretpostavljam da možemo dodati domene koje su nam potrebne, odvojene razmakom; Kad smo već kod razmaka, ubacio sam ih u naznačene web veze, uklonio i kretat ćete se (stranice na engleskom).

      Nadam se da će vam znanje predstavljeno ovdje biti korisno, zahvaljujući LinuxAdictos!

    2.    Jimmy olano rekao je

      DOBRO, da PONOVO odgovorim na pitanje PROZIRNOSTI u lignjama, insistiram na tome da morate imati znanje srednjeg nivoa i iz didaktičkih razloga sažet ću što je više moguće sljedeći članak (na engleskom jeziku) za koji smatram da vrlo dobro govori o toj temi:

      http: // ww w.deckle.co. uk / vodič za korisnike lignji /transparent-caching-proxy.html

      Napomene:
      -Dodao sam razmake na linkove kako bih izbjegao pingback od mene (nemam apsolutno nikakve veze sa timom). Linux Adictos, stoga nisam ovlašten da izvršim navedenu radnju).
      - OVO O PROZIRNOSTI NISAM ZNALA! (nisu me naučili, kažem).
      -Pomažem i vama, i ja si pomažem, ovo je super po količini! ?

      Pa, uz to, krenimo na posao:

      SAMO sam predložio gospodinu Isaacu da proširi konfiguriranje naših pretraživača s instaliranim proxyjem, a on je to vrlo ljubazno učinio (wow, gdje ovaj čovjek nalazi vremena za toliko stvari?).

      Prema ovoj shemi, upotreba Squid-a JE NEOBVEZNA: svaki korisnik naše lokalne mreže bit će zadužen za obavljanje svog posla, ali možete se kladiti «srebro tvrdo protiv papirnatih pezeta» da postoji neka «bash skripta» koja se može instalirati putem SSH-a na razne računare sa GNU / Linuxom.

      PRETHODNI UVJET: da naš server Squid radi kako predaje gospodin Isaac u ovom postu, ako smo ga već testirali i stavili "radno opterećenje" na njega i ako dobro radi, možemo nastaviti dalje.

      POD ŠEMOM PROZIRNOSTI:

      PRVI.- Naša lignja mora biti zadana ruta "gateway" u našem "eth0" ili "wlan0" - sjećate li se znanja srednjeg nivoa? -, pa mi to uspostavljamo tamo (to se po defaultu radi sa DHCP-om TAKORE moramo i konfigurirajte server takve usluge:
      http: // en.wikipe dia.org/wiki/ Dynamic_Host_Configuration_Protocol).

      Moramo planirati konfigurirati, u slučaju neuspjeha, preusmjeriti sav promet na naš modem direktno ako je Squid - računalo na kojem radi - preopterećen svojim radnim opterećenjem - i koristiti modem (e) tipa "bridge" tako da izlaze van, to se postiže stvaranjem "skripte" koja se pokreće u navedenom događaju i konfiguriše naš DHCP server - koji bi trebao biti instaliran na drugom računaru od našeg Squid-.

      NAPOMENA: naš računar sa Squidom uvijek će ovisiti o svojoj IP adresi od DHCP-a, ALI istovremeno će imati određenu „kontrolu“ s navedenim DHCP serverom. Ako želite raditi s fiksnim IP adresama, od snage, možete, ali kada dodate još računara ILI ZAMIJENITE neke, morat ćete ih ponovo konfigurirati, a to nije ideja (pročitajte s oduševljenjem:
      ht tps: // feno barbital. wordpress.com/2012/07/23/the-12-reasons-by-who-a-administrator-of-systems-lazy-is-a-good-administrator/)
      JOŠ JEDNA NAPOMENA (vidi drugu tačku): naši modemi i / ili uređaji usmjerivača moraju deaktivirati DHCP funkciju i da njima upravlja naš DCHP poslužitelj (-koji vas uvjeravam da iz toga proizlazi još jedan unos koji će nam pokazati kako se montira spomenuta usluga-)

      DRUGO. - Moramo filtrirati promet prema našem Squid serveru, ako imamo nekoliko raspršenih usmjerivača koji pokrivaju područje bežične mreže „wifi“, to je još uvijek lokalna mreža, ali srednje veličine. U osnovi je isto što i prva točka, ALI ako imamo različite uređaje ILI ČAK i podmreže, moramo ih i konfigurirati, pa budite oprezni s nama koji radimo na "drobljenju gvožđa" u velikim kompanijama.

      TREĆE.- U našem GNU / Linuxu koji hostuje Squid moramo preusmjeriti portove i konfigurirati «firewall» (pročitajte prethodni članak IPTables
      http://www.linuxadictos.com/introduccion-a-iptables-configura-un-firewall-en-linux.html )

      iptables -t nat -A PREROUTING -p TCP –dport 80 -j REDIRECT –do port 3128

      i na IPFW:

      / sbin / ipfw dodajte 3 fwd 127.0.0.1,3128 tcp s bilo kojeg na bilo kojih 80

      Nepotrebno je reći da NE MOŽEMO pokrenuti Apache ili Ngix server na tom portu 80 - zadani port web stranica - OBIČAJNO POKAZUJE da na računaru ne opterećujemo Squid-om ovisno o prostoru na disku za „cache“ -.

      ČETVRTO.- Moramo konfigurirati naš Squid server i reći mu da radi u tom načinu mijenjanjem "/etc/squid/squid.conf" pomoću nano-a ili uređivača koji vam se najviše sviđa:

      http_port 3128 transparentan

      Moramo omogućiti i prosljeđivanje paketa u "/etc/sysctl.conf":

      net.ipv4.ip_forward = 1
      net.ipv6.conf.all.forwarding = 1

      Posljednji redak ako imamo IPv6, dobro je konfigurirati jednom u budućnosti.

      Konačno ponovo pokrenite uslugu Squid kako je preporučio gospodin Isaac gore, a takođe ponovo pokrenite mrežu:

      /etc/init.d/procps.sh ponovno pokretanje

      NEKA VJERA U GREŠKE (ili neke gluposti s moje strane) javite mi istim putem, vaše kritike i komentari su dobrodošli;
      GOSPODIN. ISAAC JE MODERATOR koji će imati zadnju riječ u ovoj "borbi".

  6.   Jimmy olano rekao je

    U ovom kratkom videu možemo vidjeti kako Mozilla konfigurirati za korištenje proxy servera, s izuzetkom da koristi virtualnu mašinu s ReactOS-om, ali je kratak i mislim da ILUSTRIRA ono što ovdje želite konfigurirati (veza onemogućena razmacima, uklonite ih i pregledajte):

    ht tps: / / www. Youtube. com / watch? v = st47K5t7s-Q

  7.   Učiteljice rekao je

    Upravo sam počeo pratiti vašu radio stanicu, proveo sam dva dana .. i vrlo dobar sadržaj ..
    Pozdrav iz Meksika .. (ja sam učiteljica i moje zrno pijeska će koristiti otvoreni izvor)

  8.   ari rekao je

    Želio bih da mi pomognete Želim dati privilegiju korisniku da vidi Facebook i da su ostali s već konfiguriranim ograničenjima i kako omogućiti korisnike Interneta u određeno vrijeme. Želio bih da me savjetujete, hvala

  9.   Belkis rekao je

    Ari, ono što su mi objasnili u vezi s tim je da mašina koju želiš nije ograničena, mora se izostaviti, ali do tada imam objašnjenje, također sam neiskusna u toj temi

  10.   pobjednik rekao je

    Laku noć, izvinite, možda je moje pitanje malo osnovno, ali hej, instalirao sam lignje i konfigurirao na centos 5.4, instalirao vino i ultrasrf, ono što namjeravam je podijeliti internet s ultrasurfa s lignjama, radim isto na Windows mašini XP sa FreeProxy-jem i ultrasurfom i mogu ga podijeliti bez problema, ali ne znam kako se to radi u linuxu

  11.   daniel andrada rekao je

    Savjetujem se s vama, imam konfiguraciju poput vaše, u mom slučaju preusmjeravam port 80 na 8080 gdje se izvršava lignja. Problem je u tome što neki korisnici tu konfiguraciju ostavljaju na računaru i pristupaju putem porta 80, iako ne svih usluga. Ovo sa iptables. Znate li gdje bi bio problem?

  12.   Još rekao je

    Vrlo korisno i dobro objašnjeno. Hvala!

    Imam pitanje, kada želim stvoriti ACL, gdje to mogu učiniti, odnosno u kojem redu konfiguracijske datoteke? I trebam li odmah staviti 2 retka ispod naredbe http_access kao što prikazujete u svom postu? Ili gde?

    Hvala još jednom!! Pozdrav!