1. Ana Sayfa
  2. Server 2008
  3. SSTP (Secure Socket Tunneling Protocol) VPN Kurulumu Nasıl Yapılır?

SSTP (Secure Socket Tunneling Protocol) VPN Kurulumu Nasıl Yapılır?

SSTP (Secure Socket Tunneling Protocol) VPN Kurulumu Nasıl Yapılır?

Bu makalemizde VPN tiplerinden Secure Socket Tunneling Protocol’ü (SSTP) ele alacağız. Sistem yöneticilerinin en büyük sorunlarından biri kaynaklarını güvenli bir şekilde dışarı açmaktır. Açılan kaynağa kimler bağlanacak, nasıl bir bağlantı tipi seçmeliyim, güvenliği en iyi şekilde nasıl sağlarım gibi sorular aklımızda sürekli dolaşır. VPN tiplerinden birini seçeceğiniz zaman aradaki farkı bilmek, her zaman için en iyi olanı seçmenize olanak sağlar. PPTP VPN yapmak isterseniz, kullanıcı adı ve şifresini bilmeniz yeterli olacaktır, ancak bu güvenlik açıklarını da beraberinde getirir. Neden mi? Çünkü VPN yapacak olan kullanıcının, kullanıcı adı ve şifresini Network trafiğinizi izleyen birileri ele geçirirse o zaman istediği gibi yapınıza VPN bağlantısı yapıp bağlanabilir. Peki L2TP VPN bağlantısı seçtiğimizi varsayıyorum, yine kullanıcı adı ve şifre gerekiyor ve bununla beraber sertifika veya Pre Shared Key (Paylaşılmış ortak Anahtar) kullanmak zorunda kalırız. Genelde L2TP VPN yapısı kullanan sistem yöneticileri sertifika ile uğraşmak yerine Pre Shared Key kullanmayı tercih ederler. Evet güvenlik önlemleri PPTP VPN yapısına göre daha güvenli ancak bu sefer de şöyle bir sorunla karşılaşabilirsiniz. VPN kullanıcınız iş için bir başka şehre gittiğini varsayalım, kaldığı otelden şirkete VPN bağlantısıyla bağlanıp bir kısım veriyi incelemek istediğinde bağlanamayabilir. Çünkü PPTP ve L2TP VPN’nin kullandığı bağlantı portları her zaman her yerde açık olmayabilir. VPN kullanıcınız şirkete bağlanmaya çalıştığında otelin Firewall’una takılıp bağlanamazsa veriyi alamayacak ve sıkıntı yaşayacaktır. Peki hem güvenli hem de her ortamdan bağlanabileceğimiz bir VPN tipi yok mu diye sorduğunuzu duyar gibiyim. Evet böyle bir bağlantı tipi mevcut, bu bağlantımızda makalemizin konusu olan Secure Socket Tunneling Protocol’ü (SSTP). Web hizmetine (http ve https) erişebildiğimiz her noktadan Secure Socket Tunneling Protocol’ü (SSTP) yapıp şirkete bağlanabiliriz, çünkü SSTP VPN’in kullandığı port TCP 443 SSL portu. Bu port internet erişimi olan her noktada Firewall cihazlarında izin verilmiş durumdadır. Şimdi hem güvenli hem de her yerden VPN yapabileceğimiz bir yapımız olabilir mi?

Bu ön bilgiden sonra sıra geldi SSTP VPN yapacağımız Server üzerindeki yapılandırmaya. VPN Server olarak kullanacağımız makinada Windows Server 2008 R2 işletim sistemi kullandım. Daha önceden VPN Server olarak kullanacağım makinada Network Policy and Access Services rolünü kurup Routing and Remote Access‘i yapılandırmıştım. Makinayı hem Router hem de VPN Server olarak kullanacağımız için NAT ve VPN bileşenlerini yüklemiştim. İç yapımızda bir adet Domain Controller makinamız var, SSTP VPN gereksinimi olan sertifika ihtiyacımızı karşılamak için Domain Controller makinamızın üzerine Active Directory Certificate Services rolünü kurulu. Mevcut domain yapımızda VPN1 adlı bir kullanıcı oluşturup bu kullanıcıyla VPN bağlantısı gerçekleştirmeye çalışacağız.

VPN Server olan makinamızı açıyoruz ve bu makinaya SSTP VPN için bir sertifika alacağız. Sertifikayı makinaya alacağımız için Run => mmc şeklinde boş bir konsol açıyoruz.


Resim-1

Açılan bu konsolu ne amaçla kullanmak istiyorsan o bileşeni yüklemek için File sekmesinden Add/Remove Snap in … tıklıyoruz.


Resim-2

Amacımız VPN makinasına sertifika almak olduğu için bu konsolda Certificate seçeneğini seçip Add butonuna tıklıyoruz,


Resim-3

Bu konsol aracılığıyla Kullanıcı, Servis veya makine için sertifika talebinde bulunabiliyoruz, amacımız makine için sertifika almak olduğu için Computer Account seçeneğini seçiyoruz.


Resim-4

Peki almak istediğimiz sertifikayı bu makina (VPN Server) için mi yoksa başka bir makine için mi talep ediyoruz, VPN Server için sertifika almak istediğimiz için Local Computer seçeneğini seçiyoruz.


Resim-5

Açılan Sertifika Yönetim Panelinde Güvendiğimiz Kök Sertifikalar‘a bakalım, Çünkü sertifika talep edeceğimiz Certificate Authority (CA) bu alanda yok ise haliyle sertifika isteğinde de bulunamayacağız. Kurduğunuz CA bu panelde görünmüyorsa Cmd => gpupdate /force komutunu kullanıp GPO’lerinden bu bilgiyi alabilirsiniz.


Resim-6

Sıra geldi VPN Server makinamız için sertifika almaya. Personal sekmesini sağ tıklayıp All Tasks => Request New Certificate diyoruz.


Resim-7

Sertifika talebinde bulunmadan önce kısa bir hatırlatma penceresi ile karşılaşıyoruz, Next deyip devam edelim.


Resim-8


Resim-9

Amacımız makine için sertifika almak olduğu için CA bize yardımcı oluyor ve makine için alabileceğimiz sertifikaları gösteriyor. Show all Templates derseniz tüm sertifikaları görebilirsiniz.


Resim-10

Enroll deyip sertifika istediğinde bulunduk ve başarılı bir şekilde makinemiz için bir sertifika almış olduk.


Resim-11

Aldığımız sertifikayı görmek için yine Personal sekmesine bakmamız yeterli olacaktır.


Resim-12

Ve emin olmak istiyorsanız CA panelinden Issued Certificates sekmesine bakın.


Resim-13

Şimdiye kadar yaptığımız işler makine için sertifika almaktı, şimdi sıra geldi bu aldığımız sertifikayı VPN Server’in SSTP VPN yaparken kullanabilmesine. VPN Server olan makinamızdan Routing and Remote Access konsolunu açın ve makine adının üzerine (Yanında Local yazan yer) sağ tıklayıp Properties‘ı açın,


Resim-14

Açılan Properties penceresinden Security sekmesine geçin, alt tarafta SSL Certificate Binding yazan yerde biraz önce almış olduğumuz sertifika görünecektir. Eğer Use http seçeneğini de seçerseniz TCP 80 portundan gelen istekleri de kabul et demiş olursunuz ama tavsiye etmem. Çünkü amacımız gelip giden trafiği şifreli hale getirip güvenliği arttırmak.


Resim-15

Sertifikayı gösterdikten sonra OK seçeneğini tıkladıysanız VPN makinamız ayarların geçerli olabilmesi için Routing and Remote Access servisini yeniden başlatması gerektiğiyle ilgili bizi uyarıyor.


Resim-16

Yes seçeneğini seçip devam ettiğimiz takdirde servis kendini yeniden başlatıyor.


Resim-17

VPN Server tarafında yapacağımız işlemler bu kadar, sıra geldi VPN yapacak olan kullanıcının ayarlarını yapmaya. Domain Controller (DC) olan makinaya gidip Active Directory Users and Computers panelinden bağlanacak olan kullanıcıyı seçip, bağlanabilme yetkisini kontrol ediyoruz. Normal şartlarda kullanıcıya böyle yetki verilmez ancak test ortamında olduğumuz için Network Policy Server (NPS) ile uğraşmadım, ancak NPS için ayrı bir makale yazacağım.


Resim-18

Bağlanacak olan kullanıcının gerekli ayarları yapıldıktan sonra, sıra geldi VPN yapacak olan kullanıcı makinesinin, VPN Server için kullandığımız sertifikaya güvenmesine. VPN Server makinesine Sertifika veren yapıya dışardaki (Domain dışındaki makinalar) güvenmediği için bu kök sertifikayı bağlanacak olan makinaya tanıtmamız ve al bu kök sertifikaya güven dememiz gerekiyor. Bunu yapmanın bir milyon yolu var arkadaşlar, ben en basitini seçip kök sertifikayı kopyalayıp diğer tarafa yapıştır şeklinde yapacağım. DC makinamıza CA kurduğumuz için bu kök sertifikayı, DC olan makinamızdan kopyalıyorum.


Resim-19

VPN kullanıcımızın makinasına bu kök sertifikayı taşıyoruz.


Resim-20

DC makinamızdan aldığımız bu kök sertifikayı VPN kullanıcısının makinasına tanıtmak için Run => mmc konsolunu açıyoruz.


Resim-21

Açılan konsoldan daha önce yaptığımız gibi hangi servis için hizmet verecekse onu ekliyoruz.


Resim-22


Resim-23

Ekleyeceğimiz bu kök sertifika makine için olduğundan, Bilgisayar hesabı diyoruz.


Resim-24


Resim-25

Sertifika yönetim panelimiz açıldığında kök sertifikayı tanıtmamız gerekiyor. Güvenilen Kök Sertifika Yetkilileri sekmesinde sağ tıklayıp Tüm Görevler => Al diyoruz.


Resim-26


Resim-27

DC’den aldığımız kök sertifikanın yolunu göstermek için Gözat butonunu tıklıyoruz ve Sertifikamızı gösteriyoruz.


Resim-28


Resim-29


Resim-30


Resim-31

DC makinamızdan aldığımız Kök Sertifikanın VPN yapacak olan kullanıcı makinasına başarılı bir şekilde eklendiğini görüyoruz.


Resim-32


Resim-33

Sıra geldi SSTP VPN için son adıma. SSTP VPN kullanıcısı VPN Server’e bağlanırken bazı ayaları kontrol ediyor ve gereksinimler doğruysa bağlanabiliyor. Peki nedir bu gereksinimler veya neleri kontrol ediyor? CA zamanı dolmadan iptal edilen Sertifikaları Revoked Certificates‘in içinde tutuyor, bu bilgiler ise bir listenin içinde tutulur. Bu listeye verilen isim Certificate Revocation List (CRL), listeyi herhangi bir yerde tutabilirsiniz. Bu listenin nerede olduğunu gösteren yer ise Certificate Revocation List Distribution Point (CDP). CA sertifika verirken default gelen ayarda CDP bilgilerinin nerede olduğunu söylemiyor. Bu yüzden VPN kullanıcısının makinası VPN Server’e bağlanırken CDP bilgilerini kontrol etmek isteyecektir. CA böyle bir bilgi vermediği için sertifikalarda bu bilgi mevcut değil, Client bağlanmaya çalıştığında bu bilgiye ulaşamazsa direk bağlantıyı kesiyor ve bağlanamıyoruz. Client’in VPN Server’e bağlanırken CDP sormaması için Windows Registry‘de küçük bir oynama yapmamız gerekiyor. Regedit’e girip bir ton işlem yapmak bir .reg dosyası ile bu işi çözebiliriz. Windows Registry Editor ile hazırladığım bu .reg dosyası aşağıdaki gibidir.


Resim-34

İsterseniz hazırladığımız .reg dosyası ile işinizi çözün isterseniz Regedit‘e girip bu ayarlamayı yapın.


Resim-35


Resim-36


Resim-37

Şimdi sıra geldi bağlantı noktasına. Ağ ve Paylaşım Merkezi‘ne girip VPN bağlantımız için oluşturduğumuz bağlantının ayarlarını yapalım.


Resim-38

Ağ bağlantımızın üzerinde sağ tıklayıp Özellikler diyoruz,


Resim-39

Açılan VPN Bağlantısı Özellikleri penceresinde, bağlanacağımız yerin ismini yazıyoruz. PPTP ve L2TP VPN yaparken buraya ip adresi yazmak yeterli oluyordu. Ancak bu bağlantı sertifika gerektirdiği için, bağlanılacak yer ile sertifikadaki bilgi birbirini tutmalı aksi takdirde bağlantı gerçekleşmez. VPN Server için aldığımız Sertifikada isim ne ise buraya aynısını yazıyoruz.


Resim-40

Güvenlik sekmesine gelip VPN Türü‘nü SSTP seçmeliyiz.


Resim-41

Bu işlemden sonra yapmamız gereken ufak bir ayarlama daha kaldı. Dikkat ettiyseniz bağlanılacak yere ip adresi yerine RRAS2008R2.esaglik.local yazdık, peki bu ismi ip adresine nasıl çözebiliriz? Eğer public ortamda böyle bir domain adresiniz varsa gidip domaininize (Public ortamda hizmet veren domainden bahsediyorum) RRAS2008R2 host kaydını oluşturup, ismi ip adresine çözümleyebilirdik. Ama public ortamda böyle bir domain yoksa ne yaparız. İşte o vakit yardımımıza koşacak olan vatandaş, bağlanacak kişinin Host dosyası oluyor. VPN kullanıcısının Host dosyasını açıp RRAS2008R2.esaglik.local ismine karşılık gelen ip adresini ekliyoruz.


Resim-42


Resim-43

Şimdi herşey hazır ve sıra geldi bağlantıyı test etme noktasına. VPN kullanıcısının Ağ bağlantılarından VPN bağlantısını seçiyor ve bağlanmaya çalışıyoruz.


Resim-44

Active Directory Users and Computers içinde oluşturduğumuz VPN1 adlı kullanıcı ile testimizi başlatıyoruz,


Resim-45

Bağlantı gerçekleştikten sonra VPN kullanıcısının ip adresini kontrol ediyorum.


Resim-46

Domain Controller olan makinaya ping atmaya çalışıyorum.


Resim-47

Routing and Remote Access panelinden Ports sekmesinde kullanılan portları inceliyoruz,


Resim-48

Yine Routing and Remote Access panelinden Remote Access Clients sekmesinden bağlı olan kullanıcıları takip edebiliyoruz.


Resim-49

Tüm bu ayarları yaptığınız halde bağlanamıyorsanız, şu işlemleri deneyin arkadaşlar. Routing and Remote Access panelinden IPv4
=> NAT => External (External dışa hizmet veren interfacenin ismi) üzerinde sağ tıklayıp Properties diyoruz.


Resim-50

External interface’nin özelliklerinde Services and Ports tabına gelip Secure Web Server (HTTPS) i tıklayın. NOT: Bu işlemi yaparken Secure Web Server (HTTPS)’in yan taraftaki kutucuğun işaretli olmadığından emin olun.


Resim-51

222.222.222.222 yazmamın bir esprisi yok arkadaşlar, parmağıma en yakın tuş o olduğu için seçtim. Neden böyle bir durumla karşılaşıyoruz derseniz maalesef Services Pack ile gelen bir sıkıntı. Bu şekilde sorunsuz bir bağlantı yapabilirsiniz.

Bu konuyla ilgili sorularınızı https://forum.mshowto.org linkini kullanarak ulaşacağınız forum sayfamızda sorabilirsiniz.

Referanslar

www.mshowto.org

Yorum Yap

Yazar Hakkında

Bilişim gönüllüsü olarak sektörün bir çok kademesinde farklı görevlerde çalıştı. Sahip olduğu sertifikalar; Microsoft Certified Trainer(MCT), Microsoft Certified Solutions Expert (MCSE), Microsoft Certified Solutions Associate (MCSA), Microsoft Certified IT Professional(MCITP), Microsoft Certified Technology Specialist(MCTS).

Yorum Yap

Yorumlar (3)

  1. Sevgili Erkan Sağlık, eline sağlık 🙂
    gerçekten çok işe yarayan bir doküman hazırlamışsın. teşekkürler.

  2. 4 sene önce

    Hocam Çok sağolun çok teşekkürler makaleniz çok ama çok yardımcı oldu herşeyi yaptım fakat tek host dosyasına dns kaydını girmedigimden zorlandım 🙂 ama çömzdüm sayenizde çok ama çok teşekkür ederim…

  3. 4 sene önce

    Merhabalar, çok sade ve güzel bir anlatım olmuş. Ellerinize sağlık. Benim şöyle bir sorum olacak. VPN için kullanılacak sertifikayı gerçek sertifika olarak satın aldığımızda istemci tarafında herhangibir ayar gerektirmeyecek sanırım?