WPAD ile otomatikleştirilmiş Proxy Kullanimi

Değerli arkadaşlar herkesin bildiği ve kullandığı üzere birçok şirkette Web Filtreleme kullanılmaktadır. Şirket internetinin verimli şekilde kullanılması, mesai saatleri içinde ziyaret edilmemesi gereken sitelerin filtrelenmesi ve kanuni zorunluluklar sebebi ile web filtreleme her şirket için vazgeçilmez bir unsurdur. Günümüzde tüm sistem adminleri bu işi çeşitli uygulamalar ve bu iş için üretilmiş appliance’lar ile bu ihtiyacı karşılamaktadırlar. Şirket içi istemcilerin web filtreleme işlemine tabii tutulması için çeşitli yöntemler vardır. Bu yöntemleri ana başlıkları ile inceleyecek olursak transparan ve transparan olmayan şeklinde görebilmekteyiz. Eğer ortamda transparan bir filtreleme sistemi varsa bu işi kullanıcıların lokal sistemlerine herhangi bir düzenleme uygulamadan network katmanında yapabiliyoruz. Peki transparan olmayan uygulama ile nasıl yaparız.

 

Ben şöyle bir senaryo düşündüm. Şirketimizde paralı uygulama kullanmıyoruz. Bunun yerine Squid webcache ve SquidGuard/DansGuardian filter database kullanıyoruz,  ya da Pfsense kullanıyoruz. Yani webfilter hazır. Bu webfilter’ı aşağıdaki gibi kullanıcıların internet explorer ayarlarına elle yazarsanız insanları web filter’a yönlendirmiş olursunuz ve filtreleme yapabilirsiniz.

 

 

image001

 

 

Fakat daha büyük bir problem sizi müşkül duruma düşürecektir. Desktop kullanıcılarında sıkıntı yok. Sabitler çünkü. Peki, notebook’lar ne olacak. İnsanlar akşam eve gittiklerinde interneti kullanamayacaklar. Çünkü internet explorer webfilter’i arayacak ve bulamayınca internete çıkamayacaklar. İşte tam bu noktada WPAD çözümü devreye giriyor. Bu çözüm aslında bir java script çözümüdür. Çalışanlar yeniden işe geldiklerinde otomatik webfilter kullansınlar, evlerine gidincede webfilter’ı aramasın şeklinde çalışır. Bunu iş için 3 yöntem var. Bunlar,

 

1-      DNS üzerinden dağıtım

2-      DHCP ile dağıtım

3-      Gruop Policy ile dağıtım

 

Bu yöntemleri anlatmaya başlamadan önce ön gereksinimleri tamamlamamız lazım. Sonrasında adımları gerçekleştirebiliriz.

 

İlk olarak WPAD script’ini yazmalıyız. Bu script çok ilginç, herhangi bir karakteri yanlış yazmamamız çok önemli. Script’i aşağıda açıklamaları ile görebilirsiniz. Bu script’i kendi istekleriniz doğrultusunda düzenlemeniz gerekebilir.

 

