Başlıklar
Giriş
Merhabalar, bu yazımda yazılımsal olarak sunucu güvenliğinizi üst düzeye çıkarmanız için kullanabileceğiniz İptables Firewall kurulumunu bu yazımda derledim. Umarım içerik faydalı olmuştur. İşte iptables nedir?
İptables Nedir?
iptables, bir sistem yöneticisinin farklı Netfilter modülleri olarak uygulanan Linux çekirdeği güvenlik duvarının IP paket filtresi kurallarını yapılandırmasına izin veren yardımcı yazılımdır. Filtreler, ağ trafiği paketlerinin nasıl işleneceğine ilişkin kural zincirleri içeren farklı tablolarda düzenlenir.
İptables sunucu güvenliğini arttırımı?
Artık güvenlik duvarı ve iptables’ın ne olduğunu bildiğinize göre, bunları nasıl kullanabileceğimize bakalım. Çoğunlukla insanlar , güzel ve zarif olanla tanışmadan önce firewalld
ya da benim gibi kullanmanın basit olduğu ufw firewall’a giderdi .
firewalld
ve ufw
yi popüler yapan da budur. Ancak basitlik, birlikte çalışmaya karar verdiğinizde maruz kaldığınız esnekliği ve tam özelliği de azaltır iptables
.
Kendi başlarına firewalld
ve ufw
yalnızca bir paketi kabul etmenize veya reddetmenize izin verir. Ama bir paketle yapabileceğiniz çok daha fazlası var. NAT, günlüğe kaydetme ve iletme bunlardan sadece birkaçıdır.
iptables
Bu yüzden , karmaşıklıklarından korkmamak ve kolayca kullanmanız için duruyor. İptablesi kullanmak için bir neden listesi :
- İhtiyacınız olan her şeyi size sağlayan tam özellikli bir araçtır
- Bir paketle yapmak istediğiniz şeylerle ilgili daha fazla esneklik elde edersiniz
- İptables ile kural yazmak kendinizi usta bir yazılımcı olduğunuz hissini verebilir :).
- Geniş kapsamlı kurallar ile sunucu güvenliğini %40 veya daha fazla korunma ihtimaline yaklaştırır (tahminen).
İptables Kurulumu
Bazı sistemlerde iptables kurulu olarak gelebilir, aşağıdaki komut ile İptables sisteminizde mevcutmu kontrol edebilirsiniz:
Not: RHEL / CentOS işletim sistemlerinde firewallD adı verilen bir sistem zaten kuruludur. Eğer Iptables kullanmak istiyorsanız, öncelikle bunu devre dışı bırakmalısınız.
sudo iptables -L -v Çıktı: Chain INPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination
Örnek çıktı yukardaki gibiyse İptables sunucunuzda hazır olarak kurulmuştur. Eğer başka bir sonuç aldıysanız büyük ihtimalle sunucunuzda yazılımsal İptables kurulu değildir, İptablesi sunucunuza kurmak için:
sudo apt-get update sudo apt-get install iptables komutlarını sırasıyla komut istemcinize giriniz.
İptables Komutları
ACCEPT (KABUL ET): Paketin geçmesine izin verileceği anlamına gelir
.DROP (REDDET): Paketin geçmesine izin verilmeyeceği anlamına gelir
.RETURN (GERİ ÇEVİR): Şimdiki zincirin pas geçilmesi ve çağrıldığı zincirde bir sonraki kurala geçilmesi gerektiği anlamına gelir.
iptables -L = Oluşturduğunuz iptables kurallarının hepsini görüntülemek için kullanabilirsiniz.
sudo iptables –L
iptables -F =Eğer tüm kuralları silmek ve yeniden temiz bir sayfa açmak isterseniz, bu komutu kullanabilirsiniz
sudo iptables –F
-D –delete: Zinciri silmek için kullanılır. Silme işlemi için ya zincir numarası ya da kuralın kendisi yazılmalıdır.
sudo iptables -D --numarası
-R –replace:Var olan bir kural zincirini değiştirmek için kullanılır:
iptables -R INPUT 1 -s 192.168.1.44 -j REJECT
-P –policy : Belirtilen zincir içersinde paket herhangi bir kurala uymazsa pakete ne yapılacağını belirtir. ACCEPT, REJECT, DROP:
iptables –P INPUT DROP # Gelen paket bir kurala uymuyorsa drop et şeklindedir.
Önemli Bilgi:Sunucu root erişiminiz varsa yani sunucu yöneticisi iseniz sudo olmadanda kodları kullanabilirsiniz. Sudo komutu /etc/ dizinindeki sudoers dosyası üzerinden yapılandırılır. Sudo komutu ile normal kullanıcılara yönetici seviyesinde izinler verirsiniz. Normalde Ubuntu'yu yüklerken oluşturulan ilk kullanıcının sudo izni bulunmaktadır.
Hedef Opsiyonları
–log-level: Olay loglama öncelik seviyesini belirlemek için kullanılır.
–log-ip-options: IP paket başlığında set edilmiş herhangi bir opsiyon loglamak için kullanılır.
–log-prefix: Ön ek eklemek için kullanılır.
–log-tcp-options: TCP paket başlığında set edilmiş herhangi bir opsiyon loglamak için kullanılır.
–log-tcp-sequence: Loglarda paketler için TCP sıra sayısı yazmak için kullanılır.
Önemli İptables bilgiler
Farklı servisler için kullanılan farklı İptables protokoller:
- iptables IPv4 için uygulanır.
- ip5tables Ipv6 için uygulanır.
- arptables ARP için uygulanır.
- ebtables Ethernet çerçeveleri için uygulanır.
İpTables ana dosyaları:
- /etc/init.d/iptables – Komutlar: (start |stop |restart |save)
- /etc/sysconfig/iptables – Kuralları kaydedilen yer.
- /sbin/iptables – binary dosyası.
Dinleme Opsiyonları:
-v –verbose: daha ayrıntılı çıktı almak için kullanılır.
-x –exact: verbose kullanıldığında kısaltma değerler kullanılmaktadır. Exact diyerek bu değeri uzunca gösterilmektedir.
-n –numeric: Host ismi yerine IP adresini,servis yerine port numarası(www yerine 80 ) gösterilmesi için kullanılır. Bazı değerleri dönüştüremeyebilir.
-t –table: Kullanılacak table harici başka bir table’a eklemek için kullanılır.
Bu yazıyı yazarken kullandığım kaynaklar:
- Kaynak1
- Kaynak2
- Netfilter web sitesi (İptables yayıncısı)
Bir yanıt yazın