{"id":32322,"date":"2025-10-20T11:41:21","date_gmt":"2025-10-20T08:41:21","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=32322"},"modified":"2025-10-20T11:41:21","modified_gmt":"2025-10-20T08:41:21","slug":"debian-11-uzerinde-ozel-baglantilar-icin-squid-proxy-kurulumu","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/debian-11-uzerinde-ozel-baglantilar-icin-squid-proxy-kurulumu\/","title":{"rendered":"Debian 11 \u00dczerinde \u00d6zel Ba\u011flant\u0131lar \u0130\u00e7in Squid Proxy Kurulumu"},"content":{"rendered":"<h2>Debian 11 \u00dczerinde \u00d6zel Ba\u011flant\u0131lar \u0130\u00e7in Squid Proxy Kurulumu<\/h2>\n<p><body><\/p>\n<h2>Giri\u015f: Squid Proxy Nedir ve Neden Kullan\u0131l\u0131r?<\/h2>\n<p>Squid, Linux ve Unix benzeri i\u015fletim sistemlerinde yayg\u0131n olarak kullan\u0131lan, y\u00fcksek performansl\u0131 bir \u00f6nbellekleme proxy sunucusudur. Temel olarak, istemcilerden gelen internet isteklerini yakalar, bu istekleri i\u015fler ve ard\u0131ndan hedef sunucuya iletir. Gelen yan\u0131tlar\u0131 \u00f6nbelle\u011finde saklayarak, ayn\u0131 iste\u011fin tekrar yap\u0131lmas\u0131 durumunda yan\u0131t\u0131 do\u011frudan \u00f6nbellekten sunar. Bu mekanizma, bant geni\u015fli\u011fi kullan\u0131m\u0131n\u0131 azalt\u0131r, yan\u0131t s\u00fcrelerini h\u0131zland\u0131r\u0131r ve genel a\u011f performans\u0131n\u0131 art\u0131r\u0131r. Ancak Squid&#8217;in yetenekleri sadece \u00f6nbellekleme ile s\u0131n\u0131rl\u0131 de\u011fildir; eri\u015fim kontrol\u00fc, anonimlik sa\u011flama ve \u00f6zel ba\u011flant\u0131lar kurma gibi bir\u00e7ok alanda da kritik roller \u00fcstlenir.<\/p>\n<h3>Proxy Sunucular\u0131na Genel Bak\u0131\u015f<\/h3>\n<p>Proxy sunucular\u0131, istemci ile hedef sunucu aras\u0131nda bir arac\u0131 g\u00f6revi g\u00f6r\u00fcr. Bu arac\u0131l\u0131k, \u00e7e\u015fitli ama\u00e7lar i\u00e7in kullan\u0131labilir:<br \/>\n*   <strong>\u00d6nbellekleme:<\/strong> S\u0131k eri\u015filen web i\u00e7eri\u011fini depolayarak tekrar isteklerde daha h\u0131zl\u0131 yan\u0131t verir.<br \/>\n*   <strong>G\u00fcvenlik:<\/strong> K\u00f6t\u00fc niyetli sitelere eri\u015fimi engelleyebilir, a\u011f trafi\u011fini denetleyebilir.<br \/>\n*   <strong>Anonimlik:<\/strong> \u0130stemcinin ger\u00e7ek IP adresini gizleyerek internette daha anonim gezinme imkan\u0131 sunar.<br \/>\n*   <strong>Eri\u015fim Kontrol\u00fc:<\/strong> Belirli web sitelerine veya servislere eri\u015fimi k\u0131s\u0131tlayabilir veya belirli kullan\u0131c\u0131lar\u0131n eri\u015fimini sa\u011flayabilir.<br \/>\n*   <strong>\u0130\u00e7erik Filtreleme:<\/strong> Zararl\u0131 veya istenmeyen i\u00e7eri\u011fi engelleyebilir.<\/p>\n<h3>Squid Proxy&#8217;nin Avantajlar\u0131<\/h3>\n<p>Squid, a\u00e7\u0131k kaynak kodlu olmas\u0131, geni\u015f yap\u0131land\u0131rma se\u00e7enekleri sunmas\u0131 ve kararl\u0131 yap\u0131s\u0131yla \u00f6ne \u00e7\u0131kar. \u00d6zellikle b\u00fcy\u00fck a\u011flarda veya \u00f6zel ba\u011flant\u0131 gerektiren senaryolarda tercih edilmesinin ba\u015fl\u0131ca nedenleri \u015funlard\u0131r:<br \/>\n*   <strong>Esneklik:<\/strong> Geli\u015fmi\u015f Eri\u015fim Kontrol Listeleri (ACL) sayesinde \u00e7ok detayl\u0131 trafik y\u00f6netimi yap\u0131labilir.<br \/>\n*   <strong>Performans:<\/strong> Etkili \u00f6nbellekleme algoritmalar\u0131 sayesinde a\u011f trafi\u011fini optimize eder.<br \/>\n*   <strong>G\u00fcvenlik:<\/strong> Kimlik do\u011frulama mekanizmalar\u0131 ve IP tabanl\u0131 k\u0131s\u0131tlamalar ile yetkisiz eri\u015fimi engeller.<br \/>\n*   <strong>Anonimlik:<\/strong> \u0130stemcinin ger\u00e7ek IP adresini gizleyerek veya de\u011fi\u015ftirerek gizlilik sa\u011flar.<\/p>\n<h3>\u00d6zel Ba\u011flant\u0131lar \u0130\u00e7in Squid Kullan\u0131m\u0131<\/h3>\n<p>&#8220;\u00d6zel ba\u011flant\u0131lar&#8221; terimi, genellikle belirli kullan\u0131c\u0131lar veya IP adresleri taraf\u0131ndan eri\u015filebilen, k\u0131s\u0131tl\u0131 ve g\u00fcvenli ba\u011flant\u0131lar\u0131 ifade eder. Bu senaryoda Squid, a\u015fa\u011f\u0131daki \u015fekillerde kullan\u0131labilir:<br \/>\n*   <strong>Uzaktan Eri\u015fim:<\/strong> Bir \u015firket a\u011f\u0131na veya ev a\u011f\u0131na d\u0131\u015far\u0131dan g\u00fcvenli bir \u015fekilde eri\u015fmek isteyen kullan\u0131c\u0131lar i\u00e7in bir ge\u00e7it g\u00f6revi g\u00f6rebilir. Sadece belirli IP adreslerinden veya kimlik do\u011frulamas\u0131 yap\u0131lm\u0131\u015f kullan\u0131c\u0131lardan gelen ba\u011flant\u0131lara izin verilerek a\u011f kaynaklar\u0131n\u0131n g\u00fcvenli\u011fi sa\u011flan\u0131r.<br \/>\n*   <strong>Anonim Gezinme:<\/strong> Kullan\u0131c\u0131n\u0131n internet \u00fczerindeki ayak izini azaltmak i\u00e7in IP adresini gizleyebilir.<br \/>\n*   <strong>Trafik Kontrol\u00fc:<\/strong> Belirli bir IP aral\u0131\u011f\u0131ndan gelen trafi\u011fi belirli portlara veya hedeflere y\u00f6nlendirmek, kurumsal politikalar\u0131 uygulamak i\u00e7in kullan\u0131labilir.<br \/>\n*   <strong>Geli\u015ftirme ve Test Ortamlar\u0131:<\/strong> Geli\u015ftiricilerin belirli bir IP \u00fczerinden veya \u00f6zel kimlik bilgileriyle test sunucular\u0131na eri\u015fimini sa\u011flamak.<\/p>\n<p>Bu makalede, Debian 11 \u00fczerinde Squid proxy sunucusunu nas\u0131l kuraca\u011f\u0131n\u0131z\u0131 ve \u00f6zel ba\u011flant\u0131lar i\u00e7in nas\u0131l yap\u0131land\u0131raca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m ele alaca\u011f\u0131z. \u00d6zellikle kimlik do\u011frulama ve IP tabanl\u0131 eri\u015fim kontrol\u00fc mekanizmalar\u0131na odaklanaca\u011f\u0131z.<\/p>\n<h2>\u00d6n Gereksinimler ve Sistem Haz\u0131rl\u0131\u011f\u0131<\/h2>\n<p>Squid kurulumuna ba\u015flamadan \u00f6nce, sisteminizin belirli gereksinimleri kar\u015f\u0131lad\u0131\u011f\u0131ndan ve gerekli haz\u0131rl\u0131klar\u0131n yap\u0131ld\u0131\u011f\u0131ndan emin olmal\u0131s\u0131n\u0131z.<\/p>\n<h3>Debian 11 Kurulumu<\/h3>\n<p>Bu rehber, temiz bir Debian 11 (Bullseye) kurulumu \u00fczerinde \u00e7al\u0131\u015faca\u011f\u0131n\u0131z\u0131 varsayar. E\u011fer hen\u00fcz bir Debian 11 sunucunuz yoksa, sanal bir makineye (VirtualBox, VMware, KVM) veya bulut sa\u011flay\u0131c\u0131n\u0131za (AWS, Google Cloud, Azure, DigitalOcean, Vultr) Debian 11 kurman\u0131z gerekecektir. Kurulum s\u0131ras\u0131nda SSH eri\u015fimini etkinle\u015ftirdi\u011finizden ve bir <code>sudo<\/code> kullan\u0131c\u0131s\u0131 olu\u015fturdu\u011funuzdan emin olun.<\/p>\n<h3>Sistem G\u00fcncelleme ve Temel Ara\u00e7lar<\/h3>\n<p>Kuruluma ba\u015flamadan \u00f6nce, sisteminizin g\u00fcncel oldu\u011fundan ve gerekli temel paketlerin y\u00fckl\u00fc oldu\u011fundan emin olmak \u00f6nemlidir. Bu, olas\u0131 g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 kapat\u0131r ve paket ba\u011f\u0131ml\u0131l\u0131k sorunlar\u0131n\u0131 \u00f6nler.<\/p>\n<pre><code class=\"language-bash\">sudo apt update\nsudo apt upgrade -y\nsudo apt install -y build-essential apache2-utils<\/code><\/pre>\n<p>*   <code>sudo apt update<\/code>: Paket listelerini g\u00fcnceller.<br \/>\n*   <code>sudo apt upgrade -y<\/code>: Y\u00fckl\u00fc t\u00fcm paketleri en son s\u00fcr\u00fcmlerine y\u00fckseltir. <code>-y<\/code> bayra\u011f\u0131, t\u00fcm sorulara otomatik olarak &#8220;evet&#8221; yan\u0131t\u0131 verir.<br \/>\n*   <code>sudo apt install -y build-essential apache2-utils<\/code>: <code>build-essential<\/code> genellikle derleme ara\u00e7lar\u0131n\u0131 i\u00e7erir ve baz\u0131 yard\u0131mc\u0131 programlar i\u00e7in gerekebilir. <code>apache2-utils<\/code> paketi ise, kullan\u0131c\u0131 kimlik do\u011frulamas\u0131 i\u00e7in <code>htpasswd<\/code> arac\u0131n\u0131 i\u00e7erir ki bu, \u00f6zel ba\u011flant\u0131lar i\u00e7in kimlik do\u011frulama ayarlarken bize laz\u0131m olacak.<\/p>\n<h3>G\u00fcvenlik Duvar\u0131 Yap\u0131land\u0131rmas\u0131 (UFW)<\/h3>\n<p>G\u00fcvenlik, \u00f6zel ba\u011flant\u0131lar i\u00e7in kritik \u00f6neme sahiptir. Varsay\u0131lan olarak, bir sunucunun t\u00fcm portlar\u0131 d\u0131\u015far\u0131ya a\u00e7\u0131k olabilir. UFW (Uncomplicated Firewall), Linux \u00fczerinde g\u00fcvenlik duvar\u0131 kurallar\u0131n\u0131 y\u00f6netmeyi basitle\u015ftiren kullan\u0131c\u0131 dostu bir ara\u00e7t\u0131r. Squid proxy&#8217;nin \u00e7al\u0131\u015faca\u011f\u0131 portu a\u00e7mak ve di\u011fer t\u00fcm gereksiz portlar\u0131 kapatmak \u00f6nemlidir.<\/p>\n<p>E\u011fer UFW y\u00fckl\u00fc de\u011filse:<\/p>\n<pre><code class=\"language-bash\">sudo apt install ufw -y<\/code><\/pre>\n<p>UFW&#8217;yi yap\u0131land\u0131rmak i\u00e7in:<br \/>\n1.  <strong>Varsay\u0131lan kurallar\u0131 ayarlay\u0131n:<\/strong> Gelen ba\u011flant\u0131lar\u0131 reddedin, giden ba\u011flant\u0131lara izin verin.<\/p>\n<pre><code class=\"language-bash\">sudo ufw default deny incoming\n    sudo ufw default allow outgoing<\/code><\/pre>\n<p>2.  <strong>SSH ba\u011flant\u0131s\u0131na izin verin:<\/strong> Kendi sunucunuzla ba\u011flant\u0131n\u0131z\u0131n kesilmemesi i\u00e7in SSH (port 22) ba\u011flant\u0131s\u0131na izin vermelisiniz.<\/p>\n<pre><code class=\"language-bash\">sudo ufw allow ssh<\/code><\/pre>\n<p>3.  <strong>Squid proxy portuna izin verin:<\/strong> Squid varsay\u0131lan olarak 3128 numaral\u0131 portu kullan\u0131r. E\u011fer farkl\u0131 bir port kullanacaksan\u0131z, o portu a\u00e7mal\u0131s\u0131n\u0131z.<\/p>\n<pre><code class=\"language-bash\">sudo ufw allow 3128\/tcp<\/code><\/pre>\n<p>4.  <strong>UFW&#8217;yi etkinle\u015ftirin:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo ufw enable<\/code><\/pre>\n<p>    Bu komutu \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131n\u0131zda, UFW&#8217;nin etkinle\u015ftirilece\u011fine dair bir uyar\u0131 alacaks\u0131n\u0131z. <code>y<\/code> tu\u015funa basarak onaylay\u0131n.<br \/>\n5.  <strong>UFW durumunu kontrol edin:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo ufw status verbose<\/code><\/pre>\n<p>    \u00c7\u0131kt\u0131da, SSH ve 3128 portlar\u0131n\u0131n izin verilenler listesinde oldu\u011funu g\u00f6rmelisiniz.<\/p>\n<p>Bu ad\u0131mlarla sisteminiz Squid kurulumu ve \u00f6zel ba\u011flant\u0131lar i\u00e7in temel g\u00fcvenlik \u00f6nlemleri a\u00e7\u0131s\u0131ndan haz\u0131r hale gelmi\u015f olacakt\u0131r.<\/p>\n<h2>Squid Proxy Kurulumu<\/h2>\n<p>Sistem haz\u0131rl\u0131klar\u0131 tamamland\u0131ktan sonra, Squid proxy sunucusunu Debian 11&#8217;e kurma i\u015flemine ge\u00e7ebiliriz.<\/p>\n<h3>Squid Paketini Y\u00fckleme<\/h3>\n<p>Squid paketi Debian&#8217;\u0131n varsay\u0131lan depolar\u0131nda bulunur, bu y\u00fczden kurulum olduk\u00e7a basittir.<\/p>\n<pre><code class=\"language-bash\">sudo apt install squid -y<\/code><\/pre>\n<p>Bu komut, Squid proxy sunucusunu ve gerekli t\u00fcm ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 sisteminize y\u00fckleyecektir. Kurulum tamamland\u0131\u011f\u0131nda, Squid servisi otomatik olarak ba\u015flat\u0131l\u0131r ve sistem ba\u015flang\u0131c\u0131nda a\u00e7\u0131lacak \u015fekilde ayarlan\u0131r.<\/p>\n<h3>Squid Servisini Kontrol Etme<\/h3>\n<p>Kurulumdan sonra, Squid servisinin d\u00fczg\u00fcn bir \u015fekilde \u00e7al\u0131\u015f\u0131p \u00e7al\u0131\u015fmad\u0131\u011f\u0131n\u0131 kontrol etmek \u00f6nemlidir.<\/p>\n<pre><code class=\"language-bash\">sudo systemctl status squid<\/code><\/pre>\n<p>Bu komutun \u00e7\u0131kt\u0131s\u0131nda, <code>Active: active (running)<\/code> ifadesini g\u00f6rmelisiniz. Bu, Squid servisinin ba\u015far\u0131yla \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 g\u00f6sterir.<\/p>\n<p>Di\u011fer yararl\u0131 <code>systemctl<\/code> komutlar\u0131:<br \/>\n*   Squid servisini yeniden ba\u015flatmak i\u00e7in: <code>sudo systemctl restart squid<\/code><br \/>\n*   Squid servisini durdurmak i\u00e7in: <code>sudo systemctl stop squid<\/code><br \/>\n*   Squid servisini ba\u015flatmak i\u00e7in: <code>sudo systemctl start squid<\/code><br \/>\n*   Squid servisini sistem ba\u015flang\u0131c\u0131nda otomatik ba\u015flamas\u0131n\u0131 engellemek i\u00e7in: <code>sudo systemctl disable squid<\/code><br \/>\n*   Squid servisini sistem ba\u015flang\u0131c\u0131nda otomatik ba\u015flamas\u0131n\u0131 sa\u011flamak i\u00e7in: <code>sudo systemctl enable squid<\/code><\/p>\n<h2>Squid Yap\u0131land\u0131rmas\u0131: Temel Ayarlar<\/h2>\n<p>Squid&#8217;in g\u00fcc\u00fc, kapsaml\u0131 yap\u0131land\u0131rma dosyas\u0131nda yatar. T\u00fcm ayarlar <code>\/etc\/squid\/squid.conf<\/code> dosyas\u0131nda yap\u0131l\u0131r. Bu dosya, varsay\u0131lan olarak bir\u00e7ok a\u00e7\u0131klama ve \u00f6rnek kural i\u00e7erir. \u00d6zel ba\u011flant\u0131lar i\u00e7in, bu dosyan\u0131n baz\u0131 b\u00f6l\u00fcmlerini dikkatlice d\u00fczenlememiz gerekecek.<\/p>\n<h3><code>squid.conf<\/code> Dosyas\u0131na Genel Bak\u0131\u015f<\/h3>\n<p><code>squid.conf<\/code> dosyas\u0131 olduk\u00e7a b\u00fcy\u00fckt\u00fcr ve y\u00fczlerce yap\u0131land\u0131rma se\u00e7ene\u011fi bar\u0131nd\u0131r\u0131r. Dosyay\u0131 d\u00fczenlerken dikkatli olmak ve her de\u011fi\u015fikli\u011fin ne anlama geldi\u011fini anlamak \u00f6nemlidir. Yorum sat\u0131rlar\u0131 (<code>#<\/code> ile ba\u015flayan sat\u0131rlar) genellikle a\u00e7\u0131klay\u0131c\u0131 bilgiler i\u00e7erir.<\/p>\n<h3>Varsay\u0131lan Yap\u0131land\u0131rma Yedekleme<\/h3>\n<p>Herhangi bir de\u011fi\u015fiklik yapmadan \u00f6nce, orijinal yap\u0131land\u0131rma dosyas\u0131n\u0131n bir yede\u011fini almak her zaman iyi bir uygulamad\u0131r. Bu, yanl\u0131\u015f bir yap\u0131land\u0131rma durumunda kolayca geri d\u00f6nmenizi sa\u011flar.<\/p>\n<pre><code class=\"language-bash\">sudo cp \/etc\/squid\/squid.conf \/etc\/squid\/squid.conf.original<\/code><\/pre>\n<p>\u015eimdi <code>squid.conf<\/code> dosyas\u0131n\u0131 d\u00fczenlemek i\u00e7in favori metin d\u00fczenleyicinizi kullan\u0131n (\u00f6rne\u011fin, <code>nano<\/code> veya <code>vim<\/code>):<\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/squid\/squid.conf<\/code><\/pre>\n<h3>HTTP Port Ayar\u0131<\/h3>\n<p>Squid&#8217;in gelen HTTP isteklerini dinleyece\u011fi portu belirler. Varsay\u0131lan olarak 3128&#8217;dir. Bu ayar genellikle <code>http_port<\/code> y\u00f6nergesiyle yap\u0131l\u0131r.<br \/>\nDosyada \u015fu sat\u0131r\u0131 bulup kontrol edin:<\/p>\n<pre><code class=\"language-\">http_port 3128<\/code><\/pre>\n<p>E\u011fer farkl\u0131 bir port kullanmak isterseniz, bu de\u011feri de\u011fi\u015ftirebilirsiniz. Ancak g\u00fcvenlik duvar\u0131n\u0131zda (UFW) da ayn\u0131 portu a\u00e7t\u0131\u011f\u0131n\u0131zdan emin olun. Bu rehberde 3128 portunu kullanmaya devam edece\u011fiz.<\/p>\n<h3>Eri\u015fim Kontrol Listeleri (ACL) Olu\u015fturma<\/h3>\n<p>ACL&#8217;ler (Access Control Lists), Squid&#8217;in en g\u00fc\u00e7l\u00fc \u00f6zelliklerinden biridir. Hangi istemcilerin hangi kaynaklara eri\u015febilece\u011fini, hangi ko\u015fullar alt\u0131nda eri\u015febilece\u011fini belirlemek i\u00e7in kullan\u0131l\u0131rlar. <code>acl<\/code> y\u00f6nergesi, bir kural\u0131 tan\u0131mlar ve ard\u0131ndan <code>http_access<\/code> y\u00f6nergesi bu kurallar\u0131 uygular.<\/p>\n<p><code>squid.conf<\/code> dosyas\u0131nda <code>acl<\/code> tan\u0131mlamalar\u0131n\u0131 genellikle dosyan\u0131n ba\u015f\u0131nda, <code>http_access<\/code> kurallar\u0131ndan \u00f6nce bulabilirsiniz.<\/p>\n<h4>Kaynak IP Adresleri (src)<\/h4>\n<p>\u00d6zel ba\u011flant\u0131lar i\u00e7in en temel ACL, belirli IP adreslerinden gelen ba\u011flant\u0131lara izin vermektir. Diyelim ki, sadece kendi ev a\u011f\u0131n\u0131zdaki (\u00f6rne\u011fin 192.168.1.0\/24) veya belirli bir statik IP adresinden (\u00f6rne\u011fin 203.0.113.45) gelen ba\u011flant\u0131lara izin vermek istiyorsunuz.<\/p>\n<pre><code class=\"language-\"># Kendi yerel a\u011f\u0131n\u0131zdan gelen ba\u011flant\u0131lara izin verin\nacl localnet src 192.168.1.0\/24\n\n<h2>Belirli bir statik IP adresinden gelen ba\u011flant\u0131lara izin verin<\/h2>\nacl specific_user_ip src 203.0.113.45<\/code><\/pre>\n<p>Birden fazla IP adresi veya a\u011f aral\u0131\u011f\u0131 tan\u0131mlamak i\u00e7in her biri i\u00e7in ayr\u0131 bir <code>acl<\/code> sat\u0131r\u0131 olu\u015fturabilir veya bir dosyada listeleyip <code>src \"\/etc\/squid\/allowed_ips.txt\"<\/code> \u015feklinde belirtebilirsiniz.<\/p>\n<h4>Hedef Alan Adlar\u0131 (dstdomain)<\/h4>\n<p>E\u011fer proxy&#8217;nizin sadece belirli web sitelerine eri\u015fime izin vermesini veya engellemesini istiyorsan\u0131z, <code>dstdomain<\/code> ACL&#8217;sini kullanabilirsiniz.<\/p>\n<pre><code class=\"language-\"># Sadece belirli web sitelerine eri\u015fime izin verin\nacl allowed_domains dstdomain .example.com .anothersite.org\n\n<h2>Belirli web sitelerine eri\u015fimi engelleyin<\/h2>\nacl blocked_domains dstdomain .badsite.com .phishing.net<\/code><\/pre>\n<p>Yine, bu listeleri bir dosyada tutmak daha y\u00f6netilebilir olabilir: <code>acl allowed_domains dstdomain \"\/etc\/squid\/allowed_domains.txt\"<\/code>.<\/p>\n<h4>Portlar (port)<\/h4>\n<p>Squid&#8217;in hangi hedef portlara ba\u011flanmas\u0131na izin verilece\u011fini kontrol etmek i\u00e7in <code>port<\/code> ACL&#8217;sini kullanabilirsiniz. Genellikle web trafi\u011fi i\u00e7in 80 (HTTP) ve 443 (HTTPS) portlar\u0131na izin verilir.<\/p>\n<pre><code class=\"language-\"># Sadece HTTP ve HTTPS portlar\u0131na izin verin\nacl Safe_ports port 80          # http\nacl Safe_ports port 443         # https\nacl Safe_ports port 21          # ftp\nacl Safe_ports port 70          # gopher\nacl Safe_ports port 210         # wais\nacl Safe_ports port 1025-65535  # unregistered ports\nacl SSL_ports port 443<\/code><\/pre>\n<p>Varsay\u0131lan <code>Safe_ports<\/code> ve <code>SSL_ports<\/code> ACL&#8217;leri zaten tan\u0131ml\u0131 olabilir. Bu kurallar\u0131 kendi ihtiya\u00e7lar\u0131n\u0131za g\u00f6re g\u00f6zden ge\u00e7irin. \u00d6zellikle \u00f6zel ba\u011flant\u0131lar i\u00e7in sadece belirli portlara izin vermek isteyebilirsiniz.<\/p>\n<h3><code>http_access<\/code> Kurallar\u0131<\/h3>\n<p>ACL&#8217;leri tan\u0131mlad\u0131ktan sonra, bunlar\u0131 <code>http_access<\/code> y\u00f6nergeleriyle uygulamal\u0131s\u0131n\u0131z. <code>http_access<\/code> kurallar\u0131 yukar\u0131dan a\u015fa\u011f\u0131ya do\u011fru i\u015flenir ve e\u015fle\u015fen ilk kural uygulan\u0131r. Bu y\u00fczden kurallar\u0131n s\u0131ras\u0131 kritik \u00f6neme sahiptir.<\/p>\n<p>Varsay\u0131lan olarak <code>squid.conf<\/code> dosyas\u0131nda a\u015fa\u011f\u0131daki gibi kurallar bulabilirsiniz:<\/p>\n<pre><code class=\"language-\"># Example rule allowing access from your local networks.\n<h2>Adapt localnet to fit your needs to allow access from your<\/h2>\n<h2>local networks, or change it to \"all\" to allow access from<\/h2>\n<h2>everywhere.<\/h2>\n#acl localnet src 10.0.0.0\/8     # RFC1918 possible internal network\n#acl localnet src 172.16.0.0\/12  # RFC1918 possible internal network\n#acl localnet src 192.168.0.0\/16 # RFC1918 possible internal network\n#acl localnet src fc00::\/7       # RFC 4193 local private network range\n#acl localnet src fe80::\/10      # RFC 4291 link-local (directly plugged) networks\n\nhttp_access allow localhost manager\nhttp_access deny manager\nhttp_access allow localhost\n\n<h2>E\u011eER SADECE BEL\u0130RL\u0130 IP'LERE \u0130Z\u0130N VERECEKSEN\u0130Z, BU SATIRI KALDIRIN VEYA YORUM SATIRI YAPIN<\/h2>\n<h2>http_access allow localnet<\/h2>\n\nhttp_access deny all<\/code><\/pre>\n<p>Yukar\u0131daki <code>http_access deny all<\/code> sat\u0131r\u0131 \u00e7ok \u00f6nemlidir. Bu sat\u0131r, a\u00e7\u0131k\u00e7a izin verilmeyen t\u00fcm ba\u011flant\u0131lar\u0131 reddeder. Bu sat\u0131r\u0131n <em>\u00f6n\u00fcne<\/em> kendi <code>http_access allow<\/code> kurallar\u0131n\u0131z\u0131 eklemelisiniz.<\/p>\n<p>\u00d6zel ba\u011flant\u0131lar i\u00e7in \u00f6rnek <code>http_access<\/code> kurallar\u0131:<br \/>\nDaha \u00f6nce tan\u0131mlad\u0131\u011f\u0131m\u0131z <code>specific_user_ip<\/code> ACL&#8217;sini kullanarak sadece belirli bir IP&#8217;den gelen ba\u011flant\u0131lara izin verelim:<\/p>\n<pre><code class=\"language-\"># \u00d6nce kendi tan\u0131mlad\u0131\u011f\u0131n\u0131z ACL'lere izin verin\nhttp_access allow specific_user_ip\n\n<h2>Sadece g\u00fcvenli portlara izin verin<\/h2>\nhttp_access deny !Safe_ports\n\n<h2>SSL portlar\u0131 i\u00e7in SSL_ports ACL'sini kullan\u0131n<\/h2>\nhttp_access deny CONNECT !SSL_ports\n\n<h2>Varsay\u0131lan olarak izin verilen localhost ve manager kurallar\u0131<\/h2>\nhttp_access allow localhost manager\nhttp_access deny manager\nhttp_access allow localhost\n\n<h2>Yukar\u0131daki kurallarla e\u015fle\u015fmeyen her \u015feyi reddedin<\/h2>\nhttp_access deny all<\/code><\/pre>\n<p>Bu yap\u0131land\u0131rma, <code>specific_user_ip<\/code> ACL&#8217;sinde tan\u0131mlanan IP adresinden gelen ba\u011flant\u0131lara izin verirken, di\u011fer t\u00fcm ba\u011flant\u0131lar\u0131 reddedecektir. Bu, proxy&#8217;nizin sadece sizin belirledi\u011finiz \u00f6zel ba\u011flant\u0131lar i\u00e7in kullan\u0131lmas\u0131n\u0131 sa\u011flar.<\/p>\n<h3>G\u00fcvenlik \u0130pu\u00e7lar\u0131: Yaln\u0131zca Belirli IP&#8217;lere \u0130zin Verme<\/h3>\n<p>En g\u00fcvenli yakla\u015f\u0131m, yaln\u0131zca bilinen ve g\u00fcvenilen IP adreslerinden gelen ba\u011flant\u0131lara izin vermektir. Asla <code>http_access allow all<\/code> gibi genel bir kural\u0131 kullanmay\u0131n, \u00e7\u00fcnk\u00fc bu proxy&#8217;nizi herkese a\u00e7\u0131k hale getirir ve k\u00f6t\u00fcye kullan\u0131ma davetiye \u00e7\u0131kar\u0131r.<br \/>\nE\u011fer dinamik bir IP adresiniz varsa, dinamik DNS (DDNS) hizmeti kullanmay\u0131 d\u00fc\u015f\u00fcnebilir ve proxy yap\u0131land\u0131rman\u0131zda bu dinamik alan ad\u0131n\u0131 kullanabilirsiniz (ancak bu, IP tabanl\u0131 ACL&#8217;lerden daha karma\u015f\u0131k olabilir ve Squid&#8217;in alan adlar\u0131n\u0131 IP&#8217;ye \u00e7evirme s\u0131kl\u0131\u011f\u0131na ba\u011fl\u0131d\u0131r). Alternatif olarak, VPN kullanarak \u00f6nce VPN sunucusuna ba\u011flan\u0131p, ard\u0131ndan VPN t\u00fcneli \u00fczerinden Squid&#8217;e eri\u015febilirsiniz. Bu, en g\u00fcvenli y\u00f6ntemlerden biridir.<\/p>\n<p>Yap\u0131land\u0131rma dosyas\u0131n\u0131 kaydettikten sonra, Squid servisini yeniden ba\u015flatmay\u0131 unutmay\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl restart squid<\/code><\/pre>\n<p>Her yeniden ba\u015flatmadan sonra, <code>sudo systemctl status squid<\/code> komutuyla servisin durumunu kontrol edin ve herhangi bir hata olup olmad\u0131\u011f\u0131n\u0131 g\u00f6rmek i\u00e7in g\u00fcnl\u00fckleri (\u00f6rne\u011fin <code>\/var\/log\/squid\/cache.log<\/code>) inceleyin.<\/p>\n<h2>Kimlik Do\u011frulama Mekanizmalar\u0131 (\u00d6zel Ba\u011flant\u0131lar \u0130\u00e7in \u00d6nemli)<\/h2>\n<p>IP adresine dayal\u0131 eri\u015fim kontrol\u00fc iyi bir ba\u015flang\u0131\u00e7 olsa da, daha y\u00fcksek g\u00fcvenlik seviyeleri i\u00e7in kimlik do\u011frulama mekanizmalar\u0131 kullanmak \u00f6nemlidir. Bu, proxy&#8217;nize eri\u015fmek isteyen her kullan\u0131c\u0131n\u0131n bir kullan\u0131c\u0131 ad\u0131 ve parola sa\u011flamas\u0131n\u0131 gerektirir.<\/p>\n<h3>Temel Kimlik Do\u011frulama (Basic Authentication)<\/h3>\n<p>Squid, HTTP Temel Kimlik Do\u011frulamay\u0131 (Basic Authentication) destekler. Bu, kullan\u0131c\u0131 ad\u0131 ve parolan\u0131n base64 ile kodlanm\u0131\u015f bir \u015fekilde HTTP ba\u015fl\u0131\u011f\u0131nda g\u00f6nderildi\u011fi basit bir y\u00f6ntemdir. G\u00fcvenli olmasa da (parolalar kolayca \u00e7\u00f6z\u00fclebilir), bir SSL\/TLS t\u00fcneli (HTTPS) \u00fczerinden kullan\u0131ld\u0131\u011f\u0131nda kabul edilebilir bir g\u00fcvenlik seviyesi sunar.<\/p>\n<h4><code>htpasswd<\/code> ile Kullan\u0131c\u0131 Olu\u015fturma<\/h4>\n<p><code>apache2-utils<\/code> paketi ile gelen <code>htpasswd<\/code> arac\u0131, temel kimlik do\u011frulama i\u00e7in parola dosyalar\u0131 olu\u015fturmak ve y\u00f6netmek i\u00e7in kullan\u0131l\u0131r.<\/p>\n<p>1.  <strong>Parola dosyas\u0131n\u0131n olu\u015fturulaca\u011f\u0131 dizini belirleyin:<\/strong> Genellikle <code>\/etc\/squid\/<\/code> dizininde veya <code>\/etc\/squid\/auth\/<\/code> gibi bir alt dizinde tutulur. Bu dizinin sadece <code>squid<\/code> kullan\u0131c\u0131s\u0131 taraf\u0131ndan okunabilir oldu\u011fundan emin olun.<\/p>\n<pre><code class=\"language-bash\">sudo mkdir -p \/etc\/squid\/auth\n    sudo chown -R proxy:proxy \/etc\/squid\/auth\n    sudo chmod -R 700 \/etc\/squid\/auth<\/code><\/pre>\n<p>2.  <strong>\u0130lk kullan\u0131c\u0131y\u0131 olu\u015fturun:<\/strong> <code>htpasswd -c<\/code> komutu, yeni bir dosya olu\u015fturur (<code>-c<\/code> create anlam\u0131na gelir).<\/p>\n<pre><code class=\"language-bash\">sudo htpasswd -c \/etc\/squid\/auth\/passwd squiduser1<\/code><\/pre>\n<p>    Bu komutu \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131n\u0131zda, <code>squiduser1<\/code> i\u00e7in bir parola girmeniz istenecektir. Parolay\u0131 iki kez girin.<br \/>\n3.  <strong>Daha fazla kullan\u0131c\u0131 ekleyin:<\/strong> Mevcut dosyaya yeni kullan\u0131c\u0131lar eklemek i\u00e7in <code>-c<\/code> bayra\u011f\u0131n\u0131 kullanmay\u0131n. Sadece <code>htpasswd<\/code> komutunu kullan\u0131n.<\/p>\n<pre><code class=\"language-bash\">sudo htpasswd \/etc\/squid\/auth\/passwd squiduser2<\/code><\/pre>\n<p>    Bu, <code>squiduser2<\/code> kullan\u0131c\u0131s\u0131n\u0131 <code>passwd<\/code> dosyas\u0131na ekleyecektir.<br \/>\n4.  <strong>Dosya izinlerini kontrol edin:<\/strong> Parola dosyas\u0131n\u0131n sadece <code>squid<\/code> kullan\u0131c\u0131s\u0131 taraf\u0131ndan okunabilir oldu\u011fundan emin olun.<\/p>\n<pre><code class=\"language-bash\">sudo chown proxy:proxy \/etc\/squid\/auth\/passwd\n    sudo chmod 600 \/etc\/squid\/auth\/passwd<\/code><\/pre>\n<h4>Squid Yap\u0131land\u0131rmas\u0131 (auth_param, acl, http_access)<\/h4>\n<p>\u015eimdi Squid&#8217;i bu parola dosyas\u0131n\u0131 kullanarak kimlik do\u011frulamas\u0131 yapacak \u015fekilde yap\u0131land\u0131ral\u0131m. <code>squid.conf<\/code> dosyas\u0131n\u0131 tekrar a\u00e7\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/squid\/squid.conf<\/code><\/pre>\n<p>A\u015fa\u011f\u0131daki y\u00f6nergeleri dosyan\u0131n uygun bir yerine ekleyin (genellikle <code>auth_param<\/code> y\u00f6nergeleri dosyan\u0131n ba\u015flar\u0131nda bulunur, ACL&#8217;lerden \u00f6nce):<\/p>\n<pre><code class=\"language-\"># Temel kimlik do\u011frulama i\u00e7in yard\u0131mc\u0131 program\u0131 ve parola dosyas\u0131n\u0131 tan\u0131mlay\u0131n\nauth_param basic program \/usr\/lib\/squid\/basic_ncsa_auth \/etc\/squid\/auth\/passwd\nauth_param basic children 5\nauth_param basic realm Squid Proxy Authentication\nauth_param basic credentialsttl 2 hours\n\n<h2>Kimlik do\u011frulamas\u0131 yap\u0131lm\u0131\u015f kullan\u0131c\u0131lar i\u00e7in bir ACL olu\u015fturun<\/h2>\nacl authenticated_users proxy_auth REQUIRED\n\n<h2>\u015eimdi http_access kurallar\u0131n\u0131 d\u00fczenleyelim<\/h2>\n<h2>\u00d6nce kimlik do\u011frulamas\u0131 yap\u0131lm\u0131\u015f kullan\u0131c\u0131lara izin verin<\/h2>\nhttp_access allow authenticated_users\n\n<h2>Daha \u00f6nce tan\u0131mlad\u0131\u011f\u0131n\u0131z di\u011fer ACL'ler (\u00f6rne\u011fin IP tabanl\u0131 ACL'ler)<\/h2>\n<h2>E\u011fer hem IP hem de kimlik do\u011frulamas\u0131 kullanacaksan\u0131z, s\u0131raya dikkat edin.<\/h2>\n<h2>\u00d6rne\u011fin, \u00f6nce belirli bir IP'den gelip kimlik do\u011frulamas\u0131 yapanlara izin vermek i\u00e7in:<\/h2>\n<h2>acl specific_ip_and_auth src 203.0.113.45<\/h2>\n<h2>http_access allow specific_ip_and_auth authenticated_users<\/h2>\n\n<h2>G\u00fcvenli portlara izin ver<\/h2>\nhttp_access deny !Safe_ports\n\n<h2>SSL portlar\u0131na izin ver<\/h2>\nhttp_access deny CONNECT !SSL_ports\n\n<h2>Varsay\u0131lan localhost ve manager kurallar\u0131<\/h2>\nhttp_access allow localhost manager\nhttp_access deny manager\nhttp_access allow localhost\n\n<h2>Yukar\u0131daki kurallarla e\u015fle\u015fmeyen her \u015feyi reddet<\/h2>\nhttp_access deny all<\/code><\/pre>\n<p><strong>A\u00e7\u0131klamalar:<\/strong><br \/>\n*   <code>auth_param basic program \/usr\/lib\/squid\/basic_ncsa_auth \/etc\/squid\/auth\/passwd<\/code>: Squid&#8217;e temel kimlik do\u011frulama i\u00e7in <code>basic_ncsa_auth<\/code> yard\u0131mc\u0131 program\u0131n\u0131 kullanmas\u0131n\u0131 ve kullan\u0131c\u0131 bilgilerini <code>\/etc\/squid\/auth\/passwd<\/code> dosyas\u0131ndan almas\u0131n\u0131 s\u00f6yler.<br \/>\n*   <code>auth_param basic children 5<\/code>: Kimlik do\u011frulama isteklerini i\u015flemek i\u00e7in ayn\u0131 anda ka\u00e7 tane kimlik do\u011frulama yard\u0131mc\u0131 program\u0131 \u00e7al\u0131\u015ft\u0131r\u0131laca\u011f\u0131n\u0131 belirler. Trafi\u011fe g\u00f6re ayarlanabilir.<br \/>\n*   <code>auth_param basic realm Squid Proxy Authentication<\/code>: Kullan\u0131c\u0131lara g\u00f6sterilecek kimlik do\u011frulama penceresinin ba\u015fl\u0131\u011f\u0131n\u0131 belirler.<br \/>\n*   <code>auth_param basic credentialsttl 2 hours<\/code>: Kimlik bilgilerinin ne kadar s\u00fcreyle ge\u00e7erli kalaca\u011f\u0131n\u0131 belirler. Bu s\u00fcre dolduktan sonra kullan\u0131c\u0131dan tekrar kimlik do\u011frulamas\u0131 istenir.<br \/>\n*   <code>acl authenticated_users proxy_auth REQUIRED<\/code>: Ba\u015far\u0131yla kimlik do\u011frulamas\u0131 yapm\u0131\u015f t\u00fcm kullan\u0131c\u0131lar\u0131 i\u00e7eren bir ACL tan\u0131mlar.<br \/>\n*   <code>http_access allow authenticated_users<\/code>: Bu kural, <code>authenticated_users<\/code> ACL&#8217;sine dahil olan (yani kimlik do\u011frulamas\u0131 yapm\u0131\u015f) t\u00fcm kullan\u0131c\u0131lara proxy&#8217;ye eri\u015fim izni verir. <strong>Bu kural\u0131, <code>http_access deny all<\/code> kural\u0131ndan \u00f6nce yerle\u015ftirmek \u00e7ok \u00f6nemlidir.<\/strong><\/p>\n<p>Yap\u0131land\u0131rmay\u0131 kaydettikten sonra Squid servisini yeniden ba\u015flat\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl restart squid<\/code><\/pre>\n<h3>IP Adresine G\u00f6re Kimlik Do\u011frulama<\/h3>\n<p>Daha \u00f6nce bahsetti\u011fimiz <code>acl specific_user_ip src 203.0.113.45<\/code> gibi kurallar, IP adresine g\u00f6re kimlik do\u011frulaman\u0131n bir bi\u00e7imidir. E\u011fer hem IP k\u0131s\u0131tlamas\u0131 hem de kullan\u0131c\u0131 ad\u0131\/parola kimlik do\u011frulamas\u0131 kullanmak isterseniz, <code>http_access<\/code> kurallar\u0131n\u0131z\u0131 a\u015fa\u011f\u0131daki gibi birle\u015ftirebilirsiniz:<\/p>\n<pre><code class=\"language-\">acl specific_user_ip src 203.0.113.45\nacl authenticated_users proxy_auth REQUIRED\n\n<h2>Sadece belirli bir IP'den gelip kimlik do\u011frulamas\u0131 yapanlara izin ver<\/h2>\nhttp_access allow specific_user_ip authenticated_users\n\n<h2>Di\u011fer t\u00fcm kurallar...<\/h2>\nhttp_access deny !Safe_ports\nhttp_access deny CONNECT !SSL_ports\nhttp_access allow localhost manager\nhttp_access deny manager\nhttp_access allow localhost\nhttp_access deny all<\/code><\/pre>\n<p>Bu kural, hem kullan\u0131c\u0131n\u0131n IP adresinin <code>specific_user_ip<\/code> ACL&#8217;sine uymas\u0131n\u0131 hem de <code>authenticated_users<\/code> ACL&#8217;sine dahil olmas\u0131n\u0131 (yani do\u011fru kullan\u0131c\u0131 ad\u0131 ve parola sa\u011flamas\u0131n\u0131) gerektirir. Bu, \u00f6zel ba\u011flant\u0131lar\u0131n\u0131z i\u00e7in olduk\u00e7a g\u00fc\u00e7l\u00fc bir g\u00fcvenlik katman\u0131 sa\u011flar.<\/p>\n<h3>Geli\u015fmi\u015f Kimlik Do\u011frulama Y\u00f6ntemlerine K\u0131sa Bak\u0131\u015f<\/h3>\n<p>Squid, Temel Kimlik Do\u011frulaman\u0131n yan\u0131 s\u0131ra NTLM, Kerberos gibi daha geli\u015fmi\u015f kimlik do\u011frulama y\u00f6ntemlerini de destekler. Bu y\u00f6ntemler, genellikle kurumsal ortamlarda Active Directory entegrasyonu i\u00e7in kullan\u0131l\u0131r ve kurulumlar\u0131 Temel Kimlik Do\u011frulamaya g\u00f6re daha karma\u015f\u0131kt\u0131r. \u00d6zel ve bireysel ba\u011flant\u0131lar i\u00e7in Temel Kimlik Do\u011frulama genellikle yeterlidir, \u00f6zellikle trafik bir VPN veya SSH t\u00fcneli \u00fczerinden \u015fifrelendi\u011finde.<\/p>\n<h2>Squid Proxy&#8217;yi \u015eeffaf Proxy Olarak Kullanma (\u0130ste\u011fe Ba\u011fl\u0131, ancak \u00f6zel ba\u011flant\u0131lar i\u00e7in faydal\u0131 olabilir)<\/h2>\n<p>Normalde, bir proxy kullanmak i\u00e7in taray\u0131c\u0131 veya uygulama ayarlar\u0131nda proxy sunucusunun IP adresi ve portu manuel olarak yap\u0131land\u0131r\u0131l\u0131r. \u015eeffaf proxy (transparent proxy) ise istemcilerin proxy ayar\u0131 yapmas\u0131na gerek kalmadan t\u00fcm trafi\u011fi otomatik olarak proxy \u00fczerinden y\u00f6nlendirir. Bu, \u00f6zellikle bir a\u011f ge\u00e7idi (gateway) olarak \u00e7al\u0131\u015fan sunucular i\u00e7in kullan\u0131\u015fl\u0131d\u0131r.<\/p>\n<h3>\u015eeffaf Proxy Nedir?<\/h3>\n<p>\u015eeffaf bir proxy, a\u011f trafi\u011fini yakalar ve istemci uygulamalar\u0131n\u0131n proxy kulland\u0131\u011f\u0131ndan haberdar olmadan proxy \u00fczerinden ge\u00e7irir. Bu, <code>iptables<\/code> kurallar\u0131 kullan\u0131larak belirli portlara gelen trafi\u011fin Squid&#8217;in dinledi\u011fi porta y\u00f6nlendirilmesiyle sa\u011flan\u0131r.<\/p>\n<h3>\u00c7ekirdek Mod\u00fcl\u00fc Y\u00fckleme<\/h3>\n<p>\u015eeffaf proxy i\u00e7in, Linux \u00e7ekirde\u011finin <code>netfilter<\/code> mod\u00fcllerine ihtiyac\u0131m\u0131z var. Genellikle Debian&#8217;da varsay\u0131lan olarak y\u00fckl\u00fcd\u00fcr, ancak emin olmak i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">sudo apt install iptables -y<\/code><\/pre>\n<h3><code>iptables<\/code> Kurallar\u0131<\/h3>\n<p><code>iptables<\/code> kurallar\u0131, a\u011f trafi\u011fini y\u00f6nlendirmek i\u00e7in kullan\u0131l\u0131r. A\u015fa\u011f\u0131daki kurallar, HTTP (port 80) ve HTTPS (port 443) trafi\u011fini Squid&#8217;in dinledi\u011fi 3128 numaral\u0131 porta y\u00f6nlendirecektir. Bu kurallar\u0131 proxy sunucunuzda \u00e7al\u0131\u015ft\u0131rman\u0131z gerekir.<\/p>\n<pre><code class=\"language-bash\"># Gelen HTTP trafi\u011fini Squid'in portuna y\u00f6nlendir\nsudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128\n\n<h2>Gelen HTTPS trafi\u011fini Squid'in portuna y\u00f6nlendir (SSL Bumping olmadan sadece t\u00fcnel)<\/h2>\n<h2>NOT: HTTPS trafi\u011fini \u015feffaf olarak y\u00f6nlendirmek, SSL Bumping gerektirir ve olduk\u00e7a karma\u015f\u0131kt\u0131r.<\/h2>\n<h2>Bu kural, sadece CONNECT metodunu proxy'ye y\u00f6nlendirir, i\u00e7eri\u011fi denetlemez.<\/h2>\n<h2>E\u011fer SSL Bumping yapmak istiyorsan\u0131z, Squid'in SSL ayarlar\u0131n\u0131 detayl\u0131ca yap\u0131land\u0131rman\u0131z gerekir.<\/h2>\n<h2>Basit \u015feffaf proxy i\u00e7in genellikle sadece HTTP yeterlidir.<\/h2>\nsudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 443 -j REDIRECT --to-port 3128\n\n<h2>E\u011fer proxy sunucunuz ayn\u0131 zamanda a\u011f ge\u00e7idi ise, giden trafi\u011fi de y\u00f6nlendirmelisiniz.<\/h2>\n<h2>Bu \u00f6rnek, eth0 aray\u00fcz\u00fcnden gelen trafi\u011fi y\u00f6nlendirir. Kendi a\u011f aray\u00fcz\u00fcn\u00fcz\u00fc kontrol edin.<\/h2>\n<h2>ip a<\/code><\/pre>\n<\/h2>\n<p><strong>\u00d6nemli Not:<\/strong> <code>eth0<\/code> yerine kendi a\u011f aray\u00fcz\u00fcn\u00fcz\u00fcn ad\u0131n\u0131 kullanmal\u0131s\u0131n\u0131z (\u00f6rne\u011fin <code>ens33<\/code>, <code>enp0s3<\/code>). <code>ip a<\/code> komutuyla a\u011f aray\u00fczlerinizin adlar\u0131n\u0131 kontrol edebilirsiniz.<\/p>\n<p>Bu <code>iptables<\/code> kurallar\u0131, sunucu yeniden ba\u015flat\u0131ld\u0131\u011f\u0131nda kaybolur. Kal\u0131c\u0131 hale getirmek i\u00e7in <code>iptables-persistent<\/code> gibi bir paket kullanabilir veya kurallar\u0131 bir ba\u015flang\u0131\u00e7 beti\u011fine ekleyebilirsiniz.<\/p>\n<pre><code class=\"language-bash\">sudo apt install iptables-persistent -y\n<h2>Kurallar\u0131 kaydetmek i\u00e7in:<\/h2>\nsudo netfilter-persistent save<\/code><\/pre>\n<h3>Squid Yap\u0131land\u0131rmas\u0131 (<code>http_port transparent<\/code>)<\/h3>\n<p>Squid&#8217;in de \u015feffaf modda \u00e7al\u0131\u015faca\u011f\u0131n\u0131 bilmesi gerekir. <code>squid.conf<\/code> dosyas\u0131nda <code>http_port<\/code> y\u00f6nergesini <code>transparent<\/code> anahtar kelimesiyle de\u011fi\u015ftirmeniz veya eklemeniz gerekir:<\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/squid\/squid.conf<\/code><\/pre>\n<p>A\u015fa\u011f\u0131daki sat\u0131r\u0131 bulun veya ekleyin:<\/p>\n<pre><code class=\"language-\">http_port 3128 transparent<\/code><\/pre>\n<p>Bu de\u011fi\u015fiklikten sonra Squid servisini yeniden ba\u015flat\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl restart squid<\/code><\/pre>\n<p>\u015eeffaf proxy kurulumu, \u00f6zellikle \u015firket a\u011flar\u0131nda veya ev a\u011flar\u0131nda t\u00fcm cihazlar\u0131n proxy kullanmas\u0131n\u0131 sa\u011flamak i\u00e7in kullan\u0131\u015fl\u0131d\u0131r. Ancak, HTTPS trafi\u011fini denetlemek i\u00e7in SSL Bumping (SSL Interception) yapmak \u00e7ok daha karma\u015f\u0131k ve g\u00fcvenlik a\u00e7\u0131s\u0131ndan tart\u0131\u015fmal\u0131 bir konudur. Bu rehberde Temel Kimlik Do\u011frulama ve IP k\u0131s\u0131tlamalar\u0131 ile \u00f6zel ba\u011flant\u0131lar odaklan\u0131ld\u0131\u011f\u0131 i\u00e7in, SSL Bumping&#8217;e detayl\u0131 de\u011finilmemi\u015ftir.<\/p>\n<h2>Squid Proxy Performans ve G\u00fcvenlik Optimizasyonlar\u0131<\/h2>\n<p>Squid&#8217;i kurup yap\u0131land\u0131rd\u0131ktan sonra, performans\u0131n\u0131 art\u0131rmak ve g\u00fcvenli\u011fini daha da g\u00fc\u00e7lendirmek i\u00e7in baz\u0131 ek optimizasyonlar yapabilirsiniz.<\/p>\n<h3>\u00d6nbellekleme Ayarlar\u0131 (cache_dir, maximum_object_size, minimum_object_size)<\/h3>\n<p>\u00d6nbellekleme, Squid&#8217;in temel i\u015flevidir. Do\u011fru ayarlar, performans\u0131 \u00f6nemli \u00f6l\u00e7\u00fcde etkiler.<\/p>\n<pre><code class=\"language-\"># cache_dir y\u00f6nergesi, Squid'in \u00f6nbellek dosyalar\u0131n\u0131 depolayaca\u011f\u0131 dizini, boyutu ve dizin yap\u0131s\u0131n\u0131 belirler.\n<h2>\u0130lk de\u011fer dizin yolu, ikinci de\u011fer disk alan\u0131 (MB), \u00fc\u00e7\u00fcnc\u00fc ve d\u00f6rd\u00fcnc\u00fc de\u011ferler ise dizin seviyeleri.<\/h2>\n<h2>\u00d6rnek: 10 GB \u00f6nbellek alan\u0131, 16 alt dizin, her birinde 256 alt dizin.<\/h2>\ncache_dir ufs \/var\/spool\/squid 10240 16 256\n\n<h2>maximum_object_size: \u00d6nbelle\u011fe al\u0131nacak nesnelerin maksimum boyutu (KB). B\u00fcy\u00fck dosyalar\u0131 \u00f6nbelle\u011fe almaktan ka\u00e7\u0131nmak i\u00e7in.<\/h2>\nmaximum_object_size 4 MB\n\n<h2>minimum_object_size: \u00d6nbelle\u011fe al\u0131nacak nesnelerin minimum boyutu (bayt). \u00c7ok k\u00fc\u00e7\u00fck dosyalar\u0131 \u00f6nbelle\u011fe almaktan ka\u00e7\u0131nmak i\u00e7in.<\/h2>\nminimum_object_size 0 KB\n\n<h2>cache_mem: Squid'in bellekte kullanaca\u011f\u0131 \u00f6nbellek boyutu (MB).<\/h2>\ncache_mem 256 MB<\/code><\/pre>\n<p>Bu de\u011ferleri sunucunuzun kaynaklar\u0131na ve beklenen trafik y\u00fck\u00fcne g\u00f6re ayarlamal\u0131s\u0131n\u0131z.<\/p>\n<h3>G\u00fcnl\u00fck Kay\u0131tlar\u0131 (access_log, cache_log)<\/h3>\n<p>Squid, detayl\u0131 g\u00fcnl\u00fck kay\u0131tlar\u0131 tutar. Bu g\u00fcnl\u00fckler, sorun giderme, g\u00fcvenlik denetimi ve trafik analizi i\u00e7in kritik \u00f6neme sahiptir.<br \/>\n*   <code>access_log<\/code>: Hangi istemcinin hangi siteye ne zaman eri\u015fti\u011fi gibi bilgileri i\u00e7erir.<br \/>\n*   <code>cache_log<\/code>: Squid&#8217;in kendi i\u00e7 operasyonlar\u0131n\u0131, hatalar\u0131 ve \u00f6nbellekleme istatistiklerini kaydeder.<\/p>\n<p>Varsay\u0131lan olarak bu g\u00fcnl\u00fckler <code>\/var\/log\/squid\/<\/code> dizininde bulunur.<\/p>\n<pre><code class=\"language-\">access_log daemon:\/var\/log\/squid\/access.log squid\ncache_log \/var\/log\/squid\/cache.log<\/code><\/pre>\n<p>G\u00fcnl\u00fcklerin boyutunun \u00e7ok b\u00fcy\u00fcmemesi i\u00e7in <code>logrotate<\/code> ile d\u00fczenli olarak d\u00f6nd\u00fcr\u00fclmesi (rotate) ve s\u0131k\u0131\u015ft\u0131r\u0131lmas\u0131 \u00f6nemlidir. Debian, Squid i\u00e7in varsay\u0131lan bir <code>logrotate<\/code> yap\u0131land\u0131rmas\u0131 ile gelir.<\/p>\n<h3>Hata Sayfalar\u0131 \u00d6zelle\u015ftirme<\/h3>\n<p>Squid, bir hata olu\u015ftu\u011funda (\u00f6rne\u011fin eri\u015fim reddedildi\u011finde) varsay\u0131lan hata sayfalar\u0131 g\u00f6sterir. Bu sayfalar\u0131 \u00f6zelle\u015ftirerek kullan\u0131c\u0131lar\u0131n\u0131za daha bilgilendirici veya markan\u0131za uygun mesajlar sunabilirsiniz.<br \/>\nHata sayfalar\u0131 <code>\/usr\/share\/squid\/errors\/<\/code> dizininde bulunur. \u00d6rne\u011fin, <code>ERR_ACCESS_DENIED<\/code> hatas\u0131 i\u00e7in <code>ERR_ACCESS_DENIED<\/code> dosyas\u0131n\u0131 d\u00fczenleyebilirsiniz.<\/p>\n<pre><code class=\"language-\">error_directory \/usr\/share\/squid\/errors\/Turkish<\/code><\/pre>\n<p>Bu y\u00f6nergeyi <code>squid.conf<\/code> dosyas\u0131nda bulup, istedi\u011finiz dil dizinini belirtebilirsiniz.<\/p>\n<h3>Zay\u0131f \u015eifreleme Algoritmalar\u0131n\u0131 Devre D\u0131\u015f\u0131 B\u0131rakma (SSL\/TLS i\u00e7in)<\/h3>\n<p>E\u011fer Squid&#8217;i SSL Bumping ile kullan\u0131yorsan\u0131z veya SSL\/TLS ba\u011flant\u0131lar\u0131n\u0131 y\u00f6netiyorsan\u0131z, zay\u0131f \u015fifreleme algoritmalar\u0131n\u0131 ve eski TLS s\u00fcr\u00fcmlerini devre d\u0131\u015f\u0131 b\u0131rakarak g\u00fcvenli\u011fi art\u0131rabilirsiniz. Bu, <code>ssl_bump<\/code> ve <code>sslproxy_options<\/code> y\u00f6nergeleriyle yap\u0131l\u0131r. Ancak bu rehberde SSL Bumping&#8217;e girmedi\u011fimiz i\u00e7in bu k\u0131s\u0131m genellikle temel kurulumda gerekli de\u011fildir.<\/p>\n<h3><code>forwarded_for<\/code> Ba\u015fl\u0131\u011f\u0131n\u0131 Y\u00f6netme<\/h3>\n<p>Squid varsay\u0131lan olarak <code>X-Forwarded-For<\/code> ba\u015fl\u0131\u011f\u0131n\u0131 HTTP isteklerine ekler ve istemcinin orijinal IP adresini hedef sunucuya iletir. Anonimlik sa\u011flamak istiyorsan\u0131z bu ba\u015fl\u0131\u011f\u0131 kald\u0131rmal\u0131s\u0131n\u0131z.<\/p>\n<pre><code class=\"language-\"># \u0130stemcinin ger\u00e7ek IP adresini gizlemek i\u00e7in\nforwarded_for off<\/code><\/pre>\n<h3>Anonimlik \u0130\u00e7in <code>request_header_access<\/code><\/h3>\n<p>Daha fazla anonimlik i\u00e7in, Squid&#8217;in HTTP isteklerinden di\u011fer baz\u0131 ba\u015fl\u0131klar\u0131 (\u00f6rne\u011fin <code>User-Agent<\/code>, <code>Referer<\/code>) kald\u0131rmas\u0131n\u0131 veya de\u011fi\u015ftirmesini sa\u011flayabilirsiniz.<\/p>\n<pre><code class=\"language-\"># User-Agent ba\u015fl\u0131\u011f\u0131n\u0131 gizle\nrequest_header_access User-Agent deny all\n\n<h2>Referer ba\u015fl\u0131\u011f\u0131n\u0131 gizle<\/h2>\nrequest_header_access Referer deny all\n\n<h2>Di\u011fer ba\u015fl\u0131klar\u0131 da gizleyebilir veya de\u011fi\u015ftirebilirsiniz<\/h2>\n<h2>request_header_access From deny all<\/h2>\n<h2>request_header_access Via deny all<\/code><\/pre>\n<\/h2>\n<p>Bu ayarlar, kullan\u0131c\u0131lar\u0131n internet \u00fczerindeki ayak izini \u00f6nemli \u00f6l\u00e7\u00fcde azalt\u0131r. Ancak baz\u0131 siteler, bu t\u00fcr ba\u015fl\u0131klar\u0131n eksikli\u011fini \u015f\u00fcpheli bulabilir ve eri\u015fimi engelleyebilir.<\/p>\n<p>T\u00fcm bu optimizasyonlar\u0131 yapt\u0131ktan sonra, <code>squid.conf<\/code> dosyas\u0131n\u0131 kaydedin ve Squid servisini yeniden ba\u015flat\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl restart squid<\/code><\/pre>\n<h2>Squid Proxy&#8217;nin Test Edilmesi<\/h2>\n<p>Yap\u0131land\u0131rma de\u011fi\u015fiklikleri yapt\u0131ktan sonra, proxy&#8217;nin beklendi\u011fi gibi \u00e7al\u0131\u015f\u0131p \u00e7al\u0131\u015fmad\u0131\u011f\u0131n\u0131 test etmek \u00e7ok \u00f6nemlidir.<\/p>\n<h3>Taray\u0131c\u0131 Ayarlar\u0131<\/h3>\n<p>En yayg\u0131n test y\u00f6ntemi, web taray\u0131c\u0131n\u0131z\u0131n (Chrome, Firefox, Edge vb.) proxy ayarlar\u0131n\u0131 yap\u0131land\u0131rmakt\u0131r.<br \/>\n1.  <strong>Proxy Ayarlar\u0131na Git:<\/strong> Taray\u0131c\u0131n\u0131z\u0131n ayarlar men\u00fcs\u00fcnde &#8220;Proxy&#8221; veya &#8220;A\u011f Ayarlar\u0131&#8221; b\u00f6l\u00fcm\u00fcn\u00fc bulun.<br \/>\n2.  <strong>Manuel Proxy Yap\u0131land\u0131rmas\u0131:<\/strong> &#8220;Manuel proxy yap\u0131land\u0131rmas\u0131&#8221; veya &#8220;HTTP proxy&#8221; se\u00e7ene\u011fini se\u00e7in.<br \/>\n3.  <strong>Adres ve Port Girin:<\/strong><br \/>\n    *   <strong>HTTP Proxy:<\/strong> Squid sunucunuzun IP adresi (\u00f6rne\u011fin <code>192.168.1.100<\/code>) ve portu (<code>3128<\/code>).<br \/>\n    *   <strong>SSL Proxy:<\/strong> Ayn\u0131 IP adresi ve portu girin.<br \/>\n    *   <strong>T\u00fcm protokoller i\u00e7in ayn\u0131 proxy sunucusunu kullan<\/strong> se\u00e7ene\u011fini i\u015faretleyebilirsiniz.<br \/>\n4.  <strong>Kaydet ve Test Et:<\/strong> Ayarlar\u0131 kaydedin ve taray\u0131c\u0131n\u0131zda bir web sitesini (\u00f6rne\u011fin <code>google.com<\/code>) a\u00e7maya \u00e7al\u0131\u015f\u0131n.<\/p>\n<p>E\u011fer kimlik do\u011frulama etkinse, taray\u0131c\u0131n\u0131z bir kullan\u0131c\u0131 ad\u0131 ve parola penceresi a\u00e7acakt\u0131r. Do\u011fru kimlik bilgilerini girerek siteye eri\u015febilmelisiniz. E\u011fer eri\u015femezseniz, hata mesajlar\u0131n\u0131 kontrol edin.<\/p>\n<h3><code>curl<\/code> veya <code>wget<\/code> ile Test<\/h3>\n<p>Komut sat\u0131r\u0131ndan test etmek, sorun giderme i\u00e7in \u00e7ok faydal\u0131d\u0131r.<\/p>\n<pre><code class=\"language-bash\"># HTTP proxy ile test\ncurl -x http:\/\/SQUID_IP:3128 http:\/\/ipinfo.io\/ip\n\n<h2>Kimlik do\u011frulamal\u0131 HTTP proxy ile test<\/h2>\ncurl -x http:\/\/KULLANICI_ADI:PAROLA@SQUID_IP:3128 http:\/\/ipinfo.io\/ip<\/code><\/pre>\n<p><code>ipinfo.io\/ip<\/code> sitesi, iste\u011fin hangi IP adresinden geldi\u011fini g\u00f6sterir. E\u011fer proxy&#8217;nizden ge\u00e7iyorsa, Squid sunucunuzun genel IP adresini g\u00f6rmelisiniz. E\u011fer kimlik do\u011frulama hatas\u0131 al\u0131rsan\u0131z, <code>curl<\/code> komutunda kullan\u0131c\u0131 ad\u0131 ve parolan\u0131n do\u011fru oldu\u011fundan emin olun.<\/p>\n<h3>G\u00fcnl\u00fckleri Kontrol Etme<\/h3>\n<p>Squid&#8217;in g\u00fcnl\u00fck dosyalar\u0131, sorun giderme i\u00e7in en iyi kaynakt\u0131r.<\/p>\n<pre><code class=\"language-bash\"># Eri\u015fim g\u00fcnl\u00fcklerini takip et\nsudo tail -f \/var\/log\/squid\/access.log\n\n<h2>\u00d6nbellek g\u00fcnl\u00fcklerini (hata ve operasyon bilgileri) takip et<\/h2>\nsudo tail -f \/var\/log\/squid\/cache.log<\/code><\/pre>\n<p>Taray\u0131c\u0131n\u0131z veya <code>curl<\/code> ile test yaparken bu g\u00fcnl\u00fckleri izleyin. <code>access.log<\/code> dosyas\u0131nda ba\u015far\u0131l\u0131 (HTTP 200) veya reddedilen (TCP_DENIED) istekleri g\u00f6rebilirsiniz. <code>cache.log<\/code> dosyas\u0131nda ise Squid&#8217;in i\u00e7 hatalar\u0131n\u0131 veya uyar\u0131lar\u0131n\u0131 bulabilirsiniz.<\/p>\n<h2>Yayg\u0131n Sorunlar ve \u00c7\u00f6z\u00fcmleri<\/h2>\n<p>Squid yap\u0131land\u0131rmas\u0131 s\u0131ras\u0131nda kar\u015f\u0131la\u015fabilece\u011finiz baz\u0131 yayg\u0131n sorunlar ve olas\u0131 \u00e7\u00f6z\u00fcmleri a\u015fa\u011f\u0131da listelenmi\u015ftir.<\/p>\n<h3>Eri\u015fim Reddedildi Hatalar\u0131<\/h3>\n<p>*   <strong>Sorun:<\/strong> <code>ERR_ACCESS_DENIED<\/code> hatas\u0131 al\u0131yorsunuz veya <code>access.log<\/code> dosyas\u0131nda <code>TCP_DENIED<\/code> g\u00f6r\u00fcyorsunuz.<br \/>\n*   <strong>\u00c7\u00f6z\u00fcm:<\/strong><br \/>\n    *   <strong><code>http_access<\/code> Kurallar\u0131n\u0131 Kontrol Edin:<\/strong> <code>squid.conf<\/code> dosyas\u0131ndaki <code>http_access<\/code> kurallar\u0131n\u0131z\u0131n s\u0131ras\u0131n\u0131 ve i\u00e7eri\u011fini dikkatlice inceleyin. Unutmay\u0131n, kurallar yukar\u0131dan a\u015fa\u011f\u0131ya i\u015flenir ve ilk e\u015fle\u015fen kural uygulan\u0131r. <code>http_access deny all<\/code> kural\u0131ndan \u00f6nce izin veren kurallar\u0131n\u0131z\u0131n oldu\u011fundan emin olun.<br \/>\n    *   <strong>ACL Tan\u0131mlar\u0131n\u0131 Kontrol Edin:<\/strong> <code>acl<\/code> tan\u0131mlar\u0131n\u0131z\u0131n (IP adresleri, kullan\u0131c\u0131lar vb.) do\u011fru oldu\u011fundan emin olun.<br \/>\n    *   <strong>Kimlik Do\u011frulama:<\/strong> E\u011fer kimlik do\u011frulama kullan\u0131yorsan\u0131z, kullan\u0131c\u0131 ad\u0131 ve parolan\u0131n do\u011fru oldu\u011fundan ve <code>htpasswd<\/code> dosyas\u0131n\u0131n do\u011fru izinlere sahip oldu\u011fundan emin olun. <code>auth_param<\/code> ve <code>acl proxy_auth REQUIRED<\/code> kurallar\u0131n\u0131n do\u011fru oldu\u011fundan emin olun.<br \/>\n    *   <strong>G\u00fcvenlik Duvar\u0131:<\/strong> Sunucunuzun g\u00fcvenlik duvar\u0131n\u0131n (UFW veya <code>iptables<\/code>) Squid&#8217;in \u00e7al\u0131\u015ft\u0131\u011f\u0131 porta (varsay\u0131lan 3128) izin verdi\u011finden emin olun.<\/p>\n<h3>Proxy \u00c7al\u0131\u015fm\u0131yor<\/h3>\n<p>*   <strong>Sorun:<\/strong> Proxy&#8217;ye ba\u011flanam\u0131yorsunuz veya servis ba\u015flam\u0131yor.<br \/>\n*   <strong>\u00c7\u00f6z\u00fcm:<\/strong><br \/>\n    *   <strong>Servis Durumu:<\/strong> <code>sudo systemctl status squid<\/code> komutuyla Squid servisinin \u00e7al\u0131\u015f\u0131p \u00e7al\u0131\u015fmad\u0131\u011f\u0131n\u0131 kontrol edin. E\u011fer durmu\u015fsa, <code>sudo systemctl start squid<\/code> ile ba\u015flatmay\u0131 deneyin.<br \/>\n    *   <strong>G\u00fcnl\u00fckleri Kontrol Edin:<\/strong> <code>\/var\/log\/squid\/cache.log<\/code> dosyas\u0131n\u0131 inceleyin. Ba\u015flang\u0131\u00e7 hatalar\u0131 veya yap\u0131land\u0131rma dosyas\u0131 s\u00f6zdizimi hatalar\u0131 burada g\u00f6r\u00fcnecektir.<br \/>\n    *   <strong>Port \u00c7ak\u0131\u015fmas\u0131:<\/strong> Ba\u015fka bir uygulaman\u0131n Squid&#8217;in kullanmaya \u00e7al\u0131\u015ft\u0131\u011f\u0131 portu (3128) kullan\u0131p kullanmad\u0131\u011f\u0131n\u0131 kontrol edin: <code>sudo netstat -tulnp | grep 3128<\/code>.<\/p>\n<h3>Performans Sorunlar\u0131<\/h3>\n<p>*   <strong>Sorun:<\/strong> Proxy \u00fczerinden ba\u011flant\u0131lar yava\u015f veya Squid \u00e7ok fazla kaynak t\u00fcketiyor.<br \/>\n*   <strong>\u00c7\u00f6z\u00fcm:<\/strong><br \/>\n    *   <strong>\u00d6nbellekleme Ayarlar\u0131:<\/strong> <code>cache_dir<\/code> ve <code>cache_mem<\/code> ayarlar\u0131n\u0131 sunucunuzun kaynaklar\u0131na g\u00f6re optimize edin. Disk alan\u0131 ve bellek kullan\u0131m\u0131n\u0131 izleyin.<br \/>\n    *   <strong>DNS \u00c7\u00f6z\u00fcn\u00fcrl\u00fc\u011f\u00fc:<\/strong> Squid&#8217;in DNS \u00e7\u00f6z\u00fcmleme performans\u0131n\u0131 etkileyebilecek DNS sunucular\u0131n\u0131 kontrol edin. <code>\/etc\/resolv.conf<\/code> dosyas\u0131ndaki DNS sunucular\u0131n\u0131n h\u0131zl\u0131 ve g\u00fcvenilir oldu\u011fundan emin olun.<br \/>\n    *   <strong>Donan\u0131m Kaynaklar\u0131:<\/strong> Sunucunuzun yeterli CPU, RAM ve disk I\/O kapasitesine sahip oldu\u011fundan emin olun.<\/p>\n<h3><code>squid.conf<\/code> S\u00f6zdizimi Hatalar\u0131<\/h3>\n<p>*   <strong>Sorun:<\/strong> <code>squid.conf<\/code> dosyas\u0131nda bir hata yapt\u0131n\u0131z ve Squid ba\u015flam\u0131yor veya hata veriyor.<br \/>\n*   <strong>\u00c7\u00f6z\u00fcm:<\/strong><br \/>\n    *   <strong>Test Yap\u0131land\u0131rmas\u0131:<\/strong> Squid, yap\u0131land\u0131rma dosyas\u0131n\u0131 test etmek i\u00e7in bir komut sunar: <code>sudo squid -k parse_donfig<\/code>. Bu komut, s\u00f6zdizimi hatalar\u0131n\u0131 belirlemenize yard\u0131mc\u0131 olabilir.<br \/>\n    *   <strong>Yedekten Geri Y\u00fckleme:<\/strong> E\u011fer \u00e7ok fazla de\u011fi\u015fiklik yapt\u0131ysan\u0131z ve sorunu bulam\u0131yorsan\u0131z, en kolay yol yedekledi\u011finiz orijinal <code>squid.conf.original<\/code> dosyas\u0131n\u0131 geri y\u00fcklemektir: <code>sudo cp \/etc\/squid\/squid.conf.original \/etc\/squid\/squid.conf<\/code>. Ard\u0131ndan de\u011fi\u015fiklikleri ad\u0131m ad\u0131m, her de\u011fi\u015fiklikten sonra test ederek tekrar yap\u0131n.<\/p>\n<p>Bu sorun giderme ad\u0131mlar\u0131, Squid proxy kurulumunuz s\u0131ras\u0131nda kar\u015f\u0131la\u015fabilece\u011finiz \u00e7o\u011fu problemi \u00e7\u00f6zmenize yard\u0131mc\u0131 olacakt\u0131r. Her zaman g\u00fcnl\u00fck dosyalar\u0131n\u0131 kontrol etmek ve <code>systemctl status squid<\/code> komutunu kullanmak, sorunun k\u00f6k nedenini anlamak i\u00e7in ilk ad\u0131mlar\u0131n\u0131z olmal\u0131d\u0131r.<\/p>\n<h2>Sonu\u00e7<\/h2>\n<p>Bu kapsaml\u0131 rehberde, Debian 11 \u00fczerinde \u00f6zel ba\u011flant\u0131lar i\u00e7in Squid proxy sunucusunun nas\u0131l kurulaca\u011f\u0131n\u0131 ve yap\u0131land\u0131r\u0131laca\u011f\u0131n\u0131 ayr\u0131nt\u0131l\u0131 bir \u015fekilde inceledik. Sistem haz\u0131rl\u0131\u011f\u0131ndan ba\u015flayarak, Squid&#8217;in temel kurulumunu, <code>squid.conf<\/code> dosyas\u0131n\u0131n kritik ayarlar\u0131n\u0131, \u00f6zellikle IP tabanl\u0131 eri\u015fim kontrol listelerini (ACL) ve kullan\u0131c\u0131 ad\u0131\/parola ile kimlik do\u011frulama mekanizmalar\u0131n\u0131 ele ald\u0131k. Ayr\u0131ca, \u015feffaf proxy kurulumuna, performans ve g\u00fcvenlik optimizasyonlar\u0131na de\u011findik ve yayg\u0131n sorun giderme ipu\u00e7lar\u0131n\u0131 payla\u015ft\u0131k.<\/p>\n<p>Squid, esnekli\u011fi ve g\u00fc\u00e7l\u00fc eri\u015fim kontrol yetenekleri sayesinde, ister ki\u015fisel kullan\u0131m i\u00e7in anonim bir ge\u00e7it, ister kurumsal bir a\u011fda g\u00fcvenli eri\u015fim noktas\u0131 olsun, \u00f6zel ba\u011flant\u0131lar i\u00e7in m\u00fckemmel bir \u00e7\u00f6z\u00fcmd\u00fcr. Do\u011fru yap\u0131land\u0131rma ile, a\u011f trafi\u011finizi kontrol alt\u0131na alabilir, g\u00fcvenli\u011fi art\u0131rabilir ve internet eri\u015fiminizi \u00f6zelle\u015ftirebilirsiniz. Unutmay\u0131n ki, proxy sunucusu kurarken g\u00fcvenlik her zaman en \u00f6ncelikli konulardan biri olmal\u0131d\u0131r. Bu rehberde belirtilen g\u00fcvenlik ipu\u00e7lar\u0131na uyarak ve proxy&#8217;nizi sadece g\u00fcvenilir kaynaklara a\u00e7arak olas\u0131 riskleri minimize edebilirsiniz. D\u00fczenli bak\u0131m, g\u00fcncellemeler ve g\u00fcnl\u00fck izleme, proxy sunucunuzun g\u00fcvenli ve verimli bir \u015fekilde \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flaman\u0131n anahtar\u0131d\u0131r.<\/p>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Debian 11 \u00dczerinde \u00d6zel Ba\u011flant\u0131lar \u0130\u00e7in Squid Proxy Kurulumu\nGiri\u015f: Squid Proxy Nedir ve Neden Kullan\u0131l\u0131r?\nSquid, Linux ve Unix benzeri i","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[241],"tags":[],"class_list":{"0":"post-32322","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-linux","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Debian 11 \u00dczerinde \u00d6zel Ba\u011flant\u0131lar \u0130\u00e7in Squid Proxy Kurulumu - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/debian-11-uzerinde-ozel-baglantilar-icin-squid-proxy-kurulumu\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Debian 11 \u00dczerinde \u00d6zel Ba\u011flant\u0131lar \u0130\u00e7in Squid Proxy Kurulumu\" \/>\n<meta property=\"og:description\" content=\"Debian 11 \u00dczerinde \u00d6zel Ba\u011flant\u0131lar \u0130\u00e7in Squid Proxy Kurulumu  Giri\u015f: Squid Proxy Nedir ve Neden Kullan\u0131l\u0131r? Squid, Linux ve Unix benzeri i\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/debian-11-uzerinde-ozel-baglantilar-icin-squid-proxy-kurulumu\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-10-20T08:41:21+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"30 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/debian-11-uzerinde-ozel-baglantilar-icin-squid-proxy-kurulumu\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/debian-11-uzerinde-ozel-baglantilar-icin-squid-proxy-kurulumu\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Debian 11 \u00dczerinde \u00d6zel Ba\u011flant\u0131lar \u0130\u00e7in Squid Proxy Kurulumu\",\"datePublished\":\"2025-10-20T08:41:21+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/debian-11-uzerinde-ozel-baglantilar-icin-squid-proxy-kurulumu\/\"},\"wordCount\":4426,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Linux\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/debian-11-uzerinde-ozel-baglantilar-icin-squid-proxy-kurulumu\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/debian-11-uzerinde-ozel-baglantilar-icin-squid-proxy-kurulumu\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/debian-11-uzerinde-ozel-baglantilar-icin-squid-proxy-kurulumu\/\",\"name\":\"Debian 11 \u00dczerinde \u00d6zel Ba\u011flant\u0131lar \u0130\u00e7in Squid Proxy Kurulumu - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-10-20T08:41:21+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/debian-11-uzerinde-ozel-baglantilar-icin-squid-proxy-kurulumu\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/debian-11-uzerinde-ozel-baglantilar-icin-squid-proxy-kurulumu\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/debian-11-uzerinde-ozel-baglantilar-icin-squid-proxy-kurulumu\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Debian 11 \u00dczerinde \u00d6zel Ba\u011flant\u0131lar \u0130\u00e7in Squid Proxy Kurulumu\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Debian 11 \u00dczerinde \u00d6zel Ba\u011flant\u0131lar \u0130\u00e7in Squid Proxy Kurulumu - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/debian-11-uzerinde-ozel-baglantilar-icin-squid-proxy-kurulumu\/","og_locale":"tr_TR","og_type":"article","og_title":"Debian 11 \u00dczerinde \u00d6zel Ba\u011flant\u0131lar \u0130\u00e7in Squid Proxy Kurulumu","og_description":"Debian 11 \u00dczerinde \u00d6zel Ba\u011flant\u0131lar \u0130\u00e7in Squid Proxy Kurulumu  Giri\u015f: Squid Proxy Nedir ve Neden Kullan\u0131l\u0131r? Squid, Linux ve Unix benzeri i","og_url":"https:\/\/fatihsoysal.com\/blog\/debian-11-uzerinde-ozel-baglantilar-icin-squid-proxy-kurulumu\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-10-20T08:41:21+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"30 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/debian-11-uzerinde-ozel-baglantilar-icin-squid-proxy-kurulumu\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/debian-11-uzerinde-ozel-baglantilar-icin-squid-proxy-kurulumu\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Debian 11 \u00dczerinde \u00d6zel Ba\u011flant\u0131lar \u0130\u00e7in Squid Proxy Kurulumu","datePublished":"2025-10-20T08:41:21+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/debian-11-uzerinde-ozel-baglantilar-icin-squid-proxy-kurulumu\/"},"wordCount":4426,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Linux"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/debian-11-uzerinde-ozel-baglantilar-icin-squid-proxy-kurulumu\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/debian-11-uzerinde-ozel-baglantilar-icin-squid-proxy-kurulumu\/","url":"https:\/\/fatihsoysal.com\/blog\/debian-11-uzerinde-ozel-baglantilar-icin-squid-proxy-kurulumu\/","name":"Debian 11 \u00dczerinde \u00d6zel Ba\u011flant\u0131lar \u0130\u00e7in Squid Proxy Kurulumu - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-10-20T08:41:21+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/debian-11-uzerinde-ozel-baglantilar-icin-squid-proxy-kurulumu\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/debian-11-uzerinde-ozel-baglantilar-icin-squid-proxy-kurulumu\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/debian-11-uzerinde-ozel-baglantilar-icin-squid-proxy-kurulumu\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Debian 11 \u00dczerinde \u00d6zel Ba\u011flant\u0131lar \u0130\u00e7in Squid Proxy Kurulumu"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/32322","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=32322"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/32322\/revisions"}],"predecessor-version":[{"id":32323,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/32322\/revisions\/32323"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=32322"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=32322"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=32322"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}