Proxy PAC Dosyası Kullanımı

[custom_frame_left shadow=”on”]sweden[/custom_frame_left] Proxy Auto Configuration dosyası, kullanıcıların internet trafiğini proxy’ye yönlendirmek için kullanılan teknolojilerden birisidir. Explicit olarak kullanıcı trafiğini Proxy’ye yönlendirmek için hazırlanan script dosyası, browser’lar tarafından download edilir ve içerisindeki fonksiyonlar browser tarafından icra edilir. Browser her kapanış ve açılışında, tanımlı PAC dosyasını yeniden download eder. PAC içerisinde kullanabileceğiniz tüm fonksiyon ve örnekleri http://findproxyforurl.com/ adresinde bulabilirsiniz.

PAC Kullanımı ile ilgili bazı ipuçları:

  • Browser ilk açıldığında, adresi verilen PAC dosyasını download eder ve gidilen site için, proxy adresini PACiçerisindeki fonksiyonlara göre belirler. PAC içerisinde kullanılan her bir fonksiyonun kullanıcı bilgisayarında icra edileceğini unutmayın. Ne kadar çok karmaşık fonksiyon kullanırsanız, kullanıcı bilgisayarı o kadar yavaşlar.
  • Browser açıldığında PAC dosyası bulunamadığı durumda direk internet erişimi sağlanır. Bu da dizüstü bilgisayarlarını eve götüren kullanıcılar için çok kullanışlıdır. Her seferinde proxy ayarlarını değiştirmek zorunda kalmazsınız
  • dnsDomainIs gibi fonksiyonlar, her gidilen site için DNS sunucusuna sogru göndereceklerinden, internet erişimlerine erişimde yavaşlığa neden olurlar. Mümkün olduğunca bu gibi DNS bağımlı olan fonksiyonları kullanmamanızı öneririz.

function FindProxyForURL(url, host)
{
     if (isInNet(host, “10.0.0.0”, “255.0.0.0”) ||
         isInNet(host, “172.16.0.0”, “255.240.0.0”) ||
         isInNet(host, “192.168.0.0”, “255.255.0.0”) )
          {return “DIRECT”;}
     else {
      if (shExpMatch(url, “http:*”))                 return “PROXY 10.4.82.147:8080” ;
      if (shExpMatch(url, “https:*”))                return “PROXY 10.4.82.147:8080” ;
      if (shExpMatch(url, “ftp:*”))                  return “PROXY 10.4.82.147:8080” ;
          return “DIRECT”;
   }
}

Üstteki PAC dosyasında Reserved IP bloğundaki bir adrese gidildiğinde Proxy sunucusu yerine DIRECT erişim sağlanıyor. Bunların haricinde http, https veya ftp ile başlayan adresler için 10.4.82.147 ip adresli proxy’nin 8080 nolu portuna yönlendiriliyor.

function FindProxyForURL(url, host) {

 /* Normalize the URL for pattern macthing */
url = url.toLowerCase();
host = host.toLowerCase();

 /* Don’t proxy non-routable addresses (RFC 3330) */
if (isInNet(host, “0.0.0.0”, “255.0.0.0”)) {return “DIRECT”;}
if (isInNet(host, “10.0.0.0”, “255.0.0.0”))  {return “DIRECT”;}
if (isInNet(host, “127.0.0.0”, “255.0.0.0”)) {return “DIRECT”;}
if (isInNet(host, “169.254.0.0”, “255.255.0.0”)) {return “DIRECT”;}
if (isInNet(host, “172.16.0.0”, “255.240.0.0”)) {return “DIRECT”;}
if (isInNet(host, “192.0.2.0”, “255.255.255.0”)) {return “DIRECT”;}
if (isInNet(host, “192.88.99.0”, “255.255.255.0”)) {return “DIRECT”;}
if (isInNet(host, “192.168.0.0”, “255.255.0.0”)) {return “DIRECT”;}
if (isInNet(host, “198.18.0.0”, “255.254.0.0”)) {return “DIRECT”;}
if (isInNet(host, “224.0.0.0”, “240.0.0.0”)) {return “DIRECT”;}
if (isInNet(host, “240.0.0.0”, “240.0.0.0”)) {return “DIRECT”;}

 /* Don’t proxy Windows Update */
if ((host == “download.microsoft.com”) ||
(host == “ntservicepack.microsoft.com”) ||
(host == “cdm.microsoft.com”) ||
(host == “wustat.windows.com”) ||
(host == “windowsupdate.microsoft.com”) ||
(host == “urs.microsoft.com”) ||
(dnsDomainIs(host, “.windowsupdate.microsoft.com”)) ||
(dnsDomainIs(host, “.microsoft.com”)) ||
(host == “update.microsoft.com”) ||
(dnsDomainIs(host, “.update.microsoft.com”)) ||
(dnsDomainIs(host, “.windowsupdate.com”)))
{   return ‘DIRECT’;  }

 /* Exclude problem or intranet sites from proxy here */
if (shExpMatch(host, “212.11.11.0”, “255.255.255.0”))
{   return “DIRECT”;  }

 /* Redirect all other http,https,ftp traffic to proxy */
if (url.substring(0, 5) == “http:”)
{return “PROXY 172.22.0.31:8080; 172.22.0.32:8080; DIRECT”;}

if (url.substring(0, 6) == “https:”)
{return “PROXY 172.22.0.31:8080; 172.22.0.32:8080; DIRECT”;}

if (url.substring(0, 4) == “ftp:”)
{return “PROXY 172.22.0.31:8080; 172.22.0.32:8080; DIRECT”;}

return “DIRECT”; }

Üstteki örnekte ise, belirli ip adresleri ve web sitelerine doğru gidişler için proxy’ye yönlendirmek yerine DIRECT erişim sağlatılmış. Bunların dışında gidilen http, https ve ftp adresleri için sırasıyla önce 172.22.0.31, bu proxy ayakta değilse 172.22.0.32 bu da ayakda değilse DIRECT erişim sağlatılmış durumda.

Buradaki örnek PAC dosyalarının yanında ayrıca PAC dosyası kullanarak iki proxy’nin aktif-aktif kullanılabilmesi için Load Balancing yapmak mümkün. Böyle bir örneğe ihtiyacınız olursa support@infosec.com.tr adresi ile temasa geçebilirsiniz. Sizinle elimizdeki diğer örnekleri paylaşabilir, mevcut problemlerinizde yardımcı olabiliriz.

 

 

2017-03-16T21:59:32+00:00 February 9th, 2013|Bilgi Bankası|