%50 indirim tüm planlarda, sınırlı süre. Başlangıç fiyatı $2.48/mo
14 dakika kaldı
Güvenlik ve Ağ

Linux Iptables Kurallarını Listeleme ve Silme: Yeni Başlayanlar İçin Hızlı Başvuru

Lily Carnell By Lily Carnell 14 dakika okuma Güncelleme: 18 Eylül 2023
Iptables Kurallarını Listeleme ve Silme Rehberi

Yetkisiz erişim ve sunuculara yönelik saldırılar ciddi tehditlerdir. Bu nedenle ağ güvenliğinizin bir parçası olarak mutlaka bir güvenlik duvarı kurmalısınız. Linux sistemlerinizdeki bu riskleri azaltmak için Iptables kurallarını nasıl kullanacağınızı bilmek büyük önem taşır. Bu kılavuz, iptables kurallarını listeleme ve silme gibi temel güvenlik duvarı kavramlarını öğrenmenize yardımcı olacak Ubuntu, bu işlemleri basit komutlarla gerçekleştirmenizi sağlayacak. iptables kurallarını listelemek veya silmek için gereken adımlara geçmeden önce, iptables kurallarının ne olduğunu ve neden kullandığımızı kısaca açıklayalım.

Iptables Nedir?

iptables, aşağıdakiler aracılığıyla trafiğe izin veren ya da engelleyen bir komut satırı güvenlik duvarı aracıdır ilke zincirleri. Sisteminizde bir bağlantı kurulmaya çalışıldığında, iptables listedeki eşleşen bir kuralı arar ve ağ güvenliği konusunda size güvenilir bir yardımcı görevi görür. Eşleşen bir kural bulunamazsa varsayılan eylemi uygular.

iptables neredeyse her zaman herhangi bir Linux dağıtımı. Güncellemek veya yüklemek için aşağıdaki komutu kullanabilirsiniz:

sudo apt-get install iptables

Iptables neden kullanılır?

Bir Linux komut satırı güvenlik duvarı olan iptables, sistem yöneticilerinin yapılandırılabilir tablo kuralları aracılığıyla gelen ve giden trafiği yönetmesine olanak tanır. iptables, yerleşik veya kullanıcı tanımlı kurallar içeren zincirlerden oluşan tablolar kullanır.

Önceki bölümde de belirtildiği gibi, iptables çoğu Linux sisteminde ağ güvenliği açısından kritik bir rol oynar. Bu makalenin geri kalanı ağırlıklı olarak iptables kurallarının listelenmesini ele almaktadır; iptables kurallarını görüntüleme ve silme gibi konular da dahil olmak üzere.

Daha ayrıntılı olarak, bu makalede bazı temel iptables işlemleri ele alınacaktır: kuralları listeleme, paket ve bayt sayaçlarını sıfırlama, iptables kuralı silme, zincirleri temizleme ve tüm zincirleri silip tüm trafiği kabul etme.

Ubuntu'de Iptables için kapsamlı kılavuz

iptables kurallarını görüntülemeden önce, iptables komutunun yüklü olduğu bir Linux sunucusu kullanıyor olmanız gerektiğini unutmayın. Bunun yanı sıra sudo ayrıcalıklarına sahip olmak da zorunludur. Güvenlik duvarlarıyla çalışırken, SSH trafiğini (varsayılan olarak port:22) engelleyerek kendinizi sunucunuzdan kilitlememeye dikkat edin. Güvenlik duvarı ayarları nedeniyle erişiminizi kaybederseniz, sorunu çözmek için bant dışı bir konsol üzerinden bağlanmanız gerekebilir.

Ayrıca Okuyun: Linux'de SSH Portu Nasıl Değiştirilir | Adım Adım SSH Port Değiştirme Rehberi

Kurallara Göre Listeleme

Aktif iptables kurallarınızı görüntüleyebilirsiniz tablo şeklinde veya olarak kural tanımlarının listesi. Her iki yöntem de aynı bilgiyi farklı biçimlerde sunar. Aktif iptables kurallarını tanımlara göre listelemek için iptables komutunu -S seçeneği:

sudo iptables -S

Bu iptables kural görüntüleme komutunu çalıştırdıktan sonra şuna benzer bir çıktı göreceksiniz:

kural listesi görüntüleme komutunun çıktısı
kural listesi görüntüleme komutunun çıktısı

Belirli Bir Zinciri Listeleme

iptables çıktısını INPUT, OUTPUT veya TCPgibi belirli bir zincirle sınırlandırmak istiyorsanız, zincir adını doğrudan -S seçeneğinden sonra belirtebilirsiniz. Örneğin, aşağıdaki iptables kural görüntüleme komutu TCP zincirini belirtmek için kullanılır:

