Perşembe, Şubat 14, 2019

Network Adress Translation (NAT), port forwarding (port yönlendirme), Outbound NAT, Destination NAT, 1:1 NAT (PfSense)

NAT (Network Adress Translation):

Genel kullanım amacıyla Network Adres Translation (NAT), IPv4 adresini kullanan çok sayıda bilgisayarın internete tek public IPv4 adesiyle bağlanmasını sağlamaktadır. Pfsense bu basit yapılandırmayı sağlamaka beraber çoklu public IP adresleri için networklerde ihtiyaç duyulan kompleks ve gelişmiş NAT konfigürasyonlarının da yapılmasına olanak tanımaktadır.

NAT iki yönde ayarlanmaktadır: içeri doğru (inbound) ve dışarı doğru (outbound): Dışarı doğru-Outbound NAT, uzak dış networkü hedefleyen ve lokal network'den çıkan trafiğin nasıl çıkacağını tanımlamaktadır. İçeri doğru-Inbound NAT: uzak network'den içerideki networke gelen trafiğin içeri nasıl dönüştürüleceğiyle ilgilidir. En çok bilinen inbound NAT tipi port yönlendirmedir (port forwarding.



Outbound NAT-> diğer adıyla Source NAT aslında lokal ağlardaki kaynak adres ve portların interface'i (arayüzü) terk ederken nasıl dönüştürüleceği ile ilgili kuralları belirler. Örnek vermek gerekirse, LAN'daki kullanıcılarınızın internete çıkışında WAN IP'sine NAT'lama işlemini gerçekleştirmektedir.

Pfsense, Outbound NAT kurallarının otomatik ve manual olarak hazırlanmasına izin verir. Hybrid modda otomatik girilen NAT kuralına ek kural girerek NAT kuralını pasif edebilirsiniz. Böylece otomatik ve manuel'in avantajlarını kullanmaya devam edebilirsiniz.

Pfsense ayrıca Outbound NAT kuralı girerken hedef adress girilmesine izin vermektedir. Çoğu durumda Outbound kuralının işlediği interface'teki hedef any olarak seçilir, yani interface'ten çıkan tüm trafik NAT'lanarak dönüştürülür. Hedef alanı değiştirilerek belirli hedef adres ve portlar için adres dönüştürme işlemi de gerçekleştirilebilir.  Örneğin SIP truk adreslerine statik port NAT'lama işlemi yapılabilir. [1]



Inbound NAT (Port Forwarding)-> Diğer adıyla Destination NAT. Bu kavram farklı üreticilerde farklı isimlerle anılmaktadır, ancak teknik ve genel ismiyle Destination NAT olarak bilinir. Destination NAT, firewall'a gelen trafik için uygulanmaktadır. Firewall'a gelen public adresler içerideki özel adreslere dönüştürülür.

Port Forwarding: Public hedef adres ve portunu özel (private) hedef adresine dönüştürür ancak port numarası aynı kalır.
Port Translation: Public hedef adresini ve port numarasını özel (private) hedef adresine ve farklı port numarasına dönüştürülür. Böylece gerçek port numarası gizli kalmaktadır.  [2]



1:1 NAT: Birebir NAT olarak da bilinmektedir. Harici public IPv4 adresi, içerideki özel IPv4 adrese dönüştürmektedir. kaynak adresi bu özel IPv4 adres olan ve internete çıkacak tüm trafik birebir olarak bu public IPv4 adrese dönüştürülmektedir. Burada eğer outbound kuralı varsa 1:1 NAT kuralıyla ezilmektedir. Internet tarafında başlatılan ve hedef olarak bu public adrese sahip tüm trafik belrlenen özel (private) IPv4 adrese dönüştürülmektedir. Daha sonrasında WAN interface'i için belirlenen kurallardan geçmektedir. Eğer eşlenen trafik firewall tarafında özel IPv4 adresi için izinliyse trafiğe izin verilerek iç sunucuya yönlendirilmektedir. 

1:1 kuralı tek adresi dönüştürebildiği gibi aynı boyutta ve sınırlarda olmak kaydıyla tüm subnete de uygulanabilmektedir.
Bağlantılarda 1:1 Nat'ta portlar aynı kalmaktadır. Outbound bağlantılarında, lokal sistemin kullandığı kaynak portlar korunmaktadır, outbound NAT kurallarındaki statik port kullanılmasında olduğu gibi.


1:1 NAT kullanmanın riskleri:
Eğer wan firewall kuralları trafiğe izin verirse ve 1:1 NAt kurallarında aynı portlara dönüştürülme yapıldığından 1:1 NAT işlemleri büyük risk taşımaktadır. Kurallar her işlendiğinde potensiyel zararlı trafik lokal ağa sızabilmektedir. Ancak port yönlendirme (forward) kural girişleri ile trafik firewall ve NAT kuralı ile sınırlanmaktadır. Eğer TCP 80 portu forward kuralı ile açılmışsa iç host (sunucu) için WAN tarafında sadece 80 portu için izin verilecektir. 1:1 NAT kuralında WAN tarafında tüm portlara izin verileceğinden, iç host'a internet tarafından her port için izin verilmiş olacaktır. Dolayısıyla 1:1 NAT'ı kullanım amacı doğrultusunda kullanılmasında fayda vardır, eğer web sunucuya erişim sağlanması isteniyorsa port forrwarding NAT kuralı yeterli olacaktır. Gerekli olmadıkça firewall tarafında her  şeye izin verilmemesi gerekmektedir. [3]



Port Forwarding ve 1:1 NAT: Port yönlendirme NAT kuralının 1:1 NAT kuralına göre önceliği vardır.  Eğer dış IP adresi için içerideki hosta port yönlendirme yapılmışsa ve aynı zamanda aynı dış IP adresi için farklı bir host'a 1:1 NAT yapılmışsa, port forward aktif kalarak orjinal hosta yönlendirme yapmaya devam etmektedir. [4]



2 yorum:

  1. mobil veri ağlarında (gsm ps network) da nat işlemi yapılıyor ve yazıdan anladığım kadarıyla bunun yapılması zorunlu. her ms/ue (mobile station / user equipment) şebeke içerisinde bir 'ms ip' ile dolaşıyor ancak internete (mobil servis sağlayıcı şebekesi dışına) çıkarken nat işleminden geçiriliyor ve ip değişiyor (public ip).

    soru 1: nat sadece güvenlik sebebiyle mi yapılır yoksa ip kullanımındaki teknik kısıtlar da mı bunu gerekli kılar?

    soru 2: nat işlemi kullanıcı/sunucu bazlı trafik denetiminde kolaylık sağlar mı?

    YanıtlaSil
    Yanıtlar
    1. Merhaba Adil Bey, Nat kullanımının iki amacı var 1. Güvenlik böylece dış ağdaki saldırganlar iç ağda hangi sunucu ve porta saldıracaklarını göremezler, 2: IPv4 adreslerini daha verimli kullanmak, iç ağda özel adresler kullanarak ve dışarı çıkarken 1 dış IP adresi kullanarak ihtiyaç duyulan IPv4 adres sayısı azalmış olur,

      2. sorunuza gelirsek ACL veya stateful güvenlik duvarı denetiminde ekstra bir kolaylık sağlamaz diye düşünüyorum.

      Sil