Önceki yazımızda IPTables'ı güvenlik duvarı olarak nasıl yapılandıracağımızı görmüştük. Şimdi ise sistem başladığında kuralları otomatik olarak çalıştıracak komut dosyaları oluşturmayı ve bu kuralları silmeyi veya geçici olarak durdurmayı öğreneceğiz.
Senaryoyu yapmadan ve size nasıl göründüğünü göstermeden önce biraz NAT ve bu ekipmanla ne yapmak istediğimizin konseptinden bahsedelim.
Örneğin NAT ve Bağlamı.
NAT hakkında konuştuğumuzda, bunu yönlendirme ile karıştırabiliriz, çünkü her ikisi de iki farklı ağı birbirine bağlamakla görevlidir. Gerçek fark, yönlendirmenin bir yerel ağdan diğerine gitmek için uygulanması ve bu diğer ağın bir yönlendiriciye bağlanıp İnternete çıkabilmesidir.
Oysa NAT hakkında konuştuğumuzda, paketleri yerel veya özel bir ağdan genel bir ağa veya İnternete yönlendirmekten bahsediyoruz. Bunu, internete gittiği genel IP'yi koyarak paketleri maskeleyerek yapar. Diğer bir deyişle, bir yönlendiriciye ihtiyacımız yoktur, çünkü genel IP doğrudan GNU / Linux bilgisayara aittir.
Bunu, yerel bir ağdan İnternete çıkmak için Linux'umuzu bir yönlendirici / güvenlik duvarı olarak kullandığımız sloganıyla çalışacağız. Ancak burada iki senaryo ortaya çıkabilir.
- Linux'umuzun servis sağlayıcının yönlendiricisi ile yerel ağ arasında olduğu.
Bu durumda, yönlendirici ile Linux sistemimiz arasında bir ağ, Linux sistemi ile yerel ağ arasında ise farklı bir ağ olacaktır. Bu, yönlendiricimizin NAT işlemi yapmasına gerek olmadığı anlamına gelir; önceki yazıda açıklandığı gibi basit trafik yönlendirmesi yeterli olacaktır.
- Linux'umuzun yerel ağa bağlı bir arabirime sahip olduğu ve diğer arabirim aracılığıyla doğrudan gezindiği genel bir IP aldığı.
Bu, paketlerin İnternet'e erişebilmesi için Linux'umuzun NAT yapması gerektiği anlamına gelir.
Bu küçük laboratuvarın amaçları doğrultusunda, Linux'umuzun doğrudan bir genel IP aldığını ve böylece NAT'ın etkilerini test edebileceğini söyleyeceğiz.
NAT yapmak için sözdizimini kullanıyoruz
iptables -t nat -A SONRAKİ İŞLEME -O eth1 -j MASQUERADE
Eth1, genel IP'yi aldığımız, yani İnternete gittiğimiz arayüzdür.
İptables komut dosyası oluşturma
Diyelim ki: 172.26.0.0 bizim yerel ağımız ve 81.2.3.4 İnternete gittiğimiz genel IP. (bu statik bir iptir). Eth0 (Yerel ağ) arayüzlerine sahibim
eth1 (Genel ağ).
Temel olarak /etc/init.d/firestop (örneğin) 'den çağrılabilen bir betik oluşturmaktan ibarettir. ve bu komut dizisinden, herhangi bir sistem arka plan programında yaptığımız gibi yapılandırmamızın durumunu başlatabilir, durdurabilir veya kontrol edebiliriz.
IPTABLES kurallarımın:
#! / bin / bash # Evimin güvenlik duvarı. # Dosya adı / etc / firewall_on # Jlcmux tarafından Twitter: @Jlcmux # # Temel politika. iptables -P INPOUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP # #NAT interneti eth0'dan eth1'e paylaşmak için iptables -t nat -A POSTROUTING -O eth1 -j SNAT - kaynağa 81.2.3.4 # # İptables'ım tarafından başlatılan gelen bağlantılara izin ver -A YÖNLENDİRME -m durumu - durum KURULDU, İLGİLİ -j KABUL # # Yetkili giden trafik iptables -A İLERİ -i eth0 -o eth1 -p tcp --dport 80 -j iptables KABUL -A İLERİ -i eth0 -o eth1 -p tcp --dport 443 -j iptables KABUL ET -A İLERİ -i eth0 -o eth1 -p udp --dport 53 -j KABUL
Açıklama:
Komut dosyası temelde şunları yapar:
- Önce tüm navigasyonu, bağlantıları ve trafiği kısıtlayın. (Temel Güvenlik Duvarı Politikaları)
- Ardından, eth1 hedefiyle NAT'ı oluşturun. statik bir genel IP'ye sahip olduğumuzu belirten «81.2.3.4»
- Başlattığım bağlantı paketlerini almak için gerekli bağlantı noktalarını açar.
- Giden HTTP, HTTPS ve DNS trafiğini kabul eder.
Ekipmanımızı gezinmek için kullanmak istiyorsak, satırları tekrarlamalı ve FORWARD'ı uygun şekilde INPUT veya OUTPUT olarak değiştirmeliyiz.
Komut dosyasını iptal edin.
Şimdi yukarıdakilerin hepsini geçersiz kılan ve bilgisayarı tüm bunlardan arındıran bir betik oluşturacağız. (Test amacıyla veya sadece güvenlik duvarını kapatmak istiyoruz).
#! / bin / bash # Evimin güvenlik duvarı. # Dosya adı / etc / firewall_off # Jlcmux tarafından Twitter: @Jlcmux # # iptables Kurallarını Silme -F # # Varsayılan ilkeleri uygulama (tüm trafik kabul edildi) iptables -P GİRDİ KABUL iptables -P ÇIKTI KABUL iptables -P İLERİ KABUL
Otomatikleştiriliyor.
Şimdi , servisin otomatik olarak başlaması ve daha kolay yönetilebilmesi için /etc/init.d/ dizinine bir betik oluşturmamız gerekiyor .
#! / bin / bash # Evimin güvenlik duvarı. # Dosya adı /etc/init.d/ firewall # Jlcmux tarafından Twitter: @Jlcmux case $ 1 başlangıçta) / etc / firewall_on ;; durdur) / etc / firewall_off ;; durum) iptables -L ;; *) echo "Yanlış sözdizimi. Valid = /etc/init.d/ güvenlik duvarı start | stop | status ;; esac
Açıklama:
Bu son betiği "/etc/init.d/" dizinine "firewall" adıyla yerleştiriyoruz . Ardından, güvenlik duvarını yönetmek istiyorsak, "/etc/init.d/firewall start" komutunu kullanabiliriz. Aynı şekilde durdurabilir veya durumunu kontrol edebiliriz.
Şimdi /etc/rc.local dosyasını düzenleyip içine /etc/init.d/firewall start gibi bir şey ekleyeceğiz, böylece sistemle birlikte başlayacak.
Ayrıca. Bu ikinci kısımdır. Umarım hepinize bir şeyler getirir. Sonraki bölümde Proxy ve IDS görüyoruz.