Wprowadzenie do Squid: konfiguracja krok po kroku

Logo Squid i Tux

Squid to kolejny filtr na poziomie aplikacji który może uzupełniać iptables. Squid to buforowany internetowy serwer proxy, jest bardzo popularny i darmowy oraz działa na wielu platformach. Chociaż może być używany do poprawy wydajności połączeń internetowych, może być również używany do celów bezpieczeństwa. Odkąd projekt rozpoczął się w latach 90-tych, Squid był bardzo zaawansowany i teraz przedstawiamy go Wam, abyście wiedzieli, jak go używać.

Do Twojej instalacji, możesz uzyskać dostęp do oficjalna strona projektu i wybierz pakiety binarne dla swojego systemu operacyjnego lub dystrybucji. Jeśli chcesz zainstalować go z pakietu kodu źródłowego przez kompilację, również masz taką opcję. Dostępne paczki to tar.gz, tar.bz2 i tar.xz. Jeśli nie wiesz, jak zainstalować, możesz przejść do artykułu, który edytujemy na tym blogu jak zainstalować dowolny pakiet z linuxa. oko! Jeśli masz Debiana lub pochodną i widziałeś, że jest on zainstalowany z sudo „apt-get install squid”, możesz otrzymać błąd, ponieważ musisz zamienić „squid” na „squid3”, aby zadziałało. .

Teraz przechodzimy bezpośrednio do wyjaśniania działań kilka przykładów użycia Squid aby chronić nasz sprzęt. Zanim chciałbym wyjaśnić, że Squid jest oparty na listach ACL, to znaczy na liście kontroli dostępu lub liście kontroli dostępu, to znaczy listach, które szczegółowo opisują uprawnienia do kontrolowania w tym przypadku przepływu sieci i implementują filtry podobne do tych z iptables, ale na poziomie aplikacji.

