Linux Sistemleri

Linux Sunucularda iptables Nedir, Nasıl Kullanılır?

Sanal sunucular üzerinde gerçekleştirilen saldırılar her geçen gün daha karmaşık hâle gelse de, bunlara karşı korunmak için yüksek maliyetli cihazlar veya harici yazılımlar şart değildir. Çoğu zaman, işletim sisteminin kendi araçlarını etkin şekilde kullanmak güvenliğin en kritik basamağıdır.

Linux dünyasında bu işlevi gören en temel araçlardan biri iptables’tır. Paket filtreleme yöntemiyle çalışan iptables, ağ trafiği üzerinde yöneticilere tam kontrol imkânı sunar.

Ancak güvenlik yalnızca ağ ile sınırlı değildir; disk yapısının korunması da önemlidir. Bu noktada fsck komutu devreye girerek dosya sistemi üzerinde meydana gelen hataları tespit eder ve onarır. Böylece iptables ile ağ güvenliği sağlanırken, fsck ile veri bütünlüğü korunmuş olur.

iptables Nedir?

Linux çekirdeğinde yer alan Netfilter altyapısının üzerinde çalışan Iptables, paket filtreleme görevini üstlenir. Ağa giriş yapan veya ağdan çıkan tüm veri paketleri, tanımlanmış kurallar çerçevesinde denetlenir ve yönlendirilir.

Neden Iptables’ı Kullanmalısınız?

Paket düzeyinde kontrol imkânı sunması sayesinde iptables, UFW veya Firewalld gibi üst seviye çözümlerden ayrılır ve trafiği en temel seviyede denetlemenize imkân verir.

Tüm ağ senaryolarına uyarlanabilecek esneklikle özelleştirilebilir.

Bununla birlikte, bağlantı hızlarını sınırlayarak basit DoS saldırılarına karşı önleyici bir savunma hattı kurar.

iptables Yapısı: 3 Katman

iptables’ın nasıl çalıştığını anlamak için üç ana katmana odaklanmak gerekir: tablolar, zincirler ve hedefler.

Tablolar (Tables)

Kuralların kategorize edildiği yapılardır.

Filter → Paketin geçişine izin verip vermeyeceğine karar verir. Güvenlik duvarı kurallarının çoğunluğu bu tabloda yer alır.

NAT → Paketin kaynak veya hedef adresini/portunu değiştirir. Port Yönlendirme, Masquerading ve internet paylaşımı için kritiktir.

Mangle → Paketin başlık bilgilerini TTL, TOS, vb. değiştirme ve özel işaretleme işlemleri için kullanılır.

Raw → Paketin, bağlantı izleme sisteminden önce işlenmesi için kullanılır.

Zincirler (Chains)

Zincirler, paketlerin ağ yolculuğunun belirli bir aşamasında, ağ kartına ulaştığında, dışarı çıkarken veya üzerinden geçerken uygulanan sıralı kural setleridir.

INPUT → Sunucunun SSH, HTTP gibi servisleri için ana kontrol noktası.

OUTPUT → Sunucudan dışarı giden trafiği kontrol eder.

FORWARD → Sunucunun bir router/yönlendirici gibi çalıştığı durumlarda kullanılır.

Hedefler (Targets)

iptables’da hedefler, paketin izleyeceği yolu belirler. ACCEPT, güvenli trafiği geçirir. DROP, paketi sessizce düşürerek görünmez kılar. REJECT, paketi reddeder ve istemciye hata mesajı gönderir. LOG, paketi kayıt altına alır fakat işlemi durdurmaz. RETURN ise özel zincirlerde kural bitişini işaret edip paketi bir üst zincire geri yollar.

Linux’ta iptables Kurulumu Nasıl Yapılır?

Linux sistemlerinde güvenliği sağlamak için kullanılan iptables genellikle hazır kurulu gelir. Ancak bazı durumlarda manuel kurulum yapmak gerekir. Bu işlem, kullanılan dağıtıma göre değişiklik gösterir.

Debian ve Ubuntu Tabanlı Sistemler

Bu sistemlerde iptables genellikle yüklü gelir. Kurulu değilse şu adımları izleyebiliriz.

Red Hat, CentOS, Fedora ve AlmaLinux

Bu dağıtımlar iptables-services paketini kullanır.

Arch Linux ve Türevleri

Kritik Komutlar ve Kullanım

iptables’ı kullanırken sadece temel seviyede kalmak gerekmez. Sanal sunucularda sistem yöneticilerinin sık sık kullandığı birçok pratik komut vardır. Bu komutlar, mevcut kuralları görme, yeni kurallar yazma, port açma ya da tüm trafiği durdurma gibi işlemleri kapsar. Aşağıda en çok kullanılan komutlara dair kısa bir özet bulabilirsiniz.

Kuralları Listelemesudo iptables -LMevcut kuralları gösterir.
SSH Portunu Açmasudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT22. porta gelen TCP trafiğine izin verir.
Tüm Gelen Trafiği Engellemesudo iptables -P INPUT DROPVarsayılan politikayı DROP olarak ayarlar (Yüksek güvenlik).
Tüm Kuralları Sıfırlamasudo iptables -FTüm kuralları temizler.

iptables İle Savunma Kuralları Oluşturma

Belirli Bir IP Adresini Engelleme

Zararlı olduğu bilinen bir IP adresini tamamen aşağıdaki temel komutla engelleyebilirsiniz.

Bazen de birden fazla IP adresi, sanal sunucuza tehdit olarak gösterilir. Bunun için aşağıdaki komutu kullanalım.

ICMP (Ping) İsteklerini Engelleme

Ağ keşfi ve tarama saldırılarını önlemek için ping isteklerini engelleyebilirsiniz.

Basit DoS Koruması

HTTP portuna (80) gelen bağlantıları hız sınırlamasıyla kontrol edebilirsiniz. Bu kural, aşırı istek gönderilmesini engelleyerek basit DoS saldırılarına karşı koruma sağlar.

iptables Kuralları Nasıl Kaydedilir?

iptables ile yazılan kurallar varsayılan olarak geçicidir. Yani sistem yeniden başlatıldığında tüm kurallar silinir. Bu nedenle, oluşturduğunuz kuralları kalıcı hale getirmeniz gerekir.

Kuralları Kaydetme

Mevcut kurallarınızı bir dosyaya kaydedebilirsiniz:

Otomatik Yükleme

Kuralların her yeniden başlatmadan sonra otomatik olarak yüklenmesi için paketi kuralım.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir