Bevezetés a Squid-be: lépésről lépésre

Kalmár logó és Tux

A Squid egy másik alkalmazásszintű szűrő amely kiegészítheti az iptables-t. A Squid egy gyorsítótárazott web-proxy szerver, nagyon népszerű és ingyenes, és több platformon is elérhető. Bár felhasználható az internetkapcsolatok teljesítményének javítására, biztonsági célokra is felhasználható. Amióta a projekt a 90-es években elkezdődött, a Squid nagyon előrehaladott, és most bemutatjuk neked, hogy tudd, hogyan kell használni.

A telepítéshez, elérheti a a projekt hivatalos honlapja és válassza ki az operációs rendszer vagy terjesztés bináris csomagjait. Ha fordítással szeretné telepíteni a forráskód-csomagból, akkor azt is megvan az a lehetőség. Az elérhető tárcsák a tar.gz, tar.bz2 és tar.xz. Ha nem tudja, hogyan kell telepíteni, akkor keresse fel azt a cikket, amelyet ebben a blogban szerkesztünk hogyan lehet bármilyen csomagot telepíteni a linuxról. szem! Ha van Debianja vagy származéka, és látta, hogy a sudo "apt-get install squid" -nel van telepítve, akkor hibát okozhat, mert a "squid" -ot "squid3" -ra kell cserélnie, hogy érvénybe lépjen. ..

Most közvetlenül a cselekvés magyarázatához megyünk néhány példa a Squid használatára felszerelésünk védelme érdekében. Mielőtt szeretném elmagyarázni, hogy a Squid ACL-eken alapul, vagyis a beléptetés-ellenőrzési listán vagy a beléptetés-ellenőrzési listán, vagyis azokon a listákon, amelyek részletezik az engedélyeket, hogy ebben az esetben szabályozzák a hálózati folyamatot és megvalósítsák az iptables-hez hasonló szűrőket, de az alkalmazás szintjén.

Normális esetben a telepítés után egy konfigurációs fájl is szerepel benne, amely megtalálható itt /etc/squid3/squid.conf és ezt szerkesztenünk kell egy olyan szerkesztővel, mint a nano vagy a gedit. Ebben generálhatjuk szűrési szabályainkat, bár vannak opciók cache_dir, cache_mem és http_port, ez utóbbit fogjuk használni a biztonsági szabályainkhoz. Egy másik részlet, hogy ez a fájl meghatározza a Squid szolgáltatás által használt alapértelmezett portot, amely alapértelmezés szerint 3128 (az aktiváláshoz lásd a "http_port 3128" sort vagy utasítást, és távolítsa el a # -ot). Ha szeretné, módosíthatja egy másik portra, például a 8080-ra ... És egy másik dolog, ami szükséges a hosztnév konfigurálásához, keresse meg a "TAG: Visible_hostname" megjegyzést, és megjelenik egy "visible_hostname" sor, ahova be kell írnia a hosztnevet.

A gazdagép nevének megismeréséhez beírhatja a terminált:

hostname

És a megjelenő név hozzáadja azt a sort, amelyet nem szabad megelőznie # -nel, hogy ne hagyja figyelmen kívül kommentként. Vagyis így nézne ki:

visible_hostname hostname_have_you_eareared

Ha látja a konfigurációs fájlt, látni fogja, hogy nagyon kommentált, ha felül akar írni egy létrehozott szabályt, akkor a sort a # -val kezdheti és átalakítod kommentekké, amellyel a Squid figyelmen kívül hagyja, hogy újra üzembe állítsd, törlöd a # és ennyi. Valójában sok olyan létrehozott és kommentált szabály létezik, amelyeket a # eltávolításával használhat. Tehát nem kell törölni és átírni a szabályokat. Nos, egy adott szabály vagy szűrő hozzáadásához rendelkeznie kell ACL-lel és irányelvvel, amely jelzi, mit kell tennie.

Egyébként, ha eltávolít egy # kódot egy szabály aktiválásához, ne hagyjon szóközt a sor elején. Például:

Rossz irány:

http://port 3128

Helyes mód:

http://port 3128

Nem hallottál semmit? Nos, ne aggódj Egy példa mindent sokkal jobban fog látni. Képzelje el ezt:

acl blokkoló url_regex mint facebook
A http_access letiltja a blokkolást

Mit jelent ez a szabály az, hogy az "blokkoló" nevű acl tiltja a hozzáférést a "facebook" -ot tartalmazó URL-hez (ezért ha megpróbálunk belépni a Facebook-ba, akkor kihagy egy hibát a böngészőben). Ha a "megtagadás" helyett az "engedély" lehetőséget használja, akkor a tiltás helyett engedélyezné a hozzáférést. Használhatja a! Például tegyük fel, hogy engedélyezed a hozzáférést a list1-hez, de nem a list2-hez:

http_access allow lista1 !lista2

Egy másik példa lehet a / etc / squid3 / ips fájl létrehozása és mentse el azon IP-k listáját, amelyekhez hozzáférést akarunk engedélyezni. Tegyük fel például, hogy a megengedett ips tartalma:

192.168.30.1

190.169.3.250

192.168.1.26

És akkor létrehozzuk az acl-t hogy hozzáférést biztosítson ezekhez az IP-khez:

acl nuevaregla src "/etc/squid3/ipspermitidas"

Elég praktikus példaKépzelje el, hogy számítógépét 18 éven aluli gyermekek használják, és korlátozni kívánja a hozzáférést bizonyos, felnőtteknek szóló tartalmi oldalakhoz. Az első dolog az / etc / squid3 / list nevű fájl létrehozása a tartalommal:

felnőtt

pornó

szex

Poringa

És most be  a squid.conf fájlt a következő szabályt tesszük:

acl denegados url_regex "/etc/squid3/lista"

http_access allow !denegados

Ahogy látod használtuk az engedélyt aminek elvileg engedélyeznie kell, de ha megnézi, akkor hozzáadtuk! tagadni tehát egyenértékű lenne a következővel:

acl denegados url_regex "/etc/squid3/lista"

http_access deny denegados

Létrehozhat listákat is, nem csak a domain nevekről vagy az IP címekről, ahogy mi tettük, domaineket is tehet és például korlátozhatja az olyan domainekhez való hozzáférést, mint a .xxx, .gov stb. Nézzünk meg egy példát az előző szabály alapján. Létrehozunk egy / etc / squid3 / domains fájlt, amelynek:

. Edu

.es

. Org

És most a mi szabályunk, hogy megtagadjuk a hozzáférést az általunk létrehozott tiltott webhelyek listájához, de hozzáférést engedélyezünk a következő domainekkel rendelkező URL-ekhez:

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

http_access allow !denegados dominios

KITERJESZTÉS:

Sajnálom, amikor megláttam a megjegyzéseket, rájöttem Hiányzott a lényeg. Korlátoztam magam azzal, hogy példákat adok a használatára, és elfelejtettem ezt mondani a Squid szerver indításához:

sudo service squid3 start

Mielőtt felállt volna az "/etc/init.d/squid start" paranccsal, de most ezt a másik sort kell használnia, amelyet önnek készítettem. Ahogy a konfigurációs fájl már nem az /etc/squid/squid.conf, hanem az /etc/squid3/squid.conf fájlban található. Ok, miután létrehozták a szűrési házirendeket, és elindítva azt, be kell állítanunk a böngészőt is. Például, ha Mozilla Firefoxot vagy származékokat használ, akkor lépjen a konfigurációs menübe (ismeri a három sávot), majd Beállítások, Speciális és a Hálózat fülön kattintson a Konfiguráció elemre a Kapcsolat részben. Itt kiválasztjuk a Manuális proxykonfiguráció lehetőséget, és feltesszük az IP-t és a Squid által használt portot, ebben az esetben a 3128-at. Válassza ki a "Mindenhez ugyanazt a proxyt használja" lehetőséget, és lépjen ki a módosítások mentéséből.

Kérem Ne felejtsük el, hogy megjegyzéseket, kétségek vagy bármi, amire vágysz ... Bár ez egy oktatóanyag messze a Squid felett van, remélem, hogy segít.


Hagyja megjegyzését

E-mail címed nem kerül nyilvánosságra. Kötelező mezők vannak jelölve *

*

*

  1. Az adatokért felelős: AB Internet Networks 2008 SL
  2. Az adatok célja: A SPAM ellenőrzése, a megjegyzések kezelése.
  3. Legitimáció: Az Ön beleegyezése
  4. Az adatok közlése: Az adatokat csak jogi kötelezettség alapján továbbítjuk harmadik felekkel.
  5. Adattárolás: Az Occentus Networks (EU) által üzemeltetett adatbázis
  6. Jogok: Bármikor korlátozhatja, helyreállíthatja és törölheti adatait.

  1.   Nicolas dijo

    köszönöm !, hasznos.

  2.   Jimmy Olano dijo

    ÚJRA nagyon jól sűrített egy kissé összetett témában, folyton azt mondom, hogy "felhasználói szint: közepes", tudnia kell néhány fogalmat a "hálózatokról".

    SZÉPSÉGESEN úgy gondolom, hogy hozzá kell adni azt a lehetőséget, hogy böngészőnket a "proxy" használatára állítsuk be, de mivel ez a bejegyzés egy "Bevezetés a Squidbe", nagyon tisztában leszünk a következővel? kézbesítés (végül, és azzal a kockázattal, hogy engem bosszant, NE FELEDJE, hogy ne "proxyozza" a banki weboldalakat és / vagy pénzintézeteket, amelyeket otthonában vagy cégében használ).

    1.    Isaac PE dijo

      Szia, köszönöm a hozzászólásokat. Igen, az IPTABLES és a Squid túl vastag ahhoz, hogy olyan cikket készítsen, amely elmélyülten magyarázza őket, és csak a mindennapi példákra kell korlátoznia magát

      De teljesen igazad van, most hozzáadtam a proxy konfigurálásához, megterveztem és elfelejtettem. Az én hibám.

      Üdvözlet és köszönöm !!

      1.    Jimmy Olano dijo

        Uffff "csomagtartó" sajnálom, hogy nem jöttem rá a lényegre:
        A SZOLGÁLTATÁS INDÍTÁSA :-( anélkül, hogy "nincs a nagynénéd" -bocsáss meg a közbeszédért- NAGYON SIKERES BŐVÍTÉS! 8-)

        {minden egyes rendszerindításkor javításra kerül a "/ sbin / init" módosításával:
        http: // www. ubuntu-es.org/node/ 13012 # .Vsr_SUJVIWw}

        {egy másik egyszerűbb módszer az "update-rc.d" használata:
        https: // parbaedlo. wordpress.com/201 3/03/07 / setting-start-and-stop-of-services-linux-update-rc-d /}

        Helyeztem szóközt a linkekhez, távolítsam el őket, és navigálni fog ;-)

        KÖSZÖNÖM SZÉPEN A FIGYELMET.

  3.   ALBERT dijo

    LINUX HÍREK: Támadás a Linux Mint ellen: megfertőzheti a telepítőket és veszélyeztetheti a felhasználói hitelesítő adatokat

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

    1.    azpe dijo

      Már publikáltam, de ne spameljen itt más oldalakat

  4.   ALBERT dijo

    ANDROID HÍREK: GM Bot, az Android trójai program, amelyből Mazar származik

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

  5.   Hernan dijo

    Szia Jimmy, hogy csinálod, hogy a tintahal ne keresse meg neked ezeket az oldalakat? Jó lenne, ha megjegyzést fűzne az átlátszó opcióhoz, amely elkerüli az egyes számítógépek proxyjának konfigurálását

    1.    Jimmy Olano dijo

      Jó kérdés, telepítettem egy CAPTCHA-t ingyenes szoftverbe az ügyfeleim weboldalain:
      (http: // www. ks7000. net. ve / 2015/04/03 / un-captcha-egyszerűen és egyszerűen kivitelezhető /
      -Humily, ez NEM "spam" vagy önreklám, helyénvaló-)
      és azt képzelem, hogy a Squid használatakor ezek a képek NEM töltődnek be, mert ugyanazt a nevet raktam rájuk -ea, véletlenszerű neveket is generálhatok, erre eddig nem gondoltam, és ugyanazzal a névvel a Squid visszaadja a "gyorsítótárban" van.

      Nyilvánvaló, hogy a «proxy» fő funkciója a képek sávszélességének megtakarítása - a weboldal legnehezebb része - [i], feltételezve, hogy ezek a képek statikusak, az idő múlásával nem változnak, ami a 99% -ban igaz. esetek [/ i].

      De a CAPTCHA-kban, mivel "nincs futás", meg kell szüntetnünk a korábbi tárhelyet, és mindig új képet kell küldenünk.

      Ami a bankokat illeti, megértem, hogy Spanyolországban a legnagyobb a «Caixa», mert létrehozunk egy PÉLDA szabályt:

      acl caixa dstdomain .lacaixa.es

      ahol:
      acl -> parancs a szabály létrehozására (olvassa el újra Isaac úr cikkét, fenti bekezdések).

      caixa -> szabály neve.

      dtsdomain -> "type" opció jelzi, hogy egy domainre hivatkozunk, FONTOS az elején lévő pont ( http://ww w.visolve. com / squid / squid24s1 / access_controls.php)

      domain (ek) -> Úgy képzelem, hogy hozzáadhatjuk a szükséges domaineket, szóközzel elválasztva; szóközökről szólva beszúrtam őket a feltüntetett internetes linkekbe, távolítsam el őket és navigálni fogsz (angol nyelvű oldalak).

      Remélem, hogy az itt bemutatott tudás hasznos lesz számodra, köszönhetően LinuxAdictos!

    2.    Jimmy Olano dijo

      Nos, hogy válaszoljak a Tintahal átlátszóságának kérdésére ÚJRA, ragaszkodom ahhoz, hogy középszintű ismeretekkel rendelkezzenek, és didaktikai okokból a lehető legnagyobb mértékben összefoglalom a következő cikket (angolul), amely szerintem nagyon jól beszél a témáról:

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

      Megjegyzések:
      -Szóközöket adtam a linkekhez, hogy elkerüljem a pingbacket (abszolút semmi közöm a csapathoz). Linux Adictosezért nem vagyok jogosult az említett művelet végrehajtására).
      - EZT AZ ÁTLÁTHATÓSÁGRÓL NEM TUDTAM! (nem tanítottak, mondom).
      -Segítek nektek, én is segítek magamnak, ez menő mennyiségben! ?

      Nos, ezzel mondva kezdjük a dolgot:

      CSAK Javasoltam Isaac úrnak, hogy bővítse a böngészőink konfigurálását a telepített proxyval, és ő nagyon kedvesen tette (hűha, hol talál ez az ember annyi minden elvégzésére?).

      Ebben a konstrukcióban a Squid használata NEM VÁLASZTHATÓ: a helyi hálózatunk minden felhasználója felelős lesz a munkájának elvégzéséért, de meg lehet fogadni, hogy „ezüst keményen a papír pesetas ellen”, hogy van néhány „bash script”, amely telepíthető SSH-n keresztül különböző GNU / Linux rendszert futtató számítógépekre.

      ELŐKÖVETELMÉNY: hogy a Squid szerverünk úgy működik, ahogy Isaac úr tanítja ebben a bejegyzésben, ha már teszteltük és "terhelést" tettünk rá, és jól teljesít, akkor továbbléphetünk.

      AZ ÁTLÁTHATÓSÁGI RENDSZER ALATT:

      ELSŐ. - A kalmárunknak az alapértelmezett "átjárónak" kell lennie az "eth0" vagy "wlan0" mezőnkben - emlékszel-e a közepes szintű ismeretekre? - Nos, ott megalapozzuk (alapértelmezés szerint a DHCP-vel történik, EZÉRT mi is konfigurálja az ilyen szolgáltatás szerverét:
      http: // en.wikipe dia.org/wiki/ Dynamic_Host_Configuration_Protocol).

      Meg kell terveznünk, hogy meghibásodás esetén konfiguráljuk az összes forgalmat közvetlenül a modemünkre, ha a Squid - a számítógép, ahol fut - túlterhelt a munkaterhelésével, és a "bridge" típusú modem (ek) használatát használjuk, hogy kifelé mennek, ezt úgy érhetjük el, hogy elkészítünk egy "szkriptet", amely elindul az említett eseményben, és konfigurálja a DHCP szerverünket - amelyet más számítógépre kell telepíteni, mint a Squidünket.

      MEGJEGYZÉS: a Squiddel rendelkező számítógépünk mindig a DHCP-től kapott IP-címetől függ, DE ugyanakkor "vezérli" az említett DHCP-kiszolgálót. Ha fix IP-címekkel, energiával szeretne dolgozni, akkor megteheti, de ha további számítógépeket ad hozzá VAGY CSERÉL néhányat, akkor újra konfigurálnia kell, és nem ez az ötlet (olvassa el örömmel:
      ht tps: // feno barbital. wordpress.com/2012/07/23/the-12-reasons-for-who-a-administrator-of-systems-lazy-is-a-good-administrator/)
      EGYÉB MEGJEGYZÉS (lásd a második pontot): modemünknek és / vagy útválasztó eszközeinknek deaktiválniuk kell a DHCP funkciót, és hogy a DCHP kiszolgálónk irányítja őket (-mivel biztosíthatom Önöket, hogy ebből újabb bejegyzés jelenik meg, hogy megmutassuk nekünk, hogy a mount az említett szolgáltatás-)

      MÁSODIK. - Szűrnünk kell a forgalmat a Squid szerver felé, ez akkor van, ha több szétszórt útválasztónk van, amelyek lefedik a vezeték nélküli hálózati "wifi" területet, ez továbbra is helyi hálózat, de közepes méretű. Lényegében megegyezik az első ponttal, DE ha különböző eszközökkel vagy MÉG alhálózattal rendelkezünk, akkor azokat is konfigurálnunk kell, ezért légy óvatos velünk szemben, akik nagyvállalatoknál "vasakat zúzunk".

      HARMADIK. - A Squid-t tároló GNU / Linux rendszerünkben át kell irányítanunk a portokat és konfigurálnunk kell a «tűzfalat» (olvassa el az előző cikket
      http://www.linuxadictos.com/introduccion-a-iptables-configura-un-firewall-en-linux.html )

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

      és az IPFW-nek:

      Az / sbin / ipfw 3 fwd 127.0.0.1,3128 tcp-t ad hozzá bármelyikből bármelyik 80-ba

      Mondanom sem kell, hogy NEM NEM futtathatunk Apache vagy Ngix szervert azon a 80-as porton - a weboldalak alapértelmezett portja- KÖZÖS ÉRZÉK MUTATJA, hogy ne tegyünk nagyobb terhet a számítógépünkre a Squid-del - a «cache» lemezterületétől függően -.

      NEGYEDIK. - Be kell állítanunk a Squid szerverünket, és el kell mondanunk neki, hogy ebben a módban működik, módosítva az "/etc/squid/squid.conf" fájlt a nanóval vagy a szerkesztővel, amely a legjobban tetszik:

      http_port 3128 átlátszó

      Engedélyeznünk kell a csomagok továbbítását az "/etc/sysctl.conf" fájlban is:

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

      Ez az utolsó sor, ha van IPv6, akkor jó, ha a jövőben egyszer konfiguráljuk.

      Végül indítsa újra a Squid szolgáltatást Isaac úr fenti ajánlása szerint, és indítsa újra a hálózati szolgáltatást is:

      /etc/init.d/procps.sh indítsa újra

      NÉHÁNY ERRATA-HIT (vagy valami hülyeség a részemről) ugyanígy tudassa velem, kritikáit és észrevételeit örömmel fogadjuk;
      ÚR. ISAAC AZ A MODERÁTOR, akinek az utolsó szava lesz ebben a "harcban".

  6.   Jimmy Olano dijo

    Ebben a rövid videóban láthatjuk, hogyan kell beállítani a Mozillát egy proxy szerver használatára, azzal a különbséggel, hogy egy virtuális gépet használ a ReactOS-szal, de ez rövid, és azt hiszem, hogy ILLUSZTÍTJA, amit itt konfigurálni szeretne (a hivatkozás le van tiltva szóközökkel, távolítsa el őket, és böngésszen):

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

  7.   Tanár dijo

    Most kezdtem követni a rádióadat, 2 napja vagyok .. és nagyon jó tartalom ..
    Üdvözlet Mexikóból .. (Tanár vagyok, és az én homokszemem az openource használata)

  8.   Kos dijo

    Szeretném, ha segítene nekem, kiváltságot szeretnék adni egy felhasználónak, hogy megtekinthesse a Facebookot, és hogy a többiek a már konfigurált korlátozásokkal rendelkeznek, és hogyan engedélyezhetik az internethasználókat bizonyos időpontokban

  9.   Belkis dijo

    Ari, amit elmagyaráztak nekem arról, hogy a kívánt gép nincs korlátozva, azt ki kell hagyni, de addig megvan a magyarázat, én is járatlan a témában

  10.   győztes dijo

    Jó éjszakát, elnézést, lehet, hogy a kérdésem kissé alapvető, de hé, telepítettem tintahalat és konfiguráltam egy centos 5.4-re, telepítettem bort és ultraszörföt, amit szándékomban áll, hogy megosszam az internetet az ultraszörfről a tintahalral, én is ezt teszem Windows gépen XP FreeProxy-val és ultrasurf-el, és problémamentesen meg tudom osztani, de nem tudom, hogyan kell csinálni linuxban

  11.   Daniel andrada dijo

    Konzultálok veled, van egy konfigurációm, mint a tiéd, az én esetemben átirányítom a 80-as portot a 8080-as helyre, ahol a tintahal fut. A probléma az, hogy néhány felhasználó elhagyja ezt a konfigurációt a számítógépén, és hozzáférést biztosít a 80-as porton keresztül, bár nem minden szolgáltatás. Ezt az iptables segítségével. Van elképzelése arról, hogy hol lenne a probléma?

  12.   Mer dijo

    Nagyon hasznos és jól magyarázható. Köszönöm!

    Kérdésem lenne, mikor akarok létrehozni egy acl-t, hol tegyem, vagyis a konfigurációs fájl melyik sorában? És azonnal tegyek-e 2 sort a http_access parancs alá, ahogy azt a bejegyzésed mutatja? Vagy hol?

    Köszönöm mégegyszer!! Üdvözlet!