Squid'e Giriş: Adım Adım Kurulum

Kalamar logosu ve Tux

Squid başka bir uygulama seviyesi filtresidir iptables'ı tamamlayabilir. Squid, önbelleğe alınmış bir web proxy sunucusudur, çok popüler ve ücretsizdir ve çapraz platformdur. İnternet bağlantılarının performansını artırmak için kullanılabilmesine rağmen, güvenlik amacıyla da kullanılabilir. 90'lı yıllarda proje başladığından beri, Squid çok gelişti ve şimdi onu nasıl kullanacağınızı bilmeniz için size sunuyoruz.

Kurulumunuz için, erişebilirsiniz projenin resmi web sitesi ve işletim sisteminiz veya dağıtımınız için ikili paketleri seçin. Derleyerek kaynak kod paketinden kurmak isterseniz, ayrıca bu seçeneğe sahipsin. Mevcut tarball'lar tar.gz, tar.bz2 ve tar.xz'dir. Nasıl kurulacağını bilmiyorsanız bu blogda düzenlediğimiz makaleye gidebilirsiniz. linux'tan herhangi bir paket nasıl kurulur. göz! Bir Debian veya türeviniz varsa ve bunun sudo "apt-get install squid" ile yüklendiğini gördüyseniz, bir hata alabilirsiniz, çünkü "squid" i "squid3" ile değiştirmeniz gerekir. .

Şimdi doğrudan açıklayan eyleme geçiyoruz Squid'in nasıl kullanılacağına dair bazı örnekler ekipmanımızı korumak için. Squid'in ACL'lere, yani Erişim Kontrol Listesi'ne veya erişim kontrol listesine dayandığını, yani bu durumda ağ akışını kontrol etme izinlerini detaylandıran ve iptables'dakilere benzer filtreleri uygulayan listeleri açıklamak istiyorum. uygulama düzeyinde.

Normalde, kurulumdan sonra, içinde bulunabilecek bir konfigürasyon dosyası eklenir. /etc/squid3/squid.conf nano veya gedit gibi bir editörle düzenlememiz gereken de budur. İçinde filtreleme kurallarımızı oluşturabiliriz, cache_dir, cache_mem ve http_port seçenekleri olmasına rağmen, ikincisini güvenlik kurallarımız için kullanacağız. Diğer bir ayrıntı da, bu dosyanın Squid servisi tarafından kullanılan varsayılan bağlantı noktasını belirtmesidir, varsayılan olarak 3128'dir ("http_port 3128" satırına veya yönergesine bakın ve etkinleştirmek için # işaretini kaldırın). İsterseniz, 8080 gibi başka bir bağlantı noktasına değiştirebilirsiniz ... Ve gerekli olan başka bir şey de ana bilgisayar adını yapılandırmaktır, "TAG: Visible_hostname" açıklamasını arayın ve "visible_hostname" satırını göreceksiniz. ana bilgisayar adı.

Ana bilgisayar adınızı öğrenmek için terminale yazabilirsiniz:

hostname

Ve görünen ad, yorum olarak göz ardı edilmemesi için # ile başlamaması gereken satıra eklersiniz. Yani şöyle görünecektir:

visible_hostname hostname_have_you_appeared

Yapılandırma dosyasını görürseniz, çok yorumlu olduğunu göreceksiniz, oluşturulmuş bir kuralı geçersiz kılmak istiyorsanız, satırı # ile başlatabilirsiniz ve onu Squid'in görmezden geldiği bir yoruma dönüştürürsünüz, tekrar hizmete sokmak için, # 'i silersiniz ve hepsi bu. Aslında, # öğesini kaldırarak kullanabileceğiniz birçok oluşturulmuş ve yorumlanmış kural vardır. Böylece kuralları silmeniz ve yeniden yazmanız gerekmez. Belirli bir kural veya filtre eklemek için, bir ACL'ye ve ne yapılacağını belirten bir yönergeye sahip olması gerekir.

Bu arada, bir kuralı etkinleştirmek için bir # kaldırdığınızda, Satırın başında boşluk bırakmadığınızdan emin olun. Örneğin:

Yanlış yol:

http_port 3128

Doğru yol:

http_port 3128

Hiçbir şey duymadın mı Peki endişelenme Bir örnek her şeyi çok daha iyi göreceksin. Şunu hayal edin:

facebook olarak url_regex'i engelleyen acl
http_access engellemeyi reddet

