Windows Server 2003 VPN Karantina (VPN Quarantine) Bölüm I
Kategori: (Windows Server 2003) Yazan: BakiOnur, 18-01-2009
Günümüzde server sistemlerin güvenlik politikaları çeşitli senaryo ve çözümlere sahne olmuştur. Bu çözümlerden biri olarak “VPN Quarantine” uzak bağlantılarda popülaritesini koruyan bir denetim şekli olarak şirketlerin güvenlik çözümlerinde ön sıralarda bulunmaktadır. Bu yararlı olgu sayesinde uzak kullanıcıların VPN ile şirket networküne bağlanmaya çalışmaları esnasında uygulanacak bazı politikalar ve şartlarla (örneğin antivirus programı kullanmayan uzak kullanıcıların şirket networkune bağlanmalarına izin vermemek) şirket güvenliğini sağlamak mümkün olabilmektedir. “Quarantine” kelimesi Türkçemizde “Karantina” olarak adlandırılmaktadır. Dolayısıyla söylemlerimde bu şekli kullanacağım. J Adından da anlaşılacağı gibi Karantina ile yapabileceklerimizin başında uzak kullanıcıların bağlantılarını gerçekleştirmelerinden sonraki safhada ikinci bir güvenlik kordonundan geçmek zorunda bırakılmalarını sağlamaktır. Karantinanın kurulması ve uygulanması için elimizde bulunması gereken materyaller şunlardır. - Windows Server 2003 Ent Edition kurulu bir işletim sistemi - Active Directory Yapısı (Yapılandırılmış bir Domain Controller) - Windows Server 2003 Ent Cd - Karantina için kullanılacak bir .exe, bir .bat ve bir .txt dosyası Evet şimdi sıra geldi kuruluma başmalaya. Unutmamak gerekir ki VPN KARANTİNA kurulumu oldukça aşamalı ve dikkat gerektiren bir kurulumdur. Tüm bu ön bilgerden sonra artık kuruluma geçebiriz. Senaryomuzda bir iş gezisi için Uzak Doğu’ya giden bir kullanıcının şirket networküne uzaktan erişerek kaynakları kullanması anlatılacaktır. Öncelikle Active Directory Users and Computers içerisinde bir kullanıcı yaratıyoruz. Bu kullanıcı uzak bağlantıyı gerçekleştireceğimiz kullanıcı.

Kullanıcımızın Adı “vpn1″ Şimdi bir global group oluşturuyoruz.

Oluşturduğumuz kullanıcıyı “control” grubuna üye yapıyoruz.

Grup yaratmamızdaki amaç Remote Policy tanımlamalarında grup kullanıyor olmamız. Şimdi sıra geldi DHCP yi yapılandırıp uzaktan bağlanacak kullanıcıların şirket networkunde yer alabilmeleri için onlara ip atanmasını sağlamaya. Network Servislerinden DHCP yi kuruyoruz. 
DHCP’yi kurduktan sonra bir scope oluşturuyoruz.

Bu scope yaratılırken uzaktan bağlanacak kullanıcılara atanacak IP adreslerinin şirketin “iç” subnetinde olduğuna dikkat ediyoruz. Şimdi IAS (Internet Authentication Services) adını veridiğimiz ve bütün Authentication olaylarını kontrol eden servisi kuruyoruz. Bu sayede VPN kullanıcısının güvenlik kontrolü bu noktada yapılacak.

IAS kurulduktan sonra yapılması gerekn en önemli görev onu Active Directory içerisinde Register etmektir. Aksi halde IAS görevini yerine getirmeyecek çünkü Active Directory’den yetki alamayacaktır.

Bu register işleminin ardından Active Directory üzerinde Users bölümünde bulunan “RAS and IAS Servers” adlı grubun üyeleri arasına “CLI” adıyla bizim IAS serverimiz da eklendi.

Bu senaryoda DC ve IAS aynı server üzerine kurulduğundan dolayı aynı ismi görmekteyiz.

Şimdi IAS üzerinde RADIUS (Remote Access Dıal-In User Service) Server’in yapilandirilmasi gerekiyor ki VPN kullanicilari RADIUS uzerinden kontrol edilebilsin ve KARANTİNA’ya alınmaları gerektiği bilgisine ulaşabilsinler. 

Burda dikkat edilmesi gereken “client address” bölümüne yazılacak IP’nin aslında uzak kullanıcıyı ilk olarak karşılayacak olan VPN Server’in yani yine bizim senaryomuzda DC üzerinde kurulu olan Routing and Remote Access Server üzerinde yapılandırılan VPN SERVER. Bundan dolayı bu kısma VPN SERVER IP’si yazılmalıdır.

Burada belirttiğimiz “Shared Secret” daha sonra VPN Server yapılandırılırken karşımıza çıkacak ve VPN SERVER ile RADIUS SERVER arasındaki tokalaşmayı sağlayacaktır.

Şimdi IAS üzerinde uzak kullanıcılar için uygulanacak olan güvenlik kurallarını yaratalım.

Burda öncelikle KARANTİNAYA alınacaklara uygulanacak işlemleri ortaya koyacağımız kontrol bölümü.

Bu kısımda öncelikle kontrolden geçeceklerin grubunu beliriyoruz. Daha önceden oluşturduğumuz “control” adli grubu Windows-Group adlı tema ile ekliyoruz.




İşte burda Add diyoruz ve “MS-Quarantine” adli filtrelerimizi ekliyoruz. Bununla beraber kullanıcıların KARANTİNA’ya alınmaları gerektiğini IAS üzerinden RADIUS’a bildiriyoruz.

Bu kısımda karantinaya alınacak kullanıcıların karantinada ne kadar süre bekletileceklerini ortaya koyuyoruz. Karantinada daha sonradan uygulacağımız şartlarla uyuşmayan kullanıcılar burda belirteceğimiz saniye periodundan sonra otomatik olarak Disconnect edileceklerdir. Örneğimizde 10 saniye belirtiyoruz. 
Şimdi de Karantinaya aldğımız kullanıcıların karantina içerisinde kaldıkları müddet boyunca çalıştırabilecekleri program ya da kullanabilecekleri uygulamalarin portlarını belirtiyoruz.

Dışarıdan gelecek bağlantıları filtreleyeceğimizden dolayı Input Filter seçilmelidir.


Yeni bir filtre oluşturup burda TCP 7250 portunu açıyoruz aksi halde karantinadaki kullanıcı hiçbir şekilde şirket içerisinde var olamayacaktır. Bu noktada istenirse gerektiğini düşündüğünüz diğer portları da açabilirsiniz. Fakat unutmamak gerekir ki şartları sağalamayan bir kullanıcı çok fazla yetkiye sahip olmamalıdır. Bundan dolayı gereksiz port açılmamalıdır.


Permit seçeniğiyle yalnızca belirttiğimiz portun kullanılmasını bunun dışında kalanların ise kesinlikle reddedilmesini sağladık.

Son durum bu şeklide gözükecektir.

Şimdi de kontrol edilecekler gibi ikinci bir Policy oluşturuyoruz bunu da diğer bütün kullanıcıların giriş yapabilmesi için kullanıyoruz. Yani karantina ile ilgisi olmayan diğer tüm uzak kullanıcılar..


Day-And-Tme Restiriction ile diğer bütün kullanıcıların uzak bağlantılarında geçerli olacak zaman kısıtlamasını ortaya koyuyoruz.

Tüm zamanlara Permit vererek serbest giriş hakkı veriyoruz.


Policy lerimizin son durumu bu şekilde oluşuyor. Fakat önemli bir ayrıntı olarak şunu unutmamak gerekir ki; Kontrol edileceklerin kurallarının ilk sıraya taşınması gerekmekte. Bunun sebebi ise ilk aşamada kontrol kriterlerimizi uygulatabilelim. Aksi halde ilk sırada serbest hakları sağlayan “diğerleri” isimli kural olursa hiçkimse kontrol edilme aşamasına gelmeden serbest bir şekilde ağa dahil olacaklardır. Bundan dolayı “kontrol edilecekler” isimli kuralı ilk sıraya alıyoruz.

Şimdi Routing and Remote Acces Serverin VPN server olarak yapilandirilmasi ve RADIUS Server’i tanıyabilmesi sağlanmalıdır. Bu sayede authentication VPN server tarafından RADIUS Server’a iletilecektir. Routing and Remote Access Server’i VPN için yapılandırıyoruz. 

Dış ağa çıkarken kullandığım interface’i seçmeliyiz.

DHCP yi yapılandırdığımız için uzaktan bağlanacak kullanıcılar ilk olarak VPN Server’a ulaşacaklarından dolayı ilk IP atamaları bu noktada yapılacaktır.

Bu kısımda VPN SERVER’a bizim bir RADIUS Server’imizin olduğunu söyleme zamanı geldi.

RADIUS Server olarak IAS üzerinde yapılandırdığımız RADIUS Serverin IP sini yaziyoruz ve Shared Secret şifresini de yazıyoruz. Artık VPN Serverile RADIUS kolaylıkla anlaşabilecekler ve uzak kullanıcıların kontrol denetimi VPN serverdan RADIUS servera aktarılacak.

VPN SERVER konfigurasyonu da bu şekilde tamamlanıyor.

Şimdi IAS, RADIUS, VPN Server konfigurasyonlarindan sonra “Quarantine Service” adli servisi kurallarımızın uygulanabilmesini sağlamak amacıyla yüklememiz gerekiyor. Bunu da yine NETWORK SERVICES kismindan yapiyoruz.

Bu servisi kurduktan sonra manual olarak start etmemiz gerekecek. Bunun için “servisler” Bölümünden servisi açmalıyız.

Önce Automatic yapiyor ardindan Start ediyoruz.

Artık server tarafında yapılması gereken son bir şey daha kaldı. Bu da Connection ayarlaması yapmak. Bu kısımda da client tarafında kullanılmak üzere bir nevi application yaratacağız. Bu sayede client uzak bağlantısını herhangi bir ayar yapmaksızın çalıştırdığında doğrudan şirketin dışa açılan kısmına yani VPN Server’a bağlanacak ve ardından gerekli authentication sürecinden sonra karantina işlemleri yapılacak ve gerekli şartlerı yerine getirdiğinen şirket networkune dahil olacaktır. Bu connection ne şekilde yaratılıyor bunu da ikinci bölümde inceleyeceğiz.

