Ubuntu 20.04 Squid Proxy Server Kurulumu

Squid, çoğunlukla trafiği, güvenliği ve DNS aramalarını filtrelemek için kullanılan tam özellikli, Linux tabanlı bir proxy uygulamasıdır. Ayrıca kaynakları önbelleğe alarak web sunucusu performansını iyileştirmek için kullanılır. Basit bir ifadeyle, bir Squid sunucusu, bir masaüstü bilgisayar ile internet arasında, gelen istemci isteklerini daha kolay erişim için verilerin depolandığı bir sunucuya yeniden yönlendiren bir aracı görevi gören bir bilgisayardır. HTTP, FTP, TLS, SSL, Internet Gopher ve HTTPS dahil olmak üzere çeşitli protokolleri destekler.
Bu kılavuz, Ubuntu 20.04’te Squid proxy’sinin nasıl kurulacağını ve yapılandırılacağını açıklar.

Ubuntu 20.04 Squid Proxy Server Kurulumu

Başlamadan önce, sistem paketlerinizi en son sürüme güncellemeniz gerekecektir. Bunları aşağıdaki komutla güncelleyebilirsiniz:

sudo apt-get update
sudo apt-get upgrade

Tüm paketler güncellendikten sonra, değişiklikleri uygulamak için sisteminizi yeniden başlatın.
Squid proxy’yi kurmak için aşağıdaki komutları çalıştırın. Ayrıca sistem önyüklemesini başlatmak için etkinleştirin ve ardından durumu kontrol edin:

$ sudo apt-get install -y squid
$ sudo systemctl start squid
$ sudo systemctl enable squid
$ sudo systemctl status squid

Kalamar düzgün bir şekilde kurulmuş ve çalışıyorsa, aşağıda gösterildiği gibi bir çıktı almalısınız:

 

 

 

Ubuntu 20.04’te Squid proxy sunucusunu yapılandırın

Squid yapılandırma dosyası /etc/squid/squid.conf ve /etc/squid/conf.d/ dizininde bulunur. Bir metin düzenleyici kullanarak /etc/squid/squid.conf dosyasını düzenleyelim. Cp komutunu kullanarak bir şeyler ters giderse geri dönebilmemiz için orijinal dosyanın bir yedeğini alın:

$ sudo cp -v /etc/squid/squid.conf{,.bkp}

Şimdi /etc/squid/squid.conf içinde özel ayarlarınızı yapın. Dosyayı tercih ettiğiniz dosya düzenleyiciyle açın:

$ sudo nano /etc/squid/squid.conf

Squid varsayılan bağlantı noktasını değiştir

Varsayılan Squid tcp portu 3128’dir. Bunu değiştirmek için squid.conf dosyasını açın ve http_port satırını arayın. İstediğiniz bağlantı noktası numarasını değiştirin ve dosyayı kaydedin.

#http_port 3128
http_port 8080

Bağlantı noktasının güvenlik duvarından geçmesine izin verdiğinizden emin olun

$ sudo ufw allow 8080/tcp
$ sudo ufw enable

Squid cache boyutunu ayarla

İstediğiniz önbelleği ayarlamak için aşağıdaki ayarları kullanın. Benim durumum için 512 MB kullanıyorum:

cache_mem 512 MB

 

 

 

 

Kullanılacak DNS ad sunucularını belirtin

Kendi DNS sunucularınızı tanımlamak için gösterilen komutu kullanın.

dns_nameservers 8.8.8.8 8.8.4.4

Squid proxy sunucusu için ACL’leri tanımlayın

ACL’ler ( Erişim kontrol listeleri ), proxy sunucusundan neyin geçmesine izin verildiğini ve neyin reddedildiğini tanımlayan ifadelerdir. Her ifade acl ile başlamalı ve ardından kuralın adı gelmelidir. Adın ardından acltype ve son olarak argüman veya dosya gelir. Dosyaların kullanıldığı yerlerde, dosyadaki her satır yalnızca bir öğe içermelidir.

acl aclname acltype argument..
acl aclname acltpe “file”…

 

Örnek:

Squid proxy sunucusu üzerinden LAN ağına izin ver
ACL kuralını oluşturun

acl my_lan src 192.168.100.0/24

Şimdi, http_access yönergesini kullanarak tanımlanan kurala göre izin verin veya reddedin. Bizim durumumuzda, izin vermeliyiz

http_access allow my_lan

Squid proxy sunucusunda belirli web sitelerine erişim nasıl engellenir

Twitter.com ve facebook.com’u engelleyelim:

acl deniedsites dstdomain facebook.com twitter.com
http_access deny deniedsites

Her değişiklik yaptığınızda squid sunucusunu yeniden başlatmanız gerektiğini unutmayın.

$ systemctl restart squid

 

Anahtar kelimeleri kullanarak URL’leri engelleyin
Herhangi bir url’nin “foo” veya “browse.php? U =” gibi anahtar kelime içerip içermediğini, url_regex acl kullanarak engelleyin:

acl urlkeywordsblocks url_regex -i "/etc/squid/blocked-urls-keyword.conf"
http_access deny urlkeywordsblocks

Create a file named /etc/squid/blockd-urls-keyword.conf as follows:

sudo nano /etc/squid/blocked-urls-keyword.conf

Append the urls/keywords:

foo
browse.php?u=

IP Tabanlı Kimlik Doğrulamayı Ayarlayın
İstemcinin internete erişimini kısıtlamanın birkaç yolu vardır. Bu bölümde, Squid’i Müşterinin IP adresine göre kimlik doğrulaması yapacak şekilde ayarlayacağız.
Bunu Squid varsayılan yapılandırma dosyasını düzenleyerek yapabilirsiniz:

$ nano /etc/squid/squid.conf

Dosyanın başına aşağıdaki satırı ekleyin:

acl client1 src 192.168.100.8
acl client2 src 192.168.100.17
http_access allow client1 client2

Bitirdiğinizde dosyayı kaydedin ve kapatın. Ardından değişiklikleri uygulamak için Squid hizmetini yeniden başlatın:

$ systemctl restart squid

client1 ve client2, istemci bilgisayarları tanımlayan addır.
192.168.100.8 ve 192.168.100.17, istemci bilgisayarın IP adresidir.
Artık yalnızca IP 192.168.100.8 ve 192.168.100.17 ile yapılandırılmış bilgisayarlar internete erişebilir.

Kullanıcı Tabanlı Kimlik Doğrulamayı Ayarlayın
Kullanıcı ve şifreye göre kimlik doğrulaması yapmak için Squid’i de kurabilirsiniz. Bunu yapmak için, Apache utils paketini sisteminize kurmanız gerekir.
Apache utils paketini kurmak için aşağıdaki komutu çalıştırın:

$ sudo apt install apache2-utils -y

Kurulduktan sonra, aşağıdaki komutla bir ilk kullanıcı oluşturun:

htpasswd /etc/squid/passwd client1

Aşağıda gösterildiği gibi bir şifre belirlemeniz istenecektir:

New password: 
Re-type new password:

Kullanıcı istemcisi için şifre client1
Ardından, aşağıdaki komutla ikinci bir kullanıcı oluşturun:

$ htpasswd /etc/squid/passwd client2

Şifrenizi aşağıda gösterildiği gibi ayarlayın:

New password: 
Re-type new password:
Adding password for user client2

Ardından, Squid varsayılan yapılandırma dosyasını açın:

$ nano /etc/squid/squid.conf

Önceki bölümde eklediğiniz ilk üç satırı kaldırın ve dosyanın başına aşağıdaki satırları ekleyin:

auth_param basic program /usr/lib/squid3/basic_ncsa_auth /etc/squid/passwd
acl ncsa_users proxy_auth REQUIRED
http_access allow ncsa_users
Dosyayı kaydedin ve kapatın. Ardından, değişiklikleri uygulamak için Squid proxy hizmetini yeniden başlatın:
$ sudo systemctl restart squid

Şimdi, internete erişmek için kullanıcı adı ve şifre sağlamanız gerekecek.

Squid Proxy’yi Doğrula
Ardından, Mozilla web tarayıcınızda Proxy sunucunuzu tanımlamanız gerekecek.
İstemci sistemine gidin, Mozilla web tarayıcısını açın ve aşağıda gösterildiği gibi Düzenle => Tercihler’e tıklayın:

Ağ Ayarları bölümüne tıklayın ve Ayarlar’a tıklayın. Aşağıdaki sayfayı görmelisiniz:

Manual proxy configuration radyo düğmesini seçin, Squid sunucusu IP adresinizi HTTP Host alanına ve 8080’i Port alanına girin ve bu proxy sunucuyu tüm protokoller için kullan onay kutusunu seçin ve ayarları kaydetmek için OK düğmesine tıklayın.
Şimdi Squid proxy kurulumunuzun çalıştığını doğrulayın. Firefox tarayıcısını açın ve durumum için youtube.com gibi kısıtlanmış bir sitede arama yapmayı deneyin. “Proxy sunucusu bağlantıları reddet” yazan bir sayfa görmelisiniz

Şimdi kısıtlanmamış başka bir site açın. Kullanıcı adınızı ve şifrenizi girdikten sonra siteye erişebilmeniz için kimlik doğrulaması istenmelidir.

Sonuç
Bu, Ubuntu 20.04’te Squid proxy sunucusunun nasıl kurulup yapılandırılacağına dair adım adım bir kılavuzdur.

Bir cevap yazın

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