Pac Dosyası İle Proxy Kullanmak
Transkript
Pac Dosyası İle Proxy Kullanmak
Websense Web Security Gateway V7.X Sürüm Yükseltme Pac Dosyası İle Proxy Kullanmak Pac Dosyası İle Proxy Kullanmak Amaç Bu dökümanda, Pac dosyası ile istemcilerin nasıl proxy kullanabileceği anlatılacaktır. Künye Başlık Pac Dosyası ile Proxy Kullanmak Hazırlayan Barikat Tarih 10/2010 Versiyon 1.0 İlgili Ürünler Web Tarayıcıları Anahtar Kelimeler Pac, Internet Explorer, Firefox, Proxy İlgili Sorular Pac Dosyas Nedir? Nasıl Kullanılır? Tür Genel Bilgi Barikat İnternet Güvenliği Bilişim Tic.Ltd.Şti. © 2010 Tüm Hakları Saklıdır Pac Dosyası İle le Proxy Kullanmak İçindekiler Pac Dosyası İle Proxy Kullanmak ................................................................................................ ................................ ................................................................. 1 Amaç ................................................................ ................................................................................................................................ .............................................. 1 Giriş ................................................................ ................................................................................................................................ ................................................ 3 1. Pac Dosyası Nedir ve Neler Yapılabilir? ................................................................................................ ................................................. 3 2. Örnek Proxy Pac Dosyası ve Açıklamalar ................................................................................................ ............................................... 3 a. Belirli Sitelere Erişimde Proxy Sunucunun Kullanılmaması................................................................ .................................................... 3 b. İç Ağ Erişiminde Proxy Sunucusunun Kullanılmaması................................................................ ............................................................ 4 Sonuç ................................................................ ................................................................................................................................ ............................................. 7 Özet ................................................................ ................................................................................................................................ ............................................... 7 2 Giriş Pac dosyası ile istemcilerin internete proxy kullanarak erişmesi amaçlanmaktadır. 1. Pac Dosyası Nedir ve Neler Yapılabilir? Pac dosyası, javascript kodunu kullanarak, istemcilerin internete, sistem yöneticisinin belirlediği kriterlere göre proxy kullanarak erişmesini sağlayan bir araçtır. Bu dosya sayesinde, sinde, javascriptin sağladığı avantajlar da kullanılarak aşağıdaki ana başlıklarda ayarlamalar yapılabilmektedir. • • • • Belirli sitelere erişimde proxy sunucuya istemcilerin uğramamasının sağlanması İç networkde yer alan web uygulamarında, proxy sunucuya gereksiz gereksiz trafiğin uğramasının önlenmesi Windows update, wsus gibi uygulamalarda proxy sunucu üzerine trafiğin yollanmasının engellenmesi Kullanıcıların, proxy sunucuya erişiminin olmadığı lokasyonlarda, hiç bir ayar değişikliği yapmadan internete çıkabilmesi Proxy pac file ile yapılabilecekler, javascript programlama kodu ile kısıtlıdır. Dolayısıyla çok geniş çerçevede, ayrıntılı ayarlamalar yapılması mümkündür. 2. Örnek Proxy Pac Dosyası ve Açıklamalar Proxy pac dosyası ile yapılabilecek bir çok seçenek bulunmaktadır. Aşağıda belli başlı seçenekler ve pac file içerisinde bu seçenekleri tanımlayan parametreler gösterilmiştir. a. Belirli Sitelere Erişimde Proxy Sunucunun Kullanılmaması /* Don't proxy portal addresses */ if ((host == 'www.example.com) ||dnsDomainIs(host, '.example.com')) ||(host == 'subdomain.example.com')) www.example.com”” sitesi, “.example.com” domain adı kullanılırken, “subdomain.example.com” Bu örneklemede, “www.example.com alt sayfalara erişimde proxy oxy sunucuya istemcilerin uğramadan direk olarak erişebilmesi sağlanmıştır. Bu örnek daha da genişlitebilir ve/veya değiştirilebilir. 3 b. İç Ağ Erişiminde Proxy Sunucusunun Kullanılmaması İstemci iç ağ erişiminde, web servisleri başta olmak üzere proxy sunucunun sunucunun kullanılmaması, sistem performansını artıracaktır. Ayrıca olası proxy sunucu arızlarında, iç ağdaki uygulamalarda herhangi bir kesinti olmayacaktır. Bu örnekde, iç ağda kullanılan adresler ve multicast protokolünün kullandığı ip gruplarının, proxy ssunucuya uğramaması için örnekler verilmiştir. /* Don't proxy non-routable routable addresses (RFC 3330) */ if (isInNet(hostIP, '0.0.0.0', '255.0.0.0') ||isInNet(hostIP, '10.0.0.0', '255.0.0.0') ||isInNet(hostIP, '127.0.0.0', '255.0.0.0') ||isInNet(hostIP, '169.254.0.0', '255.255.0.0') ||isInNet(hostIP, '172.16.0.0', '255.240.0.0') ||isInNet(hostIP, '192.0.2.0', .0.2.0', '255.255.255.0') ||isInNet(hostIP, '192.88.99.0', '255.255.255.0') ||isInNet(hostIP, '192.168.0.0', '255.255.0.0') ||isInNet(hostIP, '198.18.0.0', '255.254.0.0') ||isInNet(hostIP, '224.0.0.0', '240.0.0.0') ||isInNet(hostIP, '240.0.0.0', '240.0.0.0 '240.0.0.0')) c. Windows Update, Wsus İle İlgili Proxy Pac Dosyası Ayarları Windows istemcilerde proxy pac dosyası kullanıldığında, istemci işletim sistemi güncellemeleri için proxy sunucusuna gitmesi istenmiyorsa aşağıdaki tanımlamalar yapılmalıdır. /* Don't proxyy Windows Update */ if ((host == "download.microsoft.com") ||(host == "ntservicepack.microsoft.com") ||(host == "cdm.microsoft.com") ||(host == "wustat.windows.com") ||(host == "windowsupdate.microsoft.com") ||(dnsDomainIs(host, ".windowsupdate.microso ndowsupdate.microsoft.com")) ||(host (host == "update.m "update.microsoft.com") ||(dnsDomainIs(host, t, ".update.microsoft.com")) ||(dnsDomainIs(host, ".windowsupdate.com"))) Bu tanımlamalar ile istemciler, proxy sunucuyu, windows güncellemeleri için kullanmayacaktır. Bu da proxy üzerindeki yükü ükü azaltarak, performans artışına neden olacaktır. d. İstemcilerin Proxy Sunucusuna Erişemediği Durumlarda İnternete Erişebilmesi Proxy sunucusuna erişimin yapılamadığı ve/veya proxy sunucusunun hizmet vermediği durumlarda, istemcilerde hiç bir ayar değişikliği yapılmadan, internete erişimi mümkündür. Bununla ilgili tanımlama aşağıdaki gibi olmalıdır. return "PROXY1 x.x.x.x:portnumber; x.x.x.x:portnumber PROXY2 y.y.y.y:portnumber; DIRECT;" Bu tanımlama ile, istemci öncelikle 1. Proxy sunucusuna, daha sonra 2. Proxy sunucusuna, sunucusuna, daha sonra da direk olarak internete çıkacak şekilde ayarlama yapılmıştır. Bu özellikle dizüstü kullanıcılarının, ofis dışında, hiç bir ayar değişikliği yapmadan internete çıkabilmelerini sağlayacaktır. 4 e. Örnek Pac Dosyası Aşağıda bahsi geçen maddelere ere ilişkin örnek bir pac dosyası bulunmaktadır. Bu dosyayı iis hizmeti veren herhangi bir web sunucuya veya farklı bir şekilde host edecek şekilde ayarladıktan sonra, internet tarayıcısındaki ilgili bölüme adres satırını ekleyerek işlem tamamlanır. Internet explorer için ilgili yer; Şekilde gösterildiği gibidir. Örnek pac dosyası; //pacfile function FindProxyForURL(url, host) { /* Don't proxy local hostnames */ if (isPlainHostName(host)) { return 'DIRECT'; } /* Don't proxy local domains */ if (false) { return 'DIRECT'; } /* Don't proxy portal addresses */ if ((host == 'www.example.com) ||dnsDomainIs(host, '.example.com')) ||(host == 'subdomain.example.com')) 5 { 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") ||(dnsDomainIs(host, ".windowsupdate.microsoft.com")) ||(host == "update.microsoft.com") ||(dnsDomainIs(host, ".update.microsoft.com")) ||(dnsDomainIs(host, ".windowsupdate.com"))) { return 'DIRECT'; } if (isResolvable(host)) { var hostIP = dnsResolve(host); /* Don't proxy non-routable routable addresses (RFC 3330) */ if (isInNet(hostIP, '0.0.0.0', '255.0.0.0') ||isInNet(hostIP, '10.0.0.0', '255.0.0.0') ||isInNet(hostIP, '127.0.0.0', '255.0.0.0') ||isInNet(hostIP, '169.254.0.0 '169.254.0.0',', '255.255.0.0') ||isInNet(hostIP, '172.16.0.0', '255.240.0.0') ||isInNet(hostIP, '192.0.2.0', '255.255.255.0') ||isInNet(hostIP, '192.88.99.0', '255.255.255.0') ||isInNet(hostIP, '192.168.0.0', '255.255.0.0') ||isInNet(hostIP, '198.18.0.0', '255.254.0.0' '255.254.0.0')) ||isInNet(hostIP, '224.0.0.0', '240.0.0.0') ||isInNet(hostIP, '240.0.0.0', '240.0.0.0')) { return 'DIRECT'; } /* Don't proxy local addresses */ if (false) { return 'DIRECT'; } } if (url.substring(0, 5) == 'http:' || url.substring(0, 6) == 'https:' || url.substring(0, 4) == 'ftp:') { return "PROXY1 x.x.x.x:portnumber; PROXY2 y.y.y.y:portnumber"; } return 'DIRECT'; şeklindedir. Bu pac dosyası ile, istem istemcilerin cilerin http,https ve ftp erişimlerinin yönlendirilmesi yapılmıştır ve proxy sunucusuna erişim olmadığı zamanlarda direk olarak internete erişmesi sağlanmıştır. 6 Sonuç Pac dosyası ile istemcilerde istenilen tanımlamalara göre, proxy sunucusu kullanılması mümkün olmaktadır. Özet Bu dökümanda pac dosyası ile, istemcilerin nasıl proxy sunucuya erişim yapacağı anlatılmıştır. 7