Zwykle po instalacji dołączany jest plik konfiguracyjny, który można znaleźć w /etc/squid3/squid.conf i to właśnie musimy edytować za pomocą edytora takiego jak nano lub gedit. W nim możemy wygenerować nasze reguły filtrowania, chociaż istnieją opcje cache_dir, cache_mem i http_port, użyjemy tej drugiej dla naszych reguł bezpieczeństwa. Innym szczegółem jest to, że ten plik określa domyślny port używany przez usługę Squid, którym jest domyślnie 3128 (zobacz wiersz lub dyrektywę „http_port 3128” i usuń znak #, aby ją aktywować). Jeśli chcesz, możesz zmienić go na inny port, taki jak 8080 ... Kolejną rzeczą, która jest konieczna, jest skonfigurowanie nazwy hosta, poszukaj komentarza "TAG: Visible_hostname", a zobaczysz wiersz "visible_hostname", w którym musisz umieścić Twoja nazwa hosta.

Aby poznać swoją nazwę hosta, możesz wpisać w terminalu:

hostname

A nazwa, która się pojawi, dodajesz ją do linii, która nie powinna być poprzedzona znakiem #, aby nie była ignorowana jako komentarz. Oznacza to, że wyglądałoby to tak:

nazwa_hosta_widocznego_nazwa_hosta_wystąpiła_wystawa_

Jeśli zobaczysz plik konfiguracyjny, zobaczysz, że jest bardzo skomentowany, jeśli chcesz nadpisać utworzoną regułę, możesz rozpocząć linię od # i przekształcasz go w komentarz, z którym Squid go ignoruje, aby przywrócić go do użytku, usuwasz # i to wszystko. W rzeczywistości istnieje wiele utworzonych i skomentowanych reguł, których możesz użyć, usuwając #. Nie musisz więc usuwać i przepisywać reguł. Cóż, aby dodać określoną regułę lub filtr, musi mieć listę ACL i dyrektywę, która wskazuje, co należy zrobić.

Nawiasem mówiąc, gdy usuniesz #, aby aktywować regułę, upewnij się, że nie zostawiasz spacji na początku linii, Por ejemplo:

Zła droga:

http_port 3128

Właściwa droga:

http_port 3128

Nie słyszałeś nic? Cóż, nie martw się Przykład zobaczysz wszystko znacznie lepiej. Wyobraź to sobie:

acl blokujący url_regex jako facebook
http_access deny blocking

Co oznacza ta zasada polega na tym, że lista ACL o nazwie „blocking” zablokuje dostęp do adresu URL zawierającego słowo „facebook” (dlatego jeśli spróbujemy wejść do Facebooka, pominie to błąd w przeglądarce). Jeśli zamiast „deny” użyjesz „allow”, pozwolisz na dostęp zamiast go zabraniać. Możesz także użyć! Aby wykluczyć, na przykład, przypuśćmy, że chcesz zezwolić na dostęp do listy1, ale nie do listy2:

http_access allow lista1 !lista2

Innym przykładem może być utworzenie pliku / etc / squid3 / ips dozwolonego i zapisz w nim listę adresów IP, do których chcemy zezwolić. Na przykład załóżmy, że zawartość dozwolonych adresów IP to:

192.168.30.1

190.169.3.250

192.168.1.26

Następnie tworzymy listę ACL aby zezwolić na dostęp do tych adresów IP:

acl nuevaregla src "/etc/squid3/ipspermitidas"

Całkiem praktyczny przykładWyobraź sobie, że Twój komputer jest używany przez dzieci poniżej 18 roku życia i chcesz ograniczyć dostęp do niektórych witryn z treściami dla dorosłych. Pierwszą rzeczą jest utworzenie pliku o nazwie / etc / squid3 / list z zawartością:

dorosły

porno

seks

poringa

A teraz w  plik squid.conf stawiamy następującą zasadę:

acl denegados url_regex "/etc/squid3/lista"

http_access allow !denegados

Jak widzisz użyliśmy zezwolenia co w zasadzie ma pozwolić, ale jeśli spojrzysz, dodaliśmy! zaprzeczać zatem, byłoby to równoznaczne z postawieniem:

acl denegados url_regex "/etc/squid3/lista"

http_access deny denegados

Możesz także tworzyć listy, nie tylko nazw domen lub adresów IP, tak jak to zrobiliśmy, możesz też umieścić domeny i na przykład ogranicz dostęp do domen takich jak .xxx, .gov itp. Spójrzmy na przykład oparty na poprzedniej regule. Tworzymy plik / etc / squid3 / domains, który ma:

. Edu

.pl

. Org

A teraz nasza zasada, aby odmówić dostępu do tworzonej przez nas listy zabronionych witryn, ale zezwalając na dostęp do adresów URL w tych domenach:

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

http_access allow !denegados dominios

ROZBUDOWA:

Przepraszam, kiedy zobaczyłem komentarze, zdałem sobie z tego sprawę Brakowało mi najważniejszej rzeczy. Właśnie podałem przykłady tego, jak jest używany i zapomniałem powiedzieć, że aby uruchomić serwer Squid:

sudo service squid3 start

Wcześniej pojawiło się z "/etc/init.d/squid start", ale teraz musisz użyć tej drugiej linii, którą dla ciebie umieściłem. Tak jak plik konfiguracyjny nie znajduje się już w /etc/squid/squid.conf, ale w /etc/squid3/squid.conf. Ok, po utworzeniu polityk filtrowania i uruchomieniu go musimy także skonfigurować przeglądarkę, na przykład jeśli używasz Mozilla Firefox lub pochodnych, możesz przejść do menu konfiguracji (wiesz, trzy paski), a następnie do Preferencje, Zaawansowane i na karcie Sieć kliknij opcję Konfiguracja w sekcji Połączenie. Tam wybieramy ręczną konfigurację proxy i umieszczamy nasz adres IP oraz port, z którego korzysta Squid, w tym przypadku 3128. Zaznaczamy także „Używaj tego samego proxy do wszystkiego” i wychodzimy zapisując zmiany.

Proszę Nie zapomnij zostawić swoich komentarzy, wątpliwości lub cokolwiek chcesz ... Chociaż jest to samouczek znacznie przewyższający Squid, mam nadzieję, że ci pomoże.


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: AB Internet Networks 2008 SL
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.

  1.   Nicolas powiedział

    dziękuję !, pomocny.

  2.   Jimmy’ego Olano powiedział

    ZNOWU bardzo dobrze skondensowana na dość złożony temat, powtarzam „poziom użytkownika: średni”, powinieneś znać pewne pojęcia dotyczące „sieci”.

    NIESAMOWITE uważam, że należy dodać opcję skonfigurowania naszej przeglądarki do korzystania z „proxy”, ale ponieważ ten wpis jest „WPROWADZENIEM do Squid”, będziemy bardzo świadomi następnego? dostawa (wreszcie, ryzykując irytacją, PAMIĘTAJ, aby nie „proxy” stron bankowych i / lub instytucji finansowych, z których korzystasz w domu lub firmie).

    1.    Isaac PE powiedział

      Cześć, dzięki za komentarze. Tak, IPTABLES i Squid są zbyt grube, aby napisać artykuł, który je dogłębnie wyjaśnia i musisz ograniczyć się do podania codziennych przykładów ...

      Ale masz całkowitą rację, dodałem go teraz, aby skonfigurować proxy, zaplanowałem to i zapomniałem. Moja wina.

      Pozdrawiamy i dziękujemy !!

      1.    Jimmy’ego Olano powiedział

        Uffff "bagażnik", przepraszam, że nie zdawałem sobie sprawy z najważniejszej rzeczy:
        ROZPOCZNIJ SERWIS :-( bez tego "nie ma twojej cioci" -przebacz mi za potoczne przemówienie- BARDZO UDANE ROZSZERZENIE! 8-)

        {naprawianie tego przy każdym uruchomieniu polega na zmodyfikowaniu „/ sbin / init”:
        http: // www. ubuntu-es.org/node/ 13012 # .Vsr_SUJVIWw}

        {innym łatwiejszym sposobem jest użycie „update-rc.d”:
        https: // parbaedlo. wordpress.com/201 3/03/07 / setting-start-and-stop-of-services-linux-update-rc-d /}

        Dodałem spacje do linków, usuń je i będziesz nawigować ;-)

        DZIĘKUJĘ BARDZO ZA UWAGĘ.

  3.   ALBERT powiedział

    WIADOMOŚCI LINUX: Atak na mennicę Linuksa: zainfekuj instalatory i przejmij dane uwierzytelniające użytkownika

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

    1.    Azpe powiedział

      Już to opublikowałem, ale nie spamuj tutaj innych stron

  4.   ALBERT powiedział

    WIADOMOŚCI O ANDROIDZE: GM Bot, trojan dla Androida, z którego wywodzi się Mazar

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

  5.   Hernan powiedział

    Cześć Jimmy, jak to zrobić, żeby squid nie przeszukiwał tych stron za Ciebie? Dobrze byłoby skomentować opcję przezroczystą, która pozwala uniknąć żmudnego konfigurowania serwera proxy na każdym komputerze

    1.    Jimmy’ego Olano powiedział

      Dobre pytanie, zainstalowałem CAPTCHA w darmowym oprogramowaniu na stronach internetowych moich klientów:
      (http: // www. ks7000. net. ve / 2015/04/03 / un-captcha-easy-and-simple-to-implement /
      -Nie jest to „spam” ani autopromocja, jest to właściwe-)
      i wyobrażam sobie, że gdy używam Squid te obrazy NIE są przeładowywane, ponieważ umieszczam na nich tę samą nazwę -ea, mogę też generować losowe nazwy, nie myślałem o tym, aż do teraz- i mając tę ​​samą nazwę, Squid zwraca to, co ma w „pamięci podręcznej”.

      Oczywiście główną funkcją „proxy” jest oszczędzanie przepustowości za pomocą obrazów - najcięższej ze stron internetowych - [i] przy założeniu, że te obrazy są statyczne, nie zmieniają się w czasie, co jest prawdą w 99% przypadków [/ ja].

      Ale w CAPTCHA, ponieważ "nie ma uruchomionego", musimy wyeliminować jego poprzednie przechowywanie i zawsze zwracać nowy obraz.

      Jeśli chodzi o BANKI, rozumiem, że największym w Hiszpanii jest „Caixa”, ponieważ stworzymy PRZYKŁADOWĄ regułę:

      acl caixa domena dst .lacaixa.es

      gdzie:
      acl -> polecenie utworzenia reguły (przeczytaj ponownie artykuł pana Isaaca, akapity powyżej).

      caixa -> nazwa reguły.

      dtsdomain -> "type" opcja wskazująca, że ​​odnosimy się do domeny, WAŻNE kropka na początku ( http://ww w.visolve. pl / squid / squid24s1 / access_controls.php)

      domena (y) -> Wyobrażam sobie, że możemy dodać domeny, których potrzebujemy, oddzielone spacją; skoro mowa o spacjach, umieściłem je we wskazanych linkach internetowych, usunę je i będziesz nawigować (strony w języku angielskim).

      Mam nadzieję, że wiedza tutaj przedstawiona będzie dla Ciebie przydatna, dzięki LinuxAdictos!

    2.    Jimmy’ego Olano powiedział

      CÓŻ, aby odpowiedzieć na pytanie PRZEJRZYSTOŚĆ w Squid PONOWNIE nalegam, abyś miał wiedzę na poziomie średniozaawansowanym iz powodów dydaktycznych zamierzam podsumować jak najwięcej następujący artykuł (w języku angielskim), który moim zdaniem bardzo dobrze mówi na ten temat:

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

      Uwagi:
      -Dodałem spacje do linków, aby uniknąć pingbacków z mojej strony (nie mam absolutnie nic wspólnego z zespołem). Linux Adictos, w związku z czym nie jestem upoważniony do dokonania przedmiotowej czynności).
      - TO O PRZEJRZYSTOŚCI NIE WIEM! (mówię, że mnie nie nauczyli).
      - Pomagając wam, pomagam sobie też, to jest fajne pod względem ilości! ?

      Cóż, mówiąc to, przejdźmy do rzeczy:

      TYLKO zasugerowałem panu Isaacowi, aby rozwinął konfigurację naszych przeglądarek z zainstalowanym proxy, a on bardzo uprzejmie to zrobił (wow, gdzie ten człowiek znajduje czas na zrobienie tylu rzeczy?).

      W tym schemacie użycie Squid JEST OPCJONALNE: każdy użytkownik naszej sieci lokalnej będzie odpowiedzialny za wykonywanie swojej pracy, ale można postawić „twarde srebro przeciwko papierowym pesetom”, że istnieje jakiś „skrypt bash”, który można zainstalować , przez SSH do różnych komputerów z systemem GNU / Linux.

      WYMAGANIE WSTĘPNE: że nasz serwer Squid działa tak, jak uczy pan Isaac w tym poście, jeśli już go przetestowaliśmy i włożyliśmy na niego „obciążenie pracą” i działa dobrze, możemy przejść dalej.

      W RAMACH PROGRAMU PRZEJRZYSTOŚCI:

      PO PIERWSZE. - Nasza Squid musi być domyślną "bramą" trasy w naszym "eth0" lub "wlan0" -czy pamiętasz wiedzę na średnim poziomie? skonfigurować serwer takiej usługi:
      http: // en.wikipe dia.org/wiki/ Dynamic_Host_Configuration_Protocol).

      Musimy zaplanować skonfigurowanie, w przypadku awarii, przekierowanie całego ruchu do naszego modemu (modemów) bezpośrednio, jeśli Squid - komputer, na którym działa - jest przeciążony pracą - i użyć modemu (ów) typu „bridge”, aby wychodzą na zewnątrz, osiąga się to poprzez wykonanie "skryptu", który jest uruchamiany w tym zdarzeniu i konfiguruje nasz serwer DHCP - który powinien być zainstalowany na innym komputerze niż nasz Squid -.

      UWAGA: nasz komputer z Squidem zawsze będzie zależał od adresu IP z DHCP, ALE jednocześnie będzie miał jakąś „kontrolę” z tym serwerem DHCP. Jeśli chcesz pracować ze stałymi adresami IP, mocą, możesz, ale kiedy dodasz więcej komputerów LUB WYMIENISZ niektóre będziesz musiał skonfigurować ponownie i to nie jest pomysł (przeczytaj z zachwytem:
      ht tps: // pheno barbital. wordpress.com/2012/07/23/the-12-reasons-by-who-a-administrator-of-systems-lazy-is-a-good-administrator/)
      KOLEJNA UWAGA (patrz punkt drugi): nasze modemy i / lub urządzenia routera muszą dezaktywować funkcję DHCP i są zarządzane przez nasz serwer DCHP (- co zapewniam, że wychodzi z tego kolejny wpis, aby pokazać nam, jak montować wspomniana usługa-)

      PO DRUGIE. - Musimy filtrować ruch w kierunku naszego serwera Squid. Jeśli mamy kilka rozproszonych routerów, które obejmują obszar sieci bezprzewodowej „wifi”, to nadal jest to sieć lokalna, ale średniej wielkości. Zasadniczo jest to to samo, co pierwszy punkt, ALE jeśli mamy różne urządzenia LUB NAWET podsieci, musimy je również skonfigurować, więc uważaj na tych z nas, którzy pracują „miażdżąc żelazka” w dużych firmach.

      PO TRZECIE. - W naszym systemie GNU / Linux, w którym znajduje się Squid, musimy przekierować porty i skonfigurować «zaporę ogniową» (przeczytaj poprzedni artykuł IPTables
      http://www.linuxadictos.com/introduccion-a-iptables-configura-un-firewall-en-linux.html )

      iptables -t nat -A PREROUTING -p TCP –dport 80 -j PRZEKIEROWANIE –do-port 3128

      i do IPFW:

      / sbin / ipfw dodaj 3 fwd 127.0.0.1,3128 tcp z dowolnego do dowolnego 80

      Nie trzeba dodawać, że NIE MOŻEMY uruchomić serwera Apache lub Ngix na tym porcie 80 - domyślny port stron internetowych - WSPÓLNY ROZSĄD OKAZUJE, aby nie obciążać naszego komputera Squidem - zależnie od miejsca na dysku dla «pamięci podręcznej» -.

      CZWARTE. - Musimy skonfigurować nasz serwer Squid i powiedzieć mu, że działa w tym trybie, modyfikując plik "/etc/squid/squid.conf" za pomocą nano lub edytora, który najbardziej Ci się podoba:

      http_port 3128 przezroczysty

      Musimy także włączyć przekazywanie pakietów w „/etc/sysctl.conf”:

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

      Ta ostatnia linia, jeśli mamy IPv6, dobrze jest skonfigurować ją raz w przyszłości.

      Na koniec zrestartuj usługę Squid zgodnie z zaleceniami pana Isaaca powyżej, a także zrestartuj usługę sieciową:

      /etc/init.d/procps.sh uruchom ponownie

      NIEKTÓRA WIARA BŁĘDÓW (lub jakiś nonsens z mojej strony) daj mi znać w ten sposób, twoja krytyka i komentarze są mile widziane;
      PAN. ISAAC JEST MODERATOREM, który będzie miał ostatnie słowo w tej „walce”.

  6.   Jimmy’ego Olano powiedział

    W tym krótkim filmie możemy zobaczyć, jak skonfigurować Mozillę do korzystania z serwera proxy, z wyjątkiem tego, że używa maszyny wirtualnej z ReactOS, ale jest krótki i myślę, że to ILUSTRACJE, co chcesz tutaj skonfigurować (link wyłączony ze spacjami, usuń je i przeglądaj):

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

  7.   Nauczyciel powiedział

    Właśnie zacząłem śledzić twoją stację radiową, mam 2 dni .. i bardzo dobra treść ..
    Pozdrowienia z Meksyku ... (jestem nauczycielem i moje ziarno ma używać open source)

  8.   Baran powiedział

    Chciałbym, żebyś mi pomógł Chcę dać użytkownikowi przywilej oglądania Facebooka i tego, że inni mają już skonfigurowane ograniczenia i jak włączać użytkowników Internetu w określonych momentach Chciałbym, abyś mi doradził, dziękuję

  9.   Belki powiedział

    Ari, wyjaśnili mi w tym względzie, że maszyna, którą chcesz, nie jest ograniczona, trzeba ją pominąć, ale do tego czasu mam wyjaśnienie, jestem też niedoświadczony w temacie

  10.   zwycięzca powiedział

    Dobranoc przepraszam, może moje pytanie jest trochę proste ale hej, zainstalowałem kałamarnicę i skonfigurowałem na centos 5.4, zainstalowałem wine i ultrasurf, to co zamierzam zrobić to udostępnić internet z ultrasurf z kałamarnicą, robię to samo na komputerze z systemem Windows XP z FreeProxy i ultrasurfem i mogę to udostępnić bez problemu, ale nie wiem jak to zrobić w Linuksie

  11.   Daniela Andradę powiedział

    Konsultuję się z tobą, mam konfigurację taką jak twoja, w moim przypadku przekierowuję port 80 na 8080, gdzie działa kałamarnica. Problem polega na tym, że niektórzy użytkownicy zostawiają tę konfigurację na swoich komputerach, anulują i uzyskują dostęp przez port 80, chociaż nie wszystkie usługi. To z iptables. Czy masz pojęcie, gdzie byłby problem?

  12.   Poślubić powiedział

    Bardzo przydatne i dobrze wyjaśnione. Dzięki!

    Mam pytanie, kiedy chcę utworzyć listę ACL, gdzie mam to zrobić, czyli w którym wierszu pliku konfiguracyjnego? I czy powinienem natychmiast umieścić 2 linie poniżej polecenia http_access, jak pokazujesz w swoim poście? Czy gdzie?

    Dzięki jeszcze raz!! Pozdrowienia!