Въведение в Squid: Настройка стъпка по стъпка

Лого на калмари и Tux

Squid е друг филтър на ниво приложение които могат да допълват iptables. Squid е кеширан уеб прокси сървър, той е много популярен и безплатен и е междуплатформен. Въпреки че може да се използва за подобряване на ефективността на интернет връзките, може да се използва и за целите на сигурността. От началото на проекта през 90-те години, Squid е много напреднал и сега ви го представяме, за да знаете как да го използвате.

За вашата инсталация, можете да получите достъп до официален уебсайт на проекта и изберете двоичните пакети за вашата операционна система или дистрибуция. Ако искате да го инсталирате от пакета с изходен код чрез компилация, също имате тази опция. Наличните tarballs са tar.gz, tar.bz2 и tar.xz. Ако не знаете как да инсталирате, можете да отидете на статията, за която редактираме в този блог как да инсталирам всеки пакет от linux. око! Ако имате Debian или дериват и сте видели, че той е инсталиран със sudo "apt-get install squid", може да получите грешка, защото трябва да замените "squid" с "squid3", за да влезе в сила .. .

Сега преминаваме директно към обяснение на действията няколко примера за използване на Squid за защита на нашето оборудване. Преди бих искал да обясня, че Squid се основава на ACL, тоест на списъка за контрол на достъпа или списъка за контрол на достъпа, тоест списъци, които подробно описват разрешенията за контрол в този случай мрежовия поток и прилагат филтри, подобни на тези на iptables, но на ниво приложение.

