Linux Iptables Tüm Kuralları Listeliyor


Iptables, birçok Linux platformunun ağ güvenliği için çok önemli olan bir ağ geçididir. İptables eğitim kılavuzlarının çoğu, Linux sisteminizi korumak için ağ geçidi kurallarının nasıl yazılacağını göstereceğinden, bu makale, güvenlik duvarı yönetiminin çeşitli bir özelliğine odaklanacaktır: iptables kurallarının listelenmesi. Linux sunucunuzda yakın zamanda NAT ayarlarını açıkladığınızı varsayalım. Ubuntu'da yakın zamanda yazdığınız kuralları satır numaralarıyla birlikte nasıl görüntüleyebilirsiniz? Bu makale, iptables işlevinin yüklü olduğu bir Linux platformuyla çalıştığınızı ve hesabınızın root erişimine sahip olduğunu varsaymaktadır. O halde, tüm komutları kabuğunda uygulayacağımız için bugünkü makalemize Ubuntu 20.04 sisteminizden giriş yaparak başlayalım. Linux terminalini açmak için başarılı giriş yaptıktan hemen sonra Ctrl+Alt+T kısayolunu denemeniz gerekir.

Kuralları Spesifikasyona Göre Listeleyin:

Herhangi bir şey yapmadan önce sisteminizin güncel ve yükseltilmiş olduğundan emin olun. Değilse, kabuktaki apt “update” ve “upgrade” komutlarını deneyin. Öncelikle kural listesinin nasıl oluşturulacağına bir göz atalım. Operasyonel iptables kuralları iki farklı şekilde görülebilir: tablo biçiminde veya kural parametrelerinin bir listesi. Her iki yaklaşım da aynı içeriği biraz farklı formatlarda sunar. Dolayısıyla, şu anda etkin olan tüm "iptables" kurallarını işlevlerine veya özelliklerine göre listelemek istiyorsanız, bunu basit bir "iptables" komutunun ardından "-S" işaretini kullanarak yapabilirsiniz. Bu durumda “sudo” anahtar kelimesini kullandığınızdan emin olun. Yürütme sırasında sudo şifrenizi isteyecektir. Parolanızı yazın, Enter tuşuna basın ve aşağıda sunulan çıktı görüntüsünde gösterildiği gibi iptables kurallarının listesini ve bunların özelliklerini alın.

$ sudo iptables -S

Yukarıdaki görselde listelenen tüm komutları seçiminize göre kullanabilirsiniz. İptables komutunun yukarıdaki çıktısı, “Ipv4”ün birçok şeyi mükemmel bir şekilde gerçekleştirmesi için birçok iptables komutunu göstermektedir. Aşağıda gösterilen ip6tables komutunu kullanarak IPv6 kurallarını da listeleyebilirsiniz. Çıktı, aşağıdaki ekteki ekran görüntüsünde gösterilmektedir.

$ sudo ip6tables -S

Yukarıdaki komutların tamamı Ipv4 ve Ipv6 için sistemimizdeki tüm kuralları listelemekle ilgiliydi. Bundan kaçınmak ve bazı belirli kuralları ada göre görüntülemek istiyorsanız, bunu da yapabilirsiniz. İptables komutunda “-S” işaretinden sonra zincir adını belirtmeniz yeterlidir, artık hazırsınız. Sistemimizin Ipv6'sında INPUT zincirinin tüm kurallarını listelemek istiyoruz. Aşağıda gösterildiği gibi “-S” bayrağından sonra “INPUT” kelimesini kullanmamız gerekiyor ve kuralın devasa bir liste yerine tek başına görüntülendiğini göreceğiz. Çıktı, aşağıdaki ekteki ekran görüntüsünde gösterilmektedir.

$ sudo ip6tables –S INPUT

Belirli bir zincirin sisteminizde belirlenmiş kuralları bulunmaması ihtimali vardır. Sistemimizin TCP zinciri için tüm kural spesifikasyonlarını kontrol etmek istediğimizde iptables'larımızın “TCP” isim zincirinin olmadığını öğrendik. Çıktı, aşağıdaki ekteki ekran görüntüsünde gösterilmektedir.

$ sudo ip6tables –S TCP

Belirli bir zincir için iptables kurallarını tablo halinde görüntülemek istiyorsanız, iptables komutunda “-L” işaretini kullanmanız gerekir. Yani görselde gösterilen komut içerisinde “-L” seçeneğini kullanarak “FORWARD” zincirine ait tüm iptables kurallarını kabuk üzerinde görüntülemek için bir örnek ele alıyoruz. “FORWARD” zinciri için kuralları tablo halinde görüntüler ve kuralları sütunlar halinde yani hedef, kaynak, koruma, opt, hedef olarak belirtir. Hedef sütunu, belirli bir veri paketi bazı iptables kurallarıyla eşleştirildiğinde kapatılacak/kapatılacak nesneyi gösterecektir. İlk sütun, söz konusu kural tarafından kullanılan protokolü gösterecek ve tercih sütunu, bu kural için bazı ekstra seçenekleri gösterecektir. "Kaynak" sütunu kaynağın IP adresi veya adıdır ve "hedef" adı veya IP'yi veya hedefi belirtir. Çıktı, aşağıdaki ekteki ekran görüntüsünde gösterilmektedir.

$ sudo ip6tables –L FORWARD

iptables komutu ayrıca belirli bir zincir için kurallarla eşleşen toplam paket sayısını ve içerdikleri byte cinsinden boyutu görüntüleme seçeneğiyle birlikte gelir. iptables komutumuzda “-v” seçeneğini kullanmamız gerekiyor. Çıktı verilerini tablo formatında listelemek istiyorsanız “-t” bayrağını kullanmayı da deneyebilirsiniz. Satır numaralarını ve NAT kurallarını listelemek için komutta “—line-numbers” seçeneğini kullanıyoruz. Çıkış verilerinin daha düzenli olacağını kontrol edeceksiniz. “nat” servisi için aşağıdaki komutu kullandık ve çıktı olarak devasa tabloyu elde ettik. Kurallarla eşleşen paketleri gösteren "pkts" sütununa, bir paketin içerdiği bayt sayısını gösteren "bytes" sütununa ve diğer birçok sütuna sahibiz. Aynı zamanda NAT zincirlerinin tüm kurallarını da gösterir, yani INPUT, OUTPUT. “Num” sütunu kuralların satır numaralarını gösterir. Çıktı, aşağıdaki ekteki ekran görüntüsünde gösterilmektedir.

$ sudo iptables –L –n –v –t nat - -line-numbers

Çözüm:

Nihayet! Kabuk uygulamasını kullanarak Ubuntu 20.04'teki iptables kurallarının listelenmesini tamamladık. Kuralları listeler ve tablolar şeklinde görüntülemek için basit iptables komutunu bilmemiz gerekiyor. Belirli amaçlar için –S, -L, -n, -v, -t gibi farklı seçeneklere göz attık. Ayrıca kuralların satır numaralarını görüntülemek için “—line-numbers” seçeneğini de kullandık.

İlgili makaleler: