Introduktion til blæksprutte: Trin-for-trin opsætning

Squid logo og Tux

Squid er et andet applikationsniveaufilter som kan supplere iptables. Squid er en caching web proxy-server, den er meget populær og gratis, og den er på tværs af platforme. Selvom det kan bruges til at forbedre ydeevnen af ​​internetforbindelser, kan det også bruges til sikkerhedsformål. Siden projektet startede i 90'erne, har Squid avanceret meget, og nu præsenterer vi det for dig, så du ved, hvordan du bruger det.

Til din installation, kan du få adgang til projektets officielle hjemmeside og vælg de binære pakker til dit operativsystem eller distribution. Hvis du vil installere det fra kildepakken ved at kompilere, også du har den mulighed. De tilgængelige tarballs er tar.gz, tar.bz2 og tar.xz. Hvis du ikke ved, hvordan du installerer, kan du gå til artiklen, vi har redigeret i denne blog om hvordan man installerer enhver pakke fra linux. Øje! hvis du har en Debian eller derivat, og du har set, at den er installeret med sudo "apt-get install squid", kan det give dig en fejl, fordi du er nødt til at erstatte "squid" med "squid3" for at det træder i kraft. ..

Vi går nu direkte til handling ved at forklare nogle eksempler på, hvordan man bruger Squid for at beskytte vores udstyr. Først vil jeg gerne forklare, at Squid er baseret på ACL'er, det vil sige på adgangskontrollister, det vil sige nogle lister, der beskriver tilladelserne til at kontrollere, i dette tilfælde, netværksflowet og implementere filtre, der ligner dem for iptables, men på applikationsniveau.

Normalt er der efter installationen inkluderet en konfigurationsfil, som er placeret i /etc/squid3/squid.conf og det er dette, vi skal redigere med en editor som nano eller gedit. I den kan vi generere vores filtreringsregler, selvom der er muligheder cache_dir, cache_mem og http_port, vil vi bruge sidstnævnte til vores sikkerhedsregler. En anden detalje er, at denne fil specificerer standardporten, der bruges af Squid-tjenesten, som er 3128 som standard (se "http_port 3128"-linjen eller -direktivet og fjern # for at aktivere den). Hvis du vil, kan du ændre den til en anden port som 8080... Og en anden ting, der er nødvendig, er at konfigurere værtsnavnet, se efter kommentaren "TAG: Visible_hostname", og du vil se en linje "visible_hostname", hvor du skal sætte dit værtsnavn.

For at finde ud af dit værtsnavn kan du skrive i terminalen:

hostname

Og det navn, der vises for dig, føjes til linjen, der ikke skal indledes med #, så det ikke ignoreres som en kommentar. Det vil sige, det vil se sådan ud:

synligt_værtsnavn navn_værtsnavn_der_har_vist_til dig

Hvis du ser på konfigurationsfilen, vil du se, at den er meget kommenteret, hvis du vil tilsidesætte en oprettet regel, kan du starte linjen med # og du forvandler den til en kommentar, som Squid ignorerer den med, for at sætte den i brug igen, sletter du #, og det er det. Faktisk er der mange regler oprettet og kommenteret ud, som du kan bruge ved at fjerne # fra den. Så du behøver ikke at slette og omskrive regler. Nå, for at tilføje en bestemt regel eller filter, skal den have en ACL og et direktiv, der angiver, hvad der skal gøres.

Forresten, når du fjerner et # for at udløse en regel, sørg for, at du ikke efterlader mellemrum i begyndelsen af ​​linjen. For eksempel:

forkerte vej:

http_port 3128

Korrekt måde:

http_port 3128

Har du ikke hørt noget? Nå bare rolig, med Et eksempel du vil se alt meget bedre. Forestil dig dette:

acl blokerer url_regex som facebook
http_adgang nægte blokering

Hvad denne regel betyder er, at acl'et med navnet "blokering" vil forbyde adgang til URL'en, der indeholder "facebook" (så hvis vi forsøger at komme ind på Facebook får vi en fejl i browseren). Hvis du i stedet for "deny" bruger "allow", ville du tillade adgang i stedet for at nægte det. Du kan også bruge parameteren ! for at ekskludere, for eksempel, forestil dig, at du vil tillade adgang til liste1, men ikke liste2:

http_access allow lista1 !lista2

Et andet eksempel kunne være at oprette en fil /etc/squid3/ipsallowed og i den gemme en liste over IP'er, som vi vil tillade adgang. Forestil dig for eksempel, at indholdet af tilladte tips er:

192.168.30.1

190.169.3.250

192.168.1.26

Og så laver vi acl for at tillade adgang til disse IP'er:

acl nuevaregla src "/etc/squid3/ipspermitidas"

Et ret praktisk eksempel, forestil dig, at din computer bruges af børn under 18 år, og du vil begrænse adgangen til visse websteder med voksenindhold. Den første ting er at oprette en fil kaldet /etc/squid3/list med indholdet:

voksen

porno

køn

poringa

og nu i  filen squid.conf vi laver følgende regel:

acl denegados url_regex "/etc/squid3/lista"

http_access allow !denegados

Som du kan se vi har brugt tillade hvilket i princippet er for at tillade, men hvis du kigger har vi tilføjet ! at negere ville derfor svare til at sætte:

acl denegados url_regex "/etc/squid3/lista"

http_access deny denegados

Du kan også oprette lister, ikke kun domænenavne eller IP'er, som vi har gjort, du kan også sætte domæner og for eksempel begrænse adgangen til domæner som .xxx, .gov osv. Lad os se et eksempel baseret på den tidligere regel. Vi opretter en fil /etc/squid3/domains, der har:

. Edu

.es

org.

Og nu vores regel, for at nægte adgang til listen over forbudte websteder, som vi har oprettet, men at tillade adgang til webadresser med disse domæner:

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

http_access allow !denegados dominios

UDVIDELSE:

Undskyld, da jeg så på kommentarerne, indså jeg det Jeg har savnet det vigtigste. Jeg har begrænset mig til at give eksempler på, hvordan det bruges, og jeg glemte at sige det for at starte Squid-serveren:

sudo service squid3 start

Før blev det startet med "/etc/init.d/squid start", men nu skal du bruge denne anden linje, som jeg har givet dig. Ligesom konfigurationsfilen ikke længere er i /etc/squid/squid.conf, men i /etc/squid3/squid.conf. Ok, når først filtreringspolitikkerne er blevet oprettet og startet, skal vi også konfigurere browseren, hvis du for eksempel bruger Mozilla Firefox eller derivater, kan du gå til konfigurationsmenuen (du ved, de tre bjælker) og derefter til Præferencer, Avanceret, og på fanen Netværk skal du klikke på Indstillinger i afsnittet Forbindelse. Der vælger vi Manuel proxy-konfiguration og sætter vores IP og den port, Squid bruger, i dette tilfælde 3128. Vælg også "Brug samme proxy til alt", og afslut med at gemme ændringerne.

Venligst, Glem ikke at efterlade dine kommentarer, tvivl eller hvad du vil... Selvom det er en tutorial langt over Squid, håber jeg, at det hjælper dig.


Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for data: AB Internet Networks 2008 SL
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.

  1.   Nicolas sagde han

    tak!, nyttigt.

  2.   Jimmy Olano sagde han

    IGEN meget godt sammenfattet til en noget kompleks sag, bliver jeg ved med at sige "brugerniveau: medium", nogle forestillinger om "netværk" burde være kendt.

    Jeg mener ydmygt, at muligheden for at konfigurere vores browser til at bruge "proxy" bør tilføjes, men da denne post er en "INTRODUKTION til blæksprutte", vil vi være meget opmærksomme på den næste? levering (husk endelig, og med fare for at genere mig, ikke at "proxy" de bankwebsider og/eller pengeinstitutter, som du bruger i dit hjem eller din virksomhed).

    1.    Isaac PE sagde han

      Hej, tak for kommentarerne. Ja, IPTABLES og Squid er for tykke til at lave en artikel, der forklarer dem i dybden, og du skal begrænse dig til hverdagens eksempler...

      Men du har fuldstændig ret, jeg har tilføjet proxy-konfigurationen nu, jeg havde planlagt det, og jeg glemte det. Min fejl.

      Hilsner og tak !!

      1.    Jimmy Olano sagde han

        Uffff "trunk" undskyld for ikke at indse det vigtigste:
        START TJENESTEN :-( uden at "der er ingen din tante" -tilgiv mig for den daglige tale- MEGET GOD UDVIDELSE! 8-)

        {gør det rettet ved hver opstart, der sker ved at ændre "/sbin/init":
        http://www. ubuntu-es.org/node/ 13012#.Vsr_SUJVIWw }

        {en anden nemmere måde er at bruge "update-rc.d":
        https: // stop det. wordpress.com/201 3/03/07/setting-to-start-and-stop-services-linux-update-rc-d/}

        Jeg har tilføjet mellemrum til linkene, fjern dem og du vil navigere ;-)

        TUSIND TAK FOR OPMÆRKSOMHEDEN.

  3.   ALBERT sagde han

    LINUX-NYT: Linux Mint-angreb: inficerer installatører og kompromitterer brugeroplysninger

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

    1.    azpe sagde han

      Jeg har allerede udgivet det, men du må ikke spamme andre sider her

  4.   ALBERT sagde han

    ANDROID NYHEDER: GM Bot, Android-trojaneren, som Mazar stammer fra

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

  5.   hernan sagde han

    Hej Jimmy, hvordan får du blæksprutter til ikke at cache de sider? Det ville være godt, hvis de kommenterer på den gennemsigtige mulighed, som undgår kedeligheden ved at konfigurere en proxy for hver computer

    1.    Jimmy Olano sagde han

      Godt spørgsmål, jeg har installeret en CAPTCHA i gratis software på mine kunders websider:
      (http: // www.ks7000.net.ve/2015/04/03/un-captcha-facil-y-sencillo-de-implementar/
      -Ydmygt er det IKKE "spam" eller selvpromovering, det kommer til den givne sag-)
      og jeg forestiller mig, at når du bruger Squid, bliver disse billeder IKKE genindlæst, fordi jeg sætter det samme navn på dem -ea, jeg kan også generere tilfældige navne, det havde jeg ikke tænkt på før nu - og da de har det samme navn, Squid returnerer, hvad den har i "cachen".

      Naturligvis er hovedfunktionen af ​​«proxy» at spare os for båndbredde med billederne -den tungeste del af en webside- [i]i den antagelse, at disse billeder er statiske, de ændrer sig ikke over tid, hvilket er sandt i 99 % af tilfældene[/i].

      Men i CAPTCHA'erne, da "der er ingen march", skal vi fjerne dens tidligere lagring og altid belønne et nyt billede.

      ANGÅENDE BANKERNE, forstår jeg, at den største i Spanien er "Caixa", så vi vil oprette en EKSEMPEL-regel:

      acl caixa dstdomain .lacaixa.es

      hvor:
      acl -> kommando for at oprette regel (genlæs hr. Isaacs artikel, afsnit ovenfor).

      boks -> navn på reglen.

      dtsdomain -> "type" mulighed for at angive, at vi henviser til et domæne, VIGTIGT prikken i begyndelsen ( http://ww m. visolve. com/squid/ squid24s1/access_controls.php )

      domæne(r) -> godt, jeg forestiller mig, at vi kan tilføje de domæner, vi har brug for, adskilt af et mellemrum; Apropos mellemrum, jeg har indsat dem i de angivne weblinks, fjern dem og du vil navigere (sider på engelsk).

      Jeg håber, at den viden, der præsenteres her, er nyttig for dig! LinuxAdictos!

    2.    Jimmy Olano sagde han

      NÅ, for at besvare spørgsmålet om TRANSPARENS i Squid IGEN insisterer jeg på, at du skal have viden på mellemniveau, og af didaktiske årsager vil jeg så meget som muligt opsummere følgende artikel (på engelsk), som jeg mener taler meget godt om emnet:

      http://www.deckle.co. dk/squid-users-guide/transparent-caching-proxy.html

      Bemærkninger:
      -Jeg har tilføjet mellemrum til linkene for at undgå pingback fra mig (jeg har absolut intet med holdet at gøre). Linux Adictos, derfor er jeg ikke autoriseret til at udføre nævnte handling).
      -JEG VIDSTE IKKE DET OM GENNEMSIGTIGHED! (de lærte mig ikke, mener jeg).
      -Ved at hjælpe dig hjælper jeg også mig selv, det her er fedt i mængde! ?

      Nå, når det er sagt, lad os komme i gang:

      Jeg foreslog BARE Mr. Isaac at udvide med at konfigurere vores browsere med "proxy" installeret, og han gjorde det meget venligt (hvor fedt, hvor finder denne mand tid til at gøre så mange ting?).

      Under denne ordning er brugen af ​​blæksprutten VALGFRI: hver bruger af vores lokalnetværk vil være ansvarlig for at udføre sit arbejde, men du kan satse "sølvdollars mod papirpesetas" på, at der er et eller andet "bash-script", der kan installeret der via SSH til flere computere, der kører GNU/Linux.

      FORUDKRÆVELSE: at vores Squid-server fungerer som Mr. Isaac lærer i denne post, hvis vi allerede har testet den og vi har lagt "arbejdsbyrde" i den og den fungerer godt, kan vi gå videre.

      UNDER GENNEMSIGTIGHEDSORDNINGEN:

      FØRST.- Vores blæksprutte skal være standardruten "gateway" i vores "eth0" eller "wlan0" -husker du viden på medium niveau?-, jamen vi etablerer det der (det gøres som standard med DHCP DERFOR skal vi også konfigurere en server til en sådan tjeneste:
      htt ps: // en.wikipe dia.org/wiki/ Dynamic_Host_Configuration_Protocol ).

      Vi må påregne at konfigurere, i tilfælde af fejl, omdirigere al trafik til vores modem(er) direkte, hvis Squid -computeren hvor den kører- er overbelastet i sin arbejdsbyrde -og bruge modemmet(erne) ) type "bro", så de tage til udlandet, opnås dette ved at lave et "script", der udløses i nævnte hændelse og konfigurerer vores DHCP-server -som skal installeres på en anden computer end vores Squid-.

      BEMÆRK: vores computer med blæksprutte vil altid være afhængig af DHCP for sin IP-adresse MEN samtidig vil den have en vis "kontrol" med nævnte DHCP-server. Hvis du vil arbejde med faste IP-adresser, strøm, kan du, men når du tilføjer flere computere ELLER ERSTATTER en, bliver du nødt til at konfigurere igen, og det er ikke ideen (læs med glæde:
      https://phenobarbital. wordpress.com/2012/07/23/the-12-reasons-why-a-lazy-system-administrator-makes-a-good-administrator/ )
      EN ANDEN BEMÆRK (se andet punkt): vores modem(er) og/eller router-enheder skal deaktivere DHCP-funktionen, og at de styres af vores DCHP-server (-som jeg forsikrer dig om, at der vil komme en anden indgang ud af dette for at lære os, hvordan montere nævnte service-)

      ANDET.- Vi skal filtrere trafikken mod vores Squid server, dette hvis vi har flere spredte routere der dækker et trådløst netværksområde "wifi", det er stadig et lokalt netværk men af ​​mellemstore dimensioner. I bund og grund er det det samme som det første punkt, MEN hvis vi har forskellige enheder ELLER ENDNU undernet, skal vi også konfigurere dem, så vær forsigtig med dem af os, der arbejder med at "knuse jernene" i store virksomheder.

      TREDJE.- I vores GNU/Linux, der er vært for Squid, skal vi omdirigere portene og konfigurere "firewallen" (læs den forrige artikel 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

      og til IPFW:

      /sbin/ipfw tilføj 3 fwd 127.0.0.1,3128 tcp fra enhver til enhver 80

      Det siger sig selv, at vi IKKE KAN køre en Apache- eller Ngix-server på den port 80 -standardport til websider- SUND FORNØVELSE INDIKERER ikke at belaste vores computer mere med Squid -afventer med diskpladsen til "cache"- .

      FJERDE.- Vi skal konfigurere vores Squid-server og fortælle den, at den fungerer i den tilstand ved at ændre "/etc/squid/squid.conf" med nano eller den editor, som du bedst kan lide:

      http_port 3128 gennemsigtig

      Vi skal også aktivere pakkevideresendelse i "/etc/sysctl.conf":

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

      Denne sidste linje, hvis vi har IPv6, er det godt at konfigurere det en gang i fremtiden.

      Genstart endelig Squid-tjenesten, som Mr. Isaac anbefaler ovenfor, og genstart også netværkstjenesten:

      /etc/init.d/procps.sh genstart

      EN VISSE TRO PÅ ERRATA (eller noget nonsens fra min side) fortæl mig på samme måde, din kritik og kommentarer er velkomne;
      HR. ISAAC ER MODERATOREN, der får det sidste ord i denne "kamp".

  6.   Jimmy Olano sagde han

    I denne korte video kan vi se, hvordan man konfigurerer Mozilla til at bruge en proxy-server, med den undtagelse, at den bruger en virtuel maskine med ReactOS, men den er kort, og jeg synes, den ILLUSTRER, hvad der skal konfigureres her (ubrugt link med mellemrum, fjern dem, og du vil navigere):

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

  7.   lærer sagde han

    Jeg er lige begyndt at følge din radiostation, jeg har været 2 dage .. og meget godt indhold ..
    Hilsen fra Mexico...(jeg er lærer og mit sandkorn er at bruge opensource)

  8.   Vædderen sagde han

    Jeg vil gerne have dig til at hjælpe mig Jeg vil gerne give en bruger privilegiet til at se Facebook, og at de andre har de begrænsninger, der allerede er konfigureret, og hvordan man aktiverer internettet på bestemte tidspunkter for brugere. Jeg vil gerne have dig til at rådgive mig tak

  9.   Belkis sagde han

    Ari, det, de forklarede mig om det, er, at den maskine, du ønsker, ikke er begrænset, skal udelades, men det er så vidt forklaringen går, jeg er også uerfaren med emnet

  10.   Victor sagde han

    Godaften, undskyld mig, mit spørgsmål er måske lidt grundlæggende, men hey, jeg installerede blæksprutte og konfigurerede det på en centos 5.4, jeg installerede vin og ultrasurf, hvad jeg agter at gøre er at dele ultrasurf-internettet med blæksprutte, jeg gør det samme på en Windows-maskine XP med FreeProxy og ultrasurf, og jeg kan dele det uden problemer, men jeg ved ikke, hvordan man gør det i linux

  11.   daniel andrada sagde han

    Jeg spørger dig, jeg har en konfiguration som din, i mit tilfælde omdirigerer jeg port 80 til 8080, som blæksprutten løber igennem. Problemet er, at nogle brugere forlader denne konfiguration på deres pc'er og får adgang via port 80, selvom det ikke er alle tjenester. Dette med iptables. Har du nogen idé om, hvor problemet kan være?

  12.   Ons sagde han

    Meget nyttigt og godt forklaret. Tak skal du have!

    Jeg har et spørgsmål, når jeg vil oprette en acl, hvor gør jeg det, det vil sige i hvilken linje i konfigurationsfilen? Og skal jeg straks sætte 2 linjer under kommandoen http_access som vist i dit indlæg? Eller hvor?

    Tak igen!! Vær hilset!