function FindProxyForURL(url, host)
{
// WebFiltreleme
uygulanmadan, direk gidilecek serbest siteler
  if (shExpMatch(url, “http://www.evrenbanger.com*”))
        return “DIRECT”;
  if (shExpMatch(url, “http://www.bilgehanpoyraz.com*”))
        return “DIRECT”;
  if (shExpMatch(url, “*cozumpark.com*”))
        return “DIRECT”;
  if (shExpMatch(url, “http://192.168.1.100/”))
        return “DIRECT”;
// local network kullanımında proxy
kullanma
  if (isPlainHostName(host))
        return “DIRECT”;
// ip bloklarına gore proxy’e yonlendirme
  if (isInNet(myIpAddress(),”192.168.1.0″,”255.255.255.0″))
        return “PROXY 192.168.1.43:3128”;
  if (isInNet(myIpAddress(),”10.0.1.0″,”255.255.255.0″))
  if (isInNet(myIpAddress(),”10.0.2.0″,”255.255.255.0″))
        return “PROXY 10.0.1.43:3128”;
  else
        return “DIRECT”;
}

 

Açıklama alanlarının başındaki “//” karakterleri o alanların açıklama alanları olduğunu bildirir. Onlarla birlikte kullanabilirsiniz. Şimdi yukarıdaki metni bir wpad.txt dosyası haline getirelim ve erişilebilir bir yerde, mesela masaüstünde tutalım.

 

Sonraki adımda bir web server’a ihtiyacımız var. Apache veya IIS kullanabilirsiniz. Ben hemen her networkte bulunan bir IIS server olacağını düşünüyorum. Bir IIS sunucu bulalım. wpad.txt dosyasını bu sunucu

üzerindeki  “C:\inetpub\wwwroot”  lokasyonuna kopyalayalım. Sonrasında hemen test edelim. http://IIS-sunucu-ip-adresi/wpad.txt yazarak bakın bakalım wpad içeriği görülecekmi. Eğer görebiliyorsanız problem yok demektir. Göremiyorsanız sebebine bakarak IIS servisini kontrol ediniz. Mutlaka yukarıdaki metni aşağıdaki gibi internet explorer sayfasında görmeniz lazım,

 

 

 

 

Şimdi proxy dağıtım yöntemlerine başlayalım. ilk olarak DNS ile nasıl dağıtırız ona bakalım.

 

1-      DNS üzerinden WPAT yayınlama,

 

Bu yöntem ile çok basit bir şekilde WPAD yayınlama yapabilirsiniz. Fakat stabil çalışmadığını gözlemledim. DNS yöntemi ile saha çalışmalarında çok başarılı sonuçlar elde edemedim. Bu işlemin çalışabilmesi için aşağıdaki kutunun client sistemlerde mutlak surette konmuş olması lazım

 

 

 

 

Şimdi DNS konsol’unu açalım ve aşağıdaki gibi kayıt oluşturalım.

 

 

 

 

Domain üzerine sağ tıklayıp New Alias (CNAME) seçeneğini seçelim. Gelen ekran aşağıdaki gibi olacaktır,

 

 

 

 

Yukarıdaki gibi gerekli boşlukları dolduralım ve kaydı oluşturalım. SRVDC01.COZUMPARK.INTRA isimli sunucu IIS olan sunucu olacak, yani bizim wpad.txt dosyasının yayınlandığı sunucu. Bu işlem sonrası client sistemlerden wpad.cozumpark.intra adresini pingleyebiliyor olmalısınız, ama pingleyemeyeceksiniz çünkü wpad adresini MS güvenlik gereksinimi gereği ile pinglenemez hale getirdi. Wpad üzerinden çeşitli hack yöntemleri mevcut olduğundan böyle bir kısıtlama geldi. Şimdi dns sunucu üzerinde Cli’ da aşağıdaki komutu uyguların,

 

C:\dnscmd /config /globalqueryblocklist

 

Bu komutu uyguladıktan sonra ipconfig /flushdns komutunu uygulayıp wpad.cozumpark.intra adresini pingleyebileceksiniz. Pingleyebiliyorsanız işlem tamamdır. Client sistemleri restart ettiğinizde internete proxy üzerinden çıkmanız gerekir. Fakat daha öncede belirttiğim gibi ben çok başarılı sonuçlar elde edemedim. Client sistemlerden bazıları proxy kullanabiliyorken bazıları kullanamıyordu. Şimdi 2nci yöntem yani DHCP ile wpad dağıtımına geçelim.

 

2-      DHCP ile wpad yayınlama

 

Bu yöntem DNS yönteminden daha stabil çalışmaktadır. Bu iş için 252 nolu kaydı oluşturacağız. Hemen DHCP konsol’u açalım ve başlayalım,

 

 

 

 

Ipv4 üzerine sağ clik yapalım ve “Set Predefined Options” seçeneğine tıklayalım. Aşağıdaki pencere çıkacaktır,

 

 

 

 

Add butonuna tıklayalım devam edelim,

 

 

 

 

Data type kısmını string’e çeviriyoruz ve istenilen bilgileri yukarıdaki gibi dolduruyoruz, devam edelim,

 

 

 

 

Aslında policy tamam. Şimdi yaptığımız policy’yi var olan scope’a ilave edelim. Scope Options’a gelip yukarıdaki gibi mouse sağ tıklayalım ve configure options diyelim.

 

 

 

 

Çıkan pencerede en altta yeni yaptığımız policy’yi göreceksiniz. Kutuyu tıklayıp geçerli hale getirelim sonra string value kısmına yukarıdaki gibi adresimizi yazalım. Ve ok diyerek işi bitirelim, ekran görüntüsü şu şekil olacaktır,

 

 

 

 

Bu işlem ile DHCP dağıtım işini halletmiş oluyoruz. Client sistemler kapanıp açıldığında yada ipconfig /release ipconfig /renew komutlarını çalıştırdığımızda client’lar DHCP’den geçerli ayarlar alınmış olacaktır. Bu şekilde policy uygulama şansınız olmayan domain dışı misafir client’larada wpad’i uygulamış olabileceksiniz.

 

3-      Policy ile WPAD uygulama

 

Bu yöntem en kesin yöntemdir. Ancak sadece domainde bulunan clientlara uygulayabilirsiniz. Domain dışı client’lara uygulayamazsınız. Hemen uygulanacak adımlara geçelim. Domain controller üzerindeki Group Policy Management Editor’u açalım. Hem windows 2012 hemde windows 2008 R2’ye göre anlatmam gerekecek, çünkü yerleri değişmiş.

 

a-      Windows 2012’ye göre uygulama,

 

Windows 2012’de işlemi aşağıdaki gibi yapabilirsiniz,

 

GPO management console’unu açalım aşağıdaki yeni bir policy oluşturalım,

 

 

 

 

 

 

İsmini verelim devam edelim, Ben Proxy Policy olarak verdim,

 

 

 

 

Edit diyelim ve düzenleyelim. Aşağıdaki lokasyona gidiyoruz,

 

 

 

 

 

Evet Windows 2012’de policyde yer değişikliği var. Eski sürümlerde proxy ayarları kolay ulaşılabilir bir yerdeydi, durum değişmiş. User configuration – Preferences – Control Panel Settings – Internet Settings yoluna gidiyoruz. Burada Internet Settings başlığına sağ klik yaparak New diyoruz. Aşağıdaki ekran karşınıza gelecek, Ben İnternet Explorer 10 için konfigürasyon için yapıyorum. Siz diğerleri içinde ilave etmeyi unutmayın.

 

 

 

 

Yukarıda göreceğiniz üzere Connection tab’ına gidiyoruz ve aşağıdaki LAN settings butonuna tıklıyoruz, ağaşıdaki ekran gelecektir,

 

 

 

 

Göreceğiniz üzere tüm ekran bomboş. Ve yine gördüğünüz üzere Use automatic configuration script seçeneği pasif. Bunu enable etme şansınız yok. Taaki, oraya gerekli bilgileri yazana kadar. Aşağıdaki gibi gerekli bilgileri dolduralım,

 

 

 

 

Şimdi ok diyerek çıkıp tekrar girin. Göreceksiniz pasif bölüm,  aşağıdaki gibi işaretlenmiş olarak gelecektir. Görelim,

 

 

 

 

Gördüğünüz gibi kare tıklandı. Bir nokta daha var, http://192.168.1.25/wpad.txt adresi yazılı yere tıkladıktan sonda F6 tuşuna basarsanız bu yazının altındaki kırmızı ___’ler yeşil tam çizgilere dönecek, bunu atlamamanız lazım. F6 çok önemli. Bundan sonra OK ve Apply diyerek herşeyi tamamlayabiliriz. Windows 2012 sunuculu ortamlar için işlem tamamlandı. Client makinalar kapanıp açıldığında herşey tamam olacaktır.

 

b-      Windows 2008’e göre uygulama,

 

GPO management console’unu açalım ve aşağıdaki adrese gidelim,

 

 

 

 

Yukarıdaki gibi istenen yerleri dolduralım. Ok diyerek çıktığımızda GPO işini halletmiş oluyoruz. Bu işlem Windows 2008R2 ve öncesi için geçerlidir.

 

Proxy WPAD dağıtma işini bu şekilde tamamlamış oluyoruz. Benim şahsi önerim bu 3 yönteminde aynı anda uygulanması yönünde olacaktır. Bu şekilde sonuç daha başarılı olacak ve sizin içinde daha otomatize edilmiş olacaktır.

Kolay gelsin.

Exit mobile version