TCP 3-Way Handshake: Bağlantının Temeli ve Siber Güvenlikteki Kritik Rolü
Giriş: Ağlarda Güvenilir Bağlantı Nedir?
TCP 3-Way Handshake: Bağlantının Temeli ve Siber Güvenlikteki Kritik Rolü
Giriş: Ağlarda Güvenilir Bağlantı Nedir?
Bilgisayarlar arası iletişimde, bir istemci (örneğin tarayıcı) ile bir sunucu (örneğin bir web sitesi) arasında veri alışverişi yapılmadan önce bir “bağlantı kurulumu” süreci gerçekleşir. Bu süreç, özellikle TCP (Transmission Control Protocol) adı verilen protokol ile yürütülür. TCP, güvenilir (veri kaybına karşı korumalı), sıralı ve tekrar gönderilebilir bir iletişim sağlar. Bu bağlantı kurulumu süreci, TCP 3-Way Handshake (üç aşamalı el sıkışma) olarak adlandırılır.
Bu makalede yalnızca el sıkışmayı değil, aynı zamanda TCP durumlarını, gerçek saldırı senaryolarını, TLS entegrasyonunu ve ileri düzey güvenlik açıklarını da ele alacağız.
1. Kavramsal Anlatım: Basitçe Telefonla Bağlantı Kurma Analojisi
Bir arkadaşını aradığını düşün. Telefonu açarsın ve “Alo” dersin. Karşı taraf da “Alo, ben de seni duyuyorum” der. Sen de “Tamam, ben de seni” dediğinde artık konuşma başlar.
Bu iletişim modeli TCP el sıkışmasına çok benzer:
- 1. SYN: Alo! (İstemci başlatır)
- 2. SYN-ACK: Alo, ben de duyuyorum. Sen? (Sunucu yanıt verir)
- 3. ACK: Evet, seni de duyuyorum. (İstemci onaylar)
Bu üç adım tamamlandığında bağlantı kurulur. Sadece 1 kişi konuşursa olmaz. Her iki taraf da birbirini duymalıdır.
2. TCP 3-Way Handshake — Teknik ve Mantıksal Açıklama
TCP bağlantısı kurulurken istemci ile sunucu arasında üç aşamalı bir mesaj alışverişi gerçekleşir. Her adım, bağlantının güvenli, sıralı ve çift yönlü olabilmesi için gereklidir.
1. Adım: SYN — “Bağlantı kurmak istiyorum”
İstemci, sunucuya bir TCP paketi gönderir. Bu pakette:
- SYN bayrağı aktif durumdadır.
- Rastgele seçilen bir başlangıç sıra numarası (örneğin x) yer alır.
Amaç:“Benim başlangıç sıra numaram x. Bağlantı kurmak istiyorum.
2. Adım: SYN‑ACK — “Bağlantı isteğini aldım, ben de hazırım”
Sunucu bu SYN isteğini alır ve şu bilgileri içeren bir cevap yollar:
- SYN bayrağı aktif: Sunucu da kendi adına bağlantı kurmak istiyor.
- ACK bayrağı aktif: Gelen istemci sıra numarasını onaylıyor.
- ACK = x + 1: Yani “İstemciden x ile başlayan paketi aldım, sırada x+1 bekliyorum.”
- Sunucu da kendi rastgele sıra numarasını seçer, örneğin y, ve bu pakete ekler.
Amaç: “Senin x numaralı isteğini aldım (ACK=x+1). Bu da benim sıra numaram y. Ben de bağlantıya hazırım.”
Burada önemli olan nokta şudur: Her iki taraf da birbirine “sana özel” bir sıra numarası bildirir. Bu, TCP’nin çift yönlü çalışması içindir. Yani hem istemciden sunucuya veri gider, hem de sunucudan istemciye.
3. Adım: ACK — “Sunucunun bilgisi de ulaştı, başlayalım”
İstemci son olarak bir ACK paketi yollar:
- ACK = y + 1: Yani sunucunun sıra numarasını da aldığını onaylar.
- Bu pakette artık SYN bayrağı yoktur. Çünkü el sıkışma tamamlanmak üzeredir.
Amaç:“Sunucudan gelen y numaralı başlangıcı aldım, sıradaki veri için hazırım.”

