- IPv4'ün NAT'ı varsayılan olarak kullanması nedeniyle daha güvenli olduğu iddiası, güvenlik ile adres çevirisini karıştırmaktan kaynaklanır
- NAT (Network Address Translation) bir güvenlik özelliği değil, IPv4 adres kıtlığını çözmek için kullanılan bir adres tasarrufu mekanizmasıdır
- NAT'ın çalışma mantığı, port eşlemeye dayanarak birden fazla cihazın tek bir genel IP'yi paylaşmasını sağlamaktan ibarettir
- Gerçekte dış trafiği engelleyen şey NAT değil, durum bilgili güvenlik duvarıdır (stateful firewall)
- IPv6 ortamında da varsayılan olarak güvenlik duvarı yetkisiz trafiği engeller; dolayısıyla NAT'ın olmaması güvenliğin zayıfladığı anlamına gelmez
NAT ve güvenlik karışıklığı
- IPv4'ün NAT kullandığı için daha güvenli olduğu iddiası yanlış bir algıdır
- NAT bir güvenlik özelliği değil, adres tasarrufu (address conservation) için kullanılan bir tekniktir
- IPv6'da da NAT kullanılabilir, ancak bu güvenliği artırmaz
- NAT, iç ağdaki birden fazla cihazın tek bir genel IP adresini paylaşmasını sağlar
- Paketin hedef portuna göre hedef IP'yi yeniden yazar (rewrite) ve yönlendirme yapar
- Ağ yöneticisinin tanımladığı port eşleme (port mapping) veya port yönlendirme (port forwarding) kurallarına göre çalışır
NAT gerçekte nasıl çalışır
- NAT ortamında dışarıdan gelen trafik, beklenmeyen bir hedef porta sahipse iç cihazlara iletilmez
- Bu trafik genel IP'ye sahip cihazda kalır ve iç ağa yönlendirilmez
- Bu yüzden NAT dış erişimi engelliyormuş gibi görünür, ancak bu yalnızca ikincil bir sonuçtur; güvenlik amacıyla tasarlanmış değildir
Güvenlik duvarının rolü
- NAT'ın sağladığı sanılan güvenlik etkisi aslında durum bilgili güvenlik duvarından (stateful firewall) kaynaklanır
- Modern yönlendiricilerin çoğu, NAT kullanılsın ya da kullanılmasın, varsayılan olarak gelen trafiği engelleyen güvenlik duvarı politikaları içerir
- Güvenlik duvarı, paketleri yeniden yazmadan veya yönlendirmeden önce beklenmeyen hedef trafiğini düşürür (drop)
- Örnek olarak UniFi yönlendiricinin varsayılan IPv6 güvenlik duvarı kuralları şöyledir
- Established/Related trafiğe izin verilir (giden trafiğe verilen yanıtlar)
- Invalid trafik engellenir
- Bunun dışındaki tüm trafik engellenir
IPv6 ortamında güvenlik
- IPv6 ağlarında da varsayılan güvenlik duvarı kuralları yetkisiz gelen trafiği engeller
- NAT kullanılmasa da aynı koruma düzeyi uygulanır
- Dışarıdan bir IPv6 cihazına istenmemiş trafiğe izin vermek için açıkça güvenlik duvarı kuralı eklemek gerekir
- Bu durum, NAT kullanılıp kullanılmamasından bağımsız olarak aynıdır
Sonuç
- IPv6'nın NAT kullanmaması nedeniyle güvenliğin zayıfladığı iddiasının bir temeli yoktur
- Gerçek güvenlik, NAT ile değil güvenlik duvarı politikaları ve trafik kontrol kurallarıyla belirlenir
- IPv6 ortamında da uygun güvenlik duvarı yapılandırmasıyla varsayılan reddetme (default-deny) güvenlik stratejisi sürdürülebilir
1 yorum
Hacker News görüşleri
Tartışmaya katılmadan önce RFC 4787'nin 5. bölümüne göz atılması öneriliyor
NAT güvenlik duvarı değildir ama trafiği filtreler ve bu sayede belli bir düzeyde güvenlik işlevi sağlar
Gerçekte NAT basit adres çevirisinin ötesine geçerek evrilmiştir ve IPv6 NAT kullanmasa da güvenlik duvarıyla aynı filtreleme uygulanabilir
Linux netfilter hem NAT hem de güvenlik duvarı uygular;
nattablosundaki DNAT/SNAT kuralları NAT,filtertablosundaki REJECT/DROP kuralları ise güvenlik duvarı işlevi görürYalnızca NAT kuralları uygulanırsa mevcut bağlantının parçası olmayan trafik de olduğu gibi geçer
NAT'in dışarıya bağlantı kurarken durum tablosu oluşturmasını ve buna karşılık gelen gelen paketlere izin vermesini ele alır
Yani bu belgedeki “filtering”, istenmemiş gelen bağlantılar anlamına gelmez
IPv6 da IPv4 kadar güvenli olabilir, ancak bu yapılandırmaya bağlıdır
Sistem ve uygulama mühendislerinin meseleyi bütün olarak anlamadan NAT ve sınır güvenlik duvarına güvenmesi kötü bir güvenlik alışkanlığıdır
Özellikle gerçek uygulamalardan uzaklaştıkça RFC'nin güvenilirliği azalır
ABD'deki mobil ağlarda NAT olmadan da IPv6 adresleri kullanılıyor
Örneğin T-Mobile, IPv4'ü IPv6 üzerinde tünellemek için 464XLAT kullanıyor
Bu, NAT olmadan da büyük ölçekte durum bilgili güvenlik duvarlarının çalıştırılabildiğini gösteriyor
Termux ve netcat ile test edilmiş; IPv4 CGNAT arkasındayken IPv6'ya doğrudan bağlanılabilmiş
Ağ kapasitesi yetersizse bunun çözülmesi gerektiği savunuluyor
IPv6 yaygınlaştığında insanların doğrudan iletişim kurmasının doğal hale geleceği söyleniyor
Bir ağ mühendisi olarak ilk öğrenilen şeylerden biri NAT ile güvenlik arasındaki ilişki olmuş
IPv4'teki özel adresler (192.168.0.1) dışarıdan erişilmesi zor adreslerken, IPv6'nın global adresleri cihaz bilgilerini açığa çıkarabilir
IPv6'da Prefix Translation gibi alternatifler bulunuyor; bunlar NAT'in bazı avantajlarını korurken şeffaf erişim de sağlayabiliyor
Adil bir kıyas için her ikisini de ya iç ya da dış adresler olarak eşlemek gerekir
CGNAT ortamında gelen bağlantılar mümkün olmadığından, IPv6'da da aynı şekilde kısıtlama yapılabilir
NAT66 ile prefix gizlenebilir ama bunun pratik güvenlik faydası büyük değildir
Pek çok hacker NAT ile güvenlik duvarı arasındaki farkı karıştırıyor
NAT güvenlik için tasarlanmamıştır; güvenliği sağlayan şey güvenlik duvarıdır
NAT namespacing, güvenlik duvarı ise policy-based security sağlar
Namespacing'in kendisi de saldırganın kaynakların “adını bile bilmemesini” sağlayan güçlü bir güvenlik özelliğidir
IPv6 güvenlik duvarında tek satırlık yanlış bir kural tüm dünyaya açılmaya yol açabilir
Güvenlik duvarı olmasa bile yalnızca NAT ile iç kaynaklar korunabilir
NAT ev ağının saldırı yüzeyini tek bir yönlendiriciye indirger
Buna karşılık güvenlik duvarlarında varsayılan ayarlar değişebilir; bu yüzden IPv6 genel kullanıcı açısından güvenlikte gerileme gibi hissedilebilir
UPnP'nin NAT'in güvenliğini bozduğunu söylemek, PCP'nin güvenlik duvarını bozduğunu söylemek gibidir
NAT'in varsayılan engelleme özelliğinin IPv4 güvenliğinin artısı olduğu iddiasına karşılık
IPv6'nın varsayılan engelleme kuralları aynı güvenlik düzeyini sağladığından, yapısal bir güvenlik farkı yoktur
IPv4 NAT ve IPv6 varsayılan engelleme kuralları aynı değişmez koşulları korur
Her ikisi de yanlış yapılandırılırsa aynı şekilde savunmasız hale gelebilir
NAT'e güvenip IPv6 güvenlik duvarını yapılandırmadığı için bir SBC'nin hacklendiği bir deneyim paylaşılmış
Sorunun nedeni NAT değil, IPv6 yapılandırma hatasıymış
NAT de güvenlik sorunlarına yol açar
Yansıma saldırıları ya da adres-uç nokta ayrımı nedeniyle iz sürmenin zorlaşması gibi problemler doğurur
Geçmişte AOL'un az sayıda egress adresini paylaşması nedeniyle bazı kullanıcıları engellemenin zorlaştığı bir örnek verilmiş
Ancak zamanla NAT bir tür güvenlik inancı (cargo cult) gibi görülmeye başlanmıştır
NAT'in etkisi ISP ve yönlendirici yapılandırmasına göre değişir
NAT amaçlanmış bir güvenlik özelliği olmasa da yan etki olarak güvenlik faydası sağlar
IPv6'da her cihaza doğrudan adres verilirse varsayılan engelleme yapan bir güvenlik duvarı gerekir
UPnP özellikleri bağlantısı
NAT'in güvenliğin temeli olduğunu söyleyenlerin ağı iyi bilmediği iddiasına karşılık
O dönemde privacy address birikimi sorunu yüzünden SIP sunucusunun başarısız olduğu bir vakayı paylaşıyor
İlgili tartışmanın Reddit VOIP başlığında hâlâ geçerli olduğu söyleniyor
NAT'in gelen trafiği düşürmediği iddiası hakkında
NAT yalnızca adres çevirisi yapar; paket düşürmez
Bu geri bildirim doğrultusunda yazının güncellendiği belirtiliyor