Linux'ta IPTable'lar nasıl yapılandırılır? [2021 için adım adım kılavuz]

Linux'ta IPTable'lar nasıl yapılandırılır? [2021 için adım adım kılavuz]

IPTables, Linux'ta komut satırından çalışan bir güvenlik duvarı sisteminin adıdır.Program esas olarak şu şekilde hizmet vermektedir:UbuntuVarsayılan yardımcı program.Yöneticiler, ağlarına gelen trafiğe izin vermek veya trafiği engellemek için genellikle IPTables güvenlik duvarlarını kullanır.

IPTable'larda yeniyseniz, yapmanız gereken ilk şey onu güncellemek veya aşağıdakilerle kurmaktır:

$ sudo apt-get iptables'ı kur

Komut satırı arayüzüne aşina olmayan kullanıcılar IPTables'ı bir öğrenme eğrisi olarak görse de, yardımcı programın kendisinin kullanımı çok basittir.Trafiği kontrol etmek için temel teşkil edebilecek bir dizi çekirdek komut vardır.Bunu söyledikten sonra, IPTables kurallarını değiştirirken çok dikkatli olmanız gerekir.Yanlış yazılmış bir komut, siz fiziksel makinenin içindeki sorunu çözene kadar sizi IPTable'lardan tamamen kilitleyebilir.

Bu makalede, size IPTable'lar için temel bir kılavuz vereceğiz ve sizi temel bilgilerle tanıştıracağız.IPTable'ların özüne inmeden önce, birUbuntu'yu çalıştır 16.04OfVPAve birSSH istemcisi ileOf yerel makine.Bunlara zaten sahipseniz, başlama zamanı.

IPTables Eğitimi: Zincirler

IPTable'larda uzmanlaşılması gereken temel kavramlardan biri zincir kavramıdır.Zincir esasen bir kuraldır.Filtrenin tablosu, IPTable'larda karşılaşacağınız üç zincire sahiptir;girmek,İleri 和Çıktı.

    • GİRİŞ  – GİRİŞ zinciri, gelen paketleri kontrol eden bir kuraldır.Burada yeni bağlantıları engelleyebilir veya izin verebilirsiniz.Bunu bağlantı noktası, protokol ve kaynak IP adresine göre yapabilirsiniz.
  • İLERİ  – Farklı uç konumlara iletilen gelen paketleri İLERİ zincir filtreleme.Yönlendirme veya özellikle yönlendirme aramadığınız sürece, bu zinciri kullanmanız pek olası değildir.
  • ÇIKTI  – ÇIKIŞ zinciri, giden paketleri ve bağlantıları yönetmek için kullanılır.Harici bir ana bilgisayara ping gönderirseniz, size veri döndürmek için giriş zincirinin kullanılacağını unutmamak önemlidir.

Varsayılan zincir davranışı

Başlangıçta belirli kuralları yapılandırmaya atlamak isteyebilirsiniz, ancak varsayılan davranışı tanımlamak için bir adım geriye gitmeniz gerekir.Zincirin varsayılan davranışının ne olduğunu belirlemek için aşağıdaki komutu çalıştırmanız gerekir:

$ sudo iptables -L komutu

Bu, aşağıdakileri gösterecektir:

user@ubuntu:~$ sudo iptables -L -v 
Zincir GİRİŞİ (politika KABUL) 
İLERİ Zincir (politika KABUL ET) 
Zincir ÇIKIŞI (politika KABUL) 
kullanıcı@ubuntu:~$

Bu bilgi size zincirin tam olarak ne için yapılandırıldığını söyler.Örnekte, giriş, iletme ve çıkış zincirleri trafiği kabul edecek şekilde yapılandırılmıştır.Bu ayarlar, isteyebileceğiniz hiçbir bağlantıyı engellemeyeceğinden iyi bir başlangıç ​​noktasıdır.

ilgili soru  Linux ve Windows Karşılaştırması [Radikal İşletim Sistemleri ile Çatışma]

Ancak, politikanızın bağlantıları kabul etmediğini fark ederseniz, tüm bağlantıları kabul etmek için aşağıdaki komutların her birini girebilirsiniz:

$ sudo iptables --policy INPUT KABUL
$ sudo iptables --policy ÇIKIŞ KABUL
$ sudo iptables --policy İLERİ KABUL

Varsayılan ayarlarınız tüm bağlantıları kabul ettiğinde, IP adreslerini ve port numaralarını engelleyerek IPTable'lara erişimi kontrol edebilirsiniz.Bu, varsayılan olarak tüm bağlantıları engellemek yerine hangi bağlantıların engelleneceğini belirlemenize olanak tanır.

Özellikle hassas bilgilerle uğraşıyorsanız, tüm bağlantıları otomatik olarak engellemek için varsayılan ayarları yapılandırabilirsiniz.Bu şekilde, izin vermek istediğiniz tek tek IP adreslerini seçmek için IPTable'ları kullanabilirsiniz.Bunu yapmak için aşağıdaki komutu girmeniz gerekir:

$ sudo iptables --policy INPUT DROP
$ sudo iptables --policy OUTPUT DROP
$ sudo iptables --policy FORWARD DROP

Çoğu kullanıcı tüm bağlantıları kabul etmekten daha iyidir, ancak yüksek güvenlikli bir sunucuda çalışıyorsanız bunu aklınızda bulundurmaya değer.

Tek bir bağlantı yapılandırın

Varsayılan zincir davranışı yapılandırıldıktan sonra, bireysel bağlantıları yapılandırma zamanı gelir.Bu, sözde bağlantıya özel yanıtları yapılandırdığınız yerdir.Bu aslında IPTable'lara bir IP adresine veya bağlantı noktasına bağlanırken nasıl etkileşimde bulunacaklarını söyler.Bu cevaplar şu şekildedir;Resepsiyon,放棄,Reddetmek.

Yukarıdaki resimde de görebileceğiniz gibi, kullanıcı gerektiğinde bağlantılara izin vermek, bırakmak veya reddetmek için zincirleme kurallar tanımlamıştır.Aşağıda, her yanıtın ne içerdiğinin bir açıklaması yer almaktadır:

  • KABUL – Bu yapılandırma yalnızca bağlantılara izin verir.
  • DAMLA  – Drop, kaynakla hiçbir şekilde etkileşime girmeden bağlantıyı engeller.
  • REDDET  - Bu, denenen bağlantıyı engeller, ancak aynı zamanda bir hata mesajı da gönderir.Bu genellikle kaynağa bağlantı girişiminin bir güvenlik duvarı tarafından engellendiğini bildirmek içindir.

Bağlantılara nasıl izin verilir veya engellenir

Kurulumunuza bağlı olarak, bağlantıları engellemenin veya izin vermenin birçok farklı yolu vardır.Aşağıdaki örnek, gizli engelleme yöntemini kullanır, yaniDamla Herhangi bir etkileşim olmadan bağlantıyı kesin. iptables-A Varsayılan zincir ayarları tarafından oluşturulan kurallara ek uyarılar eklememize izin verir.Bağlantıları engellemek için bu komutu nasıl kullanacağınızı aşağıda göreceksiniz:

Tek bir IP adresini engelle:

$ sudo iptables -A GİRİŞ -S 10.10.10.10 -j DROP

Yukarıdaki örnekte, 10.10.10.10'u engellemek istediğiniz IP adresiyle değiştirebilirsiniz.

