IPsec

Vikipedi, özgür ansiklopedi
Atla: kullan, ara

Internet Protokolü Güvenliği

TCP/IP protokolü geliştirilirken güvenlik üzerinde pek fazla durulmamıştı. Çünkü TCP/IP protokolünün bu denli yoğun ve standart olarak kabul edilip kullanılacağı düşünülmemişti. Bu nedenle verilerimiz ağ üzerinde savunmasız olarak ilerler ve birçok tehlikeyle karşılaşabilirler. Bu tehlikeler verilerimizin değiştirilmesi, verilerimizin kaybolması ve bununla beraber verilerimizin istenilen hedeflere ulaştırılamamasıdır. IPsec protokolü sayesinde verilerimiz ağ üzerinde güvenli bir şekilde ulaşmak istedikleri hedeflere ulaştırılır. IPsec protokolü IP protokollerinin güvenlik ihtiyaçlarını karşılamak için geliştirilmiş olan bir güvenlik protokolüdür.

IP kimlik doğrulaması ve veri akışı her IP paket şifreleme ile iletişim Internet Protokolü güvenlik protokolleri bir takımdır. IPsec da oturumu sırasında kullanılmak üzere ajanları arasında oturum ve şifreleme anahtarlarının müzakere başında karşılıklı doğrulama kurmak için protokolleri içerir. IPsec barındıran bir çift arasında veri akışını korumak için kullanılan, güvenlik kapı bir çift arasında bilgisayar kullanıcıları veya sunucu gibi, yönlendiriciler veya güvenlik duvarları gibi veya bir güvenlik ağ geçidi ve ev sahibi arasında.

IPsec ISO standart NLSP (Ağ Katmanı Güvenliği protokolün ardılı) olduğunu. Bu NLSP protokolüdür NIST tarafından basılmış olan SP3 protokolü dayalı ama NSA ve Güvenli Veri Ağı Sistemi projesi tarafından tasarlanmıştır.

IPsec Güvenlik Nasıl Sağlanır ?[değiştir | kaynağı değiştir]

IPSec’ in güvenlik mimarisini oluşturan üç temel unsur vardır:

1.Bütünlük (integrity); hedefe ulaşan verinin kaynaktan gelen veri ile aynı olup olmadığı kontrol edilir. Ağ üzerinden gönderilen mesajın gerçekten gönderilen mesaj olup olmadığını anlamak için, mesajı alan bilgisayarın hesapladığı mesaj özeti (message digest) değeri ile mesajı gönderinin ilettiği mesaj özeti değerleri karşılaştırılır. Sonuç farklıysa iletilen mesaja iletim sırasında müdahale edildiği anlaşılır. Mesajları özetlemek için MD5 ve SHA-1 algoritmaları kullanılır.

2.Kimlik doğrulama (Authentication); iletişimde bulunan her iki tarafın da birbirlerinin kimliklerinin doğrulanması için kullanılır. İletişimde bulunan bilgisayarların birbirlerinin kimliklerini doğrulamaları için aynı kimlik doğrulama metodunu kullanması gerekir. IPSec protokolünü kullanarak iletişim kuracak bilgisayarlar, kimlik doğrulama işlemi için çeşitli yöntemler kullanabilirler. Bunları şöyle sıralayabiliriz:

  • Önpaylaşımlı anahtar (preshared key) (MS-CHAP)
  • Kerberos (Windows tabanlı ağlar için)
  • Sertifika yetkilisi (certificate authority)

3.Gizlilik (Confidentiality); gönderilen verinin ağ üzerinden şifrelenmiş bir şekilde iletilmesini belirtmek için kullanılır. Bu durumda, ağdaki paketler bir izleyici (sniffer) aracılığıyla yakalansalar bile içerikleri şifrelenmiş olduğu için taşınan verilerin üçüncü şahıslar tarafından okunması engellenmiş olur. Şifreleme işleminde en çok kullanılan yöntemler DES ve 3DES yöntemleridir.

Bu işlemler yapılırken veri paketi farklı algoritmalarla şifrelenir. Bu işleme Encrypiton denir. Veri paketi hedefe ulaştığında şifrelenen veri paketi açılır ve kullanılabilir hale getirilir. Bu işlemede Decryption denir.


