Ubuntu ve Debian'da "Squid Proxy" Sunucusu Nasıl Kurulur


Squid, web sunucusu hızını artırmak, yanıt sürelerini kısaltmak ve ağ bant genişliği kullanımını azaltmak için web sayfalarını bir web sunucusundan önbelleğe almak için çok çeşitli şirketlerimde kullanılan en popüler önbelleğe alma ve iletme HTTP web proxy sunucusudur.

Ayrıca Okuyun: CentOS 7'de Squid Kullanarak HTTP Proxy Nasıl Oluşturulur

Bu yazımızda Ubuntu ve Debian dağıtımlarına squid proxy sunucusunun nasıl kurulacağını ve HTTP proxy sunucusu olarak nasıl kullanılacağını açıklayacağız.

Ubuntu'ya Squid Nasıl Kurulur

Başlamadan önce, Squid sunucusunun herhangi bir gereksinimi olmadığını bilmelisiniz, ancak RAM kullanım miktarı, proxy sunucu üzerinden internette dolaşan istemcilere göre farklılık gösterebilir.

Squid paketi temel Ubuntu deposundan yüklenebilir, ancak bundan önce paketlerinizi çalıştırarak güncellediğinizden emin olun.

sudo apt update

Paketleriniz güncel olduğunda, aşağıdaki komutları kullanarak kalamar kurulumuna devam edebilir ve sistem başlangıcında başlatıp etkinleştirebilirsiniz.

sudo apt -y install squid
sudo systemctl start squid
sudo systemctl enable squid

Bu noktada Squid web proxy'niz zaten çalışıyor olmalıdır ve hizmetin durumunu ile doğrulayabilirsiniz.

sudo systemctl status squid
Örnek Çıktı
● squid.service - LSB: Squid HTTP Proxy version 3.x
   Loaded: loaded (/etc/init.d/squid; generated)
   Active: active (running) since Tue 2018-12-04 06:42:43 UTC; 14min ago
     Docs: man:systemd-sysv-generator(8)
    Tasks: 4 (limit: 1717)
   CGroup: /system.slice/squid.service
           ├─2761 /usr/sbin/squid -YC -f /etc/squid/squid.conf
           ├─2766 (squid-1) -YC -f /etc/squid/squid.conf
           ├─2768 (logfile-daemon) /var/log/squid/access.log
           └─2772 (pinger)

Dec 04 06:42:43 tecmint systemd[1]: Starting LSB: Squid HTTP Proxy version 3.x...
Dec 04 06:42:43 tecmint squid[2708]:  * Starting Squid HTTP Proxy squid
Dec 04 06:42:43 tecmint squid[2708]:    ...done.
Dec 04 06:42:43 tecmint systemd[1]: Started LSB: Squid HTTP Proxy version 3.x.
Dec 04 06:42:43 tecmint squid[2761]: Squid Parent: will start 1 kids
Dec 04 06:42:43 tecmint squid[2761]: Squid Parent: (squid-1) process 2766 started

Bilmeniz gereken bazı önemli kalamar dosyası konumları şunlardır:

  • Squid yapılandırma dosyası: /etc/squid/squid.conf
  • Squid Erişim günlüğü: /var/log/squid/access.log
  • Squid Önbellek günlüğü: /var/log/squid/cache.log

Varsayılan yapılandırma dosyası, Squid'in davranışını etkilemek için yapılandırılması gereken bazı yapılandırma direktiflerini içerir.

Şimdi bu dosyayı Vi düzenleyiciyi kullanarak düzenlemek için açın ve aşağıda gösterildiği gibi değişiklikleri yapın.

sudo vim /etc/squid/squid.conf

Artık aşağıdaki satırları arayabilir ve istediğiniz gibi değiştirebilirsiniz, Vi düzenleyicide 'ESC' tuşuna basıp “/ yazarak bu satırları arayabilirsiniz. Aranacak belirli satırları yazmanın anahtarı.

  • http_port : Bu, HTTP proxy sunucusunun varsayılan bağlantı noktasıdır, varsayılan olarak 3128'dir, bunu istediğiniz başka bir bağlantı noktasıyla değiştirebilir, ayrıca İsterseniz Squid proxy'sinin şeffaf bir proxy gibi davranmasını sağlamak için satırın sonuna http_port 8888 şeffaf gibi "şeffaf" etiketini ekleyin.
  • http_access tümünü reddet : Bu satır, kimsenin HTTP proxy sunucusuna erişmesine izin vermez; bu nedenle, Squid proxy sunucunuzu kullanmaya başlamak için onu http_access tümünü reddet olarak değiştirmeniz gerekir. .
  • visible_hostname : Bu yönerge, belirli bir ana bilgisayar adını bir squid sunucusuna ayarlamak için kullanılır. Squid'e herhangi bir ana bilgisayar adını verebilirsiniz.

Yukarıdaki değişiklikleri yaptıktan sonra Squid proxy sunucusunu şu komutla yeniden başlatabilirsiniz.

sudo systemctl restart squid

Squid'i Ubuntu'da HTTP Proxy Olarak Yapılandırma

Bu squid yapılandırma bölümünde, kimlik doğrulama için yalnızca istemci IP adresini kullanarak squid'i bir HTTP proxy olarak nasıl yapılandıracağınızı açıklayacağız.

Kalamar ACL'leri ekleyin

Yeni proxy sunucunuz üzerinden yalnızca bir IP adresinin internete erişmesine izin vermek istiyorsanız, yapılandırma dosyasında yeni acl (erişim kontrol listesi) tanımlamanız gerekecektir.

sudo vim /etc/squid/squid.conf

Eklemeniz gereken acl kuralı şudur:

acl localnet src XX.XX.XX.XX

Burada XX.XX.XX.XX, istemci makinenin IP adresidir. Bu acl, aşağıdaki ekran görüntüsünde gösterildiği gibi ACL bölümünün başına eklenmelidir.

Örneğin, ACL'nin yanında bu IP adresini kimin kullandığını açıklayacak bir yorum tanımlamak her zaman iyi bir uygulamadır.

acl localnet src 192.168.0.102  # Boss IP address

Yeni değişikliklerin yürürlüğe girmesi için Squid hizmetini yeniden başlatmanız gerekecek.

sudo systemctl restart squid

Squid Proxy'de Bağlantı Noktalarını Açma

Varsayılan olarak, kalamar yapılandırmasında yalnızca belirli bağlantı noktalarına izin verilir; daha fazlasını eklemek istiyorsanız, bunları gösterildiği gibi yapılandırma dosyasında tanımlamanız yeterlidir.

acl Safe_ports port XXX

Burada XXX izin vermek istediğiniz bağlantı noktası numarasıdır. Yine acl'nin yanına, bağlantı noktasının ne için kullanılacağını açıklayan bir yorum tanımlamak iyi bir pratik olacaktır.

Değişikliklerin etkili olması için squid'i bir kez daha yeniden başlatmanız gerekecek.

sudo systemctl restart squid

Squid Proxy İstemci Kimlik Doğrulaması

Kullanıcıların proxy'yi kullanmadan önce kimlik doğrulaması yapmasına izin vermek için, yapılandırma dosyasında temel http kimlik doğrulamasını etkinleştirmeniz gerekir, ancak bundan önce aşağıdaki komutu kullanarak Apache2-utils paketini yüklemeniz gerekir.

sudo apt install apache2-utils

Şimdi, daha sonra kimlik doğrulama için kullanıcı adını saklayacak olan “passwd” adında bir dosya oluşturun. Squid, “proxy” kullanıcısı ile çalışır, dolayısıyla dosyanın sahibi o kullanıcıya ait olmalıdır.

sudo touch /etc/squid/passwd
sudo chown proxy: /etc/squid/passwd
ls -l /etc/squid/passwd

Şimdi “tecmint” adında yeni bir kullanıcı oluşturup şifresini ayarlayacağız.

sudo htpasswd /etc/squid/passwd tecmint

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