Обикновено след инсталацията се включва конфигурационен файл, който може да се намери в /etc/squid3/squid.conf и това е този, който трябва да редактираме с редактор като nano или gedit. В него можем да генерираме нашите правила за филтриране, въпреки че има опции cache_dir, cache_mem и http_port, ние ще използваме последните за нашите правила за сигурност. Друга подробност е, че този файл определя порта по подразбиране, използван от услугата Squid, който по подразбиране е 3128 (вижте реда или директивата "http_port 3128" и премахнете #, за да го активирате). Ако искате, можете да го промените на друг порт като 8080 ... И друго нещо, което е необходимо, е да конфигурирате името на хоста, потърсете коментара "TAG: Visible_hostname" и ще видите ред "visible_hostname", където трябва да поставите вашия име на хост.

За да знаете името на хоста си, можете да въведете терминала:

hostname

И името, което се появява, го добавяте към реда, който не трябва да се предшества от #, така че да не се пренебрегва като коментар. Тоест, би изглеждало така:

visible_hostname hostname_have_you_apperely

Ако видите конфигурационния файл, ще видите, че той е много коментиран, ако искате да замените създадено правило, можете да започнете реда с # и го трансформирате в коментар, с който Squid го игнорира, за да го пуснете обратно в експлоатация, изтривате # и това е всичко. Всъщност има много създадени и коментирани правила, които можете да използвате, като премахнете #. Така че не е нужно да изтривате и пренаписвате правила. Е, за да добавите конкретно правило или филтър, той трябва да има ACL и директива, която указва какво да правите.

Между другото, когато премахнете #, за да активирате правило, уверете се, че не оставяте интервали в началото на реда, Например:

Грешен начин:

http_port 3128

Правилен начин:

http_port 3128

Не сте ли чували нищо? Е, не се притеснявайте, с Пример ще видите всичко много по-добре. Представете си това:

acl, блокиращ url_regex като facebook
http_access отказва блокиране

Какво означава това правило е, че acl с името "блокиране" ще забрани достъпа до URL адреса, който съдържа "facebook" (следователно, ако се опитаме да влезем във Facebook, той ще пропусне грешка в браузъра). Ако вместо „откажете“ използвате „разреши“, ще разрешите достъп, вместо да го забраните. Можете също да използвате! За да изключите например, да предположим, че искате да разрешите достъп до list1, но не и list2:

http_access allow lista1 !lista2

Друг пример може да е създаването на файл / etc / squid3 / ips позволено и в него запишете списък с IP адреси, до които искаме да разрешим достъп. Да предположим например, че съдържанието на разрешени ips е:

192.168.30.1

190.169.3.250

192.168.1.26

И тогава ние създаваме ACL за да разрешите достъп до тези IP адреси:

acl nuevaregla src "/etc/squid3/ipspermitidas"

Доста практичен примерПредставете си, че компютърът ви се използва от деца под 18-годишна възраст и искате да ограничите достъпа до определени сайтове за съдържание за възрастни. Първото нещо е да създадете файл, наречен / etc / squid3 / list със съдържанието:

за възрастни

порно

секс

поринга

А сега вътре  файла squid.conf поставяме следното правило:

acl denegados url_regex "/etc/squid3/lista"

http_access allow !denegados

Както виждаш използвали сме позволи което по принцип е да се разреши, но ако погледнете сме добавили! да се отрече, следователно би било еквивалентно на поставяне:

acl denegados url_regex "/etc/squid3/lista"

http_access deny denegados

Също така могат да се създават списъци, не само на имена на домейни или IP адреси, както направихме, можете да поставите и домейни и например ограничават достъпа до домейни като .xxx, .gov и др. Нека разгледаме пример, основан на предишното правило. Създаваме файл / etc / squid3 / domains, който има:

. Edu

.es

. Org

А сега нашето правило, за да откажем достъп до списъка със забранени сайтове, които създаваме, но позволявайки достъп до URL адреси с тези домейни:

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

http_access allow !denegados dominios

РАЗШИРЕНИЕ:

Извинете, когато видях коментарите, разбрах това Пропуснах главното. Току-що поставих примери за това как се използва и забравих да кажа, че за стартиране на сървъра на Squid:

sudo service squid3 start

Преди да се изправи с "/etc/init.d/squid start", но сега трябва да използвате този друг ред, който съм ви поставил. Точно както конфигурационният файл вече не е в /etc/squid/squid.conf, а в /etc/squid3/squid.conf. Добре, след като политиките за филтриране са създадени и стартирайки го, трябва също да конфигурираме браузъра, например, ако използвате Mozilla Firefox или производни, можете да отидете в менюто за конфигуриране (знаете, трите ленти) и след това да Предпочитания, Разширени и в раздела Мрежа щракнете върху Конфигурация в раздела Свързване. Там избираме Ръчна конфигурация на прокси и поставяме нашия IP и портът, който Squid използва, в случая 3128. Също така избираме „Използвайте същия прокси за всичко“ и излезте, запазвайки промените.

моля Не забравяйте да оставите вашите коментари, съмнения или каквото искате ... Въпреки че е урок далеч над Squid, надявам се да ви помогне.


Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорник за данните: AB Internet Networks 2008 SL
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.

  1.   Никола каза той

    благодаря !, полезно.

  2.   Джими Олано каза той

    ОТНОВО много добре кондензиран за малко сложна тема, продължавам да казвам „потребителско ниво: средно“, трябва да знаете някои понятия за „мрежи“.

    СКРАМНО смятам, че трябва да се добави опцията за конфигуриране на нашия браузър да използва "прокси", но тъй като този запис е "ВЪВЕДЕНИЕ в Squid", ще сме наясно със следващия? доставка (накрая и с риск да ме дразните, ЗАПОМНЕТЕ да не "прокси" банковите уеб страници и / или финансови институции, които използвате във вашия дом или компания).

    1.    Исак PE каза той

      Здравейте, благодаря за коментарите. Да, IPTABLES и Squid са прекалено дебели, за да направят статия, която да ги обяснява в дълбочина и трябва да се ограничите да поставяте ежедневни примери ...

      Но вие сте абсолютно прав, добавих го сега, за да конфигурирам проксито, бях го планирал и забравих. Моя грешка.

      Поздрави и благодаря !!

      1.    Джими Олано каза той

        Uffff "багажник" съжалявам, че не осъзнавам основното:
        СТАРТИРАНЕ НА УСЛУГАТА :-( без това «няма леля ти» -простете ми за разговорната реч- МНОГО УСПЕШНО РАЗШИРЯВАНЕ! 8-)

        {решаването му при всяко зареждане се случва чрез модифициране на «/ sbin / init»:
        http: // www. ubuntu-es.org/node/ 13012 # .Vsr_SUJVIWw}

        {друг по-лесен начин е използването на "update-rc.d":
        https: // parbaedlo. wordpress.com/201 3/03/07 / настройка-старт-и-спиране-на-услуги-linux-актуализация-rc-d /}

        Добавих интервали към връзките, премахнете ги и ще навигирате ;-)

        БЛАГОДАРЯ ВИ МНОГО ЗА ВАШЕТО ВНИМАНИЕ.

  3.   ALBERT каза той

    LINUX НОВИНИ: Атака срещу Linux Mint: заразяване на инсталаторите и компрометиране на потребителски идентификационни данни

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

    1.    азпе каза той

      Вече го публикувах, но не пратете спам на други страници тук, моля

  4.   ALBERT каза той

    НОВИНИ ЗА АНДРОИД: GM Bot, Android троянецът, от който произлиза Mazar

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

  5.   Ернан каза той

    Здравей Джими, как правиш така, че калмарите да не търсят тези страници вместо теб? Би било хубаво, ако коментирате прозрачната опция, която избягва умората от конфигуриране на прокси за всеки компютър

    1.    Джими Олано каза той

      Добър въпрос, инсталирах CAPTCHA в безплатен софтуер на уеб страниците на моите клиенти:
      (http: // www. ks7000. net. ve / 2015/04/03 / un-captcha-easy-and-simple-to-Implementation /
      -Смирно, това НЕ е "спам" или самореклама, става въпрос за случая-)
      И си представям, че когато използвам Squid, тези изображения НЕ се презареждат, защото им поставям едно и също име -ea, мога също да генерирам произволни имена, досега не съм мислил за това- и като има същото име, Squid връща това, което има го в „кеша“.

      Очевидно основната функция на «проксито» е да спести честотна лента с изображенията - най-тежката от уеб страница - [i] при предположението, че тези изображения са статични, те не се променят с течение на времето, което е вярно в 99% от дела [/ i].

      Но в CAPTCHAs, тъй като "няма изпълнено", трябва да премахнем предишното му съхранение и винаги да връщаме ново изображение.

      Що се отнася до банките, разбирам, че най-голямата в Испания е «Caixa», защото ще създадем ПРИМЕРНО правило:

      acl caixa dstdomain .lacaixa.es

      когато:
      acl -> команда за създаване на правило (препрочетете статията на г-н Исак, параграфи по-горе).

      caixa -> име на правило.

      dtsdomain -> опция "type", за да посочим, че се отнасяме към домейн, ВАЖНО точката в началото ( http://ww w.visolve. com / squid / squid24s1 / access_controls.php)

      домейн (и) -> Представям си, че можем да добавим нужните ни домейни, разделени с интервал; говорейки за интервали, аз ги вмъкнах в посочените уеб връзки, премахнете ги и ще навигирате (страници на английски).

      Надявам се знанията, представени тук, да са ви полезни! Благодаря LinuxAdictos!

    2.    Джими Олано каза той

      Добре, за да отговоря на въпроса за ПРОЗРАЧНОСТТА в ОТНОВО ОТНОВО, настоявам, че трябва да имате познания на средно ниво и по дидактически причини ще обобщя възможно най-много следната статия (на английски език), която според мен говори много добре по темата:

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

      Забележки:
      -Добавих интервали към връзките, за да избегна pingback от мен (нямам абсолютно нищо общо с екипа). Linux Adictos, следователно не съм упълномощен да извършвам това действие).
      - ТОВА ЗА ПРОЗРАЧНОСТТА НЕ ЗНАХ! (не са ме научили, казвам).
      -Помагам ви, и аз си помагам, това е страхотно като количество! ?

      Е, с това казано, нека да пристъпим към бизнеса:

      ПРОСТО предложих на г-н Исак да разшири конфигурирането на нашите браузъри с инсталиран прокси и той много любезно го направи (уау, къде този човек намира време да направи толкова много неща?).

      При тази схема използването на Squid Е НЕОБХОДИМО: всеки потребител на нашата локална мрежа ще отговаря за изпълнението на работата си, но можете да заложите „сребърно твърдо срещу хартиени песети“, че има някакъв „баш скрипт“, който може да бъде инсталиран чрез SSH към различни компютри, работещи с GNU / Linux.

      ПРЕДВАРИТЕЛНО: че нашият сървър за калмари работи, както г-н Исак преподава в този пост, ако вече сме го тествали и сме го натоварили и той се представя добре, можем да продължим напред.

      ПО СХЕМАТА ЗА ПРОЗРАЧНОСТ:

      ПЪРВО.- Нашият калмар трябва да бъде маршрута по подразбиране «шлюз» в нашите «eth0» или «wlan0» - помните ли познанията на средното ниво? -, добре, ние го установяваме там (това се прави по подразбиране с DHCP, ЗАЩО трябва също така конфигуриране на сървър на такава услуга:
      http: // en.wikipe dia.org/wiki/ Dynamic_Host_Configuration_Protocol).

      Трябва да планираме да конфигурираме, в случай на повреда, да пренасочим целия трафик към нашия модем (и) директно, ако Squid - компютърът, на който работи - е превишен в работното си натоварване - и да използваме модема (ите) тип "мост", така че излизат навън, това се постига чрез създаване на „скрипт“, който се задейства в споменатото събитие и конфигурира нашия DHCP сървър - който трябва да бъде инсталиран на компютър, различен от нашия Squid-.

      ЗАБЕЛЕЖКА: нашият компютър с Squid винаги ще зависи от своя IP адрес от DHCP, НО в същото време ще има някакъв „контрол“ със споменатия DHCP сървър. Ако искате да работите с фиксирани IP адреси, на мощност, можете, но когато добавите още компютри ИЛИ ЗАМЕНЕТЕ някои, ще трябва да конфигурирате отново и това не е идеята (прочетете с наслада:
      ht tps: // фено барбитал. wordpress.com/2012/07/23/the-12-reasons-by-who-a-administrator-of-systems-lazy-is-a-good-administrator/)
      ОЩЕ ДРУГА ЗАБЕЛЕЖКА (вижте втора точка): нашите модем (и) и / или рутер устройства трябва да деактивират DHCP функцията и че те се управляват от нашия DCHP сървър (-които ви уверявам, че излиза друг запис, за да ни покаже как монтиране спомената услуга-)

      ВТОРО. - Трябва да филтрираме трафика към нашия сървър на Squid, ако имаме няколко разпръснати рутери, които покриват безжична мрежа безжична мрежа, това все още е локална мрежа, но със среден размер. По същество това е същото като първата точка, НО ако имаме различни устройства ИЛИ ДАЖЕ подмрежи, трябва да ги конфигурираме и тях, така че бъдете внимателни с онези от нас, които работят за „смачкване на желязото“ в големи компании.

      ТРЕТИ. - В нашия GNU / Linux, който хоства Squid, трябва да пренасочим портовете и да конфигурираме «защитната стена» (прочетете предишната статия IPTables
      http://www.linuxadictos.com/introduccion-a-iptables-configura-un-firewall-en-linux.html )

      iptables -t nat -A ПРЕДВАРИТЕЛНО -p TCP –dport 80 -j REDIRECT –до порт 3128

      и към IPFW:

      / sbin / ipfw добавете 3 fwd 127.0.0.1,3128 tcp от всеки към всеки 80

      Излишно е да казваме, че НЕ МОЖЕМ да стартираме сървър Apache или Ngix на този порт 80 - порт по подразбиране на уеб страници - ОБЩИЯ СЪМ СЕ ПОКАЗВА да не натоварваме повече компютъра си със Squid - зависим от дисковото пространство за «кеш» -

      ЧЕТВЪРТО. - Трябва да конфигурираме нашия сървър на Squid и да му кажем, че работи в този режим, като модифицираме „/etc/squid/squid.conf“ с nano или редактора, който ви харесва най-много:

      http_port 3128 прозрачен

      Трябва също да активираме препращането на пакети в "/etc/sysctl.conf":

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

      Този последен ред, ако имаме IPv6, е добре да го конфигурираме веднъж в бъдеще.

      Накрая рестартирайте услугата Squid, както е препоръчано от г-н Isaac по-горе, а също така рестартирайте мрежовата услуга:

      /etc/init.d/procps.sh рестартиране

      НЯКОЯ ВЯРА В ГРЕШКИ (или някакви глупости от моя страна) ме уведомете по този начин, Вашите критики и коментари са добре дошли;
      Г-Н. ISAAC Е МОДЕРАТОРЪТ, който ще има последната дума в тази „битка“.

  6.   Джими Олано каза той

    В това кратко видео можем да видим как да конфигурираме Mozilla да използва прокси сървър, с изключение на това, че използва виртуална машина с ReactOS, но е кратко и мисля, че ИЛУСТРИРА какво искате да конфигурирате тук (деактивирана връзка с интервали премахнете ги и прегледайте):

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

  7.   Учител каза той

    Току-що започнах да следя вашата радиостанция, бях 2 дни .. и много добро съдържание ..
    Поздрави от Мексико .. (аз съм учител и моето песъчинка е да използвам отворен източник)

  8.   Овен каза той

    Бих искал да ми помогнете. Искам да дам привилегията на потребител да вижда Facebook и че останалите са с вече конфигурирани ограничения и как да активирам интернет потребителите в определени моменти бих искал да ме посъветвате, благодаря

  9.   Белкис каза той

    Ари, това, което ми обясниха в това отношение, е, че машината, която искаш, не е ограничена, трябва да се остави, но дотогава имам обяснението, аз също съм неопитен по въпроса

  10.   победител каза той

    Лека нощ, извинете, може би въпросът ми е малко основен, но хей, инсталирах калмари и конфигурирах на centos 5.4, инсталирах вино и ултрасърф, това, което възнамерявам да направя, е да споделя интернет от ултрасърф с калмари, правя същото на Windows машина XP с FreeProxy и ultrasurf и мога да го споделя без проблем, но не знам как да го направя в linux

  11.   Даниел Андрада каза той

    Консултирам се с вас, имам конфигурация като вашата, в моя случай пренасочвам порт 80 до 8080, където се изпълнява калмарът. Проблемът е, че някои потребители оставят тази конфигурация на своите компютри и имат достъп през порт 80, макар и не всички услуги. Това с iptables. Имате ли представа къде би бил проблемът?

  12.   Омъжвам каза той

    Много полезно и добре обяснено. Благодаря!

    Имам въпрос, когато искам да създам acl, къде да го направя, тоест в кой ред на конфигурационния файл? И трябва ли веднага да поставя 2 реда под командата http_access, както показвате в публикацията си? Или къде?

    Благодаря отново!! Поздравления!