Uvod u Squid: korak-po-korak postavljanja

Logotip lignje i Tux

Lignja je još jedan filtar na razini aplikacije koji mogu nadopuniti iptable. Squid je predmemorirani web proxy poslužitelj, vrlo je popularan i besplatan te ima više platformi. 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 ga znali koristiti.

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

Sada idemo izravno na objašnjavanje akcije nekoliko primjera kako koristiti lignje kako bismo zaštitili 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, na razini aplikacije.

Obično se nakon instalacije uključuje konfiguracijska datoteka koju možete pronaći u /etc/squid3/squid.conf i to je ono što moramo uređivati ​​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. Drugi je detalj da ova datoteka navodi zadani port koji koristi usluga Squid, a koji je prema zadanim postavkama 3128 (pogledajte redak ili direktivu "http_port 3128" i uklonite # da biste ga aktivirali). Ako želite, možete ga promijeniti u drugi priključak poput 8080 ... A još nešto što je potrebno je konfiguriranje imena hosta, potražite komentar "TAG: Vidljivo_ime hosta" i vidjet ćete redak "visible_hostname" u koji morate staviti vaše ime hosta.

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

hostname

I ime koje se pojavi dodate ga u redak kojem ne smije prethoditi #, tako da se ne zanemaruje kao komentar. Odnosno, izgledalo bi ovako:

pojavilo se_vidno_ime hosta_ime_have_you_

Ako vidite konfiguracijsku datoteku, vidjet ćete da je jako komentirana, ako želite poništiti kreirano pravilo, redak možete započeti s # i pretvorite ga u komentar, s kojim ga Squid ignorira, da biste ga vratili u službu, izbriš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 filtar, mora imati ACL i direktivu koja pokazuje što 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 brinite, s Primjer vidjet ćete sve puno bolje. Zamislite ovo:

acl blokira url_regex kao facebook
http_access odbiti blokiranje

Što ovo pravilo znači jest 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 pogrešku u pregledniku). Ako umjesto "odbij" koristite "dopusti", dopustit ćete pristup umjesto da ga zabranite. Također možete koristiti! Da biste, na primjer, izuzeli, 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 popis IP-ova kojima želimo dopustiti 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še računalo koriste djeca mlađa od 18 godina i želite ograničiti pristup određenim web mjestima za sadržaj za odrasle. Prva stvar je stvoriti datoteku nazvanu / etc / squid3 / list sa sadržajem:

odrasla osoba

porno

seks

poringa

A sada u  datoteku squid.conf postavili smo sljedeće pravilo:

acl denegados url_regex "/etc/squid3/lista"

http_access allow !denegados

Kao što vidiš koristili smo dopuštenje š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đer možete stvoriti popise, ne samo imena domena ili IP-ova kao što smo to već učinili, također možete staviti domene i na primjer ograničavaju pristup domenama kao što su .xxx, .gov itd. Pogledajmo primjer temeljen na prethodnom pravilu. Izrađujemo datoteku / etc / squid3 / domene koja ima:

Edu

es

.org

A sada naše pravilo, zabraniti pristup popisu zabranjenih web lokacija koje izrađujemo, ali dopuštajući pristup URL-ovima s ovim domenama:

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 Nedostajalo mi je glavno. Upravo sam stavio primjere kako se koristi i zaboravio to reći za pokretanje poslužitelja Squid:

sudo service squid3 start

Prije nego što je krenulo sa "/etc/init.d/squid start", ali sada morate koristiti ovaj drugi redak koji sam vam stavio. Baš kao što se konfiguracijska datoteka više ne nalazi u /etc/squid/squid.conf, već u /etc/squid3/squid.conf. Ok, nakon što se kreiraju politike filtriranja i pokrenemo ga, moramo konfigurirati i preglednik, na primjer, ako koristite Mozilla Firefox ili derivate, možete otići na konfiguracijski izbornik (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 stavljamo svoj IP i port koji Squid koristi, u ovom slučaju 3128. Također odaberite "Koristi isti proxy za sve" i zatvorite spremanje promjena.

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


Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  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 obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.

  1.   Nicolas dijo

    hvala !, korisno.

  2.   Jimmy olano dijo

    OPET vrlo dobro sažeto za pomalo složenu temu, stalno ponavljam "korisnička razina: srednja", trebali biste znati neke pojmove o "mrežama".

    POHUMNO smatram da treba dodati opciju za konfiguriranje našeg preglednika da koristi "proxy", ali kako je ovaj unos "UVOD u Squid", bit ćemo vrlo svjesni sljedeće? dostava (napokon i uz rizik da budem dosadan, ZAPAMTITE da ne "proksirate" bankarske web stranice i / ili financijske institucije koje koristite u svom domu ili tvrtki).

    1.    Isaac PE dijo

      Pozdrav, hvala na komentarima. Da, IPTABLES i Lignje su predebeli 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 dijo

        Uffff "trunk" žao mi je š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 upotreba "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 dijo

    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 dijo

      Već sam ga objavio, ali nemojte ovdje spamiti druge stranice

  4.   ALBERT dijo

    VIJESTI O ANDROIDU: GM Bot, Android trojanac od kojeg potječe Mazar

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

  5.   Hernane dijo

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

    1.    Jimmy olano dijo

      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 /
      - Skromno, to NIJE "neželjena pošta" ili samopromocija, to dolazi do slučaja-)
      I pretpostavljam da se pri korištenju Squid ove slike NE učitavaju 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čito je glavna funkcija «proxyja» ušteda propusnosti sa slikama - najtežom od web stranica - [i] pod pretpostavkom da su te slike statične, ne mijenjaju se tijekom vremena, što je točno u 99% slučajeva slučajevi [/ i].

      No, u CAPTCHA-i, budući da "nema pokretanja", moramo eliminirati njezinu prethodnu pohranu i uvijek vratiti novu sliku.

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

      acl caixa dstdomain .lacaixa.es

      gdje je:
      acl -> naredba za stvaranje pravila (pročitajte članak g. Isaaca, gornji odlomci).

      caixa -> naziv pravila.

      dtsdomain -> opcija "type" da naznačimo da se pozivamo na domenu, VAŽNO točku na početku ( http://ww w.razriješiti. 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, umetnuo sam ih u naznačene web veze, uklonio i kretat ćete se (stranice na engleskom).

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

    2.    Jimmy olano dijo

      DOBRO, da PONOVO odgovorim na pitanje PROZIRNOSTI u lignjama, inzistiram na tome da morate imati znanje srednje razine, a 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

      Bilješke:
      -Dodao sam razmake u veze kako bih izbjegao povratni ping od mene (nemam apsolutno nikakve veze s timom). Linux Adictos, stoga nisam ovlašten izvršiti 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 preglednika 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 će korisnik naše lokalne mreže biti zadužen za obavljanje svog posla, ali možete se kladiti «srebro protiv papirnatih pezeta» da postoji neka «bash skripta» koja se može instalirati putem SSH-a na razna računala s GNU / Linuxom.

      PRETHODNI UVJET: da naš poslužitelj Squid radi onako kako podučava g. Isaac u ovom postu, ako smo ga već testirali i stavili "radno opterećenje" i radi dobro, možemo nastaviti dalje.

      POD SHEMOM PROZIRNOSTI:

      PRVI.- Naša lignja mora biti zadana ruta "gateway" u našem "eth0" ili "wlan0" - sjećate li se znanja srednje razine? -, pa mi to tamo uspostavljamo (to se prema zadanim postavkama vrši s DHCP-om TAKO također moramo konfigurirati poslužitelj takve usluge:
      http: // en.wikipe dia.org/wiki/ Dynamic_Host_Configuration_Protocol).

      Moramo planirati konfigurirati, u slučaju kvara, sav promet preusmjeriti na naš modem (e) izravno ako je Squid - računalo na kojem radi - premašen u svom radnom opterećenju - i upotrijebiti modem (e) tipa "most" tako da izlaze van, to se postiže stvaranjem "skripte" koja se pokreće u spomenutom događaju i konfigurira naš DHCP poslužitelj - koji bi trebao biti instaliran na računalo koje nije Squid -.

      NAPOMENA: naše Squid računalo uvijek će ovisiti o svojoj IP adresi s DHCP-a, ali istovremeno će imati određenu "kontrolu" s navedenim DHCP poslužiteljem. Ako želite raditi s fiksnim IP adresama, od snage, možete, ali kad dodate još računala ILI ZAMIJENITE neka, 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 toč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 montirati spomenuta usluga-)

      DRUGO.- Moramo filtrirati promet prema našem poslužitelju Squid, 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 željeza" u velikim tvrtkama.

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

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

      i na IPFW:

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

      Nepotrebno je reći da NE MOŽEMO pokrenuti Apache ili Ngix poslužitelj na tom priključku 80 - zadani priključak web stranica - ZATVORENO POKAZUJE da ne opterećujemo naše računalo pomoću Squid -a, ovisno o prostoru na disku za «cache» -.

      ČETVRTO.- Moramo konfigurirati naš poslužitelj Squid 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 proziran

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

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

      Ovaj posljednji redak ako imamo IPv6, dobro je jednom ga konfigurirati u budućnosti.

      Napokon ponovno pokrenite uslugu Squid kako je preporučio gospodin Isaac gore, a također ponovno pokrenite mrežnu uslugu:

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

      NEKA VJERA U ERRATE (ili neke gluposti s moje strane) javite mi na isti način, vaše kritike i komentari su dobrodošli;
      G. ISAAC JE MODERATOR koji će imati zadnju riječ u ovoj "borbi".

  6.   Jimmy olano dijo

    U ovom kratkom videozapisu možemo vidjeti kako konfigurirati Mozillu za korištenje proxy poslužitelja, s iznimkom da koristi virtualni stroj s ReactOS-om, ali je kratak i mislim da ILUSTRACIJE ono što ovdje želite konfigurirati (veza onemogućena razmacima, uklonite ih i pregledavajte):

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

  7.   Učitelj, nastavnik, profesor dijo

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

  8.   Ovan dijo

    Ž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 dijo

    Ari, ono što su mi objasnili u vezi s tim je da stroj koji želiš nije ograničen, mora se izostaviti, ali do tada imam objašnjenje, također sam neiskusan u tom pitanju

  10.   pobjednik dijo

    Laku noć, izvinite, možda je moje pitanje malo osnovno, ali hej, instalirao sam lignje i konfigurirao na centos 5.4, instalirao vino i ultrasurf, ono što namjeravam je podijeliti internet s ultrasurfa s lignjama, radim isto na Windows računalu XP s FreeProxyjem i ultrasurfom i mogu ga podijeliti bez problema, ali ne znam kako to učiniti u linuxu

  11.   danijel andrada dijo

    Savjetujem se s vama, imam konfiguraciju poput vaše, u mom slučaju preusmjerim priključak 80 na 8080 tamo gdje rade lignje. Problem je u tome što neki korisnici tu konfiguraciju ostavljaju na svojim računalima i pristupaju putem porta 80, iako ne svih usluga. Ovo s iptablesima. Imate li ideju gdje bi bio problem?

  12.   Oplesti dijo

    Vrlo korisno i dobro objašnjeno. Hvala!

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

    Hvala još jednom!! Pozdrav!