T?zfalak elméletben és gyakorlatban. Kadlecsik József KFKI RMKI kadlec@sunserv.kfki.hu



Hasonló dokumentumok
Tűzfal építés az alapoktól. Kadlecsik József KFKI RMKI

A netfilter csomagszűrő tűzfal

Netfilter: a jó, a rossz és a csúf. Kadlecsik József KFKI RMKI <kadlec@mail.kfki.hu>

IPTABLES. Forrás: Gregor N. Purdy: Linux iptables zsebkönyv

Netfilter. Csomagszűrés. Összeállította: Sallai András

IPTABLES II. Jelenlegi tűzfalunk így néz ki (IPTABLES I. rész):

nftables Kadlecsik József MTA Wigner FK

Internet ROUTER. Motiváció

Hálózatok építése és üzemeltetése

Számítógépes hálózatok

Javaslat egy Iptables tűzfal konfigurációjára Számítógép hálózatok esszé Készítette : Veress Krisztián

Alap tűzfal otthoni PC-re (iptables I)

Számítógépes Hálózatok GY 8.hét

HOGYAN Packet Shaping - Gentoo Linux Wiki

Csomagsz rés Linux-Netlter környezetben

Linux hálózati adminisztráció

Számítógépes Hálózatok. 8. gyakorlat

Számítógépes Hálózatok GY 9.hét

HBONE rendszergazdák tanácsa

Könnyû álom (6. rész)

Linux iptables csomagszűrési gyorstalpaló, kezdőknek...

Az iptables a Linux rendszerek Netfilter rendszermagjának beállítására szolgáló eszköz.

Tűzfal megoldások. ComNETWORX nap, I. 30. ComNETWORX Rt.

Számítógépes Hálózatok

Tűzfalak működése és összehasonlításuk

Hálózatok építése és üzemeltetése

Hálózatvédelem, biztonság

2011 TAVASZI FÉLÉV 10. LABORGYAKORLAT PRÉM DÁNIEL ÓBUDAI EGYETEM NAT/PAT. Számítógép hálózatok gyakorlata

Számítógépes Hálózatok GY 8.hét

Adatbiztonság a gazdaságinformatikában ZH december 7. Név: Neptun kód:

OpenBSD hálózat és NAT64. Répás Sándor

IPv6 Biztonság: Ipv6 tűzfalak tesztelése és vizsgálata

Készítette: Sallai András Terjesztés csak engedéllyel sallaia_kukac_fre _pont_hu

A Sangoma Technologies Intelligens

Hálózati architektúrák laborgyakorlat

Fábián Zoltán Hálózatok elmélet

2019/02/12 12:45 1/13 ACL

Hálózatok építése és üzemeltetése

Tájékoztató. Használható segédeszköz: -

SZÉCHENYI ISTVÁN EGYETEM MŐSZAKI TUDOMÁNYI KAR JEDLIK ÁNYOS GÉPÉSZ, INFORMATIKAI ÉS VILLAMOSMÉRNÖKI INTÉZET MATEMATIKA ÉS SZÁMÍTÁSTUDOMÁNY TANSZÉK

OpenBSD hálózat és NAT64. Répás Sándor

IPV6 TRANSITION. Számítógép-hálózatok (BMEVIHIA215) Dr. Lencse Gábor

Bevezető. Az informatikai biztonság alapjai II.


TELE-OPERATOR UTS v.14 Field IPTV műszer. Adatlap

Hálózati architektúrák és Protokollok GI 8. Kocsis Gergely

Dr. Wührl Tibor Ph.D. MsC 04 Ea. IP kapcsolás hálózati réteg

Számítógépek és hálózatok biztonsága laboratórium (BMEVIHI4401) SEC-2 mérés. v1.0. Számítógépes rendszerek sebezhetőségi vizsgálata

SZÁMÍTÓGÉP HÁLÓZATOK BIZTONSÁGI KÉRDÉSEI

Domain Name System (DNS)

[SZÁMÍTÓGÉP-HÁLÓZATOK]