sudo iptables -S TCP

TCP zinciri belirtilerek elde edilen çıktı
TCP zinciri belirtilerek elde edilen çıktı

Daha önce de belirttiğimiz gibi, iptables kurallarını görüntülemenin başka bir yolu daha vardır: kuralları tablo biçiminde görüntüleme. Bu yönteme göz atalım.

Kuralları Tablo Olarak Listeleme

iptables kurallarını tablo biçiminde görüntüleyen bir komut kullanmak, çeşitli kuralları karşılaştırmayı kolaylaştırır. Aktif kuralların tamamını tablo olarak almak için aşağıdaki iptables komutunu -L seçeneği ile çalıştırmanız gerekir:

sudo iptables -L

Bu komut, geçerli tüm kuralları zincirlere göre sıralanmış şekilde görüntüler. Çıktıyı INPUT, OUTPUT, TCP gibi belirli bir zincirle sınırlandırmak için zincir adını doğrudan -L seçeneğinden sonra belirtmeniz yeterlidir. Aşağıda iptables çıktısının INPUT zinciriyle sınırlandırılmasına ilişkin bir örnek yer almaktadır:

sudo iptables -L INPUT

INPUT zinciriyle sınırlandırılmış iptables kural görüntüleme çıktısı
INPUT zinciriyle sınırlandırılmış iptables kural görüntüleme çıktısı

Yukarıdaki çıktının ilk satırı zincir adını (bu örnekte INPUT) ve varsayılan politikayı (DROP) gösterir. Sonraki satır tablodaki her sütunun başlıklarını ve zincir kurallarını içerir. Hepsini öğrenmenize yardımcı olmak için her birini açıklayacağız:

  • Target (Hedef): Bir paket kuralla eşleştiğinde ne yapılacağını hedef belirler. Paket kabul edilebilir, atılabilir, günlüğe kaydedilebilir ya da daha fazla kuralla karşılaştırılmak üzere başka bir zincire gönderilebilir.
  • prot: Protokol (TCP, udp, ICMP veya all gibi)
  • opt: IP seçeneklerini gösterir (nadiren kullanılır)
  • source: Trafiğin kaynak IP adresini/alt ağını gösterir 
  • destination: trafiğin hedef IP adresini/alt ağını gösterir

Etiketsiz sütun, bir kuralın seçeneklerini temsil eder; önceki sütunlarda belirtilmemiş tüm kural bileşenlerini içerir. Bu bilgi, kaynak ve hedef portlardan paketin bağlantı durumuna kadar her şey olabilir.

Ayrıca Okuyun: VPS'a OpenVPN Kurulumu – OpenVPN İstemci Yapılandırması 🔑

Paket sayısı ve toplam boyut nasıl görüntülenir?

iptables kurallarını listelerken, her kuralla eşleşen paket sayısını ve bu paketlerin toplam boyutunu bayt cinsinden gösterebiliriz; bu, hangi kuralların paketlerle eşleştiğini anlamak için oldukça yararlıdır. Bunu yapmak için -L ve -v seçeneklerini birlikte kullanmanız gerekir bu.

Aşağıda, INPUT zincirini -v seçeneğiyle birlikte kullandığımız bir örnek verilmiştir:

sudo iptables -L INPUT -v

Paket Sayısı ve Toplam Boyutu Görüntüleme
Paket Sayısı ve Toplam Boyutu Görüntüleme çıktısı

Listemizde artık şu adlarla iki yeni sütun göründüğüne dikkat edin: pkts ve bytes. iptables ile tüm kuralları listelemenin çeşitli yollarını öğrendik; şimdi paket sayısını ve toplam boyutu sıfırlamanın nasıl yapıldığını ele alalım.

Paket sayısı ve toplam boyut nasıl sıfırlanır?

Kurallarınızdaki paket ve bayt sayaçlarını sıfırlamak istiyorsanız -Z seçeneğini kullanmanız gerekir. Sayaçlar, sunucu yeniden başlatıldığında da otomatik olarak sıfırlanır. Bu özellik, sunucunun mevcut kurallarınızla eşleşen yeni trafik alıp almadığını kontrol etmek istediğinizde işe yarar.

Tüm zincirler ve kurallardaki sayaçları temizlemek için şu komutu kullanabilirsiniz: -Z seçeneği kendi başına:

sudo iptables -Z

Belirli bir zincirdeki tüm kurallara ait sayaçları kaldırmak için -Z seçeneğini kullanarak ilgili zinciri belirtmeniz gerekir. Örneğin, INPUT zincirinin sayaçlarını temizlemek için şu komut kullanılır:

