Netfilter + IPTables Güvenlik Duvarı. Sunan: Serdar KÖYLÜ



Benzer belgeler
Linux Üzerinde İleri Düzey Güvenlik Duvarı Uygulamaları

Iptables. Deniz Özibrişim. Eylül, 2012

-D delete : Zinciri silmek için kullanılan komut; Silme işlemi için ya zincir numarası belirtilir ya da kuralın kendisi.

Linux Iptables - Netfilter Kurulumu

Kampüs Ağlarında Köprü-Güvenlik Duvarı (Bridge Firewall) ve Transparent Proxy

IpTables ve IpChains Ile Firewall. Mert ALTA

Saldırı Tespit ve Engelleme Sistemleri Eğitimi Ön Hazırlık Soruları

C0R3 Bilişim Güvenliği Grubu

LİNUX İŞLETİM SİSTEMİNİN KÖPRÜ MODUNDA ÇALIŞTIRILMASI VE GÜVENLİK DUVARI İŞLEMLERİ

IPv6 ve Kullanıcı Takibi

Gökhan AKIN ĐTÜ/BĐDB Ağ Grubu Başkanı - ULAK/CSIRT. Sınmaz KETENCĐ

Tuğrul Boztoprak. 1 Haziran 2009 III. ULAKNET Çalıştay ve Eğitimi

Kurumsal Güvenlik ve Web Filtreleme

Kurumsal Güvenlik ve Web Filtreleme

TCPDUMP İLE TRAFİK ANALİZİ(SNİFFİNG)

TCP/IP. TCP (Transmission Control Protocol) Paketlerin iletimi. IP (Internet Protocol) Paketlerin yönlendirmesi TCP / IP

Linux Bant Genişliği Yönetimi

Internetin Yapı Taşları

Kampüs Ağlarında Aranan Kullanıcıların Tespiti

Açık Kod Dünyasında Ağ ve Sistem Güvenliği Afşin Taşkıran

BIL411 - BİLGİSAYAR AĞLARI LABORATUVARI

HAZIRLAYAN BEDRİ SERTKAYA Sistem Uzmanı CEH EĞİTMENİ

LINUX TA İNTERNET PAYLAŞIMI

Kampüs Ağlarında Aranan Kullanıcıların Tespiti V1.1

OpenBSD Packet Filter ile Görünmez Firewall Uygulaması. Devrim Sipahi

Çalıştay DDoS Saldırıları Nasıl Gerçekleştirilir? Huzeyfe ÖNAL Bilgi Güvenliği AKADEMİSİ

Kurumsal Ağlarda Kullanılan Güvenlik Sistemlerini Atlatma. Huzeyfe ÖNAL Bilgi Güvenliği AKADEMİSİ

Ipv6 Egitimi. Mustafa Reşit Şahin. Software Engineer.

Bölüm 12: UDP ve TCP UDP (User Datagram Protocol)

HOŞGELDİNİZ LINUX'TA ROUTING VE QOS YAPISI. Özgür Yazılım ve Linux Günleri. Alper YALÇINER

HAZIRLAYAN BEDRİ SERTKAYA Sistem Uzmanı CEH EĞİTMENİ

Computer Networks 5. Öğr. Gör. Yeşim AKTAŞ Bilgisayar Mühendisliği A.B.D.

Datagram, bir başlık eklenerek, kaynak uçtan alıcı uca gönderilen veri birimidir. Her datagram sıra ile gönderilir.

Özgür Yazılımlarla DDOS Saldırılarını Engelleme.

Elbistan Meslek Yüksek Okulu GÜZ Yarıyılı Ara Salı, Çarşamba Öğr. Gör. Murat KEÇECĠOĞLU

ERİŞİM ENGELLEME DOS VE DDOS:

Açık Kod Dünyasında Ağ ve Sistem Güvenliği. EnderUnix Çekirdek Takımı Üyesi afsin ~ enderunix.org

Gazi Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü. Bilgisayar Ağları Dersi Lab. 2

NETFİLTER VE LİNUX TABANLI BİR FİREBOX TASARIMI

Açık Kod VPN Çözümleri: OpenVPN. Huzeyfe ÖNAL

MCR02-AE Ethernet Temassız Kart Okuyucu

