Introduction to Squid: Step-by-Step Setup

Logo Squid a Tux

Squid je další filtr na úrovni aplikace který může doplňovat iptables. Squid je webový proxy server v mezipaměti, je velmi populární a bezplatný a je multiplatformní. I když ji lze použít ke zlepšení výkonu připojení k Internetu, lze ji použít také z bezpečnostních důvodů. Od začátku projektu v 90. letech byl Squid velmi pokročilý a nyní vám ho představujeme, abyste věděli, jak jej používat.

Pro vaši instalaci, můžete přistupovat k oficiální web projektu a vyberte binární balíčky pro váš operační systém nebo distribuci. Chcete-li jej nainstalovat z balíčku zdrojového kódu také kompilací máte tu možnost. Dostupné tarballs jsou tar.gz, tar.bz2 a tar.xz. Pokud nevíte, jak nainstalovat, můžete přejít k článku, který upravujeme v tomto blogu jak nainstalovat libovolný balíček z linuxu. oko! Pokud máte Debian nebo derivát a viděli jste, že je nainstalován s sudo "apt-get install squid", může se zobrazit chyba, protože abyste mohli projevit účinek, musíte nahradit "squid" výrazem "squid3". .

Nyní přejdeme přímo k vysvětlení akce několik příkladů, jak používat Squid k ochraně našeho vybavení. Než bych chtěl vysvětlit, že Squid je založen na ACL, tj. V seznamu řízení přístupu nebo seznamu řízení přístupu, tj. Seznamech, které podrobně popisují oprávnění ke kontrole v tomto případě toku sítě a implementaci filtrů podobných filtrům iptables, ale na úrovni aplikace.

Normálně je po instalaci zahrnut konfigurační soubor, který najdete v /etc/squid3/squid.conf a to je to, co musíme upravit pomocí editoru, jako je nano nebo gedit. V něm můžeme vygenerovat naše pravidla filtrování, i když existují možnosti cache_dir, cache_mem a http_port, použijeme to pro naše pravidla zabezpečení. Dalším detailem je, že tento soubor určuje výchozí port používaný službou Squid, který je ve výchozím nastavení 3128 (viz řádek nebo směrnice „http_port 3128“ a pro jeho aktivaci odebrat #). Pokud chcete, můžete jej změnit na jiný port, jako je 8080 ... A další věcí, která je nezbytná, je konfigurace názvu hostitele, vyhledejte komentář „TAG: Visible_hostname“ a uvidíte řádek „visible_hostname“, kam musíte vložit vaše jméno hostitele.

Chcete-li znát své jméno hostitele, můžete zadat do terminálu:

hostname

A jméno, které se objeví, přidáte do řádku, kterému by nemělo předcházet #, aby nebyl ignorován jako komentář. To znamená, že by to vypadalo takto:

viditelné_název_hostitele_název_hostitele_objevilo se

Pokud uvidíte konfigurační soubor, uvidíte, že je velmi komentovaný, pokud chcete přepsat vytvořené pravidlo, můžete začít řádek s # a transformujete jej na komentář, kterým jej Squid ignoruje, abyste jej znovu uvedli do provozu, smažete # a je to. Ve skutečnosti existuje mnoho vytvořených a komentovaných pravidel, která můžete použít odstraněním #. Pravidla tedy nemusíte mazat a přepisovat. Chcete-li přidat konkrétní pravidlo nebo filtr, musí mít seznam ACL a směrnici, která označuje, co dělat.

Mimochodem, když odeberete # pro aktivaci pravidla, na začátku řádku nenechávejte mezery. Například:

Špatným směrem:

http_port 3128

Správný způsob:

http_port 3128

Copak jsi nic neslyšel? No neboj se, s Příklad uvidíte všechno mnohem lépe. Představte si toto:

blokování acl url_regex jako facebook
blokování blokování přístupu http_access

Co toto pravidlo znamená je to, že acl s názvem „blocking“ zakáže přístup na URL, která obsahuje „facebook“ (proto pokud se pokusíme vstoupit na Facebook, přeskočí chybu v prohlížeči). Pokud místo „popřít“ použijete „povolit“, povolíte přístup místo toho, abyste jej nezakazovali. Můžete také použít! Chcete-li například vyloučit, že chcete povolit přístup do seznamu1, ale nikoli do seznamu2:

http_access allow lista1 !lista2

Dalším příkladem může být vytvoření povoleného souboru / etc / squid3 / ips a do něj uložit seznam IP adres, ke kterým chceme povolit přístup. Předpokládejme například, že obsah povolených ips je:

192.168.30.1

190.169.3.250

192.168.1.26

A pak vytvoříme ACL umožnit přístup k těmto IP adresám:

acl nuevaregla src "/etc/squid3/ipspermitidas"

Pěkný praktický příkladPředstavte si, že váš počítač používají děti mladší 18 let a chcete omezit přístup na určité stránky s obsahem pro dospělé. První věcí je vytvořit soubor s názvem / etc / squid3 / list s obsahem:

dospělý

porno

pohlaví

poringa

A teď dovnitř  soubor squid.conf dáme následující pravidlo:

acl denegados url_regex "/etc/squid3/lista"

http_access allow !denegados

Jak vidíš jsme použili povolit což je v zásadě povoleno, ale pokud se podíváte, přidali jsme! popřít by tedy bylo rovnocenné s uvedením:

acl denegados url_regex "/etc/squid3/lista"

http_access deny denegados

Můžete také vytvářet seznamy nejen doménových jmen nebo IP adres, jak jsme to udělali my, můžete také umístit domény a například omezit přístup k doménám, jako jsou .xxx, .gov atd. Podívejme se na příklad založený na předchozím pravidle. Vytvoříme soubor / etc / squid3 / domains, který má:

. Edu

.es

.org

A teď naše pravidlo, odepřít přístup k seznamu zakázaných webů, které vytváříme, ale povolit přístup k adresám URL s těmito doménami:

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

http_access allow !denegados dominios

ROZŠÍŘENÍ:

Omlouvám se, když jsem viděl komentáře, uvědomil jsem si to To hlavní mi chybělo. Právě jsem uvedl příklady toho, jak se používá, a zapomněl jsem říci, že ke spuštění serveru Squid:

sudo service squid3 start

Předtím, než to vyšlo s "/etc/init.d/squid start", ale teď musíte použít tento další řádek, který jsem pro vás dal. Stejně jako konfigurační soubor již není v /etc/squid/squid.conf, ale v /etc/squid3/squid.conf. Dobře, jakmile jsou vytvořeny zásady filtrování a po jejich spuštění musíme také nakonfigurovat prohlížeč, například pokud používáte Mozilla Firefox nebo deriváty, můžete přejít do konfigurační nabídky (víte, tři pruhy) a poté do Předvolby, Pokročilé a na kartě Síť klikněte na Konfigurace v části Připojení. Tam vybereme Ruční konfiguraci proxy a vložíme naši IP a port, který používá Squid, v tomto případě 3128. Také vyberte „Použít stejný proxy pro všechno“ a ukončete ukládání změn.

Prosím Nezapomeňte zanechat své komentáře, pochybnosti nebo co chcete ... Ačkoli je to výukový program daleko nad Squidem, doufám, že vám pomůže.


Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Za data odpovídá: AB Internet Networks 2008 SL
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.

      Nicolas řekl

    děkuji !, užitečné.

      Jimmy olano řekl

    ZNOVU velmi dobře zhuštěný pro poněkud složitý předmět, pořád říkám „uživatelská úroveň: střední“, měli byste znát nějaké představy o „sítích“.

    SKVĚLĚ se domnívám, že by měla být přidána možnost nakonfigurovat náš prohlížeč tak, aby používal „proxy“, ale protože tato položka je „ÚVOD do Squidu“, budeme si velmi dobře vědomi toho dalšího? doručení (konečně, a s rizikem otravování mě, PAMATUJTE, že nebudete „zastupovat“ bankovní webové stránky a / nebo finanční instituce, které používáte ve své domácnosti nebo ve společnosti).

         Isaac PE řekl

      Ahoj, děkuji za komentáře. Ano, IPTABLES a Squid jsou příliš silné na to, aby vytvořili článek, který je vysvětluje do hloubky, a vy se musíte omezit na uvádění každodenních příkladů ...

      Ale máte naprostou pravdu, přidal jsem to nyní ke konfiguraci proxy, plánoval jsem to a zapomněl jsem. Moje chyba.

      Zdravím a děkuji!

           Jimmy olano řekl

        Uffff "kufr" omlouvám se, že si neuvědomil hlavní věc:
        SPUŠTĚTE SLUŽBU :-( bez toho „není žádná vaše teta“ - odpusťte mi hovorový projev - VELMI ÚSPĚŠNÉ ROZŠÍŘENÍ! 8-)

        {k opravě při každém spuštění dojde úpravou «/ sbin / init»:
        http: // www. ubuntu-es.org/node/ 13012 # .Vsr_SUJVIWw}

        {další jednodušší způsob je použití souboru „update-rc.d“:
        https: // parbaedlo. wordpress.com/201 3/03/07 / nastavení-spuštění-a-zastavení-služeb-linux-aktualizace-rc-d /}

        Přidal jsem do odkazů mezery, odstraňte je a budete navigovat ;-)

        VELMI DĚKUJI ZA VAŠI POZORNOST.

      ALBERT řekl

    LINUX NEWS: Attack on Linux Mint: infikovat instalátory a kompromitovat pověření uživatele

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

         azpe řekl

      Již jsem to publikoval, ale prosím, nevyžádejte si zde další stránky

      ALBERT řekl

    ZPRÁVY PRO Android: GM Bot, trojský kůň Android, od kterého je Mazar odvozen

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

      Hernan řekl

    Ahoj Jimmy, jak to děláš, aby ti chobotnice tyto stránky nevyhledávaly? Bylo by hezké, kdybyste komentovali transparentní možnost, která zabrání zdlouhavé konfiguraci proxy pro každý počítač

         Jimmy olano řekl

      Dobrá otázka, nainstaloval jsem CAPTCHA ve svobodném softwaru na webové stránky svých klientů:
      (http: // www. ks7000. net. ve / 2015/04/03 / un-captcha-easy-and-simple-to-implement /
      -Poníženě to NENÍ „spam“ nebo vlastní propagace, k případu to opravdu jde-)
      a představuji si, že při použití Squid tyto obrázky NEJSOU znovu načteny, protože jsem na ně vložil stejný název -ea, mohu také generovat náhodná jména, až dosud jsem o tom nepřemýšlel- a tím, že mám stejný název, Squid vrátí to, co má v „mezipaměti“.

      Je zřejmé, že hlavní funkcí «proxy» je šetřit šířku pásma pomocí obrázků - nejtěžší webové stránky - [i] za předpokladu, že tyto obrázky jsou statické, v průběhu času se nemění, což je pravda u 99% případy [/ i].

      Ale v CAPTCHAs, protože „není spuštěn“, musíme vyloučit jeho předchozí úložiště a vždy vrátit nový obrázek.

      Pokud jde o banky, chápu, že největší ve Španělsku je «Caixa», protože vytvoříme PŘÍKLADOVÉ pravidlo:

      acl caixa dstdomain .lacaixa.es

      kde:
      acl -> příkaz k vytvoření pravidla (znovu si přečtěte článek pana Isaaca, odstavce výše).

      caixa -> název pravidla.

      dtsdomain -> volba „type“ k označení, že odkazujeme na doménu, DŮLEŽITÉ tečka na začátku ( http://ww w. vyvinout. com / squid / squid24s1 / access_controls.php)

      doména (y) -> představuji si, že můžeme přidat domény, které potřebujeme, oddělené mezerou; Když už mluvíme o mezerách, vložil jsem je do uvedených webových odkazů, odstraňte je a budete se pohybovat (stránky v angličtině).

      Doufám, že zde uvedené znalosti budou pro vás užitečné, a to díky LinuxAdictos!

         Jimmy olano řekl

      No, abych odpověděl na otázku TRANSPARENTNOSTI v Squid ZNOVU trvám na tom, že musíte mít znalosti na střední úrovni a z didaktických důvodů co nejvíce shrnu následující článek (v angličtině), který podle mého názoru mluví velmi dobře o předmětu:

      http: // ww w.deckle.co. uk / squid-users-guide /transparent-caching-proxy.html

      Poznámky:
      - Přidal jsem do odkazů mezery, abych se vyhnul „pingbacku“ sám (nemám vůbec nic, co by se týkalo týmu Addicts Linux, proto nejsem oprávněn tuto akci provádět).
      - TOTO O TRANSPARENTNOSTI jsem NEVĚDĚL! (neřekli mě, říkám).
      -Pomáhám vám, chlapci, také si pomáhám, je to v pohodě co do množství! ?

      S tím, co bylo řečeno, pojďme na věc:

      JEN jsem navrhl panu Isaacovi, aby rozšířil konfiguraci našich prohlížečů s nainstalovaným proxy serverem a on to velmi laskavě udělal (páni, kde si ten muž najde čas udělat tolik věcí?).

      V rámci tohoto schématu je použití Squidu VOLITELNÉ: každý uživatel naší místní sítě bude mít na starosti vykonávání své práce, ale můžete vsadit «stříbrné tvrdé proti papírovým pesetám», že existuje nějaký «bash skript», který lze nainstalovat přes SSH na různé počítače se systémem GNU / Linux.

      PŘEDBĚŽNÉ POŽADAVKY: že náš server Squid pracuje tak, jak to v tomto příspěvku učí pan Isaac, pokud jsme jej již otestovali a umístili na něj „pracovní zátěž“ a funguje dobře, můžeme pokračovat dál.

      V RÁMCI TRANSPARENTNÍHO REŽIMU:

      PRVNÍ - Náš Squid musí být výchozí cestou „brány“ v našem „eth0“ nebo „wlan0“ - pamatujete si znalosti na střední úrovni? -, dobře, my to tam zavedeme (standardně se to dělá s DHCP nakonfigurovat server takové služby:
      http: // en.wikipe dia.org/wiki/ Dynamic_Host_Configuration_Protocol).

      Musíme plánovat nakonfigurovat, v případě selhání, přesměrovat veškerý provoz na naše modemy přímo, pokud je Squid - počítač, na kterém běží - překročen ve své pracovní zátěži - a použít modem (mody) typ "most" tak, aby jdou ven, toho je dosaženo vytvořením „skriptu“, který se spustí v uvedené události a nakonfiguruje náš server DHCP - který by měl být nainstalován na jiný počítač než náš Squid-.

      POZNÁMKA: náš počítač Squid bude vždy záviset na jeho IP adrese z DHCP, ale současně bude mít určitou „kontrolu“ s uvedeným serverem DHCP. Pokud chcete pracovat s pevnými IP adresami, můžete, ale když přidáte více počítačů NEBO VYMĚNIT některé, budete muset znovu nakonfigurovat a není to nápad (přečtěte si s potěšením:
      ht tps: // pheno barbital. wordpress.com/2012/07/23/the-12-reasons-by-who-a-administrator-of-systems-lazy-is-a-good-administrator/)
      DALŠÍ POZNÁMKA (viz druhý bod): naše modemy a / nebo routerová zařízení musí deaktivovat funkci DHCP a že jsou řízena naším serverem DCHP (- což vás ujišťuji, že z toho vychází další položka, která nám ukáže, jak se připojit uvedená služba-)

      DRUHÉ. - Musíme filtrovat provoz směrem k našemu serveru Squid, pokud máme několik rozptýlených routerů, které pokrývají oblast bezdrátové sítě „wifi“, je to stále lokální síť, ale střední velikosti. V zásadě je to stejné jako v prvním bodě, ALE pokud máme různá zařízení NEBO ANI podsítě, musíme je také nakonfigurovat, takže buďte opatrní s těmi z nás, kteří ve velkých společnostech „drtí žehličky“.

      TŘETÍ - V našem GNU / Linuxu, který hostuje Squid, musíme přesměrovat porty a nakonfigurovat «firewall» (přečtěte si předchozí článek 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 –to -port 3128

      a IPFW:

      / sbin / ipfw přidá 3 fwd 127.0.0.1,3128 tcp z jakékoli na libovolnou 80

      Není nutné říkat, že NEMŮŽEME spustit server Apache nebo Ngix na tomto portu 80 - výchozí port webových stránek - INDIKÁTY SPOLEČNÉHO ZMYSLU, aby se náš počítač více nezatěžoval pomocí Squid -dependent na disku pro «cache» -.

      ČTVRTÉ. - Musíme nakonfigurovat náš server Squid a říct mu, že pracuje v tomto režimu úpravou souboru „/etc/squid/squid.conf“ pomocí nano nebo editoru, který se vám líbí nejvíce:

      http_port 3128 transparentní

      Musíme také povolit předávání paketů v souboru „/etc/sysctl.conf“:

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

      Tento poslední řádek, pokud máme IPv6, je dobré jej jednou v budoucnu nakonfigurovat.

      Nakonec restartujte službu Squid podle doporučení výše uvedeného pana Isaaca a také restartujte síťovou službu:

      /etc/init.d/procps.sh restartujte

      Nějaká víra chyb (nebo nějaký nesmysl z mé strany), dejte mi vědět stejnou cestou, vaše kritiky a komentáře jsou vítány;
      PAN. ISAAC JE MODERÁTOR, který bude mít poslední slovo v tomto „boji“.

      Jimmy olano řekl

    V tomto krátkém videu vidíme, jak nakonfigurovat Mozillu tak, aby používala proxy server, s výjimkou, že používá virtuální stroj s ReactOS, ale je to krátké a myslím si, že to zde ILUSTRAČUJE, co chcete konfigurovat (odkaz zakázán s mezerami, odstranit je a procházet):

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

      Učitel řekl

    Právě jsem začal sledovat vaši rozhlasovou stanici, byl jsem 2 dny .. a velmi dobrý obsah ..
    Zdravím z Mexika .. (Jsem učitel a moje zrnko písku je použít opensource)

      akrů řekl

    Chtěl bych, abyste mi pomohli Chci dát uživateli oprávnění vidět Facebook a že ostatní mají již nakonfigurovaná omezení a jak povolit uživatelům internetu v určitých časech Chtěl bych, abyste mi poradili, děkuji

      Belkis řekl

    Ari, to, co mi o tom vysvětlili, je to, že stroj, který chceš, není omezen, musí být vynechán, ale do té doby mám vysvětlení, jsem na toto téma také nezkušený

      vítěz řekl

    Dobrou noc, promiňte, možná je moje otázka trochu základní, ale hej, nainstaloval jsem chobotnici a nakonfiguroval jsem na centos 5.4, nainstaloval víno a ultrasurf, co chci udělat, je sdílet internet z ultrasurf s chobotnicí, dělám totéž na Windows XP s FreeProxy a ultrasurf a mohu to bez problémů sdílet, ale nevím, jak to udělat v linuxu

      daniel andrada řekl

    Konzultuji vás, mám konfiguraci jako vy, v mém případě přesměrovávám port 80 na 8080, kde běží chobotnice. Problém je v tom, že někteří uživatelé nechávají tuto konfiguraci na svých počítačích a přístup přes port 80, i když ne všechny služby. To s iptables. Máte představu, kde by byl problém?

      Oddat řekl

    Velmi užitečné a dobře vysvětlené. Dík!

    Mám otázku, když chci vytvořit ACL, kde to udělám, tj. V jakém řádku konfiguračního souboru? A měl bych okamžitě dát 2 řádky pod příkaz http_access, jak ukazuješ ve svém příspěvku? Nebo kde?

    Ještě jednou děkuji!! Pozdravy!