Ders 3 / 4 · 7 dk
TCP anlaşması ve bağlantının ömrü
İki bilgisayar gerçek verileri göndermeden önce nasıl konuşmayı kabul ediyor, konuşmayı nasıl sonlandırıyor ve ortada izleyen bir güvenlik duvarının gerçekte ne gördüğü.
Mac'iniz bir web sayfası isteğinin tek bir baytını göndermeden önce, sunucuyla zaten üç kısa mesaj alışverişinde bulunmuştur. TCP'nin üç yönlü el sıkışması olan bu değişim, TCP'nin önceki derste verdiği güvenilirlik vaatlerini iki makine arasında gerçek, izlenebilir bir bağlantıya dönüştüren şeydir.
İlk kelimeden önce üç mesaj
Mevcut TCP spesifikasyonu olan RFC 9293, süreci senkronize bir değişim olarak tanımlamaktadır: "senkronizasyon, her iki tarafın da kendi başlangıç sıra numarasını göndermesini ve uzak TCP eşinden onay olarak bunun onayını almasını gerektirir."
- SYN. Bağlantıyı açan cihaz, SYN bayrağı ayarlanmış, başlangıç sıra numarası taşıyan bir segment gönderir.
- SYN-ACK. Karşı taraf kendi SYN'si ve ilk numaranın onaylanmasıyla yanıt verir.
- ACK. İlk cihaz bu yanıtı kabul ediyor. RFC 9293, "2. ve 3. adımlar tek bir mesajda birleştirilebildiğinden buna üç yönlü (veya üç mesajlı) el sıkışma adı verilir" diye belirtiyor. Tamamlandığında, her iki taraf da bağlantıyı KURULDU olarak sayar ve gerçek verileri göndermeye başlar.
Cloudflare'in Öğrenme Merkezi, bir e-posta örneğini kullanarak aynı fikrin sade dildeki bir versiyonunu veriyor: "Öncelikle kaynak, diyaloğu başlatmak için hedef sunucuya bir SYN 'başlangıç isteği' paketi gönderir. Ardından hedef sunucu, süreci kabul etmek için bir SYN-ACK paketi gönderir. Son olarak kaynak, süreci onaylamak için hedefe bir ACK paketi gönderir ve ardından mesaj içerikleri gönderilebilir."
Bağlantıyı temiz bir şekilde sonlandırma
Kapanış, açılmaya göre daha kasıtlıdır. RFC 9293, bağlantı sona ermeden önce "normal TCP kapatma dizisinin ara belleğe alınmış verileri her iki yönde de güvenilir bir şekilde ilettiğini" açıklar: her iki taraf da gönderecek veri kalmadığında bir FIN segmenti gönderir, diğer taraf bunu kabul eder ve yalnızca her iki yön de bittiğinde bağlantı tamamen kapanır. Bunu kısa bir bekleme süresi (ZAMAN-BEKLEME) takip eder, böylece eski bağlantıdan gelen herhangi bir başıboş, gecikmiş paket, yenisinin bir parçası olarak karıştırılamaz.
Ortadaki bir güvenlik duvarı ne görüyor?
Çoğu yönlendiricide ve macOS'ta yerleşik olarak bulunan durum bilgisi olan bir güvenlik duvarının, karar vermek için her paketi incelemesine gerek yoktur. Cloudflare'in güvenlik duvarları açıklaması bunu şu şekilde açıklıyor: "açık bağlantılarla ilgili bilgileri kaydeder ve bu bilgileri her paketi incelemek yerine gelen ve giden trafiği analiz etmek için kullanır." Uygulamada bu, bir bağlantıyı açan SYN'yi izlediği, bu uygulamanın bir yanıt istediğini hatırladığı ve ardından eşleşen SYN-ACK'nin sessizce tekrar içeri girmesine izin verdiği anlamına gelir; Giden herhangi bir SYN ile eşleşmeyen yanıt atlanır. Bu aynı zamanda bir güvenlik duvarının, birdenbire gelen istenmeyen bir bağlantı girişiminden gelen normal yanıtı bu şekilde anlayabilmesidir; bu, istenmeyen gelen trafiği engellemenin temelidir.
Bu alışverişin hiçbiri TCP'nin kendisi tarafından şifrelenmez; SYN, SYN-ACK ve ACK, Wi-Fi yönlendiriciniz de dahil olmak üzere ağ yolunu izleyen her şeye düz biçimde görünür. Neyin gizlenip gizlenmeyeceği, internet nasıl çalışır kursunun ayrı olarak ele aldığı HTTPS sitesi için TLS gibi TCP'nin üzerindeki katmana bağlıdır.
Akılda kalsın
- TCP bağlantıları üç yönlü bir el sıkışma ile açılır: RFC 9293'e göre SYN, ardından SYN-ACK, ardından ACK.
- Ancak el sıkışma tamamlandıktan sonra iki taraf gerçek veri alışverişine başlar.
- Bir bağlantının kapatılması, FIN bölümlerinin iki yönlü değişimidir, böylece ara belleğe alınmış veriler bağlantı sona ermeden önce iletilir.
- Durum bilgisi olan bir güvenlik duvarı hangi SYN'lerin dışarı çıktığını izler, böylece eşleşen yanıtları tanıyıp izin verebilir ve istenmeyen yanıtları bırakabilir.
- El sıkışmanın kendisi şifrelenmemiştir; ağ yolundaki her şey tarafından görülebilir.
Kendinizi sınayın
1. TCP üç yönlü el sıkışmanın doğru sırası nedir?
- ACK, SYN, SYN-ACK
- SYN, SYN-ACK, ACK — Doğru.
- SYN-ACK, SYN, ACK
- FIN, SYN, ACK
RFC 9293, bağlantı tarafının önce SYN göndermesini, diğer tarafın SYN-ACK ile yanıt vermesini ve bağlantı tarafının ACK ile onay vermesini açıklar.
2. Gerçek uygulama verileri ne zaman TCP bağlantısı üzerinden akmaya başlar?
- SYN gönderilmeden önce
- Yalnızca üç yönlü el sıkışma tamamlandıktan sonra — Doğru.
- SYN-ACK adımı sırasında
- Veriler el sıkışmadan sürekli olarak akıyor
El sıkışma, her iki tarafın da gerçek verileri gönderecek kadar bağlantıya güvenmeden önce sıra numaralarını senkronize etmek için mevcuttur.
3. Durum bilgisi olan bir güvenlik duvarı gelen yanıt paketine izin vermeye nasıl karar verir?
- Varsayılan olarak tüm gelen paketlere izin verir
- Paketin, daha önce giden SYN'den hatırlanan, bu cihazın açtığı bir bağlantıyla eşleşip eşleşmediğini kontrol eder. — Doğru.
- Paketin içeriğini anahtar kelimeler açısından inceler
- Yalnızca hedef bağlantı noktasına bakar, bağlantı durumuna asla bakmaz
Cloudflare, durum bilgisi olan bir güvenlik duvarını, her paketi sıfırdan incelemek yerine meşru yanıtları tanımak için "açık bağlantılarla ilgili bilgileri kaydeden" bir güvenlik duvarı olarak tanımlıyor.
4. TCP anlaşmasının kendisi şifrelenmiş mi?
- Evet, her zaman
- Hayır, sadedir ve ağ yolundaki her şey tarafından görülebilir — Doğru.
- Yalnızca SYN şifrelenir
- Yalnızca HTTPS bağlantılarında
TCP gizlilik değil, düzen ve güvenilirlik sağlar. Şifreleme, mevcut olduğunda TCP'nin üzerindeki TLS gibi bir katmandan gelir.
FireAI ile uygulayın
Bu dersi kendi Mac’inizde uygulamaya koyun.
- Bir uygulamanın verileri nereye gönderdiğini Dünya haritasında bulun — Bir uygulamanın sessizce hangi şirketle ve hangi ülkeyle konuştuğunu tam olarak görün.
- Kurallar: uygulama, web sitesi, alan adı, IP veya bir aralık; sonsuza dek ya da yeniden başlatana kadar — Tek bir adres kadar kesin, ya da koca bir alan adı kadar geniş bir kural yazın.
- Hiçbir şeyin şifresini çözmeden derin inceleme — FireAI hiçbir zaman içini okumadan, güvenli bir bağlantı hakkında gerçek ayrıntılar edinin.
Kaynaklar
- RFC 9293: Transmission Control Protocol (TCP)
- Cloudflare Learning: What is TCP/IP?
- Cloudflare Learning: What is a Firewall?
Mac’inizde uygulayın
Tüm özellikleri 17 gün ücretsiz deneyin, kart gerekmez.