Távközlési informatika Firewall, NAT. Dr. Beinschróth József

Hálózati rendszerek adminisztrációja JunOS OS alapokon

Kiskapu Kft. Minden jog fenntartva

1/13. RL osztály Hálózati alapismeretek I. gyakorlat c. tantárgy Osztályozóvizsga tematika

IPV6 TRANSITION. Kommunikációs hálózatok I. (BMEVIHAB01) évi fóliái alapján készült. Dr. Lencse Gábor

Az adott eszköz IP címét viszont az adott hálózat üzemeltetői határozzákmeg.

Internet Protokoll 6-os verzió. Varga Tamás

A B C D E F. F: 4. LAN port LED G: Táp csatlakozó H: 4. LAN port I: 3. LAN port J: 2. LAN port

IPv6 alapok, az első lépések. Kunszt Árpád Andrews IT Engineering Kft.

Internet Control Message Protocol (ICMP) Az Internet hiba- és vezérlı üzenet továbbító protokollja. Készítette: Schubert Tamás (BMF) Tartalom

Routing IPv4 és IPv6 környezetben. Professzionális hálózati feladatok RouterOS-el

Előnyei. Helyi hálózatok tervezése és üzemeltetése 2

Postfilter. Kadlecsik József KFKI RMKI

Számítógép-hálózatok. Gyakorló feladatok a 2. ZH témakörének egyes részeihez

IPv6 Elmélet és gyakorlat

Gyakorló feladatok a 2. ZH témakörének egyes részeihez. Számítógép-hálózatok. Dr. Lencse Gábor

1. A számítógép-hálózatok ISO-OSI hivatkozási modelljének hálózati rétege 1.a Funkciói, szervezése

Általános rendszergazda Általános rendszergazda

Segédlet a Hálózati architektúrák és protokollok laborgyakorlathoz v0.6

applikációs protokollok

IPV6 TRANSITION. Kommunikációs hálózatok I. (BMEVIHAB01) Dr. Lencse Gábor

CISCO gyakorlati segédlet. Összeállította: Balogh Zoltán

Beállítások 1. Töltse be a Planet_NET.pkt állományt a szimulációs programba! A teszthálózat már tartalmazza a vállalat

Hálózati architektúrák laborgyakorlat

Alap protokollok. NetBT: NetBIOS over TCP/IP: Name, Datagram és Session szolgáltatás.

IBM i. Szerviz és támogatás 7.1

Windows rendszeradminisztráció és Microsoft szerveralkalmazások támogatása. Kocsis Gergely, Supák Zoltán

Alkalmazásszintû proxyzás a Zorp segítségével (2. rész)

Biztonság, védelem a számítástechnikában

Kiszolgálók üzemeltetése. Iványi Péter

Infokommunikációs alkalmazásfejlesztő. Informatikai alkalmazásfejlesztő

URL-LEL ADOTT OBJEKTUM LETÖLTÉSE (1) URL-LEL ADOTT OBJEKTUM LETÖLTÉSE

VIII. Mérés SZÉCHENYI ISTVÁN EGYETEM GYŐR TÁVKÖZLÉSI TANSZÉK

SAMBA. Forrás: Lajber Zoltán: SAMBA alapok dia, SZIE

Számítógépes hálózatok

A 35/2016. (VIII. 31.) NFM rendelet szakmai és vizsgakövetelménye alapján.

Kiszolgálók üzemeltetése. Iványi Péter



routing packet forwarding node routerek routing table

Fábián Zoltán Hálózatok elmélet

WS 2013 elődöntő ICND 1+ teszt

Hálózati architektúrák és Protokollok GI Kocsis Gergely

Mérési útmutató a Secure Shell (SSH) controll és audit című méréshez

Hálózatok építése és üzemeltetése

Hálózati architektúrák és Protokollok GI Kocsis Gergely

Hálózatok összekapcsolása

A 35/2016. (VIII. 31.) NFM rendelet szakmai és vizsgakövetelménye alapján.

A hálózati határvédelem eszközei

Átírás:

T?zfalak elméletben és gyakorlatban Kadlecsik József KFKI RMKI kadlec@sunserv.kfki.hu

Tartalom T?zfalak és típusaik Netfilter A netfilter és iptables gyakorlati szempontból Nyitott problémák, megoldatlan kérdések Összefoglalás

A t?zfalak definíciója Jól definiált kapcsolódási pont a védend? rendszer, hálózat és más rendszerek, hálózatok között A biztonsági rendszer részeként egy biztonsági szabályzatot valósít meg

Biztonsági szabályzat Mit kell védeni Mi ellen Milyen mélységben Egyéb funkciók Üzemeltetési szabályok Katasztrófa-terv

Csomagsz?r? t?zfalak I. Átjáró a védett hálózat és a külvilág között

Csomagsz?r? t?zfalak II. Vagy átengedi a csomagot, vagy eldobja Csomagok IP, ICMP/TCP/UDP stb fejlécei, nem csomagtartalom alapján dönt Csomagok alapján állapottábla Egyéb kapcsolódó információk Segéd-kapcsolatok Csomagot nem módosít Címfordítás Fejléc-módosítás

Proxy t?zfalak I. Határozott fizikai szétválasztása a védett és védend? hálózatoknak

Proxy t?zfalak II. Mindkét kommunikáló fél a t?zfallal építi ki a kapcsolatot Proxy t?zfalnak "beszélni kell" a használt alkalmazások nyelvét El?nyök és hátrányok

Netfilter Linux 2.4-es kernel t?zfal szolgáltatása Állapottartó csomagsz?r? Támogat címfordítást (NAT) és csomagmódosítást (mangle) Modularizált keretrendszer

Alrendszerek Jól definiált funkciók: Conntrack: kapcsolat-nyomkövetés Mangle: csomag-módosítás NAT: IP cím fordítás Filter: sz?rés ACCEPT, DROP (, QUEUE, STOLEN)

Netfilter és az IP stack

Kapcsolat-nyomkövetés (conntrack) Belépési pontok: PREROUTING, OUTPUT és POSTROUTING, INPUT Állapottér: NEW, ESTABLISHED, RELATED, INVALID Filter alrendszer Nincs táblázat

Kapcsolat-nyomkövetés: TCP Nem csak SYN csomag lehet NEW állapotú!

Kapcsolat-nyomkövetés: UDP Bels? id?zítések

Kapcsolat-nyomkövetés: ICMP ICMP hibaüzenetek: RELATED vagy INVALID Destination unreachable, Source quench, Time exceeded, Parameter problem, Redirect ICMP kérdés-válasz: NEW, ESTABLISHED Echo, Timestamp, Info, Address mask

Kapcsolat-nyomkövetés: protokoll helper Egy protokoll több TCP/UDP kapcsolaton épül: Parancs csatorna Segéd csatornák Klasszikus példa: FTP PORT parancs: aktív mód PASV parancs: passzív mód Netfilter: conntrack helper modulok

Mangle alrendszer Csomag-módosítás: Csomag fejécében (IP/TCP) paraméterek módosítása: ToS, MSS, ECN, stb: szolgáltatások közti különbségtétel, hibás rendszerekkel való együttm?ködés Lokálisan a csomag megjelölése (mark): komplex routing szabályok felállításához

NAT alrendszer SNAT, MASQUERADE DNAT, REDIRECT Egyedi IP címre vagy tartományra Ameddig csak lehetséges, meg?rzi az eredeti portokat 0-511 512-1023 1024-65535 Conntrack alrendszerre épül

Filter alrendszer Csomagsz?rés A kapcsolat-nyomkövetéssel állapottartó (stateful) csomagsz?r? t?zfal

Netfilter és iptables Netfilter: a kernel része Kernel forráskódjában található Statikus vagy moduláris Iptables: a program, amellyel a netfilter (egyes) részeit konfigurálhatjuk http://www.netfilter.org