ilgili soru  35 Linux Klavye Kısayolu [2021'de Bilmeniz Gerekenler]

Bir dizi IP adresini engelleyin:

$ sudo iptables -A GİRİŞ -s 10.10.10.10.0/24 -j DROP    

veya

$ sudo iptables -A GİRİŞ -s 10.10.10.0/255.255.255/.0 -j DROP

Tek bir bağlantı noktasını engelle:

$ sudo iptables -A GİRİŞ -p tcp --dport ssh -s 10.10.10.10 -j DROP 

'ssh'nin herhangi bir protokol veya bağlantı noktası numarasıyla değiştirilebileceğini unutmayın.Ayrıca, kodun -p tcp segmentinin, engellemek istediğiniz protokolün UDP mi yoksa TCP mi kullandığını belirtmek için kullanıldığını unutmayın.

Protokol UDP kullanıyorsa, girersiniz-p udpOnun yerine-p tcp.Bir IP adresinden gelen tüm bağlantıları aşağıdakileri girerek de engelleyebilirsiniz:

$ sudo iptables -A GİRİŞ -p tcp --dport ssh -jDROP

İki Yönlü İletişim: Bağlı Durum IPTables Eğitimi

Karşılaştığınız çoğu protokol, iletim için iki yönlü iletişim gerektirir.Bu, bir transferin girdi ve çıktılardan oluştuğu anlamına gelir.Sisteminize girenler, çıkanlar kadar önemlidir.Bağlantı durumları, iki yönlü ve tek yönlü bağlantıları karıştırmanıza ve eşleştirmenize olanak tanır.Aşağıdaki örnekte, SSH protokolü, IP adreslerinden gelen SSH bağlantılarını engeller, ancak IP adreslerine bağlantılara izin verir:

$ sudo iptables -A INPUT -p tcp --dport ssh -s 10.10.10.10 -m state --state YENİ, KURULDU -j KABUL 

$ sudo iptables -A ÇIKIŞ -p tcp --sport 22 -d 10.10.10.10.-m durumu --durum KURULDU -J KABUL

Bağlantı durumunu değiştirmek için komutu girdikten sonra değişiklikleri kaydetmeniz gerekir.Bunu yapmazsanız, yardımcı programı kapattığınızda yapılandırmanız kaybolacaktır.Kullanmakta olduğunuz dağıtım sistemine bağlı olarak birçok farklı komut kullanabilirsiniz:

ilgili soru  Linux'ta Windows uygulamaları nasıl çalıştırılır? [Şarap 6.1 kullanarak]

Ubuntu:

$ sudo /sbin/iptables-kaydet

Red Hat/CentOS -

$ sudo /sbin/service iptables kaydetme

veya

$ sudo /etc/init.d/iptables kaydet

Yardımcı program her yüklendiğinde yapılandırma zorunluluğunu ortadan kaldırdığı için bu komutları kullanmayı unutmamak önemlidir.

kuralı sil

Kuralları kaydedebilmek kadar onları silebilmek de önemlidir.Bir hata yaparsanız veya sadece eski kurallardan kurtulmak istiyorsanız seçenekleriniz vardır - D komut.Bu komutun girdiğiniz kural numarası ile birlikte kullanılması gerekir.Bu numara, IPTable'lara hangi kuralın silineceğini söyler.Örneğin, girecek olsaydınız:

$ sudo iptables -D GİRİŞ 10

Ardından yapılandırdığınız 10. kural silinecektir.

Evi temizlemek ve bir sürü kuralı kaldırmak istiyorsanız, kullanabilirsiniz.-F komutu.Bunu yazarak yapabilirsiniz:

$ sudo iptables -F

Bu, tüm kural setini temizleyecek ve IPTable'ınızı yenileyecektir.

IPTables: Zincir Kurallarını Öğrenin!

Bu, IPTables eğitimimizi tamamlıyor.Gördüğünüz gibi, IPTables engellemenin ve izin vermenin bir yoludur.LinuxdağıtımAkış üzerinde çok amaçlı bir araç.Yardımcı programı etkin bir şekilde kullanmak, varsayılan yapılandırmayı etkin bir şekilde ayarlamayı ve bunun üzerine başka kurallar oluşturmayı içerir.Varsayılan yapılandırma, trafiğe izin vermek veya trafiği reddetmek için geniş trafik amacını belirlemenize olanak tanır;Bu kurallar, yönteminizi IP adresi, bağlantı noktası ve protokole göre yapılandırmanıza olanak tanır.

IPTable'ların potansiyelinin yalnızca yüzeyini kazıdık, sunucunuzda trafiği nasıl deneyimleyeceğinize karar vermek için kullanabileceğiniz tonlarca farklı komut var.Ancak, diğer komutları kullanmaya başlamadan önce temel bilgileri anlamanızı öneririz.Örneğin, daha özel bir şeye girişmeden önce temel zincir kurallarını anlamanız gerekir.

IPTables'ın çalışma şekline alıştıktan sonra, deneyiminizi özelleştirmek için daha fazla kural eklemeye başlayabilirsiniz.Bunu yaparak, her zamankinden daha büyük bir hassasiyetle izin vereceğiniz bağlantı türlerini tam olarak belirtebileceksiniz.

Oh merhaba 👋Tanıştığımıza memnun oldum.

Haber bültenimize abone ol, çok düzenli gönderharika teknolojipostanıza.

Yorum Ekle