3 Way Handshake
Sonuç: Bağlantı kuruldu
Bu üç mesajın ardından:
- Her iki taraf da karşı tarafın başlangıç sıra numarasını öğrenmiş ve onaylamıştır.
- Bağlantı artık çift yönlü hale gelmiştir. Hem istemci hem de sunucu, kendi göndereceği ve alacağı veri paketlerinin başlangıç noktalarını ve sıradaki onaylanmış numaraları bilir.
- TCP bağlantısı “ESTABLISHED” durumuna geçmiştir ve veri aktarımı başlayabilir.
Peki burada ne güvenli hale geldi?
- TCP düzeyinde veri aktarımının güvenilirliği sağlanmıştır. Bu “güven”, şifreleme anlamında değil, bağlantının bütünlüğü ve kontrolü anlamındadır.
- Sıra numaralarının rastgele atanması, bağlantıya dışarıdan müdahale etmeyi zorlaştırır. Böylece TCP session hijacking gibi saldırılara karşı koruma sağlar.
- ACK (onay) mekanizması, her gönderilen paketin alınıp alınmadığını teyit eder. Bu sayede veri kaybı durumunda eksik paketler tekrar gönderilir.
- Veri paketleri doğru sırada gelir. TCP, sırasız gelen veriyi yeniden sıralar ve alıcıya düzgün bir akış sağlar.
Ancak bu güvenlik sadece iletim güvenliğidir. Gönderilen verilerin içeriği hala okunabilir düz metin (plaintext) formundadır. Dolayısıyla bu aşamada içerik gizliliği yoktur. Gerçek şifreleme ve içerik güvenliği için TCP’nin üzerine TLS gibi bir katman (örneğin HTTPS) eklenmelidir.
3. TCP Durumları (Connection States)
TCP bağlantıları, aşağıdaki gibi farklı durumlara sahiptir:
- SYN_SENT: İstemci SYN gönderdi, cevap bekliyor.
- SYN_RECV: Sunucu SYN aldı ve SYN-ACK gönderdi.
- ESTABLISHED: Üç adım tamamlandı, bağlantı kuruldu.
- FIN_WAIT, TIME_WAIT: Bağlantı sonlandırma aşamaları.
Bu durumlar, hem güvenlik analizlerinde hem de ağ yöneticiliğinde hayati önem taşır.
4. Sequence Number Neden Rastgele?
- Güvenlik: Tahmin edilebilir bir başlangıç numarası (örneğin her zaman 1) olursa saldırgan, oturumu ele geçirebilir.
- Bağımsızlık: Aynı anda birden fazla bağlantı olduğunda sıra numaraları çakışmamalıdır.
- Protokol Gereği: RFC 793 ve 6528, rastgele veya kriptografik olarak güvenli sequence number kullanılmasını önerir.
5. TLS Entegrasyonu ve TCP
TLS (Transport Layer Security), TCP’nin üzerine oturur. TLS handshake, ancak TCP bağlantısı kurulduktan sonra başlar. Bu süreçte:
- TCP bağlantısı kurulur (3-way handshake)
- TLS handshake başlar:
- ClientHello
- ServerHello
- Sertifika değişimi, anahtar uzlaşması
- Şifreli iletişim başlar
Yani: TCP = yolun döşenmesi, TLS = bu yolda güvenli araçla seyahat etmek.


6. Örnek Saldırılar ve Güvenlik Açıkları
Örnek 1: SYN Flood Attack (SYN Taşması Saldırısı)
Amaç: Sunucuyu meşgul edip çökertmek.
Nasıl?
- Saldırgan sürekli SYN gönderir ama 3. adım olan ACK’yi göndermez.
- Sunucu her gelen SYN’e kaynak ayırır (bellek, bağlantı slotu).
- Ama ACK gelmediği için bu bağlantılar yarım kalır.
- Binlerce yarım bağlantı birikir → sunucu çöker (DoS saldırısı).
Gerçek dünya benzeri: Herkes restorana rezervasyon yapıyor ama kimse gelmiyor. Masalar boş ama dolu gözüküyor.
Örnek 2: TCP Reset (RST) ve IDS Bypass
Amaç: IDS (Intrusion Detection System) sistemlerini kandırmak.
Nasıl?
- TCP’de RST bayrağı, aktif bağlantıyı aniden sonlandırmak için kullanılır.
- Saldırgan, sahte RST paketleri göndererek gerçek trafiği kesintiye uğratır.
- IDS bu sahte RST paketleri nedeniyle oturumu takip edemez, trafik analiz dışı kalır.
Korunma:
- RST flood tespiti
- Stateful inspection firewall’lar
- Anormal bağlantı süresi kontrolleri
Örnek 3: Fragmented SYN Saldırıları
Amaç: Güvenlik cihazlarını atlatmak (özellikle IDS/IPS — Intrusion Detection/Prevention Systems) kandırmak, yani saldırının fark edilmesini engellemek.
Nasıl?
TCP/IP protokolünde, büyük veriler IP katmanında parçalara (fragments) ayrılarak gönderilebilir. Bu, MTU (Maximum Transmission Unit) sınırlarını aşmamak için yapılır. Ancak saldırgan bu özelliği kötüye kullanır. Saldırgan, SYN paketini IP katmanında parçalara ayırarak gönderir (fragmentation).
Saldırgan bir SYN paketi oluşturur.
- Bu, normalde “yeni bağlantı başlat” demektir (TCP’de SYN bayrağı).
- Ancak bu SYN paketini IP seviyesinde yapay olarak parçalar.
Örneğin:
- Parça 1 → IP başlığı + TCP başlığının bir kısmı (ama SYN bayrağı yok)
- Parça 2 → TCP başlığının geri kalanı + SYN bayrağı
Güvenlik cihazı (örneğin bir IPS):
- Sadece ilk parçayı görürse, bu sadece “normal trafik” gibi görünür.
- SYN bayrağını göremez, çünkü o sonraki parçada yer alır.
- IPS “burada bir saldırı yok” diye düşünür.
- Sunucu ise parçaları birleştirir ve SYN’i görüp yanıt verir.
- Saldırgan hedefine ulaşır ama güvenlik cihazı fark etmez.
Neden Tespit Zor?
- Birçok IDS/IPS, IP parçalarını kendisi yeniden birleştirmez.
- Bunun yerine ilk parçayı görüp hızlıca karar verir.
- Bu da saldırının gizli kalmasına neden olur.
Çözüm:
- Derin paket denetimi (Deep Packet Inspection)
- IP fragment analiz motorları
Gerçek Dünya Senaryosu — SYN Flood (En Yaygın Saldırı)
Amaç: Sistemi kaynak yönünden tıkanma noktasına getirmek.
Tespit Yöntemleri:
- netstat komutu ile SYN_RECV durumundaki bağlantılar gözlemlenir.
- Wireshark ile analiz yapılır: SYN var ama ACK yoksa şüphelidir.
Savunma Yöntemleri:
- SYN cookies (yarı açık bağlantı tutmadan işlem yapmak)
- Timeout sürelerini düşürmek
- IPS, WAF, stateful firewall sistemleri
Sonuç
TCP 3-Way Handshake, yalnızca bağlantı kurmak için değil, bağlantının güvenliğini ve sağlamlığını sağlamak için de kritik bir süreçtir. Bu sürecin anlaşılması, siber güvenlik uzmanlarının hem saldırı tespitinde hem de sistem savunmasında doğru strateji geliştirebilmesi için temel şarttır.
Makale boyunca yalnızca kavramsal değil, aynı zamanda pratik, gerçek dünya odaklı ve derinlemesine bir bakış sunduk. Bu yapıyı anlayan bir uzman, IDS sistemleri kurabilir, Wireshark analizleri yapabilir ve en önemlisi bu yapıların kötüye kullanılmasını engelleyecek güvenlik politikaları geliştirebilir.
메타데이터
- post_id
- bee734a660c7
- slug
- tcp-3-way-handshake-bağlantının-temeli-ve-siber-güvenlikteki-kritik-rolü-bee734a660c7
- url
- https://medium.com/@berkaykoseoglu833/tcp-3-way-handshake-ba%C4%9Flant%C4%B1n%C4%B1n-temeli-ve-siber-g%C3%BCvenlikteki-kritik-rol%C3%BC-bee734a660c7
- canonical_url
- https://medium.com/@berkaykoseoglu833/tcp-3-way-handshake-ba%C4%9Flant%C4%B1n%C4%B1n-temeli-ve-siber-g%C3%BCvenlikteki-kritik-rol%C3%BC-bee734a660c7
- author_url
- https://medium.com/@berkaykoseoglu833
- status
- ok
- fetched_at
- 2026-08-08 05:49:19