SquidGuard'ı Yapılandırma, İçerik Kurallarını Etkinleştirme ve Squid Günlüklerini Analiz Etme - Bölüm 6


LFCE (Linux Foundation Sertifikalı Mühendis), Linux sistemlerindeki ağ hizmetlerini kurmak, yönetmek ve sorunlarını gidermek için gerekli becerilere sahip olan ve sistem mimarisinin bütünüyle tasarlanması, uygulanması ve sürekli bakımı.

Linux Vakfı Sertifikasyon Programına Giriş.

Önceki gönderilerde Squid + squidGuard'ın nasıl kurulacağını ve squid'in erişim isteklerini doğru şekilde işlemek veya kısıtlamak için nasıl yapılandırılacağını tartıştık. Devam etmeden önce lütfen bu iki öğreticiyi gözden geçirdiğinizden ve hem Squid'i hem de squidGuard'ı yüklediğinizden emin olun; çünkü onlar bu yazıda ele alacağımız konunun arka planını ve bağlamını belirler: Kara liste kurallarını uygulamak ve içerik kontrolünü uygulamak için squidguard'ı çalışan bir squid ortamına entegre etmek. Proxy sunucu.

Gereksinimler

  1. Squid ve SquidGuard'ı yükleyin – Bölüm 1
  2. Squid Proxy Sunucusunu Kısıtlı Erişimle Yapılandırma – Bölüm 5

SquidGuard'ı Ne İçin Kullanabilirim/Kullanamam?

SquidGuard, Squid'in özelliklerini kesinlikle artıracak ve geliştirecek olsa da, neleri yapıp neleri yapamayacağını vurgulamak önemlidir.

squidGuard şu amaçlarla kullanılabilir:

  1. bazı kullanıcılar için izin verilen web erişimini yalnızca kabul edilen/iyi bilinen web sunucuları ve/veya URL'lerden oluşan bir listeyle sınırlandırırken, diğer kara listeye alınmış web sunucularına ve/veya URL'lere erişimi reddedin.
  2. bazı kullanıcılar için normal ifadeler veya kelimelerden oluşan bir listeyle eşleşen sitelere (IP adresine veya alan adına göre) erişimi engelleyin.
  3. alan adlarının kullanılmasını zorunlu kılmak/URL'lerde IP adresinin kullanımını yasaklamak.
  4. Engellenen URL'leri hata veya bilgi sayfalarına yönlendirin.
  5. Günün saatine, haftanın gününe, tarihe vb. dayalı olarak farklı erişim kuralları kullanın.
  6. farklı kullanıcı grupları için farklı kurallar uygulayın.

Ancak ne squidGuard ne de Squid aşağıdaki amaçlarla kullanılamaz:

  1. Belgelerin içindeki metni analiz edin ve sonuca göre hareket edin.
  2. HTML kodunun içindeki JavaScript, Python veya VBscript gibi gömülü kodlama dillerini tespit edin veya engelleyin.

Kara Listeler – Temel Bilgiler

Kara listeler squidGuard'ın önemli bir parçasıdır. Temel olarak bunlar, belirli anahtar kelimelere göre içerik filtreleri uygulamanıza olanak tanıyan düz metin dosyalarıdır. Hem ücretsiz hem de ticari kara listeler mevcuttur ve indirme bağlantılarını squidguard kara listeleri projesinin web sitesinde bulabilirsiniz.

Bu eğitimde size Shalla Secure Services tarafından sağlanan kara listeleri squidGuard kurulumunuza nasıl entegre edeceğinizi göstereceğim. Bu kara listeler kişisel/ticari olmayan kullanım için ücretsizdir ve günlük olarak güncellenmektedir. Bunlar, bugün itibariyle 1.700.000'den fazla girişi içermektedir.

Kolaylık sağlamak için kara liste paketini indirmek için bir dizin oluşturalım.

mkdir /opt/3rdparty
cd /opt/3rdparty 
wget http://www.shallalist.de/Downloads/shallalist.tar.gz

En son indirme bağlantısı aşağıda vurgulandığı gibi her zaman mevcuttur.

Yeni indirilen dosyanın tararını kaldırdıktan sonra kara liste (BL) klasörüne göz atacağız.

tar xzf shallalist.tar.gz 
cd BL
ls

ls çıktısında gösterilen dizinleri arka liste kategorileri olarak ve bunlara karşılık gelen (isteğe bağlı) alt dizinleri, dosyalarda listelenen belirli URL'lere ve alan adlarına kadar inen alt kategoriler olarak düşünebilirsiniz. Sırasıyla url'ler ve alan adları. Daha fazla ayrıntı için aşağıdaki resme bakın.

Kara Listeleri Yükleme

Blacklist paketinin tamamının veya bireysel kategorilerin kurulumu, BL dizininin veya onun alt dizinlerinden birinin sırasıyla /var/ dizinine kopyalanmasıyla gerçekleştirilir. lib/squidguard/db dizini.

Elbette kara liste tarball'ını ilk etapta bu dizine indirmiş olabilirsiniz, ancak daha önce açıklanan yaklaşım, belirli bir zamanda hangi kategorilerin engellenmesi (veya engellenmemesi) gerektiği konusunda size daha fazla kontrol sağlar.

Daha sonra size anonvpn, hacking ve sohbet kara listelerini nasıl yükleyeceğinizi ve squidGuard'ı bunları kullanacak şekilde nasıl yapılandıracağınızı göstereceğim.

1. Adım: anonvpn, hacking ve chat dizinlerini /opt/3rdparty/ adresinden yinelemeli olarak kopyalayın BL'den /var/lib/squidguard/db'ye.

cp -a /opt/3rdparty/BL/anonvpn /var/lib/squidguard/db
cp -a /opt/3rdparty/BL/hacking /var/lib/squidguard/db
cp -a /opt/3rdparty/BL/chat /var/lib/squidguard/db

2. Adım: Squidguard'ın veritabanı dosyalarını oluşturmak için etki alanlarını ve URL dosyalarını kullanın. Belirli bir kategorinin 2 veya daha fazla alt kategorisi olsa bile, aşağıdaki komutun yüklü tüm kara listeler için .db dosyaları oluşturmak için çalışacağını lütfen unutmayın.

squidGuard -C all

3. Adım: Squid'in veritabanı dosyalarını okuyabilmesi için /var/lib/squidguard/db/ dizininin ve içeriğinin sahipliğini proxy kullanıcısı olarak değiştirin.

chown -R proxy:proxy /var/lib/squidguard/db/

4. Adım: SquidGuard'ı kullanacak şekilde Squid'i yapılandırın. Squid'e squidGuard'ı URL yeniden yazıcı/yeniden yönlendirici olarak kullanmasını söylemek için /etc/squid/squid.conf dosyasındaki url_rewrite_program yönergesini kullanacağız.

Aşağıdaki satırı squid.conf dosyasına ekleyin ve /usr/bin/squidGuard'ın sizin durumunuzda doğru mutlak yol olduğundan emin olun.

which squidGuard
echo "url_rewrite_program $(which squidGuard)" >> /etc/squid/squid.conf
tail -n 1 /etc/squid/squid.conf

5. Adım: Gerekli yönergeleri squidGuard'ın yapılandırma dosyasına ekleyin (/etc/squidguard/squidGuard.conf konumunda bulunur).

Daha fazla açıklama için lütfen aşağıdaki koddan sonra yukarıdaki ekran görüntüsüne bakın.

src localnet {
        ip      192.168.0.0/24
}

dest anonvpn {
        domainlist      anonvpn/domains
        urllist         anonvpn/urls
}
dest hacking {
        domainlist      hacking/domains
        urllist         hacking/urls
}
dest chat {
        domainlist      chat/domains
        urllist         chat/urls
}

acl {
        localnet {
                        pass     !anonvpn !hacking !chat !in-addr all
                        redirect http://www.lds.org
                }
        default {
                        pass     local none
        }
}

6. Adım: Squid'i yeniden başlatın ve test edin.

service squid restart 		[sysvinit / Upstart-based systems]
systemctl restart squid.service 	[systemctl-based systems]

Yerel ağ içindeki bir istemcide bir web tarayıcısı açın ve kara liste dosyalarından (etki alanları veya URL'ler) herhangi birinde bulunan bir siteye göz atın; aşağıdaki örnekte http://spin.de/ sohbetini kullanacağız ) ve bu durumda başka bir URL'ye (www.lds.org) yönlendirileceksiniz.

İsteğin proxy sunucusuna yapıldığını ancak reddedildiğini (301 http yanıtı – Kalıcı olarak taşındı) ve onun yerine www.lds.org adresine yönlendirildiğini doğrulayabilirsiniz.

Kısıtlamaların Kaldırılması

Herhangi bir nedenle geçmişte engellenen bir kategoriyi etkinleştirmeniz gerekirse, ilgili dizini /var/lib/squidguard/db'den kaldırın ve ilgili acl'ye yorum yapın (veya silin). squidguard.conf dosyasında.

Örneğin, anonvpn kategorisine göre kara listeye alınan alan adlarını ve URL'leri etkinleştirmek istiyorsanız aşağıdaki adımları uygulamanız gerekir.

rm -rf /var/lib/squidguard/db/anonvpn

Ve squidguard.conf dosyasını aşağıdaki gibi düzenleyin.

Lütfen ÖNCE altında sarı renkle vurgulanan kısımların SONRA'da silindiğini unutmayın.

Belirli Etki Alanlarını ve URL'leri Beyaz Listeye Alma

Bazen belirli URL'lere veya alan adlarına izin vermek isteyebilirsiniz, ancak kara listedeki dizinin tamamına izin vermemek isteyebilirsiniz. Bu durumda, myWhiteLists (veya seçtiğiniz ad) adında bir dizin oluşturmalı ve istediğiniz URL'leri ve alan adlarını altına eklemelisiniz. /var/lib/squidguard/db/myWhiteLists sırasıyla URL'ler ve alan adları adlı dosyalarda bulunur.

Ardından yeni içerik kurallarını daha önce olduğu gibi başlatın,

squidGuard -C all

ve squidguard.conf dosyasını aşağıdaki gibi değiştirin.

Daha önce olduğu gibi sarı renkle vurgulanan kısımlar eklenmesi gereken değişiklikleri gösteriyor. myWhiteLists dizesinin pass ile başlayan satırda ilk sırada olması gerektiğini unutmayın.

Son olarak değişiklikleri uygulamak için Squid'i yeniden başlatmayı unutmayın.

Çözüm

Bu eğitimde özetlenen adımları izledikten sonra, Squid proxy'nizle el ele çalışan güçlü bir içerik filtresine ve URL yeniden yönlendiricisine sahip olmalısınız. Kurulum/yapılandırma süreciniz sırasında herhangi bir sorunla karşılaşırsanız veya herhangi bir sorunuz veya yorumunuz varsa, squidGuard'ın web belgelerine bakmak isteyebilirsiniz ancak aşağıdaki formu kullanarak bize her zaman bir satır yazmaktan çekinmeyin; en kısa sürede size geri döneceğiz. olası.