Şimdi temel http kimlik doğrulamasını etkinleştirmek için yapılandırma dosyasını açın.

sudo vim /etc/squid/squid.conf

Bağlantı noktalarından sonra ACL'ler aşağıdaki satırları ekleyin:

auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/passwd
auth_param basic children 5
auth_param basic realm Squid Basic Authentication
auth_param basic credentialsttl 2 hours
acl auth_users proxy_auth REQUIRED
http_access allow auth_users

Yeni değişikliklerin etkili olabilmesi için dosyayı kaydedin ve squid'i yeniden başlatın:

sudo systemctl restart squid

Squid Proxy'de Web Sitelerini Engelle

İstenmeyen web sitelerine erişimi engellemek için öncelikle kara listeye alınan siteleri burada saklayacak “blacklisted_sites.acl” adlı bir dosya oluşturun.

sudo touch /etc/squid/blacklisted_sites.acl

Şimdi örneğin erişimi engellemek istediğiniz web sitelerini ekleyin.

.badsite1.com
.badsite2.com

Devam eden nokta, squid'e www.badsite1, subsite.badsite1.com vb. dahil olmak üzere söz konusu sitelere yapılan tüm referansları engellemesi yönünde bilgi verir.

Şimdi Squid’in konfigürasyon dosyasını açın.

sudo vim /etc/squid/squid.conf

Yukarıdaki ACL'lerden hemen sonra aşağıdaki iki satırı ekleyin:

acl bad_urls dstdomain "/etc/squid/blacklisted_sites.acl"
http_access deny bad_urls

Şimdi dosyayı kaydedin ve squid'i yeniden başlatın:

sudo systemctl restart squid

Squid ile Belirli Anahtar Kelimeyi Engelleyin

Bir anahtar kelime listesini engellemek için öncelikle kara listeye alınan anahtar kelimeleri içinde saklayacak “blockkeywords.lst” adlı bir dosya oluşturun.

sudo touch /etc/squid/blockkeywords.lst

Şimdi örneğin erişimi engellemek istediğiniz anahtar kelimeleri ekleyin.

facebook
instagram
gmail

Şimdi Squid’in konfigürasyon dosyasını açın ve aşağıdaki kuralı ekleyin.

acl blockkeywordlist url_regex "/etc/squid/blockkeywords.lst"
http_access deny blockkeywordlist

Şimdi dosyayı kaydedin ve squid'i yeniden başlatın:

sudo systemctl restart squid

Her şey doğru bir şekilde yapılandırıldıktan sonra, artık yerel istemci web tarayıcınızı veya işletim sisteminizin ağ ayarlarını, yeni yapılandırılmış squid HTTP proxy'nizi kullanacak şekilde yapılandırabilirsiniz.

İstemciyi Squid Proxy'yi Kullanacak Şekilde Yapılandırma

Artık proxy sunucunuzun çalışıp çalışmadığını test etmek için Firefox'u açabilir ve Düzenle –> Tercihler –> Gelişmiş –> Ağ –> Ayarlar'a gidebilir ve “< Strong>Manuel Proxy Yapılandırması” kısmına tıklayın ve aşağıdaki gibi tüm bağlantılarda kullanılacak proxy sunucunuzun IP adresini ve Portunu girin.

Gerekli tüm proxy ayrıntılarını doldurduğunuzda, Squid proxy sunucunuzu kullanarak Web'de gezinebileceksiniz, aynı şeyi istediğiniz başka bir tarayıcı veya programda da yapabilirsiniz.

Proxy sunucunuzu kullanarak internette gezindiğinizden emin olmak için http://www.ipaddresslocation.org/ adresini ziyaret edebilirsiniz, sağ üst köşede sunucunuzla aynı IP adresini görmelisiniz. IP adresi.

Daha fazla ek yapılandırma ayarı için resmi kalamar belgelerine göz atabilirsiniz. Sorularınız veya yorumlarınız varsa lütfen aşağıdaki yorum bölümüne ekleyin.