Güvenli İletişimin Anahtarı: TCP 3 Way Handshake Nedir?
İnternet dünyasında gezinirken trafiğimizin nasıl gerçekleştiğini hiç merak ettiniz mi? Aslına bakarsanız, ağ trafiğini iyi bilmek, hem network hem de siber güvenlik alanlarında büyük önem arz etmektedir. Trafiği okuyabilme ve yorumlayabilme yetkinliği ile nerede nasıl aksiyon alınacağını veya analiz edebiliriz.
Tam da bu noktada trafiğin temelini oluşturan 3 way handshake’yi bilmemiz gerekmektedir. Bu sayede henüz daha ağ trafiğinin başlangıcında isteğimizin gidip gitmediğini veya karşı taraftan yanıt alıp alamadığımızı görmüş oluruz. Öyleyse, ‘TCP 3 way handshake nedir’ sorusu ile hemen konuya girişimizi yapalım.
TCP 3 Way Handshake Nedir?
Gerçek hayattan bir örnek ile girizgah yapalım ki, akılda kalıcılığı daha sağlam olsun, ne dersiniz? Örneğin, bir arkadaşınızın evine misafirliğe gittiniz ve kapıyı çaldınız. Kapıyı çaldıktan sonra arkadaşınız içeriden size seslendi; ‘kim o?’ Sizin olduğunuzu öğrenince kapıyı açtı ve içeri girdiniz. Evet, senaryomuz bu kadar :). Aslına bakarsanız 3 way handshake’nin de işleme mantığı bu örneğe çok benzerdir. Bu senaryoyu aklınızda tutmanızı rica edeceğim. Yer yer bu teşbihten referanslar vereceğim. Bu sayede zihninizde yapbozun parçalarını daha iyi yerleştirebileceksiniz.
TCP üçlü el sıkışma, TCP protokolü tarafından 2 cihaz arasında bir bağlantı kurmak için kullanılan süreç olarak nitelendirilmektedir. Bu süreç, iletişim başlamadan evvel hem göndericinin hem de alıcının hazır olduğunu doğrulamaktadır. Bu metodolojinin çalışma mantığını detaylandırmadan evvel size süreç içerisinde kullanılan paketlerin ayrıntılarını belirtmek istiyorum. Böylece kullanılan terimlere vakıf olarak, işin algoritmasını da özümseyebilirsiniz.
SYN, SYN – ACK ve ACK Paketleri Nedir?
Üçlü el sıkışmanın 3 adımında kullanılan bu paketleri en sade ve anlaşılır haliyle somutlaştıralım, ne dersiniz? Öyleyse SYN paketinden başlayalım.
SYN
TCP üçlü el sıkışmanın ilk adımıdır. Başlatan cihaz, genellikle bir istemci ya da kullanıcı, bağlantı kurma isteğini belirten SYN paketini, alıcı cihaza gönderir.
SYN Paketinin İçeriği
- SYN Bayrağı/SYN Flag(bit): Senkronizasyon talebini belirten 1 olarak ayarlanmış bayraktır.
- Sıra Numarası: Sırayı başlatmak için rastgele seçilmiş bir sayıdır.
ACK
Üçlü el sıkışmanın ikinci adımıdır. ACK paketi, alınan bir SYN paketine yanıttır. SYN paketinin alındığını onaylar ve bağlantı kurma niyetini belirtir. Peki, bu ACK paketini gönderen kimdir? Unutmayın ki, 3 way handshake her ne kadar üçlü el sıkışma olarak telaffuz edilse de iletişim 2 taraflıdır(gönderen ve alıcı).
ACK Paketinin İçeriği
- ACK Bayrağı/ACK Flag(bit): Onayı belirten 1 olarak ayarlanmış bayraktır.
- Onay Numarası: Onay numarası, alınan sıra numarasına(syn paketi) +1 oalrak ayarlanmaktadır.
SYN – ACK
Üçlü el sıkışmanın son adımı olan 3.adımıdır. Alınan SYN paketine yanıt olarak gönderilmektedir. SYN paketinin alındığını onaylar ve kendi bağlantı kurma niyetini ifade eder.
SYN – ACK Paketinin İçeriği
- SYN Bayrağı(bit): Senkronizasyonu belirten 1 olarak ayarlanmış bayrak.
- ACK Bayrağı(bit): Onayı belirten 1 olarak ayarlanmış bayrak.
- Sıra Numarası: Sunucu tarafından başlatılan kendi sıra numarası.
- Onay Numarası: Onay numarası, istemciden alınan sıra numarasına +1 olarak ayarlanmıştır.
Bu kadar teknik terim yeter. Bu teorik bilgileri de edindikten sonra hemen yolumuza devam edelim.
TCP 3 Way Handshake Nasıl Çalışır?
Sizce 3 way handshake kaç adımda tamamlanmaktadır? Yanıtlarınızı duyar gibiyim. Evet, doğru. 3 adımda tamamlanan 3 way handshake, alıcı ve gönderen arasında döngüsünü yürütmektedir. Gelin birlikte bu 3 adımın çalışma mantığını inceleyelim.
- Adım: SYN(Synchronize)
Süreç, istemcinin(yani başlatıcının) sunucuya(yani alıcıya) SYN bayrağı ayarlanmış bir TCP paketi göndermesi ile başlamaktadır. Bu paket, istemcinin bağlantı kurma niyetini belirtmektedir. Birkaç paragraf yukarıda, “arkadaşınızın evini ziyaret etme” senaryosundaki kapıyı çalma aksiyonunu hatırlayabilirsiniz.
- Adım: SYN – ACK(Synchronize-Acknowledge)
SYN paketini alan sunucu, SYN ve ACK bayrakları ayarlanmış bir TCP paketi ile istemciye yanıt döner. Bu paket, istemcinin bağlantı kurma isteğini onaylayan ve kendisinin(sunucunun) hazır olduğunu ifade etmektedir.
- Adım: ACK(Acknowledge)
TCP 3 way handshake’nin son adımında, istemci, sunucunun yanıtını alarak ACK bayrağı ayarlanmış bir TCP paketi gönderir. Bu, sunucunun bağlantı kurma konusundaki hazır olduğunu onaylayan pakettir. Bahsettiğim ev arkadaşı örneğinden tekrar yola çıkalım;
- adım; arkadaşınızın kapısını çaldınız(SYN).
- adım; arkadaşınızın size kapıyı açtı ve içeriye davet etti(SYN-ACK).
- adım; arkadaşınızın davetini kabul ederek içeriye girdiniz(ACK).
Şu an da, her şeyin daha net anlaşıldığını temenni ediyorum. Açıkçası sizin de bu konudaki düşüncelerinizi merak ediyorum. Yorumlar kısmından görüşlerinizi dilediğiniz gibi belirtebilirsiniz.
Peki, tüm bunlarla birlikte bu üçlü el sıkışmanın siber güvenlik açısından önemi nedir, merak ediyor musunuz? Beni yakınen takip edenler veya tanıyanlar bilir ki, neredeyse her içeriğimi “güvenlik” çatısı altında da değerlendirmekteyim :). O zaman hadi gelin beraber bu konuyu biraz daha irdeleyelim.
TCP 3 Way Handshake’nin Güvenlik Açısından Önemi
Öncelikle üçlü el sıkışma metodolojisinin zaten güvenlik temeli üzerine kurulu olduğunu bilmeliyiz. Durumu en yalın haliyle 5 maddede ele alarak bunu açıklığa kavuşturalım, ne dersiniz?
- Bağlantı Doğrulama: 3 Way Handshake, istemcinin ve sunucunun iletişim kurma niyetini doğrulayarak aralarındaki etkileşimin uygunluğunu sağlar. Bu sayede doğrulanamayan bağlantılarla sunucunun gereksiz yük alması engellenmektedir.
- Yarı Açık Bağlantıları Engelleme: İstemci veya alıcı tarafının tam bir bağlantı kurmaya meyilli olmadığı ya da haberdar ol(a)madığı yarı açık bağlantıların oluşmasını önler(kapı çaldınız, evde kimse var mı yok mu, ses gelmiyor fakat kapıda sürekli beklemeye devam ediyorsunuz. Sinir bozucu bir durum, değil mi?).
- Dizi Numaralarının Senkronizasyonu: El sıkışma esnasında her iki taraf, veri bölme ve birleştirme süreçlerine yardımcı olan başlangıç dizi numaralarında anlaşır. Böylece güvenilir iletişime katkı sağlanmaktadır.
- Sahtecilik Saldırılarını Azaltma: 3 Way Handshake, her iki tarafın da bağlantı başlatma niyetini bildiğinden dolayı sahteciliğe yönelik atakları engellemektedir. Keza izinsiz erişim riskini de bu sayede minimize eder.
- Güvenilir İletişim: Her adımı teyit ederek, TCP güvenilir ve düzenli bir veri alışverişinin başlamasını sağlar. Verinin bozulmasını ve kaybedilme ihtimalini de en düşük seviyeye indirger.
Siber güvenlik sektörünün içerisinde olanlar veya bu alana ilgi duyanların da son başlık için belirttiğim maddelere ekleyeceği alt başlıklar var mı? Yorumlarda paylaşabilirsiniz. Sağlıkla ve güvenle kalın…