Netfilter fordítása CONFIG_NETFILTER CONFIG_IP_NF_CONNTRACK, FTP,... CONFIG_IP_NF_IPTABLES CONFIG_IP_NF_FILTER, NAT, MANGLE CONFIG_IP_NF_MATCH_* CONFIG_IP_NF_TARGET_* CONFIG_IP_NF_COMPAT_*

Patch-o-matic Netfilter javítások, b?vítések gy?jteménye Kategóriák: submitted, pending, base, extra, userspace runme script Új funkciót megvalósító patch installálása után: make oldconfig

Conntrack modulok Kapcsolatok maximális száma /proc/sys/net/ipv4/ip_conntrack_max ip_conntrack modul hashsize paramétere ip_conntrack_max = 8 * hashsize Conntrack & NAT helper modulok nem tölt?dnek be automatikusan: # modprobe ip_conntrack_ftp ports=21,1121 # modprobe ip_nat_ftp ports=21,1121

Iptables fordítása make; make install :-) # make KERNEL_DIR=... BINDIR=... \ LIBDIR=... MANDIR=... # make KERNEL_DIR=... BINDIR=... \ LIBDIR=... MANDIR=... install Disztribúcióból vagy kézzel telepített változat

Iptables-save és restore Iptables nagy szabálygy?jtemény esetén lassssúúúúúúúúúú # iptables-save [-c] > /etc/iptables_rules # iptables-restore [-c] < /etc/iptables_rules

Iptables használata iptables [-t táblázat] parancs [egyezés(ek)] [cselekvés/ugrás láncra] # iptables -L -n # iptables -h # iptables -m tcpmss -h # iptables -j TCPMSS -h

Iptables parancsok A(ppend) D(elete) I(nsert) R(eplace) N(ew) L(ist) P(olicy) Névkonvenciók

Általános egyezési feltételek -p [!] protokoll -s [!] cím/maszk -d [!] cím/maszk -i [!] interfész -o [!] interfész [!] -f

Implicit egyezési feltételek A -p protokoll használatához köt?dnek: -p tcp udp icmp Nem önálló kernel modul részei UDP: -p udp --sport [!] port[:port] --dport [!] port[:port] ICMP: -p icmp --icmp-type [!] típusnév

Implicit egyezési feltételek: TCP --sport, --dport --tcp-flags [!] maszk beállított... -p tcp --tcp-flags SYN,RST,ACK SYN... [!] --syn --tcp-option [!] opció-azonosító --mss érték[:érték]

Egyezési feltétel-kiterjesztések Támogatásukat be kell fordítani a kernelbe A kiterjesztésre explicit hivatkozi kell: -m <kiterjesztés-modulnév> B?ség zavara :-)

State match A legfontosabbak egyike -m state --state állapot-lista NEW, ESTABLISHED, RELATED, INVALID # iptables -A FORWARD -o eth0 -j ACCEPT # iptables -A FORWARD -o eth1 -m state \ --state ESTABLISHED,RELATED -j ACCEPT

Unclean match Csomag-ellen?rzés: nem sérült-e, nem tartalmaz-e illegális paramétereket vagy paraméterkombinációt az IP, TCP, UDP, ICMP fejlécekben # iptables -A FORWARD -m unclean -j DROP

Limit match Kett?s visszacsatolású határérték-vizsgálat: --limit-burst n --limit m[/second minute hour day] Default: --limit 3/hour --limit-burst 5

Egyéb 2.4.20-ban található match-ek -m mac --mac-source XX:XX:XX:XX:XX:XX -p tcp udp -m multiport --[s d]ports port[,port,...] -m length --length hossz[:hossz] -m helper --helper helper-név...

Targetek Általános típusok: ACCEPT, DROP, RETURN (, QUEUE) Ugrás láncra: -j láncnév Target-kiterjesztések: Be kell fordítani a kernelbe Termináló és nem-termináló targetek

LOG target Naplózásra szolgál (syslogd, konzol, dmesg) -j LOG --log-prefix "szöveg"... # iptables -N logdrop # iptables -A logdrop -m limit -j LOG \ --log-prefix "Dropped: " # iptables -A logdrop -j DROP