Bu kural ne anlama geliyor "engelleme" adındaki acl'nin "facebook" içeren URL'ye erişimi yasaklamasıdır (bu nedenle Facebook'a girmeye çalışırsak tarayıcıdaki bir hatayı atlayacaktır). "Reddet" yerine "izin ver" kullanırsanız, erişimi yasaklamak yerine erişime izin vermiş olursunuz. Ayrıca! Örneğin dışlamak için, liste1'e erişime izin vermek istediğinizi ancak liste2'ye izin vermek istemediğinizi varsayalım:

http_access allow lista1 !lista2

Başka bir örnek, / etc / squid3 / ips dosyasına izin verilen bir dosya oluşturmak olabilir. ve içinde erişime izin vermek istediğimiz IP'lerin bir listesini kaydedin. Örneğin, izin verilen ips içeriğinin şöyle olduğunu varsayalım:

192.168.30.1

190.169.3.250

192.168.1.26

Ve sonra acl'yi yaratırız bu IP'lere erişime izin vermek için:

acl nuevaregla src "/etc/squid3/ipspermitidas"

Oldukça pratik bir örnekBilgisayarınızın 18 yaşın altındaki çocuklar tarafından kullanıldığını ve belirli yetişkin içerikli sitelere erişimi kısıtlamak istediğinizi hayal edin. İlk şey, içeriğiyle / etc / squid3 / list adında bir dosya oluşturmaktır:

yetişkin

porno

seks

Poringa

Ve şimdi  squid.conf dosyası aşağıdaki kuralı koyduk:

acl denegados url_regex "/etc/squid3/lista"

http_access allow !denegados

Gördüğünüz gibi izin kullandık hangi prensipte izin vermektir, ama bakarsanız ekledik! reddetmek, bu nedenle, şunu koymakla eşdeğer olacaktır:

acl denegados url_regex "/etc/squid3/lista"

http_access deny denegados

Listeler de sadece bizim yaptığımız gibi alan adlarından veya IP'lerden değil oluşturulabilir. ayrıca etki alanları da koyabilirsiniz ve örneğin .xxx, .gov vb. etki alanlarına erişimi kısıtlayın. Önceki kurala dayalı bir örneğe bakalım. Şu özelliklere sahip bir / etc / squid3 / domains dosyası oluşturuyoruz:

. Edu

. Mı

Org.

Ve şimdi kuralımız, oluşturduğumuz yasaklı siteler listesine erişimi reddetmek, ancak bu alan adlarıyla URL'lere erişime izin vermek için:

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

http_access allow !denegados dominios

UZANTI:

Üzgünüm, yorumları görünce anladım ki Ana şeyi özlüyorum. Nasıl kullanıldığına dair örnekler koymakla kendimi sınırladım ve Squid sunucusunu başlatmak için şunu söylemeyi unuttum:

sudo service squid3 start

"/Etc/init.d/squid start" ile kalkmadan önce, ama şimdi sizin için koyduğum diğer satırı kullanmalısınız. Yapılandırma dosyası artık /etc/squid/squid.conf değil, /etc/squid3/squid.conf. Tamam, filtreleme politikaları oluşturulduktan ve başlatıldıktan sonra, tarayıcıyı da yapılandırmalıyız, örneğin, Mozilla Firefox veya türevlerini kullanıyorsanız, yapılandırma menüsüne (bilirsiniz, üç çubuk) ve ardından Tercihler, Gelişmiş ve Ağ sekmesinde, Bağlantı bölümündeki Yapılandırma'ya tıklayın. Orada, Manuel proxy yapılandırmasını seçiyoruz ve IP'mizi ve Squid'in kullandığı portu, bu durumda 3128'i koyuyoruz. Ayrıca "Her şey için aynı proxy'yi kullan" seçeneğini seçip değişiklikleri kaydetmeden çıkıyoruz.

lütfen Yorumlarınızı bırakmayı unutmayın, şüpheler veya ne istersen ... Squid'in çok üzerinde bir öğretici olmasına rağmen, umarım sana yardımcı olur.


Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar ile işaretlenmiştir *

*

*

  1. Verilerden sorumlu: AB Internet Networks 2008 SL
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.

  1.   nicolas dijo

    teşekkür ederim !, yararlı.

  2.   Jimmy olano dijo

    Yine biraz karmaşık bir konu için çok iyi özetledim, "kullanıcı seviyesi: orta" diyorum, "ağlar" hakkında bazı kavramları bilmelisiniz.

    Maalesef tarayıcımızı "proxy" kullanacak şekilde yapılandırma seçeneğinin eklenmesi gerektiğini düşünüyorum, ancak bu giriş "Squid'e GİRİŞ" olduğu için bir sonrakinden çok haberdar olacağız? teslimat (son olarak ve beni rahatsız etme riski altında, evinizde veya şirketinizde kullandığınız bankacılık web sayfalarını ve / veya finans kurumlarını "vekil" etmemeyi UNUTMAYIN).

    1.    Isaac PE dijo

      Merhaba, yorumlarınız için teşekkürler. Evet, IPTABLES ve Squid onları derinlemesine açıklayan bir makale yapamayacak kadar kalın ve kendinizi günlük örneklerle sınırlandırmanız gerekiyor ...

      Ama kesinlikle haklısınız, proxy'yi yapılandırmak için şimdi ekledim, planladım ve unuttum. Benim hatam.

      Selamlar ve teşekkürler !!

      1.    Jimmy olano dijo

        Uffff "gövde" asıl şeyi anlamadığım için özür dilerim:
        HİZMETİ BAŞLAT :- (o olmadan "teyzen yok" - günlük konuşma için beni affet - ÇOK BAŞARILI UZATMA! 8-)

        {her önyüklemede düzeltilmesi "/ sbin / init" değiştirilerek yapılır:
        http: // www. ubuntu-es.org/node/ 13012 # .Vsr_SUJVIWw}

        {başka bir kolay yol da "update-rc.d" kullanmaktır:
        https: // parbaedlo. wordpress.com/201 3/03/07 / hizmetleri başlatma ve durdurma-linux-güncelleme-rc-d /}

        Bağlantılara boşluklar ekledim, onları kaldırdım ve gezineceksin ;-)

        İLGİNİZ İÇİN ÇOK TEŞEKKÜR EDERİM.

  3.   ALBERT dijo

    LINUX HABERLERİ: Linux Mint'e Saldırı: Yükleyicilere virüs bulaştırın ve kullanıcı kimlik bilgilerini tehlikeye atın

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

    1.    Azpe dijo

      Zaten yayınladım, ancak lütfen buradaki diğer sayfalara spam yapmayın

  4.   ALBERT dijo

    ANDROID HABERLERİ: GM Bot, Mazar'ın türetildiği Android Truva Atı

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

  5.   Hernan dijo

    Merhaba Jimmy, Kalamarın o sayfaları sizin için aramaması için nasıl yaparsınız? Proxy'yi her bilgisayara yapılandırmanın sıkıntısını önleyen şeffaf seçenek hakkında yorum yaparsanız iyi olur.

    1.    Jimmy olano dijo

      Güzel soru, müşterilerimin web sayfalarına ücretsiz yazılımda bir CAPTCHA yükledim:
      (http: // www. ks7000. net. ve / 2015/04/03 / un-captcha-uygulaması kolay ve basit /
      -Maalesef bu "spam" veya kendi kendine tanıtım DEĞİLDİR, uygundur-)
      ve Squid'i kullanırken bu görüntülerin yeniden YÜKLENMEDİĞİNİ hayal ediyorum çünkü üzerlerine aynı adı koyuyorum - ea, rastgele isimler de üretebiliyorum, şimdiye kadar bunu düşünmemiştim - ve Squid aynı isme sahip olarak şunu döndürüyor: "önbellekte" var.

      Açıkçası, "proxy" nin ana işlevi, bir web sayfasının en ağır olanı görüntülerle bant genişliğinden tasarruf etmektir [i], bu görüntülerin statik olduğu, zamanla değişmedikleri varsayımıyla, bu da% 99'unda doğrudur. vakalar [/ i].

      Ancak CAPTCHA'larda, "çalışma olmadığından" önceki depolamasını kaldırmalı ve her zaman yeni bir görüntü döndürmeliyiz.

      BANKALAR İÇİN, İspanya'daki en büyüğünün "Caixa" olduğunu anlıyorum çünkü bir ÖRNEK kural oluşturacağız:

      acl caixa dstdomain .lacaixa.es

      burada:
      acl -> kural oluşturmak için komut (Bay Isaac'in makalesini, yukarıdaki paragrafları tekrar okuyun).

      caixa -> kural adı.

      dtsdomain -> Bir etki alanına başvurduğumuzu belirtmek için "tür" seçeneği, ÖNEMLİ baştaki nokta ( http://ww w.visolve. com / squid / squid24s1 / access_controls.php)

      alan (lar) -> İhtiyacımız olan alanları bir boşlukla ayırarak ekleyebileceğimizi hayal ediyorum; boşluklardan bahsetmişken, onları belirtilen web bağlantılarına ekledim, kaldırın ve gezineceksiniz (İngilizce sayfalar).

      Umarım burada sunulan bilgiler sizin için faydalıdır, teşekkürler LinuxAdictos!

    2.    Jimmy olano dijo

      Peki, Squid'de TEKRAR ŞEFFAFLIK sorusuna cevap vermek için, orta düzeyde bilgiye sahip olmanız gerektiğinde ısrar ediyorum ve didaktik nedenlerle, konuyu çok iyi anlattığını düşündüğüm aşağıdaki makaleyi (İngilizce olarak) mümkün olduğunca özetleyeceğim:

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

      Notas:
      -Benden gelecek geri pingleri önlemek için bağlantılara boşluk ekledim (ekiple kesinlikle hiçbir ilgim yoktur). Linux Adictos, dolayısıyla söz konusu işlemi gerçekleştirme yetkim yok).
      - ŞEFFAFLIK HAKKINDA BUNU BİLMİYORUM! (bana öğretmediler, diyorum).
      - Size yardımcı olurum, ben de kendime yardım ederim, bu miktar olarak harika! ?

      Bununla birlikte, hadi işe başlayalım:

      SADECE Bay Isaac'e, tarayıcılarımızı proxy kurulu olarak yapılandırmayı genişletmesini önerdim ve o da çok nazikçe yaptı (vay, bu adam bu kadar çok şey yapmak için nerede zaman buluyor?).

      Bu şema kapsamında, Squid kullanımı İSTEĞE BAĞLIDIR: yerel alan ağımızın her kullanıcısı işlerini yapmaktan sorumlu olacaktır, ancak yüklenebilecek bazı "bash betiği" olduğuna "kağıt pesetalara karşı gümüş sert" bahse girebilirsiniz . SSH aracılığıyla GNU / Linux çalıştıran çeşitli bilgisayarlara.

      ÖN GEREKSİNİM: Squid sunucumuz Bay Isaac'in bu yazıda öğrettiği gibi çalışıyor, eğer onu daha önce test etmiş ve üzerine bir "iş yükü" koymuşsak ve iyi performans gösteriyorsa, daha ileri gidebiliriz.

      ŞEFFAFLIK ŞEMASI KAPSAMINDA:

      İLK.- Kalamarımız, "eth0" veya "wlan0" da varsayılan yol "ağ geçidi" olmalıdır - orta düzeydeki bilgileri hatırlıyor musunuz? -, onu orada oluşturuyoruz (bu, varsayılan olarak DHCP ile yapılır. böyle bir hizmetin sunucusunu yapılandırın:
      http: // en.wikipe dia.org/wiki/ Dynamic_Host_Configuration_Protocol).

      Başarısızlık durumunda, Squid'in (çalıştığı bilgisayar) iş yükünde aşılması durumunda tüm trafiği modemlerimize doğrudan yeniden yönlendirmeyi ve modem (ler) tipi "köprü" kullanmayı planlamalıyız, böylece dışarı çıkarlar, bu, söz konusu olayda tetiklenen ve Squid'mizden farklı bir bilgisayara yüklenmesi gereken DHCP sunucumuzu yapılandıran bir "betik" oluşturarak elde edilir.

      NOT: Squid'li bilgisayarımız her zaman DHCP'den gelen IP adresine bağlı olacaktır, ancak aynı zamanda söz konusu DHCP sunucusuyla bir "kontrole" sahip olacaktır. Sabit IP adresleriyle çalışmak istiyorsanız, güç, yapabilirsiniz, ancak daha fazla bilgisayar eklediğinizde VEYA bazılarını DEĞİŞTİRDİĞİNİZDE, yeniden yapılandırmanız gerekecek ve bu fikir değil (zevkle okuyun:
      ht tps: // feno barbital. wordpress.com/2012/07/23/the-12-reasons-by-who-a-administrator-of-systems-lazy-is-a-good-administrator/)
      BAŞKA BİR NOT (ikinci noktaya bakın): modem (ler) iniz ve / veya yönlendirici cihazlarımız DHCP işlevini devre dışı bırakmalı ve DCHP sunucumuz tarafından yönetilmeli söz konusu hizmet-)

      İKİNCİ. - Squid sunucumuza giden trafiği filtrelemeliyiz, bu, bir kablosuz ağ alanı "wifi" yi kapsayan birkaç dağınık yönlendiricimiz varsa, bu yine de yerel bir alan ağıdır, ancak orta büyüklüktedir. Esasen ilk nokta ile aynı, AMA farklı cihazlarımız VEYA alt ağlarımız varsa, onları da yapılandırmalıyız, bu nedenle büyük şirketlerde "demirleri kırarak" çalışanlarımıza dikkat edin.

      ÜÇÜNCÜ - Squid'i barındıran GNU / Linux'umuzda portları yeniden yönlendirmeli ve «güvenlik duvarını» yapılandırmalıyız (önceki IPTables makalesini okuyun
      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 numaralı bağlantı noktasına

      ve IPFW'ye:

      / sbin / ipfw herhangi birinden herhangi bir 3'e 127.0.0.1,3128 fwd 80 tcp ekleyin

      Söylemeye gerek yok, o port 80 üzerinde bir Apache veya Ngix sunucusu ÇALIŞTIRAMAZIZ - web sayfalarının varsayılan portu - ORTAK SENSE, "önbellek" için disk alanına bağlı olan Squid ile bilgisayarımıza daha fazla yük koymamayı BELİRTMEKTEDİR -.

      DÖRDÜNCÜ.- Squid sunucumuzu yapılandırmalı ve "/etc/squid/squid.conf" u nano veya en sevdiğiniz düzenleyici ile değiştirerek bu modda çalıştığını söylemeliyiz:

      http_port 3128 şeffaf

      Ayrıca "/etc/sysctl.conf" içinde paket iletmeyi etkinleştirmeliyiz:

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

      Bu son satır, eğer IPv6'ya sahipsek, onu gelecekte bir kez yapılandırmak iyidir.

      Son olarak, yukarıda Bay Isaac tarafından önerilen Squid hizmetini yeniden başlatın ve ayrıca ağ hizmetini yeniden başlatın:

      /etc/init.d/procps.sh yeniden başlat

      BAZI ERRATA İMANLARI (veya benim tarafımdan bazı saçmalıklar) aynı yoldan bana haber verin, eleştirilerinizi ve yorumlarınızı bekliyoruz;
      BAY. ISAAC, bu "dövüşte" son sözü söyleyecek OTURUMCUDUR.

  6.   Jimmy olano dijo

    Bu kısa videoda, Mozilla'nın bir proxy sunucusu kullanması için nasıl yapılandırılacağını görebiliriz, ancak ReactOS ile bir sanal makine kullanması, ancak kısadır ve bence burada yapılandırmak istediğiniz şeyi ILLUSTRAtes eder (bağlantı boşluklarla devre dışı bırakılır, onları kaldırın ve göz atın):

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

  7.   Öğretmen dijo

    Radyo istasyonunuzu yeni takip etmeye başladım, 2 günüm var .. ve çok iyi içerik ..
    Meksika'dan selamlar .. (Ben bir öğretmenim ve kum tanem açık kaynak kullanmaktır)

  8.   Koç dijo

    Bana yardım etmeni istiyorum Bir kullanıcıya Facebook'u görme ayrıcalığını vermek istiyorum ve diğerlerinin zaten yapılandırılmış kısıtlamalara sahip olduğunu ve belirli zamanlarda İnternet kullanıcılarının nasıl etkinleştirileceğini bana bildirmeni istiyorum, teşekkür ederim

  9.   Belkıs dijo

    Ari, bana anlattıkları şey, istediğin makinenin kısıtlanmaması, dışarıda bırakılması gerektiğidir ama o zamana kadar açıklamam var, ben de bu konuda deneyimsizim.

  10.   galip dijo

    İyi geceler, afedersiniz, belki sorum biraz basit ama hey, kalamar kurdum ve bir centos 5.4 üzerinde yapılandırdım, wine ve ultrasurf kurdum, yapmak istediğim interneti ultrasurf'ten kalamar ile paylaşmak, aynısını yapıyorum FreeProxy ve ultrasurf ile bir Windows makine XP'de ve bunu sorunsuz bir şekilde paylaşabilirim ama linux'ta nasıl yapacağımı bilmiyorum

  11.   daniel andrada dijo

    Size danışıyorum, sizinki gibi bir konfigürasyonum var, benim durumumda kalamarın çalıştığı 80 ila 8080 portunu yönlendiriyorum. Sorun, bazı kullanıcıların bu yapılandırmayı bilgisayarlarında bırakması ve tüm hizmetler olmasa da 80 numaralı bağlantı noktası üzerinden erişmesidir. Bu iptables ile. Sorunun nerede olacağına dair bir fikriniz var mı?

  12.   Mer dijo

    Çok faydalı ve iyi açıklanmış. Teşekkürler!

    Bir acl oluşturmak istediğimde bir sorum var, bunu nerede yapmalıyım, yani yapılandırma dosyasının hangi satırında? Gönderinizde gösterdiğiniz gibi http_access komutunun hemen altına 2 satır mı koymalıyım? Veya nerede?

    Tekrar teşekkürler!! Selamlar!