Вступ до Squid: поетапне налаштування

Кальмар логотип і Tux

Squid - ще один фільтр рівня застосування які можуть доповнювати iptables. Squid - це кешований веб-проксі-сервер, він дуже популярний і безкоштовний, а також крос-платформний. Незважаючи на те, що він може бути використаний для поліпшення роботи Інтернет-з'єднань, його також можна використовувати для цілей безпеки. З моменту початку проекту в 90-х роках Squid був дуже просунутим, і тепер ми представляємо його вам, щоб ви знали, як ним користуватися.

Для вашої установки, ви можете отримати доступ до офіційний веб-сайт проекту і виберіть двійкові пакети для вашої операційної системи або дистрибутива. Якщо ви хочете встановити його з пакета вихідного коду шляхом компіляції, також у вас є такий варіант. Доступні tarballs - tar.gz, tar.bz2 та tar.xz. Якщо ви не знаєте, як встановити, перейдіть до статті, про яку ми редагуємо в цьому блозі Як встановити будь-який пакет з Linux. око! Якщо у вас є Debian або похідна і ви переконалися, що він встановлений із sudo "apt-get install squid", ви можете отримати помилку, оскільки вам доведеться замінити "squid" на "squid3", щоб він набрав чинності .. .

Тепер ми переходимо безпосередньо до пояснення дії кілька прикладів того, як користуватися кальмарами для захисту нашого обладнання. Перш ніж я хотів би пояснити, що Squid базується на списках керування доступом, тобто на Списку контролю доступу або Списку контролю доступу, тобто списках, що деталізують дозволи для управління в цьому випадку мережевим потоком та реалізують фільтри, подібні до 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_name_which_you_a з'явився

Якщо ви побачите файл конфігурації, ви побачите, що його дуже коментують, якщо ви хочете замінити створене правило, можете розпочати рядок з # і ви перетворюєте його на коментар, за допомогою якого 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

. Є

. 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.    Ісаак ПЕ - сказав він

      Привіт, дякую за коментарі. Так, 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 / setting-start-and-stop-of-services-linux-update-rc-d /}

        Я додав пробіли до посилань, видаліть їх, і ви будете переходити ;-)

        ВЕЛИКЕ ДЯКУЮ ЗА УВАГУ.

  3.   АЛЬБЕРТ - сказав він

    LINUX NEWS: Атака на Linux Mint: зараження інсталяторів та компрометація облікових даних користувача

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

    1.    азпе - сказав він

      Я його вже опублікував, але, будь ласка, не розсилайте тут інші сторінки

  4.   АЛЬБЕРТ - сказав він

    НОВИНИ ANDROID: 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-реализации /
      -Помимо, це НЕ "спам" або самореклама, це доречно-)
      і я уявляю, що при використанні Squid ці зображення НЕ перезавантажуються, тому що я накладаю на них одне і те ж ім'я -ea, я також можу генерувати випадкові імена, я до цього не думав про це - і маючи те саме ім'я, Squid повертає те, що він є в "кеш-пам'яті".

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

      Але в CAPTCHA, оскільки "немає запуску", ми повинні усунути попереднє сховище і завжди повертати нове зображення.

      Що стосується банків, я розумію, що найбільшим в Іспанії є «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

      Примітки:
      -Я додав пробіли до посилань, щоб уникнути пінгбеку від мене (я не маю абсолютно нічого спільного з командою). Linux Adictos, тому я не уповноважений виконувати вказані дії).
      - ЦЕГО ПРО ПРОЗРАЧНІСТЬ Я НЕ ЗНАВ! (вони мене не вчили, кажу).
      -Допомагаю вам, хлопці, я теж допомагаю собі, це круто за кількістю! ?

      Що ж, з урахуванням цього, давайте приступимо до справи:

      Я ПРОСТО запропонував панові Ісааку розширити налаштування наших браузерів із встановленим проксі-сервером, і він дуже люб’язно це зробив (вау, де цей чоловік знаходить час зробити стільки речей?).

      За цією схемою використання Squid НЕОБОВ’ЯЗКОВО: кожен користувач нашої локальної мережі буде відповідальним за виконання своєї роботи, але ви можете зробити ставку на «срібло проти паперових песет», що існує якийсь «скрипт», який можна встановити через SSH до різних комп’ютерів під управлінням GNU / Linux.

      ПОПЕРЕДНЕ ВИМОГИ: щоб наш сервер Squid працював, як навчає пан Ісаак у цій публікації, якщо ми вже перевірили його та поставили на нього "робоче навантаження", і він працює добре, ми можемо продовжувати рухатися далі.

      ПІД СХЕМОЮ ПРОЗОРОСТІ:

      ПЕРШИЙ. - Наш Squid повинен бути маршрутом за замовчуванням "шлюзом" у нашому "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. Це якщо у нас є кілька розпорошених маршрутизаторів, які охоплюють бездротову мережу "wifi", це все ще локальна мережа, але середнього розміру. По суті, це те ж саме, що перша точка, АЛЕ якщо у нас різні пристрої АБО НАВІТ підмережі, ми також повинні їх налаштувати, тому будьте обережні з тими з нас, хто працює у "великому залізі" у великих компаніях.

      ТРЕТІЙ. - У нашому GNU / Linux, що розміщує Squid, ми повинні перенаправити порти та налаштувати «брандмауер» (прочитайте попередню статтю 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 –порт 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, як рекомендував пан Ісаак вище, а також перезапустіть мережеву службу:

      /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, встановив вино та ультрасерфінг, я маю намір поділитися Інтернетом з ultrasurf з кальмарами, я роблю те саме на машині Windows XP з FreeProxy і ultrasurf, і я можу ділитися цим без проблем, але я не знаю, як це зробити в Linux

  11.   Даніель Андрада - сказав він

    Я консультую вас, у мене є конфігурація, подібна до вашої, у моєму випадку я перенаправляю порт 80 на 8080, де працює кальмар. Проблема в тому, що деякі користувачі залишають цю конфігурацію на своїх комп’ютерах і отримують доступ через порт 80, хоча і не всі служби. Це з iptables. Ти уявляєш, де проблема?

  12.   Більш - сказав він

    Дуже корисно і добре пояснено. Дякую!

    У мене питання, коли я хочу створити acl, де це зробити, тобто в якому рядку файлу конфігурації? І чи варто мені негайно ставити 2 рядки нижче команди http_access, як ви показуєте у своєму дописі? Або де?

    Знову дякую!! Вітаю!