sudo iptables -Z INPUT

Belirli bir kurala ait sayaçları sıfırlamak istiyorsanız, zincir adını ve kural numarasını tam olarak belirtmeniz gerekir. Örneğin, INPUT zincirindeki ilk kuralın sayaçlarını sıfırlamak için şu komutu çalıştırabilirsiniz:

sudo iptables -Z INPUT 1

iptables ile tüm kuralları listeleme ve paket ile bayt sayaçlarını sıfırlama yöntemlerini bilmenin yanı sıra, iptables kurallarının nasıl kaldırılacağını da bilmek önemlidir.

Ayrıca Okuyun: VPS'nize PPTP VPN Sunucusu Nasıl Kurulur?

iptables kuralları nasıl silinir?

iptables kurallarını kaldırmak ya da bir zincirdeki tüm kuralları silmek için birden fazla yöntem kullanabilirsiniz. Bu yöntemleri aşağıda ele alacağız.

Kurallara Göre Silme

iptables kurallarını kaldırmanın yollarından biri, kural tanımını kullanmaktır. Bu yöntemle iptables komutunu -D seçeneği ve kural tanımıyla birlikte çalıştırırsınız. Bu tekniği kullanmak istiyorsanız, kural listesinin çıktısından (iptables -S) yararlanabilirsiniz.

Örneğin, geçersiz gelen paketleri düşüren kuralı (-A INPUT -m conntrack --ctstate INVALID -j DROP) silmek için şu komutu çalıştırabilirsiniz:

sudo iptables -D INPUT -m conntrack --ctstate INVALID -j DROP

-A seçeneğinin, kural oluşturulurken konumunu belirtmeye yaradığını ve bu komutta kullanılmaması gerektiğini unutmayın.

Zincir ve numaraya göre kural silme

iptables kurallarını kaldırmanın diğer yöntemi, zincir adı ve satır numarası kullanmaktır. Bir kuralın satır numarasını görmek için kuralları tablo biçiminde listeleyip --line-numbers seçeneği:

sudo iptables -L --line-numbers

Zincir ve numaraya göre kural silme
Zincir ve numara ile kural kaldırma çıktısı

Bu komut çalıştırıldıktan sonra, tüm iptables kuralları num başlığıyla gösterilen satır numaralarına sahip olur.

Silmek istediğiniz kuralı belirledikten sonra, zincir adını ve satır numarasını not edin. Ardından iptables -D komutunu zincir adı ve kural numarasıyla birlikte kullanmanız gerekir. Örneğin, geçersiz paketleri düşüren INPUT kuralını silmek istiyorsanız, bunun INPUT zincirinin 3. kuralı olduğunu görebilirsiniz. Şu komutu çalıştırın:

sudo iptables -D INPUT 3

Zincirler nasıl temizlenir?

Bir zincirdeki tüm iptables kurallarını kaldırmanın bir yolu daha vardır; buna zinciri temizleme. Bu bölümde bunu yapmanın çeşitli yöntemlerini ele alacağız. Devam etmeden önce, varsayılan ilkesi drop veya deny olan bir zinciri temizlerken SSH üzerinden sunucudan kilitlenmemeye dikkat edin. Aksi takdirde erişiminizi düzeltmek için konsol üzerinden bağlanmanız gerekebilir.

Tek Bir Zinciri Temizleme

Belirli bir zinciri temizlemek, yani o zincirdeki tüm kuralları silmek için -F veya dengi --flush seçeneği komutunu ve seçilen zincirin adını kullanabilirsiniz. Örneğin INPUT zincirindeki tüm kuralları kaldırmak istiyorsanız ne yapmanız gerekir? Basit; şu komutu çalıştırın:

sudo iptables -F INPUT

Tüm Zincirleri Temizleme

Tüm zincirleri temizlemek için -F seçeneğini ya da eşdeğeri olan –flush seçeneğini tek başına kullanabilirsiniz:

sudo iptables -F

Tüm Kurallar Nasıl Temizlenir, Tüm Zincirler Nasıl Silinir ve Tüm Trafiğe Nasıl İzin Verilir?

Bu adımda tüm güvenlik duvarı kurallarını, tablolarını ve zincirlerini temizlemeyi ve tüm ağ trafiğine izin vermeyi anlatacağız. Bu işlemin güvenlik duvarını tamamen devre dışı bıraktığını unutmayın. Dolayısıyla bu bölümü yalnızca güvenlik duvarı yapılandırmanıza sıfırdan başlamak istiyorsanız uygulayın.

