Teknolojideki gelişmeler, bilgisayarı hayatımızın vazgeçilmez bir parçası haline getirmiştir. Günlük yaşantımızda yaptığımız pek çok eylem de biz fark etmesek te onlar vardır. Bu denli fazla bilgisayar kullanımı bize pek çok kolaylık sağlamaktadır. Eskiden tutulan muhasebe defterleri şimdi, iki tıklama ile karşımızda, bankalara gidip para yatırmak yerine yine internet bankacılığını kullanarak oturduğumuz yerden istediğimiz kişiye para yollayabiliyoruz. Aslında bu temel iki örneğin dışında bilgisayarın faydaları saymak ile bitmez. Benim de bu makaledeki amacım zaten faydalarından çok zararlarını konuşmak ve bunlara karşı nasıl önlem alacağımızı öğrenmek olacaktır.
Evet, bilgisayarın yaygınlaşması ile artık her bilgiyi ve kaynağı sanal âlemde görmek mümkün oluyor, tabii ki bunun sonucu olarak kötü niyetli bir takım insanların da bu yaygın ağı kullanarak kaynaklara ulaşabileceği manasına gelmektedir.
Peki, bun nasıl gerçekleşir? Evet günümüzdeki bilgisayarların iletişiminde kullanılan temel bir protokol ikilisi vardır; TCP/IP . TCP ve IP iki ayrı protokollerdir ve günümüz network altyapınsa temel iletişim protokolleridir. IP protokolü ( Internet Protocol ) ; temel olarak bir ağ üzerinde bulunan cihazın konumlamasını yapmaktadır. Yani bir ağ üzerinde bulunan bir bilgisayara erişmek için o bilgisayarın ip adresine ihtiyaç duymaktayız ve IP bize bu bilgisayarı adresleyerek bu konuda yardımcı olur. IP temel bir protokoldür, ancak iletişimde veri transfer garantisi vermez. IP protokolü bağlantısız (connectionless ) bir protokol olarak bilinir. Yani TCP deki gibi iletişimden önce bir doğrulama söz konusu değildir. ( link : http://en.wikipedia.org/wiki/Internet_Protocol ) , peki verinin karşı tarafa gönderilmesi nasıl sağlanıyor dersek , bunun cevabı , IP Protokolünü tamamlayan TCP Protokolüdür .
IP protokolünün 3 adet farklı versiyonu vardır, IP v4, IP v5, IP v6. Günümüzde ise IP v4 yaygın bir şekilde kullanılmaktadır. IP Protokolü iletişimin temelini oluşturduğu için aslında IP Protokolünün güvenliği, bizim veri güvenliğimiz manasına gelmektedir. IP v4 te standart olarak bir güvenlik yoktur, yani IP Paketlerinin dinlenmesi halinde alınan paketler içerisinden veriler okunabilmektedir. Bu durum aslında veri trafiğimizin ne kadar güvensiz olduğunu gösteriyor. İşte bu noktada IP Protokolünün eksik kalan güvenlik kısmını IPSec ile doldurmamız gerekmektedir. IP v6 da güvenlik standart olarak gelmekte ancak v4 te bu güvenliği IPSec ile sağlamaktayız.
IpSec ( IP Security ) ; IP trafiğinin güvenliğini sağlamaktadır. Engineering Task Force (IETF) tarafından geliştirilmiş bir protokoldür ( link : http://en.wikipedia.org/wiki/Internet_Protocol ) .
IpSec temelde 3 görev üstlenir, Bunlar;
Veri gizliliği
Veri bütünlüğü
Kimlik doğrulama
IPSec in temel 2 uygulama şekli bulunmaktadır;
Transport Mode = LAN üzerinde yapılan IPSec uygulamaları. Yani bilgisayarlar arasındaki IPSec uygulamasıdır. Bu uygulamada IPSec yapan her iki tarafta IPSec ten anlamak zorunda dır .
Tunnel Mode = WAN Linkler arasında ( ağ geçitleri üzerinde ) yapılan IPSec uygulamaları. Bu uygulamaya örnek olarak; şirketlerin farklı bölgelerde olan ofislerinin arasında kurulan trafiğinin güvenliğini arttırmak için IPSec uygulanır. Bu durumda IPSec yalnızca iki ofisi bağlayan network cihazları üzerinde yapılacak ancak ofislerdeki makineler ise bundan habersiz bir şekilde çalışacaktır . Bu durumda şirket içindeki trafik IPSec siz ancak ofisler arasındaki trafik IPSecli olacaktır.
IPSec uygulamaların örnek vermek gerekir ise;
İstemci makineler arasında, server lar arasında, server istemci makine arasında veya tunnel mode olarak çalışan iki uzak ofisi bağlayan gateway ler arasında.
Peki, IPSec’in temelini oluşturan bileşenleri nelerdir?
IPSec’in bileşenleri:
— IPSec Policy
— IKE (Internet Key Exchange)
— IPSec Driver
IPSec Policy ;
Bilgisayarımızın IPSec yapmasını istediğimizde aktif etmemiz gereken kurallardır. Bilgisayarlarımızda tanımlı olarak gelen 3 adet standart policy bulunmaktadır. Bunları görmek için;
Start – Run – mmc dedikten sonra karşımıza MMC konsolu açılacaktır.
Konsoldan ise “ IP Security Policy Management “ konsolunu çağırıyoruz.
Karşımızda işletim sistemi yüklenmesi ile beraber gelen standart üç policy bulunmaktadır. Bunlar sırası ile
Client: Bu policy uygulanmış olan bir bilgisayar, karşı taraftan herhangi bir istek gelmediği sürece IPSec li bir görüşme yapmaz, ancak karşı taraf IPSec önerirse cevap verir.
Server = Bu policy atanmış bir bilgisayar ( server olması şart değil ) iletişim kurmak isteyen herkesten öncelikle IPSec li bir görüşme talep eder, ancak karşı tarafta herhangi bir atanmış IPSec policy si yok ise, yani IPSec li görüşme yapma imkanı yok ise IPSec siz görüşmeye başlar.
Secure Server = Bu policy atanmış bir bilgisayar ( server olması şart değil ) iletişim kurmak isteyen herkesten IPSec li bir görüşme talep eder, eğer karşı taraf buna cevap veremez ise , görüşme sağlanamaz . Yani iletişim için IPSec şarttır.
IKE (Internet Key Exchange)
IPSec yapacak iki bilgisayar, IPSec li bir görüşme yapmadan önce IPSec standartları üzerinde bir anlaşmaya varır, buna; Security Association- SA denir, IKE nin görevide bu anlaşmayı yapmak ve yönetmektir.
IPSec Driver
Bilgisayara gelen paketlerin, bu bilgisayarda tanımlı olan IPSec Policy ile uyumlu olup olmadığını kontrol eder. Paketler uyumlu ise OSI nin daha üst katmanlarına doğru paket yol alır, uyumlu değil ise paket kabul edilmez.
IPSec driverını Disable etmeniz halinde IPSec çalışmayacaktır. IPSec driverını görmek için, aygıt yöneticisini açmalı, view menüsün den “show hiddin devices” seçeneğini seçmelisiniz
Peki, IPSec bizi hangi saldırılardan hangi yöntemler ile korur?
Saldırı
DoS (Denial-of-Service) = Hizmet kesintisi amaçlı dağınık bölgelerden yapılan saldırılardır. Burada amaç hedef sistemden veri çalmak değil sadece sistemi “down” yaparak servis kesintisine uğratmaktır. ( link : http://en.wikipedia.org/wiki/Denial-of-service_attack )
Man-in-the-middle = Network üzerinden taşınan paketlerin yakalanarak , paketlerin içeriğinin okunması ( link : http://en.wikipedia.org/wiki/Man_in_the_middle_attack )
Spoofing = IP , DNS , ARP vb çeşitleri vardır , amaç saldırganın kendisini gizlemesi veya gönderilen ip paketlerinde bulunan hedef ip adresi yerine üçüncü şahısın istediği bir ip adresine yönlendirme . ( link : http://en.wikipedia.org/wiki/Spoofing_attack )
Network Sniffing = Ağ ortamında hareket eden verilerin değişik programlar ile yakalanarak incelenmesidir. Yakalanan paketler üzerinde yapılacak çalışma ile network üzerinden her türlü veriye ulaşmak mümkündür.
Replay = Gönderilen paketlerin tekrar bize veya düzenli olarak bir noktaya gönderilmesi sonucu network yoğunlu ve kesilmeleri oluşacaktır.( link : http://en.wikipedia.org/wiki/Replay_attack )
Koruma
Authentication Header (AH) Protokolü = IPSec in temel üç görevinden sadece ikisini yerine getirir. Kimlik doğrulama ve veri bütünlüğü
Encapsulating Security Payload (ESP) Protokolü = IPSec in temel üç görevinden üçünü de yerine getirir.
Bu rolleri ise detaylı olarak aşağıdaki şekilde açıklamak isterim;
Veri gizliliği
Ağ üzerinden taşınan verilerin 3. şahıslar tarafından ele geçirilerek verilerin okunmasını engellemektedir. Yani verileri şifreleyerek ele geçirilen verilerin okunmaz bir hal almasını sağlar, bu sayede veri gizliliğini yerine getirmiş olur.
Ip Sec bu işlemi gerçekleştirmek için DES veya 3DES kullanmaktadır. ( DES = Data Encryption Standard, 3DES = Triple DES ) . Amacımız veriyi üçüncü şahıslardan korumak olduğu için, verinin ele geçmesi halinde dahi okunmamasını sağlamaktır. Bu nedenle DES elimizdeki veri paketlerini şifreleri hale getirir. Bu işlem sırasına; veri paketleri 64bit lik parçalara bölünür ve DES bunları şifreleyerek şifrelenmiş 64bit lik parçalar elde eder. 3DES te ise her bir parça 3üç kere şifrelendiği için daha güvenli olur. DES 56bit lik bir anahtar kullanır.
Ek bilgi ;
Şifreleme Algoritmaları Simetrik ve Asimetrik olmak üzere ikiye ayrılır;
Eğer elinizdeki anahtar ile hem veriyi şifreliyor hem de açıyorsanız bu simetrik bir algoritma dır . Ama elinizdeki anahtar ile veriyi şifreliyor, ancak açmak için farklı bir anahtar kullanıyorsanız o zaman bu asimetrik bir algoritma’dır.
Simetrik
— DES
— DESX
— 3DES
— AES (Advanced Encryption Standard)
Asimetrik
— RSA
Veri Bütünlüğü
Veri bütünlüğü çok kez veri gizliliği ile karıştırılır. Ancak veri bütünlüğündeki amaç; üçüncü şahısların eline geçen bize ait olan verinin değiştirilip tekrar karşı tarafa gönderilmesini engellemektir. Yani üçüncü şahıslar bu veriyi okuyabilir, bu veri gizliliği ile alakalı bir durumdur, ama verinin değiştirilmesi de son derece tehlikeli bir durumdur.
Bir örnek ile açıklamak gerekir ise; Yurt dışında üretim yapan kurumsal bir firma, yurt içindeki ofisinden üretim siparişlerini mail aracılığı ile yollamaktadır. Böyle bir firmanın gönderdiği mail de bulunan 1000 adetlik ürün siparişine, bizim araya girerek bir sıfır eklememiz bu firma için ciddi sorunlar doğuracaktır, o denenle veri gizliliği gibi veri bütünlüğü de çok önemli bir konudur.
Peki, IPSec veri bütünlüğünü nasıl koruyor? IpSec veri bütünlüğünü korumak için temelde hash fonksiyonlarını kullanır. Bu temel hash fonksiyonları; MD5 ve SHA–1 ‘ dir.
Bu hash fonksiyonlarındaki temel amaç, verinin değiştirilmesini engellemektir. Bunun için elimizdeki verileri sabit bir parametre ( anahtar ) ile çarpıp sonuçlar elde ederiz. IPSec ile görüşen her iki tarafta bu parametreden haberdar olduğu için, mesajın değişmesi, çarpımın sonucunu değiştireceği ve beklenen paketler ile tutarsızlık oluşturacağı için, mesaj kabul edilmez.
Temel olarak yukarıdaki eylemi iki farklı hash fonksiyonu ile yapabiliriz. Bunların arasındaki temel farklıklar ise;
MD5 = verileri 512 bit lik parçalar halinde alarak 128 bit lik bir çıktı oluşturur.
SHA–1 = verileri 512 bit lik parçalar halinde alarak 160 bit lik bir çıktı oluşturur.
Kimlik Doğrulama
IPSec; birbiri ile görüşen makinelerin kimliklerini doğrulamasını sağlayarak güvenliği arttırmış olur. Bu sayede iletişim kurduğunuz makinenin gerçekten ulaşmak istediğiniz makine olduğundan emin olursunuz.
IPSec kullanan iki makine IPSec trafiğini başlatabilmesi için aynı kimlik doğrulama metotlarını kullanması gerekmektedir.
IPSec in desteklediği temel 3 kimlik doğrulama yöntemi bulunmaktadır.
— Kerberos Authentication
— Certificate Authority
— Preshared Key
Kerberos Authentication
Bir Active Directory Domain yapısında kullanılan temel kimlik doğrulama yöntemidir. Windows 2000 ile beraber geliştirilmiş ve günümüzde çok güvenilir olduğu kabul edilen Kerberos, IPSec yapacak ve aynı domain ortamında olan istemciler için yüksek güvenlik sağlamaktadır.
Certificate Authority
Ortamda bulunan yetkili bir sertifika dağıtıcısı tarafından dağıtılan sertifikalar ile gerçekleştirilen kimlik doğrulama yöntemidir. Temelde her iki bilgisayarında güvendiği bir Sertifika dağıtıcısından alınan sertifikalar, bu bilgisayarların kimlik bilgilerinin karşı tarafta doğrulanmasını sağlar.
Preshared Key
Yetkili bir merci veya dağıtıcı olmadan, sadece IPSec ile görüşecek olan makinelerin kendi aralarında görüşmek için belirledikleri ortak bir anahtar kullanımı esasına dayanır. Her iki tarafta iletişim için bir anahtar belirler ve bu ortak anahtarın tutması sayesinde kimlik doğrulama gerçekleşmiş olur.
IPSec in 3 temel görevini inceledikten sonra bu görevleri yerine getirecek olan iki IPSec modelini inceleyelim ( Authentication Header (AH) Protokolü ve Encapsulating Security Payload (ESP) Protokolü )
Authentication Header (AH) Protokolü
Temel olarak Kimlik doğrulama ve veri bütünlüğü sağlar, ancak veri şifreleme desteği yoktur. AH normal bir ip paketinde IP Header, yani paketin nereden nereye gideceğini belirleyen bölüm ile veri bölümü arasına yerleşir, böylece verileri ( MD5 veya SHA–1 yardımı ile ) imzalayarak güvenli bir iletişim sağlar.
Encapsulating Security Payload (ESP) Protokolü
Temel olarak kimlik doğrulama, ver, bütünlüğü ve veri şifrelemeyi sağlar. Bu nedenle eğer şirketinizde tam bir güvenlik istemeniz halinde kullanacağınız IPSec yöntemi ESP olacaktır. ESP de IP paketini aşağıdaki şekilde değiştirir.
Bu iki yöntemden herhangi biri sayesinde şirketinizdeki ağ trafiğini güvenli bir yapıya kavuşturmuş olursunuz.
IPSec in güvenlik için bu kadar avantajı varken neden herkes tüm iletişimi IPSec ile yapmaz? işte bu önemli bir soru dur. Evet IPSec güvenlik için önemli bir çözümdür, ancak bir bilgisayarda IPSec çalıştırılması ve bütün trafiğin IPSec lenmesi o bilgisayarda işlemci ve Ethernet kullanımın arttıracak ve bu bilgisayar performansında düşüş, ağ trafiğinde ise bir artışa neden olacaktır. O zaman IPSec policy lerini hangi makineler arasında uygulamalıyız? IPSec bizim için çok önemli olan server lar arasında, veya yine önemli olan server lar ile yönetici makineleri arasında uygulanmalı. Bu sayede network üzerinde sniff yapan üçüncü şahış, bir domain user ın şifresini yakalasa bile, yöneticilerin şifrelerini veya server ların arasında yönetici hakları ile çalışan servislerin şifrelerini alamayacaktır. Ancak gerek server larınız güçlü, gerek network yapınız gigabit lik ise tabiî ki bütün makinelerin arasında IPSec uygulayabilirsiniz. Bu tamamen güvenlik politikanız ve elinizdeki kaynaklar ile ilgilidir.
Güvenli günler dileği ile.
Makalemin ikinci bölümü tamamen uygulama ağırlıklı olup, şirket içerisinde nasıl IPSec policy uygulanacağını anlatmaya çalışacağım.