ULOG target Naplóüzenetek és csomagok felhasználói programmal való naplózásához Netlink socket

REJECT target Csomageldobás ICMP Unreachable, Prohibited vagy TCP RST csomag visszaküldésével Ident kérések blokkolása (SMTP) # iptables -A FORWARD -p tcp --dport 113 \ -j REJECT --reject-with tcp-reset

SNAT target NAT: forrás IP cím átírás Statikus privát IP címek esetén használatos --to-source cím[-cím][:port-port] Több is megadható - routing! # iptables -t nat -A POSTROUTING -o ippp0 \ -j SNAT --to-source x.y.z.w

MASQUERADE target SNAT speciális esete Dinamikus privát IP cím esetén használatos Kimen? interfész IP címét használja --to-ports port[-port] # iptables -t nat -A POSTROUTING -o ippp0 \ -j MASQUERADE

DNAT target NAT: cél IP cím átírása Privát IP cím? szerver elérhet?ségének a biztosítása, terhelésmegosztás, proxy Hasonló szintaxis mint az SNAT esetén # iptables -t nat -A PREROUTING -d x.y.z.w \ -p tcp --dport 80 -j DNAT \ --to-destination 192.168.1.1

REDIRECT target DNAT speciális esete (Transzparens) proxy szolgáltatásokhoz # iptables -t nat -A PREROUTING -p tcp \ --dport 80 -j REDIRECT --to-ports 3128

TCPMSS target ICMP kell a TCP/IP m?ködéséhez Hibásan konfigurált t?zfalak nem engedik át az ICMP Fragmentation Needed csomagokat: TCP nagy csomagok esetén nem m?ködik --clamp-mss-to-pmtu --set-mss érték

Egyéb targetek -j MARK --set-mark érték -j TOS --set-tos név -j ECN --ecn-tcp-remove...

B?vítések patch-o-matic-ban Helperek Új feltételek Új targetek Új szolgáltatások

Helperek Submitted: Tftp conntrack és NAT helper Amanda conntrack és NAT helper Extra: Eggdrop bot, CuSeeMee, (primitív) H.323, Microsoft Streaming Media, PPTP, RPC, rsh, Quake III Arena, talk

Condition match # iptables... -m condition --condition foo_ok... # echo 1 > /proc/net/ipt_condition/foo_ok # echo 0 > /proc/net/ipt_condition/foo_ok

Time match # iptables -A FORWARD -o eth0 -p tcp --dport 21 \ -m time --timestart 8:00 --timestop 16:00 \ --days Mon,Tue,Wed,Thu,Fri -j DROP

Iplimit match TCP/UDP kapcsolatok limitálása # iptables -A FORWARD -p tcp --dport 80 --syn \ -m iplimit --iplimit-above 16 --iplimit-mask 24 \ -j DROP

Fuzzy match Takagi-Sugeno-Kang Fuzzy Logic Controller Csomagok másodpercenkénti számára Minimális elfogadási arány 1% # iptables -A FORWARD -p icmp \ --icmp-type echo-request \ -m fuzzy --upper-limit 10 --lower-limit 1 \ -j DROP

Recent match Feltételek "mostanában" látott IP címekre # iptables -A FORWARD -m recent --rcheck \ --seconds 60 -j DROP # iptables -A FORWARD -i eth0 -d 127.0.0.0/8 \ -m recent --set -j DROP --rcheck helyett állhat akár --update

Raw patch Új táblázat: raw PREROUTING, OUTPUT Legels? Új targetek: TRACE TRACE: táblanév/láncnév/szabályszám <csomag> NOTRACK State match kiterjesztése: UNTRACKED

Nyitott problémák Iptables-save és iptables-restore kiküszöbölése IPv6 és conntrack (NAT) Netfilter-failover nfnetlink/ctnetlink User interfész és library...

Összefoglalás T?zfal-típusok közül a feladattól függ?en kell választani Netfilter egy lehetséges megoldás További fejlesztések várhatók http://www.netfilter.org