Önce yerleşik zincirlerin her birinin varsayılan ilkesini ACCEPT olarak ayarlamanız gerekir. Bunu yapmanın temel nedeni, SSH ile sunucudan kilitlenmemenizi sağlamaktır:

sudo iptables -P INPUT ACCEPT
sudo iptables -P FORWARD ACCEPT
sudo iptables -P OUTPUT ACCEPT

Ardından nat ve mangle tablolarını temizlemeniz, tüm zincirleri temizlemeniz (-F)ve varsayılan olmayan tüm zincirleri silmeniz gerekir (-X) böyle:

sudo iptables -t nat -F
sudo iptables -t mangle -F
sudo iptables -F
sudo iptables -X

Önceki komutları çalıştırdıktan sonra güvenlik duvarı tüm ağ trafiğine izin verecektir. Kurallarınızı bu noktada listelediğinizde hiçbirini göremezsiniz; yalnızca INPUT, FORWARD ve OUTPUT olmak üzere üç varsayılan zincir kalır.

Ubuntu'de iptables nasıl yapılandırılır?

Temel güvenlik duvarı davranışında olduğu gibi, iptables kuralları her zincirde listelendikleri sıraya göre okunur. Bu nedenle kuralları doğru sırayla tanımlamanız gerekir. Yeni kurallar eklediğinizde bunlar kural listesinin sonuna eklenir. Belirli bir konuma kural eklemek için iptables -I <index> -command. Bu <index> komutunu kullanarak kural ekleyebilirsiniz. Bu komuttaki <index>, kuralı hangi sıraya eklemek istediğinizi belirtir. Hangi indeks numarasını kullanacağınızı öğrenmek için şu komutu çalıştırabilirsiniz:

sudo iptables -L --line-numbers

Her kural satırının başındaki numara, zincirdeki konumu gösterir. Mevcut bir kuralın üstüne yeni bir kural eklemek için o kuralın indeks numarasını kullanmanız gerekir. Örneğin zincirin en başına kural eklemek istiyorsanız 1 indeks numarasıyla şu komutu kullanmalısınız:

sudo iptables -I INPUT 1 -p tcp --dport 80 -j ACCEPT

iptables ile firewalld arasındaki fark nedir?

Hem iptables hem de firewalld, paket filtreleme (statik filtreleme) için tasarlanmış çeşitli Linux sistemlerinde güvenlik duvarı yönetiminde kullanılan pratik araçlardır. Paket filtreleme, kullanıcıların gelen ve giden veri paketlerini yöneterek belirli bir ağa erişimi denetlemesini sağlayan bir güvenlik duvarı stratejisidir. Paketler, kaynak ve hedef protokolleri, portlar ve IP adresleri hakkında önceden tanımlanmış kurallara göre ya geçirilir ya da engellenir. Bu kurallar, sistem LAN'ının (Yerel Alan Ağı) dışından yönlendirilen cihazlara karşı etkili bir savunma mekanizması oluşturur.

firewalld'nin başlangıçta kullanıcıların iptables'ta gezinmesini kolaylaştırmak amacıyla iptables'ı yönetmeye yönelik bir yazılım olarak tanıtıldığını belirtmek gerekir. firewalld ve iptables'a bu kısa girişin ardından, ikisini daha ayrıntılı biçimde karşılaştıralım.

iptables - firewalld: Sistem yapılandırması

firewalld ve iptables farklı yapılandırma ve varsayılan depolama ayarları kullanır. iptables'ta her değişiklik, tüm eski kuralların temizlenerek yenilerinin yüklenmesini gerektirir; bu nedenle sistemin yeniden başlatılması gerekir. firewalld'de ise kurallar yeniden oluşturulmaz; yalnızca yapılan değişiklikler mevcut kurallara uygulanır ve bu değişiklikler çalışma zamanında hemen etkili olur.

iptables - firewalld: Kullanıcı arayüzü

firewalld grafik kullanıcı arayüzü (GUI) kullanırken iptables komut satırı arayüzü (CLI) kullanır. Bazı kullanıcılar için iptables aracılığıyla Linux çekirdeği güvenlik duvarı kurallarına erişmek zorlaşabilir; bu da firewalld'yi daha kullanışlı bir seçenek haline getirir. Öte yandan iptables, kısa komutlar kullandığından daha hızlı yanıt süresi sunar. Her iki aracın da farklı kullanım senaryoları bulunduğundan, daha rahat çalıştığınızı tercih edin.

Son değerlendirme: iptables kurallarını listeleme

