Introduktion till bläckfisk: Steg-för-steg-inställning

Bläckfisklogotyp och Tux

Squid är ett annat applikationsnivåfilter som kan komplettera iptables. Squid är en cachad webbproxyserver, den är väldigt populär och gratis, och den är plattformsövergripande. Även om den kan användas för att förbättra prestanda för internetanslutningar, kan den också användas för säkerhetsändamål. Sedan projektet startade på 90-talet har Squid varit väldigt avancerat och nu presenterar vi det för dig så att du vet hur du använder det.

För din installation, kan du komma åt projektets officiella webbplats och välj binära paket för ditt operativsystem eller distribution. Om du vill installera det från källkodspaketet genom att kompilera, också du har det alternativet. De tillgängliga tarbollarna är tar.gz, tar.bz2 och tar.xz. Om du inte vet hur du installerar kan du gå till artikeln som vi redigerar i den här bloggen om hur man installerar valfritt paket från Linux. öga! Om du har en Debian eller ett derivat och du har sett att det är installerat med sudo "apt-get install bläckfisk" kan du få ett fel, eftersom du måste ersätta "bläckfisk" med "squid3" för att den ska träda i kraft .. .

Nu går vi direkt till handling som förklarar några exempel på hur du använder bläckfisk för att skydda vår utrustning. Innan jag skulle vilja förklara att bläckfisk är baserad på ACL, det vill säga på åtkomstkontrollista eller åtkomstkontrollista, det vill säga listor som beskriver behörigheterna att styra nätverket i det här fallet och implementera filter som liknar iptables men på applikationsnivå.

Normalt, efter installation, ingår en konfigurationsfil som finns i /etc/squid3/squid.conf och det är detta vi måste redigera med en redaktör som nano eller gedit. I den kan vi generera våra filtreringsregler, även om det finns alternativ cache_dir, cache_mem och http_port, kommer vi att använda den senare för våra säkerhetsregler. En annan detalj är att den här filen specificerar standardporten som används av Squid-tjänsten, som standard är 3128 (se raden eller direktivet "http_port 3128" och ta bort # för att aktivera det). Om du vill kan du ändra den till en annan port som 8080 ... Och en annan sak som är nödvändig är att konfigurera värdnamnet, leta efter kommentaren "TAG: Visible_hostname" och du ser en rad "visible_hostname" där du måste placera ditt värdnamn.

För att känna till ditt värdnamn kan du skriva in terminalen:

hostname

Och namnet som visas lägger du till det på raden som inte ska föregås av # så att det inte ignoreras som en kommentar. Det vill säga det skulle se ut så här:

synligt_värdnamn värdnamn_som_du_fanns

Om du ser konfigurationsfilen ser du att den är mycket kommenterad, om du vill åsidosätta en skapad regel kan du börja raden med # och du förvandlar den till en kommentar, med vilken bläckfisk ignorerar den, för att sätta den i bruk igen, du tar bort # och det är det. Det finns faktiskt många skapade och kommenterade regler som du kan använda genom att ta bort #. Så du behöver inte ta bort och skriva om regler. För att lägga till en specifik regel eller ett filter måste den ha en ACL och ett direktiv som anger vad man ska göra.

Förresten, när du tar bort ett # för att aktivera en regel, se till att du inte lämnar mellanslag i början av raden. Till exempel:

Fel väg:

http_port 3128

Rätta vägen:

http_port 3128

Har du inte hört något? Oroa dig inte, med Ett exempel du kommer att se allt mycket bättre. Föreställ dig detta:

acl blockerar url_regex som facebook
http_access neka blockering

Vad denna regel betyder är att acl med namnet "blocking" förbjuder åtkomst till webbadressen som innehåller "facebook" (därför, om vi försöker skriva in Facebook hoppar det över ett fel i webbläsaren). Om du istället för att "neka" använder "tillåt", skulle du tillåta åtkomst istället för att förbjuda det. Du kan också använda! För att utesluta, antag till exempel att du vill tillåta åtkomst till list1 men inte list2:

http_access allow lista1 !lista2

Ett annat exempel kan vara att skapa en fil / etc / squid3 / ips tillåten och i den spara en lista med IP-adresser som vi vill ge åtkomst till. Antag till exempel att innehållet i tillåtna ips är:

192.168.30.1

190.169.3.250

192.168.1.26

Och sedan skapar vi acl för att ge åtkomst till dessa IP: er:

acl nuevaregla src "/etc/squid3/ipspermitidas"

Ett ganska praktiskt exempelTänk dig att din dator används av barn under 18 år och att du vill begränsa åtkomsten till vissa webbplatser för vuxeninnehåll. Det första är att skapa en fil som heter / etc / squid3 / list med innehållet:

vuxen

porr

kön

poringa

Och nu in  filen squid.conf vi sätter följande regel:

acl denegados url_regex "/etc/squid3/lista"

http_access allow !denegados

Som du ser vi har använt tillåta vilket i princip är att tillåta, men om du tittar har vi lagt till! att förneka skulle det därför motsvara att sätta:

acl denegados url_regex "/etc/squid3/lista"

http_access deny denegados

Du kan också skapa listor, inte bara över domännamn eller IP-adresser som vi har gjort, du kan också lägga till domäner och till exempel begränsa åtkomst till domäner som .xxx, .gov, etc. Låt oss titta på ett exempel baserat på den tidigare regeln. Vi skapar en fil / etc / squid3 / domains som har:

. Utb

.es

. Org

Och nu vår regel, för att neka åtkomst till listan över förbjudna webbplatser som vi skapar, men tillåta åtkomst till webbadresser med dessa domäner:

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

http_access allow !denegados dominios

FÖRLÄNGNING:

Tyvärr, när jag såg kommentarerna insåg jag det Jag har saknat det viktigaste. Jag har begränsat mig till att sätta exempel på hur den används och jag glömde att säga att starta Squid-servern:

sudo service squid3 start

Innan det kom upp med "/etc/init.d/squid start", men nu måste du använda den här andra raden som jag har lagt åt dig. Precis som konfigurationsfilen inte längre finns i /etc/squid/squid.conf utan i /etc/squid3/squid.conf. Ok, när filtreringspolicyerna har skapats och startar den, måste vi också konfigurera webbläsaren, till exempel om du använder Mozilla Firefox eller derivat kan du gå till konfigurationsmenyn (du vet, de tre staplarna) och sedan till Inställningar, Avancerat och klicka på Konfiguration i fliken Nätverk i avsnittet Anslutning. Där väljer vi manuell proxykonfiguration och lägger vår IP och porten Squid använder, i det här fallet 3128. Välj också "Använd samma proxy för allt" och avsluta spara ändringarna.

Vänligen Glöm inte att lämna dina kommentarer, tvivel eller vad du vill ... Även om det är en handledning långt över bläckfisken, hoppas jag att det hjälper dig.


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för data: AB Internet Networks 2008 SL
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.

  1.   Nicolas sade

    tack !, hjälpsam.

  2.   Jimmy Olano sade

    IGEN mycket välkondenserat för ett något komplext ämne, jag fortsätter att säga "användarnivå: medium", du borde veta några föreställningar om "nätverk".

    Jag anser Ödmjukt att alternativet att konfigurera vår webbläsare så att den använder "proxy" bör läggas till, men eftersom denna post är en "INTRODUKTION till bläckfisk" kommer vi att vara mycket medvetna om nästa? leverans (slutligen och med risk för att jag blir irriterande, kom ihåg att inte "proxy" de bankwebbsidor och / eller finansinstitut som du använder i ditt hem eller företag).

    1.    Isaac PE sade

      Hej, tack för kommentarerna. Ja, IPTABLES och Squid är för tjocka för att göra en artikel som förklarar dem djupt och du måste begränsa dig till vardagliga exempel ...

      Men du har helt rätt, jag har lagt till det nu för att konfigurera proxyen, jag hade planerat det och jag glömde. Mitt fel.

      Hälsningar och tack !!

      1.    Jimmy Olano sade

        Uffff "bagageutrymme" ledsen för att inte inser det viktigaste:
        BÖRJA TJÄNSTEN :-( utan att "det finns ingen din moster" - förlåt mig för samtalstalen - MYCKET LYCKLIGT UTÖKNING! 8-)

        {att fixa det vid varje start är genom att ändra "/ sbin / init":
        http: // www. ubuntu-es.org/node/ 13012 # .Vsr_SUJVIWw}

        {ett annat enklare sätt är att använda "update-rc.d":
        https: // parbaedlo. wordpress.com/201 3/03/07 / inställning-start-och-stopp-av-tjänster-linux-uppdatering-rc-d /}

        Jag har lagt till mellanslag i länkarna, tar bort dem så navigerar du ;-)

        TACK SÅ MYCKET FÖR DIN UPPMÄRKSAMHET.

  3.   ALBERT sade

    LINUX NYHETER: Attack på Linux Mint: infektera installatörer och äventyra användaruppgifter

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

    1.    azpe sade

      Jag har redan lagt upp det, men skräppost inte andra sidor här tack

  4.   ALBERT sade

    ANDROID NYHETER: GM Bot, Android Trojan som Mazar härstammar från

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

  5.   Hernan sade

    Hej Jimmy, hur gör du så att bläckfisk inte söker efter dessa sidor efter dig? Det skulle vara trevligt om du kommenterar det transparenta alternativet, vilket undviker det tråkiga sättet att konfigurera proxy till varje dator

    1.    Jimmy Olano sade

      Bra fråga, jag har installerat en CAPTCHA i fri programvara på mina kunders webbsidor:
      (http: // www. ks7000. net. ve / 2015/04/03 / un-captcha-easy-and-simple-to-implement /
      -Humily, det är INTE "skräppost" eller självreklam, det är lämpligt-)
      och jag föreställer mig att när jag använder bläckfisk laddas dessa bilder INTE om eftersom jag lägger samma namn på dem -ea, jag kan också generera slumpmässiga namn, jag hade inte tänkt på det förrän nu och med samma namn eftersom bläckfisk returnerar vad det har "cache".

      Uppenbarligen är huvudfunktionen för «proxy» att spara bandbredd med bilderna - den tyngsta av en webbsida - [i] under antagandet att dessa bilder är statiska, de ändras inte över tiden, vilket är sant i 99% av fall [/ i].

      Men i CAPTCHAs, eftersom "det går inte", måste vi eliminera dess tidigare lagring och alltid returnera en ny bild.

      FÖR BANKARNA förstår jag att den största i Spanien är «Caixa» eftersom vi kommer att skapa en EXEMPELregel:

      acl caixa dstdomän .lacaixa.es

      var:
      acl -> kommando för att skapa regel (läs igenom Isaacs artikel, styckena ovan).

      caixa -> regelnamn.

      dtsdomän -> "typ" för att indikera att vi hänvisar till en domän, VIKTIGT punkten i början ( http://ww w. lösa. com / squid / squid24s1 / access_controls.php)

      domän (er) -> Jag föreställer mig att vi kan lägga till domänerna vi behöver, åtskilda av ett mellanslag; när jag talar om mellanslag har jag lagt in dem i de angivna länkarna, ta bort dem och du kommer att navigera (sidor på engelska).

      Jag hoppas att kunskapen som presenteras här är användbar för dig, tack vare LinuxAdictos!

    2.    Jimmy Olano sade

      Tja, för att svara på frågan om TRANSPARENT i Squid IGEN insisterar jag på att du måste ha kunskaper på mellannivå och av didaktiska skäl kommer jag att sammanfatta så mycket som möjligt följande artikel (på engelska) som jag anser talar mycket bra om ämnet:

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

      Anmärkningar:
      -Jag har lagt till mellanslag i länkarna för att undvika pingback från mig (jag har absolut ingenting med laget att göra). Linux Adictos, därför är jag inte behörig att utföra nämnda åtgärd).
      - DETTA OM ÅTGÄRDIGHET VISSTE JAG INTE! (de lärde mig inte, säger jag).
      -Hjälp er jag hjälper mig också, det här är coolt i kvantitet! ?

      Tja, med det sagt, låt oss gå ner i affärer:

      Jag föreslog BARA till Mr. Isaac att utöka konfigurationen av våra webbläsare med den installerade proxyen och han gjorde det mycket vänligt (wow, var hittar den här mannen tid att göra så många saker?).

      Enligt detta schema är användningen av bläckfisk VALfri: varje användare av vårt lokala nätverk kommer att ha ansvaret för att göra sitt jobb, men du kan satsa "silver hårt mot pappers-pesetas" att det finns något "bash-skript" som kan installeras via SSH till olika datorer som kör GNU / Linux.

      FÖRKRAV: att vår bläckfiskserver fungerar som Mr. Isaac lär ut i det här inlägget, om vi redan har testat det och lagt en "arbetsbelastning" på den och den fungerar bra, kan vi gå vidare.

      UNDER TRANSPARENSSYSTEMET:

      FÖRSTA. - Vår bläckfisk måste vara standardvägen «gateway» i vår «eth0» eller «wlan0» - minns du kunskapen på medelnivå? - ja, vi etablerar den där (det görs som standard med DHCP DÄRFÖR måste vi också konfigurera server för en sådan tjänst:
      http: // sv.wikipe dia.org/wiki/ Dynamic_Host_Configuration_Protocol).

      Vi måste planera att konfigurera, i händelse av misslyckande, att omdirigera all trafik till vårt modem (er) direkt om Squid - datorn där den körs - är överbelastad med sin arbetsbelastning - och använda modem (er)) typ "bridge" så att de går utanför, detta uppnås genom att skapa ett "skript" som utlöses i nämnda händelse och konfigurerar vår DHCP-server - som ska installeras på en annan dator än vår bläckfisk-.

      OBS: vår dator med Squid beror alltid på dess IP-adress från DHCP MEN samtidigt kommer den att ha viss "kontroll" med nämnda DHCP-server. Om du vill arbeta med fasta IP-adresser, med kraft, kan du, men när du lägger till fler datorer ELLER BYT ut några måste du konfigurera igen och det är inte idén (läs med glädje:
      ht tps: // feno barbital. wordpress.com/2012/07/23/the-12-reasons-by-who-a-administrator-of-systems-lazy-is-a-good-administrator/)
      EN ANNAN OBS (se andra punkten): vårt modem (er) och / eller routerenheter måste inaktivera DHCP-funktionen och att de styrs av vår DCHP-server (-som jag försäkrar dig om att en annan post kommer ut ur detta för att visa oss hur monteringen sa tjänsten-)

      ANDRA. - Vi måste filtrera trafiken mot vår Squid-server, detta om vi har flera spridda routrar som täcker ett trådlöst nätverksområde "wifi", det är fortfarande ett lokalt nätverk men av medelstor storlek. I grund och botten är det samma som den första punkten MEN om vi har olika enheter ELLER ÄVEN undernät måste vi konfigurera dem också, så var försiktig med oss ​​som arbetar med att "krossa strykjärn" i stora företag.

      TREDJE. - I vår GNU / Linux som är värd för Squid måste vi omdirigera portarna och konfigurera «brandväggen» (läs föregående 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

      och till IPFW:

      / sbin / ipfw lägg till 3 fwd 127.0.0.1,3128 tcp från vilken som helst till vilken som helst 80

      Det behöver inte sägas att vi KAN INTE köra en Apache- eller Ngix-server på den porten 80 - standardporten på webbsidor- GEMENSAM SINSINDIKERINGAR för att inte lägga mer belastning på vår dator med bläckfisk -beroende på diskutrymme för «cache» -.

      FJÄRDE. - Vi måste konfigurera vår bläckfiskserver och säga att den fungerar i det läget genom att ändra "/etc/squid/squid.conf" med nano eller den redigerare som du gillar mest:

      http_port 3128 transparent

      Vi måste också aktivera vidarebefordran av paket i "/etc/sysctl.conf":

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

      Den sista raden om vi har IPv6 är det bra att konfigurera det en gång i framtiden.

      Starta slutligen om Squid-tjänsten som rekommenderas av Mr. Isaac ovan och starta om nätverkstjänsten:

      /etc/init.d/procps.sh starta om

      NÅGOT TRO PÅ ERRATA (eller något nonsens från min sida) meddela mig på samma sätt, din kritik och kommentarer är välkomna;
      HERR. ISAAC ÄR MODERATOREN som kommer att ha det sista ordet i denna "kamp".

  6.   Jimmy Olano sade

    I den här korta videon kan vi se hur man konfigurerar Mozilla för att använda en proxyserver, med undantag för att den använder en virtuell maskin med ReactOS, men den är kort och jag tror att den ILLUSTRATERAR vad du vill konfigurera här (länk inaktiverad med mellanslag, ta bort dem och bläddra):

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

  7.   Lärare sade

    Jag har precis börjat följa din radiostation, jag har varit i två dagar .. och mycket bra innehåll ..
    Hälsningar från Mexiko .. (Jag är lärare och mitt sandkorn är att använda opensource)

  8.   Aries sade

    Jag vill att du ska hjälpa mig. Jag vill ge användaren privilegiet att se Facebook och att de andra har de begränsningar som redan har konfigurerats och hur du kan aktivera Internetanvändare vid vissa tillfällen. Jag skulle vilja att du skulle ge mig råd, tack

  9.   Belkis sade

    Ari, vad de förklarade för mig om det är att maskinen du vill ha inte är begränsad, den måste utelämnas, men tills dess har jag förklaringen, jag är också oerfaren i ämnet

  10.   Segrare sade

    God natt, ursäkta mig, kanske min fråga är lite grundläggande men hej, jag har installerat bläckfisk och konfigurerat på en centos 5.4, installerat vin och ultraljud, vad jag tänker göra är att dela internet från ultraljud med bläckfisk, jag gör samma sak på en Windows-maskin XP med FreeProxy och ultrasurf och jag kan dela det utan problem men jag vet inte hur man gör det i Linux

  11.   daniel andrada sade

    Jag konsulterar dig, jag har en konfiguration som din, i mitt fall omdirigerar jag port 80 till 8080 där bläckfisken körs. Problemet är att vissa användare lämnar konfigurationen på sina datorer, de avbryter och får åtkomst via port 80, men inte alla tjänster. Detta med iptables. Har du någon aning om var problemet skulle vara?

  12.   Mer sade

    Mycket användbar och väl förklarad. Tack!

    Jag har en fråga när jag vill skapa en ACL, var gör jag det, det vill säga i vilken rad i konfigurationsfilen? Och ska jag omedelbart sätta 2 rader under kommandot http_access som du visar i ditt inlägg? Eller var?

    Tack igen!! Hälsningar!