SALDIRI YÖNTEMLERY NTEMLERİ. ASES Bilgi Güvenlik Teknolojileri. Osman Veysel ERDAĞ CCIE-Security (#11211)

FTP ve Güvenlik Duvarları

Güvenlik Duvarı ve İçerik Filtreleme Sistemlerini Atlatma Yöntemleri. Huzeyfe ÖNAL Bilgi Güvenliği AKADEMİSİ

Bilgisayar Programcılığı

Ağ Sızma Testleri ve 2. Katman Saldırıları Türk Standardları Enstitüsü Yazılım Test ve Belgelendirme Dairesi Başkanlığı

Firewall/IPS Güvenlik Testleri Eğitimi

-Floating, Wan ve Lan arayüzleri için ayrı kural yazma alanı vardır.

Syn Flood DDoS Saldırıları

Gazi Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü. Bilgisayar Ağları Dersi Lab. 2. İçerik. IP ICMP MAC Tracert

FortiGate (SSLVPN) Tunnel Mode & Web App. Mode

Hping kullanarak TCP/IP Paketleriyle Oynama Hping-I

FortiGate SSLVPN (Tunnel Mode & Web Mode) v4.00-build /10

YAYGIN OLARAK KULLANILAN ADSL MODEMLER VE ROUTER AYARLARI

Linux Router Konsepti Gelişmiş Yönlendirme Kabiliyet. Serdar KÖYLÜ Gelecek A.Ş

Ağ Nedir? Birden fazla bilgisayarın iletişimini sağlayan printer vb. kaynakları, daha iyi ve ortaklaşa kullanımı sağlayan yapılara denir.

TCPDump Kullanımı. Afşin Taşkıran. Tcpdump, Unix/Linux benzeri sistemler için vazgeçilmez paket yakalama ve analiz aracıdır.

FreeBSD Üzerinde VLAN Kullanımı

PC Yönlendirici ve Güvenlik Merkezi

Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü Bilgisayar Ağları - 1 (BİL 403)

IPCop ile Ağ Güvenliği ve Yönlendirme. Kerem Can Karakaş.

Hping ile Ağ Keşif Çalışmaları [Hping-III Port/Host Tarama ]

Computer and Network Security Cemalettin Kaya Güz Dönemi

EGE Üniversitesi Network (Ağ) Altyapısı

ZAFİYET TESPİTİ VE SIZMA YÖNTEMLERİ. Eyüp ÇELİK Bilgi Teknolojileri Güvenlik Uzmanı

Ağ Temelleri Semineri. erbil KARAMAN

OpenBSD Pf ve Squid ile Transparent Proxy Kurulumu.!!Bu yazıda OpenBSD 3.7 işletim sistemi kullanılmıştır.

TCP / IP NEDİR? TCP / IP SORUN ÇÖZME

ACR-Net 100 Kullanım Kılavuzu

DOD / DEPARMENT OF DEFENCE

Free Cooling (Tibbo Ethernet Modüllü)

Packet Radio & Linux. Barış Dinç (TA7W) Amatör Radyo Kablosuz Ağ Bağlantıları

AHTAPOT Firewall Builder Kullanım Senaryoları

Cyberoam Single Sing On İle

KAMPÜS AĞLARINDA ETKİN BANT GENİŞLİĞİ YÖNETİMİ

Hping ile IP, ICMP ve UDP Paketleri Oluşturma

FreeBSD sistemlerde IPFIREWALL Kurulumu ve Konfigürasyonu

IPv6 ve Güvenlik Duvarı

Web Uygulamarına Yönelik DoS DDoS Saldırıları ve Performans Testleri. Barkın

INHAND ROUTER LAR İÇİN PORT YÖNLENDİRME KILAVUZU

Uygulama 6. Sunum 5. Oturum 4. Taşıma 3. Ağ 2. Veri iletim 1

BİLGİSAYAR AĞLARI VE İLETİŞİM

Bölüm3 Taşıma Katmanı. Transport Layer 3-1

Computer Networks 4. Öğr. Gör. Yeşim AKTAŞ Bilgisayar Mühendisliği A.B.D.

Güvenlik Sistemlerini Atlatma ve Alınacak Dersler. Huzeyfe ÖNAL

FreeBSD Üzerinde VLAN Kullanımı

Serdar SEVİL. TCP/IP Protokolü

Bilgisayar Sistemleri ilk ortaya çıktığında...

[TCP/IP Ağlarda Parçalanmış Paketler]

PALO ALTO FIREWALL NAT

Bilgisayar Programcılığı

TCP/IP Ağlarda İleri Seviye Paket Analizi

FortiGate & FortiAP WiFi Controller

Gökhan AKIN ĐTÜ/BĐDB Ağ Grubu Başkanı ULAK/CSIRT. Sınmaz KETENCĐ ĐTÜ/BĐDB Ağ Uzmanı

LINUX AĞ YÖNETİM ARAÇLARI

Maltepe Üniversitesi. Bilgisayar Mühendisliği Bölümü

5651 ve 5070 Sayılı Kanun Tanımlar Yükümlülükler ve Sorumluluklar Logix v2.3 Firewall. Rekare Bilgi Teknolojileri

Netscreen Firewall DDoS Ayarları Netscreen Firewall DDoS dan Korunma Özellikleri

Elbistan Meslek Yüksek Okulu GÜZ Yarıyılı Kas Salı, Çarşamba Öğr. Gör. Murat KEÇECĠOĞLU

Bilindik engelleme yöntemlerinin dışında olan, kurumsal web filitreleri nasıl aşılır?

Transkript:

Netfilter + IPTables Güvenlik Duvarı Sunan: Serdar KÖYLÜ

Firewall Nedir? Ağlar arasında yalıtımı sağlayan düzeneklerdir.

Bilinmesi gerekenler.. TCP PORT STATE Diğerleri UDP PORT IP ICMP OP-CODE INTERFACE NAME MAC ADRESS Diğerleri ICP, RIP vs.

Netfilter + IPTables... Netfilter; Linux 2.4+ serisi kerneller için firewall altsistemi.. IPTables; Bu altsistemi yönetmeyi sağlayan kullanıcı seviyesi program..

Netfilter in kabiliyetleri Packet filter; IP paketlerinden istenilen kriterlere uygun olanlar durdurulabilir. Full NAT; Gelen paketler, orijinal hedeflerinden farklı yerlere yönlendirilebilir. Connection Tracking; Paketler bağlantı bazında izlenebilir. Böylece bağlantının sürmesi için gerekli olan işlevler otomatikman yerine getirilir.

IPTables.. Kullanıcı arabirimi.. # iptables --help Iptables parametreleri ilk bakışta çok karmaşık görünür. Halbuki Iptables i anlamak o kadar zor değildir

Kernel deki uzantılar (HOOKS).. PRE_ROUTING FORWARD POST_ROUTING 1 3 + 4 LOCAL_IN 2 5 LOCAL_OUT Yerel Süreçler Netfilter, farklı noktalardan Protokol yığınına bağlanır

Kernel deki uzantılar (TABLES).. PRE Conntrack Mangle NAT (Dst) (Qdisc) IN FWD + Filter Mangle Filter Conntrack Mangle OUT POST Mangle NAT (Src) Conntrack Conntrack Mangle NAT (Dst) Filter Yerel Süreçler Tablolar, zincirlerdeki paketler üzerinde işlem yapan modüllerdir. Kendilerini ilgili zincirlere bağlarlar.

Standart tablolar (FILTER).. PRE Conntrack Mangle NAT (Dst) (Qdisc) IN FWD + Filter Mangle Filter Conntrack Mangle OUT POST Mangle NAT (Src) Conntrack Conntrack Mangle NAT (Dst) Filter Yerel Süreçler Filter, paketlerin buradan geçip yoluna devam edip edemeyeceğini belirler. DROP ACCEPT STOLEN

Standart tablolar (NAT).. PRE Conntrack Mangle NAT (Dst) (Qdisc) IN FWD + Filter Mangle Filter Conntrack Mangle OUT POST Mangle NAT (Src) Conntrack Conntrack Mangle NAT (Dst) Filter Yerel Süreçler NAT, Network Adress Translation IP paketinin nerden geldiğini ve nereye gittiğini farklı göstermek için yapılır.

Standart tablolar (MANGLE).. PRE Conntrack Mangle NAT (Dst) (Qdisc) IN FWD + Filter Mangle Filter Conntrack Mangle OUT POST Mangle NAT (Src) Conntrack Conntrack Mangle NAT (Dst) Filter Yerel Süreçler MANGLE, paketlerin ceşitli özelliklerini değiştirebilmeyi sağlar. TOS, TTL, MARK

Standart tablolar (MANGLE).. PRE Conntrack Mangle NAT (Dst) (Qdisc) IN FWD + Filter Mangle Filter Conntrack Mangle OUT POST Mangle NAT (Src) Conntrack Conntrack Mangle NAT (Dst) Filter Yerel Süreçler Conntrack, bağlantıları takip ederek gerekli işlevleri yerine getirir. Özellikle NAT için gereklidir.

Kernel deki uzantılar (TABLES).. * Paketlerin hangi tabloda işleneceğini belirleyin PRE Conntrack Mangle NAT (Dst) (Qdisc) IN FWD + Filter Mangle Filter Conntrack Mangle Yerel Süreçler OUT POST Mangle NAT (Src) Conntrack Conntrack Mangle NAT (Dst) Filter # iptables -t nat # iptables -t filter

IPTables.. Kullanıcı arabirimi.. * Hangi Tabloyu kullanacağınızı belirleyin. Sistemdeki belli servislere erişimi kontrol etmek istiyorsanız, * Dahili bilgisayarların, ana sistemlere erişimini denetlemek, * Ana sistemlere Internet ten erişimi sınırlamak.. * Dahili bilgisayarların, Internet e erişimini kısıtlamak.. FILTER

IPTables.. Kullanıcı arabirimi.. * Hangi Tabloyu kullanacağınızı belirleyin. Public IP leriniz yetersizse, Server hostlar için ekstra güvenlik istiyorsanız, Yük dengeleme gerekiyorsa, Bir hostun diğer hostlara erişimi gerekirken, diğerlerinin bu hostu görmesini istemiyorsanız NAT

IPTables.. Kullanıcı arabirimi.. * Hangi Tabloyu kullanacağınızı belirleyin. QoS kontrolu, Bandwith balancing, IP paket özelliklerinde tam hakimiyet, MANGLE

Kernel deki uzantılar (CHAINS).. PRE_ROUTING FORWARD POST_ROUTING 1 3 + 4 LOCAL_IN 2 5 LOCAL_OUT Yerel Süreçler Netfilter, farklı noktalardan Protokol yığınına bağlanır

IPTables.. Zincirlerde paket işlemleri. KURAL 1 H H H KURAL 2 KURAL 3 Zincir Politikası E E E İşlem 1 İşlem 2 İşlem 3

IPTables.. Zincirlerde paket işlemleri. Paketin bizim aradığımız kritere uygunluğunu tarif eden özellikleri KURAL Uygun paketi bulunca onu ne yapacağımıza dair komut YAPTIRIM

IPTables.. Zincirlerde paket işlemleri. PREROUTING FORWARD 1 3 + POSTROUTING 4 INPUT 2 ZİNCİR1 OUTPUT 5 ZİNCİR2 ZİNCİR3 Yerel Süreçler

IPTables.. Hangi Zincir? Şekillere uygun olarak hangi zincire hangi paketin girdiğine göre zinciri seçin. Eğer ortak işlemler uygulanacak paketler varsa bunları yeni bir zincire toplayın.

IPTables.. Hangi Zincir? # iptables -P INPUT ACCEPT # iptables -F FORWARD # iptables -t nat -Z OUTPUT # iptables -A INPUT... # iptables -I FORWARD 2... # iptables -R OUTPUT 2... # iptables -D PREROUTING 2 # iptables -N WEBDATA # iptables -X WEBDATA # iptables -E WEBDATA WEBCHAIN

IPTables.. Kuralların tespiti.. * Hangi paketlerin işleme tabi tutulacağını belirleyin. Tüm IP paketleri için ortak olan değerler.. Kaynak ve hedef adresleri TTL değeri Parçalanmış olma durumu Hangi arabirimden alındığı Hangi arabirimden çıkacağı Ethernet için, MAC Adresleri Paket alınma/yollanma sıklığı

IPTables.. Kuralların tespiti.. * Hangi paketlerin işleme tabi tutulacağını belirleyin. Tüm IP paketleri için ortak olan değerler.. Kaynak ve hedef adresleri TTL değeri Parçalanmış olma durumu Hangi arabirimden alındığı Hangi arabirimden çıkacağı Ethernet için, MAC Adresleri Paket alınma/yollanma sıklığı # iptables -s a.b.c.d -d e.f.g.h # iptables -s a.b.c.d/n.n.n.n -d a.b.c.d/n.n.n.n # iptables -s a.b.c.d/n.n.n.n -d! a.b.c.d/n.n.n.n

IPTables.. Kuralların tespiti.. * Hangi paketlerin işleme tabi tutulacağını belirleyin. Tüm IP paketleri için ortak olan değerler.. Kaynak ve hedef adresleri TTL değeri Parçalanmış olma durumu Hangi arabirimden alındığı Hangi arabirimden çıkacağı Ethernet için, MAC Adresleri Paket alınma/yollanma sıklığı # iptables -m ttl --ttl-eq 128 # iptables -m ttl --ttl-lt 128 # iptables -m ttl --ttl-gt 128

IPTables.. Kuralların tespiti.. * Hangi paketlerin işleme tabi tutulacağını belirleyin. Tüm IP paketleri için ortak olan değerler.. Kaynak ve hedef adresleri TTL değeri Parçalanmış olma durumu Hangi arabirimden alındığı Hangi arabirimden çıkacağı Ethernet için, MAC Adresleri Paket alınma/yollanma sıklığı # iptables -f # iptables! -f 128

IPTables.. Kuralların tespiti.. * Hangi paketlerin işleme tabi tutulacağını belirleyin. Tüm IP paketleri için ortak olan değerler.. Kaynak ve hedef adresleri TTL değeri Parçalanmış olma durumu Hangi arabirimden alındığı Hangi arabirimden çıkacağı Ethernet için, MAC Adresleri Paket alınma/yollanma sıklığı # iptables -i eth0 # iptables -i ppp+ # iptables -i! eth+

IPTables.. Kuralların tespiti.. * Hangi paketlerin işleme tabi tutulacağını belirleyin. Tüm IP paketleri için ortak olan değerler.. Kaynak ve hedef adresleri TTL değeri Parçalanmış olma durumu Hangi arabirimden alındığı Hangi arabirimden çıkacağı Ethernet için, MAC Adresleri Paket alınma/yollanma sıklığı # iptables -o eth0 # iptables -o ppp+ # iptables -o! eth+

IPTables.. Kuralların tespiti.. * Hangi paketlerin işleme tabi tutulacağını belirleyin. Tüm IP paketleri için ortak olan değerler.. Kaynak ve hedef adresleri TTL değeri Parçalanmış olma durumu Hangi arabirimden alındığı Hangi arabirimden çıkacağı Ethernet için, MAC Adresleri Paket alınma/yollanma sıklığı # iptables -m mac --mac-source 01:02:03:04:05:06

IPTables.. Kuralların tespiti.. * Hangi paketlerin işleme tabi tutulacağını belirleyin. Tüm IP paketleri için ortak olan değerler.. Kaynak ve hedef adresleri TTL değeri Parçalanmış olma durumu Hangi arabirimden alındığı Hangi arabirimden çıkacağı Ethernet için, MAC Adresleri Paket alınma/yollanma sıklığı # iptables -m limit --limit 30/second # iptables -m limit --limit 10/hour # iptables -m limit --limit-burst 5

IPTables.. Kuralların tespiti.. * Hangi paketlerin işleme tabi tutulacağını belirleyin. TCP için değerler.. Geldiği port Gittiği Port Paketin durum bilgileri SYN, ACK, FIN, URG, PSH, ALL, NONE

IPTables.. Kuralların tespiti.. * Hangi paketlerin işleme tabi tutulacağını belirleyin. TCP için değerler.. Geldiği port Gittiği Port Paketin durum bilgileri SYN, ACK, FIN, URG, PSH, ALL, NONE # iptables -p tcp --source-port 80 # iptables -p tcp --sport ftp # iptables -p tcp --sport 6600:7700 # iptables -p tcp -m multiport --sport 25,110

IPTables.. Kuralların tespiti.. * Hangi paketlerin işleme tabi tutulacağını belirleyin. TCP için değerler.. Geldiği port Gittiği Port Paketin durum bilgileri SYN, ACK, FIN, URG, PSH, ALL, NONE # iptables -p tcp --destination-port 80 # iptables -p tcp --dport ftp # iptables -p tcp --dport 6600:7700 # iptables -p tcp -m multiport --dport 80,21

IPTables.. Kuralların tespiti.. * Hangi paketlerin işleme tabi tutulacağını belirleyin. TCP için değerler.. Geldiği port Gittiği Port Paketin durum bilgileri SYN, ACK, FIN, URG, PSH, ALL, NONE NEW, ESTABLISHED, INVALID, RELATED # iptables -p tcp --tcp-flags SYN,ACK,FIN SYN # iptables --syn # iptables -p tcp -m state --state NEW,RELATED # iptables -p tcp -m state --state ESTABLISHED

IPTables.. Kuralların tespiti.. * Hangi paketlerin işleme tabi tutulacağını belirleyin. UDP için değerler.. Geldiği port Gittiği Port # iptables -p udp --source-port 80 # iptables -p udp --sport ftp # iptables -p udp --sport 6600:7700 # iptables -p udp --destination-port 80 # iptables -p udp --dport ftp # iptables -p udp --dport 6600:7700

IPTables.. Kuralların tespiti.. * Hangi paketlerin işleme tabi tutulacağını belirleyin. ICMP için değerler.. ICMP Op-code.. # iptables -p icmp --icmp-type echo-reply # iptables -p icmp -h

IPTables.. Kullanıcı arabirimi.. * Paketlere ne yapacağınızı belirleyin.. FILTER tablosu, hangi paketin geçebileceği.. DROP ACCEPT QUEUE

IPTables.. Kullanıcı arabirimi.. * Paketlere ne yapacağınızı belirleyin.. FILTER tablosu, hangi paketin geçebileceği.. DROP ACCEPT QUEUE # iptables (kural) -j DROP

IPTables.. Kullanıcı arabirimi.. * Paketlere ne yapacağınızı belirleyin.. FILTER tablosu, hangi paketin geçebileceği.. DROP ACCEPT QUEUE # iptables (kural) -j ACCEPT

IPTables.. Kullanıcı arabirimi.. * Paketlere ne yapacağınızı belirleyin.. FILTER tablosu, hangi paketin geçebileceği.. DROP ACCEPT QUEUE # iptables (kural) -j QUEUE

IPTables.. Kullanıcı arabirimi.. * Paketlere ne yapacağınızı belirleyin.. NAT Tablosu geliş /gidiş adreslerini değiştirme için. DNAT SNAT REDIRECT MASQUERADING

IPTables.. Kullanıcı arabirimi.. * Paketlere ne yapacağınızı belirleyin.. NAT Tablosu geliş /gidiş adreslerini değiştirme için. DNAT SNAT REDIRECT PREROUTING MASQUERADING + OUTPUT # iptables -t nat -? ZİNCİR -j DNAT --to a.b.c.d:xx

IPTables.. Kullanıcı arabirimi.. * Paketlere ne yapacağınızı belirleyin.. NAT Tablosu geliş /gidiş adreslerini değiştirme için. DNAT SNAT REDIRECT MASQUERADING + POSTROUTING # iptables -t nat -POSTROUTING -j SNAT --to a.b.c.d:xx

IPTables.. Kullanıcı arabirimi.. * Paketlere ne yapacağınızı belirleyin.. NAT Tablosu geliş /gidiş adreslerini değiştirme için. DNAT SNAT REDIRECT PREROUTING MASQUERADING + OUTPUT # iptables -t nat -? ZİNCİR -j REDIRECT --to xx

IPTables.. Kullanıcı arabirimi.. * Paketlere ne yapacağınızı belirleyin.. NAT Tablosu geliş /gidiş adreslerini değiştirme için. DNAT SNAT REDIRECT MASQUERADING + POSTROUTING # iptables -t nat -? POSTROUTING -j MASQUERADE

Örnekler.. * Firewall Router olarak çalışan makineler.. PREROUTING 1 FORWARD 3 + POSTROUTING 4 INPUT 2 5 OUTPUT Yerel Süreçler

Örnekler.. * Server ve/veya Client olarak çalışan makineler.. PREROUTING 1 FORWARD 3 + POSTROUTING 4 INPUT 2 5 OUTPUT Yerel Süreçler

Örnekler.. * IPTables ile IPChains arasındaki farklar.. Dışarıdan gelen paketler (OSI Layer 2 den) Kontrol Toplamı Doğru Yanlış Paket Mantıklı mı? Geçerli Paket INPUT Geçersiz Paket DENY Accept/Redirect Zincirler ACCEPT Yolu DENY/REJECT Yolu Yerel paketlerin izlediği yol Dışarıya gidecek paketlerin yolu lo arabirimi De-Masquerading Routing Yerel Süreçler DENY/ REJECT FORWARD DENY Masquerade i çözülen paketler Accept Accept OUTPUT DENY Accept Dışarıya giden paketler (OSI Layer 2 ye) IPTables, INPUT ve OUTPUT zincirlerinde sadece yerel paketler işlenebilir.

Örnekler.. * Yerelde tek bir servise gelen paketleri kabul et. ROUTER ISS deki ROUTER FDDI, DSL vs. HUB1 INTERNET HTTP: 1.2.3.10 SMTP: 1.2.3.11 POP3: 1.2.3.11 DNS: 1.2.3.12 FTP: 1.2.3.13 SQUID: 1.2.3.14 FIREWALL HUB2 İŞLETMENİN YEREL AĞI SQL: 10.1.1.1 SMB: 10.1.1.2 LOCAL: 10.1.0.0/16 WEB SERVER MAIL SERVER DNS+DHCP SERVER İŞLETMENİN INTERNET İÇİN KULLANDIĞI SERVERLER FTP SERVER

Örnekler.. * Yerelde tek bir servise gelen paketleri kabul et. PREROUTING 1 FORWARD 3 + POSTROUTING 4 INPUT 2 5 OUTPUT 1.2.3.10,Apache, Port 80, TCP # iptables -t filter -P PREROUTING DROP # iptables -A PREROUTING -d 1.2.3.10 \ -p tcp --dport 80 -j ACCEPT

Örnekler.. * Firewall de tek bir servise giden paketleri kabul et. ROUTER ISS deki ROUTER FDDI, DSL vs. HUB1 INTERNET HTTP: 1.2.3.10 SMTP: 1.2.3.11 POP3: 1.2.3.11 DNS: 1.2.3.12 FTP: 1.2.3.13 SQUID: 1.2.3.14 FIREWALL HUB2 İŞLETMENİN YEREL AĞI SQL: 10.1.1.1 SMB: 10.1.1.2 LOCAL: 10.1.0.0/16 WEB SERVER MAIL SERVER DNS+DHCP SERVER İŞLETMENİN INTERNET İÇİN KULLANDIĞI SERVERLER FTP SERVER

Örnekler.. * Firewall de tek bir servise gelen paketleri kabul et. PREROUTING 1 FORWARD 3 + POSTROUTING 4 INPUT 2 5 OUTPUT Yerel Süreçler # iptables -A PREROUTING -d 1.2.3.10 \ -p tcp --dport! 80 -j DROP

Örnekler.. * Yerel Ağdaki kullanıcıları internete çıkar.. ROUTER ISS deki ROUTER FDDI, DSL vs. HUB1 INTERNET HTTP: 1.2.3.10 SMTP: 1.2.3.11 POP3: 1.2.3.11 DNS: 1.2.3.12 FTP: 1.2.3.13 SQUID: 1.2.3.14 FIREWALL HUB2 İŞLETMENİN YEREL AĞI SQL: 10.1.1.1 SMB: 10.1.1.2 LOCAL: 10.1.0.0/16 WEB SERVER MAIL SERVER DNS+DHCP SERVER İŞLETMENİN INTERNET İÇİN KULLANDIĞI SERVERLER FTP SERVER

Örnekler.. * Yerel Ağdaki kullanıcıları internete çıkar.. PREROUTING 1 FORWARD 3 + POSTROUTING 4 INPUT 2 5 OUTPUT Yerel Süreçler # iptables -t nat -A POSTROUTING -s 10.1.0.0/16 \ -j MASQUERADE

Örnekler.. * Server logları yerel ağ yerine Firewall ı gösterir.. ROUTER ISS deki ROUTER FDDI, DSL vs. HUB1 INTERNET HTTP: 1.2.3.10 SMTP: 1.2.3.11 POP3: 1.2.3.11 DNS: 1.2.3.12 FTP: 1.2.3.13 SQUID: 1.2.3.14 FIREWALL HUB2 İŞLETMENİN YEREL AĞI SQL: 10.1.1.1 SMB: 10.1.1.2 DMZ: 10.1.0.0/16 WEB SERVER MAIL SERVER DNS+DHCP SERVER İŞLETMENİN INTERNET İÇİN KULLANDIĞI SERVERLER FTP SERVER eth0 <--> BAD(int.) eth1 <--> GOOD(Local) eth2 <--> DMZ(Srv.)

Örnekler.. * Yerel Ağdaki (GOOD) kullanıcıları internete çıkar.. PREROUTING 1 FORWARD 3 + POSTROUTING 4 INPUT 2 5 OUTPUT Yerel Süreçler # iptables -t nat -A POSTROUTING -s 10.1.0.0/16 \ -o eth0 -j MASQUERADE

Örnekler.. * Yerel Ağdaki kullanıcıları internete çıkar.. ROUTER ISS deki ROUTER FDDI, DSL vs. HUB1 INTERNET HTTP: 1.2.3.10 SMTP: 1.2.3.11 POP3: 1.2.3.11 DNS: 1.2.3.12 FTP: 1.2.3.13 SQUID: 1.2.3.14 FIREWALL HUB2 İŞLETMENİN YEREL AĞI SQL: 10.1.1.1 SMB: 10.1.1.2 DMZ: 10.1.0.0/16 WEB SERVER MAIL SERVER DNS+DHCP SERVER İŞLETMENİN INTERNET İÇİN KULLANDIĞI SERVERLER FTP SERVER eth0 <--> BAD(int.) eth1 <--> GOOD(Local) eth2 <--> DMZ(Srv.)

Örnekler.. * BAD ağından erişilebilecek servisleri ayarla.. ROUTER ISS deki ROUTER FDDI, DSL vs. HUB1 INTERNET HTTP: 1.2.3.10 SMTP: 1.2.3.11 POP3: 1.2.3.11 DNS: 1.2.3.12 FTP: 1.2.3.13 SQUID: 1.2.3.14 FIREWALL HUB2 İŞLETMENİN YEREL AĞI SQL: 10.1.1.1 SMB: 10.1.1.2 DMZ: 10.1.0.0/16 WEB SERVER MAIL SERVER DNS+DHCP SERVER İŞLETMENİN INTERNET İÇİN KULLANDIĞI SERVERLER FTP SERVER eth0 <--> BAD eth1 <--> GOOD eth2 <--> DMZ

Örnekler.. * BAD ağından erişilebilecek servisleri ayarla.. # iptables -P PREROUTING DROP # iptables -A PREROUTING -d 1.2.3.10 -p tcp --dport 80 -j ACCEPT # iptables -A PREROUTING -d 1.2.3.11 -p tcp --dport 25 -j ACCEPT # iptables -A PREROUTING -d 1.2.3.11 -p tcp --dport 110 -j ACCEPT # iptables -A PREROUTING -d 1.2.3.12 -p udp --dport 53 -j ACCEPT # iptables -A PREROUTING -d 1.2.3.13 -p ftp --dport 21 -j ACCEPT # iptables -A PREROUTING -s 10.1.0.0/16 -j ACCEPT

Örnekler.. * LOCAL AĞ için HTTP Transparent proxy ROUTER ISS deki ROUTER FDDI, DSL vs. HUB1 INTERNET HTTP: 1.2.3.10 SMTP: 1.2.3.11 POP3: 1.2.3.11 DNS: 1.2.3.12 FTP: 1.2.3.13 SQUID: 1.2.3.14 FIREWALL HUB2 İŞLETMENİN YEREL AĞI SQL: 10.1.1.1 SMB: 10.1.1.2 DMZ: 10.1.0.0/16 WEB SERVER MAIL SERVER DNS+DHCP SERVER İŞLETMENİN INTERNET İÇİN KULLANDIĞI SERVERLER FTP SERVER eth0 <--> BAD eth1 <--> GOOD eth2 <--> DMZ

Örnekler.. * LOCAL AĞ için HTTP Transparent proxy # iptables -t nat -A PREROUTING \ -s 10.1.0.0/16 -p tcp --dport 80 \ -j DNAT --to 1.2.3.14:3128 Firewall üzerinde squid kuruluysa.. # iptables -t nat -A PREROUTING \ -s 10.1.0.0/16 -p tcp --dport 80 \ -j REDIRECT --to 3128

Örnekler.. * IP Bazında yük dengeleme / IP tasarrufu internet HTTP 192.168.1.40 FTP 192.168.1.41 SMTP+POP3 192.168.1.42 DNS 192.168.1.43

Örnekler.. * IP Bazında yük dengeleme / IP tasarrufu # iptables -t nat -A PREROUTING \ -d 1.2.3.4 -p tcp --dport 80 \ -j DNAT --to 192.168.1.40 # iptables -t nat -A PREROUTING \ -d 1.2.3.4 -p tcp --dport 21 \ -j DNAT --to 192.168.1.41 # iptables -t nat -A PREROUTING \ -d 1.2.3.4 -p tcp -m multiport --dport 25,110 \ -j DNAT --to 192.168.1.42 # iptables -t nat -A PREROUTING \ -d 1.2.3.4 -p udp --dport 53 \ -j DNAT --to 192.168.1.43

Örnekler.. * Yük dengeleme / Adi Kümeleme HTTP(1) 192.168.1.40 HTTP(2) 192.168.1.41 # iptables -t nat -A PREROUTING \ -s 0.0.0.1/0.0.0.1 -p tcp --dport 80 \ -j DNAT --to-destination 192.168.1.40

TCP Flags.. URG: Urgent Pointer field significant ACK: Acknowledgment field significant PSH: Push Function RST: Reset the connection SYN: Synchronize sequence numbers FIN: No more data from sender

TCP Flags.. TCP States.. SYN RECV Pasif Ot.AÇ TCB Oluştur SYN Alındı SYN+ACK yolla CLOSED LISTEN SYN Alındı ACK yolla Ot.KAPAT TCB yi sil GÖNDER SYN Yolla Aktif Ot.AÇ TCB Ol. SYN Yolla SYN SEND FIN WAIT-1 ACK Alındı(SYN) KAPAT FIN yolla ACK Alındı KAPAT FIN yolla FIN alındı ACK yolla ESTAB SYN+ACK Alındı ACK yolla FIN Alındı ACK yolla KAPAT FIN yolla CLOSE WAIT FIN WAIT-2 FIN alındı ACK yolla CLOSING ACK Alındı TIME WAIT LAST ACK ACK Alındı TCB yi sil CLOSED Zaman Aşımı = 2 MSL

TCP Flags.. CLIENT SERVER CLOSED LISTEN SYN-SENT <CTL=SYN> -->... SYN-RECEIVED <CTL=SYN> <CTL=SYN> --> SYN-RECE SYN-RECEIVED ESTABLISHED <CTL=SYN,ACK> <CTL=SYN,ACK>... <CTL=ACK> --> ESTABLISHED

Örnekler.. * DMZ Ağından Dışarıya Bağlantıları Engelleme # iptables -A FORWARD \ -s 1.2.3.0/24 -p tcp --syn \ -j DROP?Peki Bizim serverin geri yollayacağı SYN DROP edilmez mi? CONNTRACK, Bağlantıyı takip ederek bu sorunu giderir..

Limit - Kullanışlı bir modül.. --limit n n, saniyedeki paket sayısı. n/second - Saniyede Paket.. n/minute - Dakikada Paket.. n/hour - Saatlik Paket.. n/day - Günlük Paket.. --limit-burst n n, ardı ardına maksimum paket sayısı. Varsayılanı 5 paket/saniye # iptables -m limit --limit n/süre # iptables -m limit --limit-burst n

Tipik bir DoS Saldırısı - Ping-of-Death.. Paket/Saniye Limit * Limit burst Limit DoS Kenarı DoS Sonu. Zaman tables -A FORWARD -p icmp --icmp-type echo-requ -m limit --limit 1/s -j ACCEPT

Script Kiddie Oyuncakları için... * Syn-flood.. # iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT * Port Scanners.. # iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT

LOG - Paketleri zapta almak.. -j LOG --log-prefix tanım --log-level seviye 7 Debug 6 info 5 notice 4 warning 3 err 2 critical 1 alert 0 emergency --log-ip-options --log-tcp-sequence --log-tcp-options /var/log/messages /etc/syslogd.conf İlgili Dosyalar..

LOG - Log Format.. Apr 16 00:30:45 proxy kernel: NF: D(I,Priv) IN=eth1 OUT= MAC=00:80:8c:1e:12:60:00:10:76:00:2f:c2:08:00 Syslogd mesajı --log-prefix Hangi arabirimden geldiği/gittiği MAC Adresi= Gideceği Arabimin Mac Adresi Geldiği Arabirimin MAC adresi Taşıyıcı Tipi (08:00 - Ethernet Frame)

LOG - Log Format.. SRC=211.251.142.65 DST=203.164.4.223 LEN=60 TOS=0x00 PREC=0x00 TTL=44 ID=31526 CE DF MF FRAG=179 OPT (072728CBA404DFCBA40253CBA4032 ECBA403A2CBA4033ECBA40 2C1180746EA18074C52892734A200) Paket Başlık bilgileri TOS Precedense Unique ID for IP Datagram. Fragmented paketler için.. CE=ECN CE, Congestion Experienced (RFC 2481) DF=Don t fragment.. MF=More Fragments Following FRAG=Fragment Offset / 8. 179x8=1432. Byte... OPT TCP Options, (--log-ip-options)

LOG - Log Format.. PROTO=TCP SPT=4515 DPT=111 SEQ=1168094040 ACK=0 WINDOW=32120 RES=0x03 URG ACK PSH RST SYN FIN URGP=0 OPT (020405B40402080A05E3 F3C40000000001030300) Protokol, Kaynak/Hedef Port TCP Sequence Numarası (--log-tcp-sequence) Acknowledge Numarası (--log-tcp-sequence) TCP Window Size.. RES=Reserved Bits ve Flags.. URGP=Urgent Pointer TCP options (--log-tcp-options)

iproute2 + IPTABLES = Advanced Router Routing, gelen paket hangi ağa gidecekse o ağa bağlı olan arabirime paketi iletmekten ibarettir. Advanced Router, bantgenişliği paylaşımı, protokol/servis bazında arabirim seçimi gibi güçlü özellikler ekler..

iproute2 + IPTABLES = Advanced Router * IPTABLES paketleri işaretler.. PREROUTING 1 FORWARD 3 + POSTROUTING 4 INPUT 2 5 OUTPUT Yerel Süreçler # iptables -A PREROUTING -t mangle \ -p tcp --dport 80 -j MARK --set-mark 1

iproute2 + IPTABLES = Advanced Router * Kernel Advanced Router Paketi işler.. PREROUTING 1 FORWARD 3 + POSTROUTING 4 INPUT 2 5 OUTPUT Yerel Süreçler # ip rule add fwmark 1 table webdata # ip route add default via 195.255.51.3 \ dev ppp1 table webdata

Hayalet Firewall - Bridge + Firewall

Hayalet Firewall - Bridge + Firewall 2.2.4 Kernel için http://bridge.sourceforge.net/devel/bridge-nf/ bridge-nf-0.0.7-against-2.4.18.diff

Hayalet Firewall - Bridge + Firewall ifconfig eth0 0.0.0.0 ifconfig eth1 0.0.0.0 insmod bridge brctl addbr br0 brctl addif br0 eth0 brctl addif br0 eth1 ifconfig br0 1.2.3.4 netmask 255.255.255.240 up echo "0" > /proc/sys/net/ipv4/ip_forward route add -net 0.0.0.0 gw 1.2.3.4 dev br0

Hayalet Firewall - Bridge + Firewall iptables -I FORWARD -p tcp -s 0.0.0.0/0 \ -d 1.2.3.5 --dport 1433 -j DROP -i ve -o kullanmayın.. rtl8139 sorunlar çıkarabilir..

Hayalet Firewall - Bridge + Firewall

Faydalı kaynaklar.. netfilter.samba.org netfilter.samba.org/ipchains Advanced routing - HOWTO Bridge+Firewall+ADSL HOWTO Bridge+Firewall+ADSL HOWTO http://www.pom.gr/ilisepe1/firewall_help.html www.linux.org.tr