IPsec çift mod end-to-end ise, İnternet Katmanı Internet Protokolü Suite Yaklaşık Katmanı 3 OSI modelde olduğu güvenlik düzeni işletim. SSL, TLS ve SSH gibi yaygın kullanımı, bazı diğer Internet güvenlik sistemleri, bu modellerin alt katmanlara faaliyet, SSL VPN bir örnek olmaktır. Çünkü trafiği korumak için kullanılabilir. Çünkü uygulama kullanımı ise IPsec kullanmak için tasarlanmış olması gerekmez. IPsec daha yığıtın bir alt düzey olarak bir at çalışma, esnek TLS / SSL veya diğer yüksek katman protokolleri bu düzeyde uygulamaların tasarım dahil olmalıdır.

IPsec Protokolleri[değiştir | kaynağı değiştir]

IP Doğrulama Başlığı[değiştir | kaynağı değiştir]

Çeşitli matematiksel algoritmalar kullanılarak gönderilen veri paketine bir numara verilir. Daha sonra veri paketi hedefe ulaştığında aynı algoritma kullanılarak verilen numara tespit edilmeye çalışılır. Gönderilen veri paketi ağ üzerinde herhangi bir değişikliğe ve veri kaybına uğramışsa numara farklı olacağından veri paketi kabul edilmez.

IPsec protokolleri IP datagramlarının bütünlüğünü korumak için hash mesaj doğrulama kodlarını (HMAC) kullanır.
MD5 ve SHA gibi hash algoritmaları kullanarak IP datagramı ve bir gizli anahtarı temel alan HMAC'i çıkartırlar.
Daha sonra bu HMAC IPsec protokol başlığına eklenir ve paketin alıcısı eğer gizli anahtara erişimi varsa bu HMAC'i kontrol edebilir.

Kapsüllenen Güvenlik Yükü[değiştir | kaynağı değiştir]

IP Doğrulama başlığı tarafından numarası verilmiş IP paketlerini bizim belirlediğimiz algoritmalar yardımıyla şifrelemek ve hedefte aynı algoritmalar yardımıyla şifrelenen paketi açmaktır. Bu işlemi IP paketlerini kapsurulur ve istemciden istemciye olan iletişim, tünel protokolü kullanılarak kapsüllenir. Kaynak ve hedef istemci bilgisayarların, IPSec kullanacak şekilde konfigüre edilmelerine gerek yoktur ve bu yüzden yerel ağda IPSec protokolü tarafından desteklenen herhangi bir LAN protokolünü (örneğin TCP/IP, IPX/SPX, AppleTalk, NetBEUI) kullanabilirler. Bu modda, geçityolu bir tünel server, router, firewall veya VPN cihazı kullanılabilir.

Operasyon Modları[değiştir | kaynağı değiştir]

IPsec protokolü uygulanırken kullanılan Doğrulama Başlığı ve Kapsüllenen Güvenlik Yükü, aşağıda anlatılan iki modu desteklemektedir.

Taşıma Modu[değiştir | kaynağı değiştir]

AH with Transport Mode
Taşıma modunda Doğrulama Başlığı (AH) kullanılan bir paket

Bu mod kullanıldığında, IPsec, Ağ Katmanının üzerinde yer alan Taşıma Katmanı ve Uygulama Katmanına koruma sağlamaktadır. IP paketinin yükü, IPsec başlığı ile genişletilmiştir. Genişletilmiş bu başlık daha sonra Ağ Katmanı protokolü olan IP protokolünün başlığı ile çevrelenir. Taşıma modu, IP paketinin yüküne, şifreleme ve/veya kimlik doğrulama işlemlerini uygulayarak çalışmaktadır. Bu mod, genellikle iki bilgisayar arasında, örnek olarak bir alıcı ve bir sunucu verilebilir, uçtan uca iletişimin korunması amaçlı kullanılır.

Doğrulama Başlığı ile kullanıldığında, IP paketinin yükünün ve IP paket başlığının belirlenen kısımlarının doğrulanması gerçekleştirilir.

Kapsüllenen Güvenlik Yükü ile kullanıldığında, IP paketinin yükü şifrelenir ve opsiyonel olarak doğrulama işlemi gerçekleştirilir. Fakat IP paket başlığı üzerinde bu işlemler gerçekleştirilmez.

Tünel Modu[değiştir | kaynağı değiştir]

AH with Tunnel Mode
Tünel modunda Doğrulama Başlığı (AH) kullanılan bir paket

Bu mod, tüm IP paketi üzerinde koruma sağlamaktadır. IP paketi üzerine Doğrulama Başlığı ve Kapsüllenen Güvenlik Yükü alanları eklenir. Oluşan yeni pakete yeni bir IP paket yükü gibi davranılır ve tekrar yeni bir IP başlığı ile çevrelenir. Orjinal IP paketi, içeride kalan yük içerisindedir. Paket bir noktadan diğerine iletilirken, iç içe oluşturulmuş bu yapı sayesinde, yol üzerindeki yönlendiriciler, içerideki IP paketini okuyamaz ve değerlendiremezler. Orjinal IP paketininde bulunan kaynak ve hedef adresleri, gönderilmekte olan pakette bulunan kaynak ve hedef adreslerinden farklı olacağı için bu durum, güvenliğe katkıda bulunmaktadır. Tünel modu, Security Association'ın tek veya iki tarafının da, bir güvenlik duvarı veya IPsec uygulanmış bir yönlendirici gibi, bir güvenlik geçidi(gateway) ise kullanılmaktadır.

Doğrulama Başlığı ile kullanıldığında, gönderilen paket içerisinde bulunan tüm IP paketi üzerinde doğrulama işlemi gerçekleştirilir. Buna içerideki IP paketinin başlığı da dahildir. Dışarıda bulunan IP paket başlığının belirli kısımlarının da doğrulanması gerçekleştirilir.

Kapsüllenmiş Güvenlik Yükü ile kullanıldığında, gönderilen paket içerisinde bulunan IP paketine şifreleme ve opsiyonel olarak doğrulama işlemleri gerçekleştirilir.

Bu mod, VPN (Virtual Private Network) oluşturmak için kullanılmaktadır.

Güvenlik Politikası[değiştir | kaynağı değiştir]

IPsec tarafından sağlanan güvenlik politikası kaynaktan hedefe gönderilecek olan her veri paketine uygulanır. Bu güvenlik politikası iki veritabanın etkileşimi ile belirlenir. Bu veritabanları Güvenlik Ortaklığı Veritabanı(Security Assocation Database) ve Güvenlik Politikası Veritabanı(Security Policy Database) olarak adlandırılır.

Güvenlik Ortaklığı Veritabanı[değiştir | kaynağı değiştir]

Güvenlik Ortaklığı[değiştir | kaynağı değiştir]

Güvenlik Ortaklığı(Security Association) alıcı ve gönderici arasında kurulmuş olan mantıksal bağlantıya verilen isimdir. Bu bağlantı tek yönlü olarak sağlanmaktadır. IPsec güvenlik işlemleri bu bağlantı içerisinde gönderilen veri paketleri üzerine uygulanır. Eğer sistemdeki alıcı ve göndericinin çift yönlü veri alışverişi yapmaları gerekiyorsa, iki farklı Güvenlik Ortaklığının kurulması gerekmektedir. Güvenik Ortaklıkları üç farklı değer ile birbirinden ayırt edilir;

  • Güvenlik Parametreleri İndeksi: 32-bit değere sahip olan bu indeks sayesinde, gönderici tarafından iletilmiş paketin alıcı tarafında doğru Güvenlik Ortaklığı ile ilişkilendirilmesi sağlanır. Bu ilişkilendirme sayesinde alıcı, veri paketi üzerinde gerçekleştireceği işlemleri belirler. Güvenlik Parametreleri İndeksi sadece yerel olarak bir anlama sahiptir. Bunun nedeni her Güvenlik Ortaklığına özel olmasıdır.
  • IP Hedef Adresi: Bu değer ortaklığın kurulduğu uç, veri paketlerinin gönderileceği, noktanın IP adresini tutmaktadır. Bu IP adresi, bir son kullanıcı sistemini gösterebileceği gibi, bir güvenlik duvarını veya bir yönlendiriciyi de göstermekte olabilir.
  • Güvenlik Protokolü Göstergesi: Gönderilen veri paketinin IP başlığı içerisinde bulunan bu değer, alıcıya, Güvenlik Ortaklığının Doğrulama Başlığı veya Kapsüllenen Güvenlik Yükü protokollerinden hangisinin kullanıldığının bilgisini verir.

Güvenlik Ortaklığı Veritabanı[değiştir | kaynağı değiştir]

Her IPsec uygulmasında bulunması zorunlu bir veritabanı olan Güvenlik Ortaklığı Veritabanı, sistemden sisteme işleyişinde farklılık gösterebilir. Bu farklılıklar, IPsec protokolünü gerçekleştiren kişiler tarafından belirlenir.

