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