iptables, Linux işletim sistemleri için özel olarak geliştirilmiş esnek bir güvenlik duvarı yardımcı programıdır. Linux ile yeni tanışıyor olun ya da deneyimli bir sistem yöneticisi olun, iptables kurallarının işinize yarayacağı mutlaka bir durum vardır. Bu makalede iptables'ın temel komutları ele alındı; iptables kurallarını listeleme ve silme dahil olmak üzere Linux yeteneklerine kısa bir genel bakış sunuldu. Bunun yanı sıra Linux VPS barındırma çözümlerimizi kullanarak bu güçlü işletim sisteminden tam anlamıyla yararlanabilirsiniz. Cloudzy olarak web barındırma, web uygulaması dağıtımı ya da kod geliştirme, test etme ve otomasyon ortamı kurma gibi farklı kullanım senaryolarına uygun çeşitli KVM tabanlı Linux VPS planları sunuyoruz.

SSS

Linux iptables kuralları kurallara göre nasıl listelenir?

Aktif iptables kurallarını belirtimleri veya işlevlerine göre listelemek istiyorsanız iptables komutunun ardından -S bayrağıseçeneğini kullanabilirsiniz. Bu durumda sudo anahtar sözcüğünü kullandığınızdan emin olun:

sudo iptables -S

iptables kuralları nasıl silinir?

Belirli bir zinciri kaldırmak için (bu işlem zincirdeki tüm kuralları siler), şunları yapmalısınız: Zincirin adıyla birlikte -F veya --flush seçeneğini kullanın. OUTPUT zincirindeki tüm kuralları silmek istediğimizi varsayalım. Ne yapmalıyız? Şu komutu çalıştırmanız gerekiyor:

 sudo iptables -F OUTPUT

Ubuntu'de iptables nasıl çalışır?

iptables güvenlik duvarı, ağ trafiğini bir dizi kuralla karşılaştırır. iptables kuralları, eşleşme ölçütlerini ve eşleşme durumunda hangi işlemin uygulanacağını belirler. Belirli bir kuralla hangi paketlerin eşleşeceğini tanımlamak için pek çok farklı seçenek mevcuttur.

iptables kuralları anında devreye girer mi? Neden?

Evet, iptables kuralları anında etkinleşir. Betiğiniz INPUT ve OUTPUT zincirlerine kural eklediğinden, yeni kurallar bu zincirlerin sonuna eklenir.

Paylaş

Blogdan daha fazlası

Okumaya devam et.

MikroTik L2TP VPN kurulum kılavuzu için Cloudzy başlık görseli; kalkan simgeleriyle süslenmiş parlak mavi ve altın renkli dijital bir tünel aracılığıyla bir dizüstü bilgisayarın sunucu rafına bağlandığını gösteriyor.
Güvenlik ve Ağ

MikroTik L2TP VPN Kurulumu (IPsec ile): RouterOS Kılavuzu (2026)

Bu MikroTik L2TP VPN kurulumunda L2TP tünellemeyi, IPsec ise şifreleme ve bütünlüğü sağlar. İkisini birlikte kullanmak, üçüncü taraf yazılıma gerek kalmadan yerel istemci uyumluluğu sunar.

Reksa SirusReksa Sirus 9 dk okuma
Karanlık teal arka planda Cloudzy markasıyla, uzak ana bilgisayar kimliği değişikliği hakkında SSH uyarı mesajı ve Düzeltme Kılavuzu başlığını gösteren terminal penceresi.
Güvenlik ve Ağ

Uyarı: Uzak Ana Bilgisayar Kimliği Değişti ve Nasıl Düzeltilir

SSH, sistemler arasında şifreli bir tünel oluşturan güvenli bir ağ protokolüdür. Grafik arayüz gerektirmeksizin bilgisayarlara uzaktan erişmesi gereken geliştiriciler arasında popülerliğini korumaktadır.

Reksa SirusReksa Sirus 10 dk okuma
Karanlık arka planda uyarı sembolleri ve mavi sunucu içeren DNS sunucu sorun giderme kılavuzu görseli, Linux ad çözümleme hataları için.
Güvenlik ve Ağ

Ad Çözümlemede Geçici Hata: Ne Anlama Gelir ve Nasıl Düzeltilir?

Linux kullanırken web sitelerine erişmeye, paket güncellemeye ya da internet bağlantısı gerektiren görevleri çalıştırmaya çalışırken ad çözümlemede geçici hata ile karşılaşabilirsiniz.

Reksa SirusReksa Sirus 12 dk okuma

Dağıtmaya hazır mısınız? Aylık 2,48 dan başlayan fiyatlarla.

2008'den bu yana bağımsız bulut. AMD EPYC, NVMe, 40 Gbps. 14 gün para iade garantisi.