Bu veritabanının amacı, sistemde bulunan Güvenlik Ortaklıklarını tutmaktır. Veritabanı içerisinde Güvenlik Ortaklıkları aşağıdaki parametrelere bağlı olarak tutulmakta ve ayırt edilmektedir;

  • Güvenlik Parametreleri İndeksi: Güvenlik Ortaklığına verilmiş benzersiz bir göstergedir. Bu değer sayesinde Güvenlik Ortaklıkları birbirinden ayırt edilir ve gereken işlemlerde kullanılır. Eğer tutulan kayıt, sisteme giren bir Güvenlik Ortaklığına ait ise, bu gösterge sayesinde veri trafiği ilgili Güvenlik Ortaklığına yönlendirilir. Eğer tutulan kayıt, sistemden çıkan bir Güvenlik Ortaklığına ait ise, bu değer gönderilecek veri paketinin Doğrulama Başlığı veya Kapsüllenen Güvenlik Yükü başlıklarını oluşturmak için kullanılır.
  • Sıra Numarası Sayacı: Doğrulama Başlığı veya Kapsüllenen Güvenlik Yükü başlıklarının içerisinde bulunan sıra numarası değerini oluşturmak için kullanılan, 32-bit değere sahip bir göstergedir.
  • Sıra Sayacı Taşması: Bu alan bir boole değere sahip bir bayraktır. Kullanılmasının amacı, eğer Sıra Numarası Sayacında bir taşma medana gelirse, sistemin veri trafiğini durdurup durdurmaması gerektiğini göstermektedir.
  • Yeniden Gönderme Karşıtı Pencere: Yeniden Gönderme saldırılarından korunmak amacıyla kullanılmakta olan bir değerdir.
  • Doğrulma Başlığı Bilgisi: Bu alanda doğrulama için kullanılacak olan algoritma, yaşam süreleri ile beraber protokol tarafından kullanılacak anahtarlar ve Doğrulama Başlığı hakkında gerekli diğer bilgiler yer alır. Eğer IPsec, Doğrulama Başlığı protokolü ile kurulmuşsa Güvenlik Ortaklığı Veritabanı içerisinde bu alanın bulunması zorunludur.
  • Kapsüllenen Güvenlik Yükü Bilgisi: Bu alanda doğrulama ve şifreleme için kullanılacak algoritma, yaşam süreleri ile birlikte kullanılacak anahtarlar ve Kapsüllenen Güvenlik Yükü hakkında gerekli diğer bilgiler yer alır. Eğer Ipsec, Kapsüllenen Güvenlik Yükü protokolünü kullanıyorsa, bu alanın Güvenlik Ortaklığı Veritabanı içersinde bulunması zorunludur.
  • IPsec Protokolü Operasyon Modu: IPsec protokolünün operasyon modlarından(Taşıma veya Tünel Modu) hangisinin kullanıldığını göstermektedir.
  • Maksimum İletim Birimi: Bir veri paketi gönderilirken, parçalamaya uğramayacak en küçük paket boyutunu gösterir.
  • Güvenlik Ortaklığı Yaşam Süresi: Bu alan, Güvenlik Ortaklığının yaşam süresini tutmakta ve yaşam süresi dolan ortaklığın hangi işleme tabii tutulacağını göstermektedir. Bu işlemler, ortaklığın tekrar kurulması veya tamamen silinmesi olabilir.

Güvenlik Politikası Veritabanı[değiştir | kaynağı değiştir]

Güvenlik Politikası Veritabanı(Security Policy Database), hangi veri trafiğinin hangi Güvenlik Ortaklığı ile ilişkili olduğunu belirten kayıtlara sahip olan bir veritabanıdır. Aynı zamanda veri paketleri üzerinde hangi koruma işlemlerinin gerçekleştirileceğini de göstermektedir. Bu veritabanında bulunan her kayıt, kaynak ve hedef IP adresleri ve port numaraları ile ayırt edilir. Veri paketleri işlenirken geçtiği aşamalar şu şekilde sıralanabilir; Öncelikle Güvenlik Politikası Veritabanı ilgili kayıt için aranır ve kayıtın gösterdiği Güvenlik Ortaklığı elde edilir. Daha sonra Güvenlik Ortaklığının sahip olduğu Güvenlik Parametreleri İndeksi bulunur. Bu indeks sayesinde pakete uygulanacak, kullanılan protokollerle ilişkili, işlemler elde edilir. Bu bilgiler doğrultusunda IPsec koruma işlemleri veri paketine uygulanır.

Paket İşleme[değiştir | kaynağı değiştir]

IPsec protokolü işlemleri, gönderilecek veya alınan her paket için ayrı ayrı uygulanır. Gönderilecek ve alınan paketler için detaylı adımlar aşağıda anlatılmıştır.

Gönderilecek Paketler için;

  1. IPsec Güvenlik Politikası Veritabanında gönderilecek olan bu pakete karşılık gelen kayıdı arar. Eğer bir kayıt bulunamazsa paket düşürülür ve sistem hata mesajı ile yanıt verir.
  2. Eğer bir kayıt bulunduysa, kayıt içerisinde belirtilen politikaya bakılır. Bu politika, paketin düşürülmesi gerektiğini gösteriyorsa, paket düşürülür. Eğer paketin baypas edilmesi gerektiğini gösteriyorsa, paket herhangi bir IPsec işlemine tabii tutulmadan iletim işlemine başlanır. Eğer pakete koruma işlemlerinin uygulanması gerektiğini gösteriyorsa, Güvenlik Ortaklığı Veritabanında ilgili Güvenlik Ortaklığı aranır.
  3. Eğer bir kayıt bulunamazsa, Güvenlik Ortaklığı olmadığı anlaşılır ve İnternet Anahtar Değişimi protokolü ile sistem ve hedef arasında bir Güvenlik Ortaklığı oluşturulur. Bu ortaklık Güvenlik Ortaklığı Veritabanına kayıt edilir.
  4. Güvenlik Ortaklığı kaydı -önceden oluşturulmuş veya yeni oluşturulmuş- ile pakete uygulanacak işlemler hakkında bilgi elde edilmiş olur. Paket üzerine bu bilgiler doğrultusunda, şifreleme, doğrulama ve IPsec operasyon modu(Taşıma veya Tünel) uygulanır.
  5. İşlenen paket, Ağ Katmanına iletime başlanması üzere iletilir.

Alınan Paketler için;

  1. Alınan paketin, IPsec ile korunmakta olan bir paket olup olmadığı IP başlığındaki değerler yardımı ile belirlenir. Korumalı ve korumasız paketler üzerinde gerçekleştirilecek işlemler farklılık göstermektedir.
  2. Eğer paket korumasız ise, yani herhangi bir IPsec koruma işleminden geçmediyse, Güvenlik Politikası Veritabanı pakete karşılık gelen kayıt için aranır ve bu kayıta göre paketin düşürüleceğine veya Taşıma Katmanına iletileceğine karar verilir.
  3. Eğer paket IPsec korumalı ise, Güvenlik Ortaklığı Veritabanı ilgili Güvenlik Ortaklığı için aranır. Kayıt bulunamazsa, paket düşürülür. Kayıt bulunursa, kayıt bilgilerine bakarak pakete Doğrulama Başlığı veya Kapsüllenmiş Güvenlik Yükü protokollerinin gerektirdiği işlemler uygulanır.
  4. Paket, Taşıma Katmanına iletilir.

Kimlik Doğrulama Metodları[değiştir | kaynağı değiştir]

  1. Manuel Olarak
  2. Sertifika kullanılara

IPsec Yararları[değiştir | kaynağı değiştir]

IPsec protokolü bir güvenlik geçidine(gateway) -örnek olarak güvenlik duvarları ve yönlendiriciler verilebilir- uygulandığında, bu geçidin sahip olduğu trafiğe güvenlik ve koruma sağlaması için kullanılır. Dışarıdan gelen tüm trafiğin geçeceği güvenlik duvarına uygulanmış IPsec sayesinde, sisteme sızmaya veya güvenlik duvarını atlatmaya çalışan saldırganlar önlenebilir. IPsec, Taşıma ve Uygulama katmanlarının aşağısındaki bir katman olan Ağ Katmanı üzerinde çalıştığından dolayı, uygulamalar tarafından algılanmazlar. Yani IPsec uygulandıktan sonra sistem üzerinde çalışmakta olan uygulamaların değiştirilmesine gerek yoktur çünkü bilgisayarlar üzerinde çalışmakta olan işlemlere(process) Ağ Katmanından iletilecek yük formatı değişmeyecektir. Ayrıca, aynı nedenden dolayı, bu sistemdeki bir uygulamayı kullanmakta olan son kullanıcıların IPsec gerçekleştirildikten sonra eğitilmesine gerek yoktur. IPsec belirli kullanıcılara güvenlik sağlaması üzere düzenlenebilir. Bu kullanıcılar, dışarıdan çalışmakta olan çalışanlar olarak örneklendirilebilir.

Kaynaklar[değiştir | kaynağı değiştir]

IPsec

Dış bağlantılar[değiştir | kaynağı değiştir]