Protokol 47'ye karşı TCP portu 47: iki başlık, iki kural
Protokol numarası ile port farklı başlıklarda yaşar, bu yüzden bir kural diğerinin yerini alamaz. PPTP ikisini ayırır ve bir port kutusu GRE'yi ifade edemez.
Otel ağları ve konferans güvenlik duvarları sıklıkla özel bir izin kutusu gösterir ve biri PPTP'nin çalışacağını umarak içine 47 yazar. Kural oluşturulur, tünel yine başarısız olur ve sonraki deneme başka bir numara kullanır. Hata paketin kendisindedir: IPv4'te IP başlığından sonra ne geldiğini adlandıran bir protokol alanı vardır, oysa TCP ve UDP'de yalnızca o başlıklardan birinin içindeyken var olan port alanları vardır. Bunlar aynı iznin iki yazımı değildir.
IPv4 başlığı sonraki protokolü adlandırır
Protokol alanı IPv4 başlığında bir bayttır ve yükü tanımlayan bir sayı taşır: TCP için 6, UDP için 17, GRE için 47, ESP için 50. Paketleri filtreleyen her şey daha derine bakmadan önce bu değeri okur, çünkü daha derin başlık ancak tür bilindikten sonra anlam kazanır. Konuşmanın ilerisinde bir portu değiştirin, bu alan yerinden oynamadı.
Bu yüzden protokol 47'ye karşı yazılan kural IP katmanını tanımlar. Karara hiçbir port katılmaz.
Portlar TCP ve UDP'nin içinde bulunur, başka yerde bulunmaz
Portlar TCP ve UDP başlıklarının içindeki on altı bitlik tanımlayıcılardır ve görevleri aynı adresi paylaşan konuşmaları ayırmaktır. GRE başlığı bir protokol türü değeri, çoğu zaman bir EtherType, artı çoğullama için isteğe bağlı anahtarlar taşır. Bu yüzden port 47 ifadesi bir GRE paketinin eşleşebileceği hiçbir şeyi adlandırmaz.
Güvenlik duvarı arayüzleri bunun ne kadarını gösterdiklerine göre farklılaşır. Bazıları bir protokol numarası kabul eder, bazıları adlandırılmış bir liste sunar ve birkaçı yalnızca portlu TCP veya UDP kabul eder.
PPTP iki katmanı aynı anda kullanır
PPTP en açık örnektir çünkü işini bilerek iki katman arasında böler. Kontrol bağlantısı 1723 portuna bir TCP oturumudur ve veri yolu GRE, protokol 47'dir, hiçbir yerde port yer almaz. 1723'e izin verip başka hiçbir şeye izin vermeyen bir güvenlik duvarı görüşmenin başlamasına izin verir ve ardından yükü atar. Tünel bağlanmakta başarısız olmak yerine kimlik doğrulamadan sonra asılı kalmış görünür ve belirti bu yüzden sıklıkla parola sorunu olarak bildirilir.
| Path | Outer protocol | Port |
|---|---|---|
| Control channel | TCP, protocol 6 | 1723 |
| Data channel | GRE, protocol 47 | None |
Kuralı yazarken iki satırı ayrı okuyun ve her birini üreticinin sözdizimine göre denetleyin. Bir satır port gerektirir, diğeri protokol numarası gerektirir ve tek bir girdi ikisini birden kapsamaz.
Port yönlendirme sayfası neden GRE'yi ifade edemez
Yalnızca TCP ve UDP kabul eden bir yönlendirme formu, formun adı ne olursa olsun GRE'yi tanımlayamaz. Adres çevirisi ikinci bir zorluk ekler, çünkü GRE'nin portu yoktur ve çevirici bunun yerine çağrı tanımlayıcısını izlemek zorundadır. Bazı tüketici yönlendiricileri bunu ele alan bir yardımcıyla gelir; çoğu gelmez ve hiçbir ek TCP izin girdisi bu davranışı oluşturmaz.
Gerçek gereksinim modern bir tünelse, çeviricinin doğru tahmin etmesini ummak yerine bilerek TCP veya UDP kullanan bir tasarım seçin.
Sarmalama filtrenin ne gördüğünü belirler
Sarmalama dış paketi değiştirir ve bir kural tam olarak dış paketle eşleşir. Yerel ESP protokol 50'dir, NAT geçişi ise ESP'yi UDP 4500'ün içine sarar ki adres çevirisini atlatsın. UDP 4500'e izin veren bir filtre protokol 50'yi hiç görmez ve protokol 50 için yazılmış bir filtre sarılmış biçimle hiç eşleşmez.
İstemci ile ağ geçidinin hangi sarmalamada anlaştığını sorun, sonra kuralı tam olarak o dış biçim için yazın, daha fazlası için değil.
Kuralı birinin denetleyebileceği biçimde yazın
Her kuralı adres ailesi, dış protokol, varsa taşıma portları, yön ve iki uç nokta olarak ifade edin. Bir gözden geçiren bu cümleyi bir paket kaydıyla karşılaştırıp bir yargıya varabilir. 47'yi açma talimatını kimse denetleyemez ve bu yüzden yıllarca prosedür kitaplarında yaşar.
Bunu kanıtlayan testi ekleyin: dış arayüzde kayıt alırken bağlanın ve izde gerçekten görünen dış protokolü ve portu doğrulayın.