Semestrální práce z předmětu KIV/PD

Podobné dokumenty
Administrace Unixu (Nastavení firewallu)

Access Control Lists (ACL)

Úvod do síťových technologií

Firewal ing v Linuxe

Firewall, mac filtering, address filtering, port forwarding, dmz. Ondřej Vojtíšek, Jakub Niedermertl

Nástroje pro FlowSpec a RTBH. Jiří Vraný, Petr Adamec a Josef Verich CESNET. 30. leden 2019 Praha

Počítačové sítě II. 12. IP: pomocné protokoly (ICMP, ARP, DHCP) Miroslav Spousta,

X36PKO Úvod Protokolová rodina TCP/IP

Analýza protokolů rodiny TCP/IP, NAT

Site - Zapich. Varianta 1

CCNA I. 3. Connecting to the Network. CCNA I.: 3. Connecting to the network

Identifikátor materiálu: ICT-3-03

Přednáška 9. Síťové rozhraní. Úvod do Operačních Systémů Přednáška 9

Protokoly: IP, ARP, RARP, ICMP, IGMP, OSPF

ANALÝZA TCP/IP 2 ANALÝZA PROTOKOLŮ DHCP, ARP, ICMP A DNS

Zjednodusene zaklady prace s IPTABLES Jiri Kubina jiri.kubina@osu.cz Ver. 1.1 zari 2006

Počítačové sítě Transportní vrstva. Transportní vrstva

Směrovací protokoly, propojování sítí

Směrování. 4. Přednáška. Směrování s částečnou znalostí sítě

Počítačové sítě pro V3.x Teoretická průprava II. Ing. František Kovařík

Počítačová síť. je skupina počítačů (uzlů), popřípadě periferií, které jsou vzájemně propojeny tak, aby mohly mezi sebou komunikovat.

Operační systémy 2. Firewally, NFS Přednáška číslo 7b

Projektování distribuovaných systémů Lekce 2 Ing. Jiří ledvina, CSc

Možnosti IPv6 NAT. Lukáš Krupčík, Martin Hruška KRU0052, HRU0079. Konfigurace... 3 Statické NAT-PT Ověření zapojení... 7

íta ové sít TCP/IP Protocol Family de facto Request for Comments

IPv6. RNDr. Ing. Vladimir Smotlacha, Ph.D.

Osobní firewall s iptables

4. Síťová vrstva. Síťová vrstva. Počítačové sítě I. 1 (6) KST/IPS1. Studijní cíl. Představíme si funkci síťové vrstvy a jednotlivé protokoly.

Semestrální projekt do SPS Protokol RSVP na Cisco routerech

Konfigurace síťových stanic

Použití Virtual NAT interfaces na Cisco IOS

Semestrální projekt do předmětu SPS

Jiří Tic, TIC080 Lukáš Dziadkowiec, DZI016 VŠB-TUO. Typy LSA v OSPF Semestrální projekt: Směrované a přepínané sítě

Architektura TCP/IP je v současnosti

Směrovací démon BIRD. CZ.NIC z. s. p. o. Ondřej Filip / IT10

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

SSL Secure Sockets Layer

metodický list č. 1 Internet protokol, návaznost na nižší vrstvy, směrování

Firewally a iptables. Přednáška číslo 12

Multikast z pohledu uživatele

Zásobník protokolů TCP/IP

PB169 Operační systémy a sítě

Dodávka nových switchů a jejich integrace do stávající IT infrastruktury inspektorátu SZPI v Praze

MPLS MPLS. Label. Switching) Michal Petřík -

FIREWALL - IPTABLES. 1. Co je to firewall 2. IPTABLES 3. Manuálové stránky 4. Nastavení směrovače 5. Příklady. 1. Co je to firewall?

Konfigurace DHCP serveru a překladu adres na směrovačích Cisco

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Počítačové sítě 1 Přednáška č.4 Síťová vrstva

Hypertext Transfer Protocol (HTTP/1.1 RFC 2616) Počítačové sítě Pavel Šinták

Internet a zdroje. (ARP, routing) Mgr. Petr Jakubec. Katedra fyzikální chemie Univerzita Palackého v Olomouci Tř. 17. listopadu

Počítačové sítě. Miloš Hrdý. 21. října 2007

POPIS TUN TAP. Vysvetlivky: Modre - překlad Cervene - nejasnosti Zelene -poznamky. (Chci si ujasnit o kterem bloku z toho schematu se mluvi.

Model ISO - OSI. 5 až 7 - uživatelská část, 1 až 3 - síťová část

Analýza síťového provozu. Ing. Dominik Breitenbacher Mgr. Radim Janča

Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti. Základy adresace v počítačových sítích. Ondřej Votava

Počítačové sítě Systém pro přenos souborů protokol FTP

Internet protokol, IP adresy, návaznost IP na nižší vrstvy

Správa sítí. RNDr. Ing. Vladimir Smotlacha, Ph.D.

WireGuard. nová a jednoduchá linuxová VPN. Petr Krčmář. 3. listopadu 2018

Desktop systémy Microsoft Windows

i4 Portfolio s.r.o

Úvod do analýzy. Ústav informatiky, FPF SU Opava Poslední aktualizace: 8. prosince 2013

Komunikace v sítích TCP/IP (1)

Y36SPS Bezpečnostní architektura PS

Základní principy obrany sítě II. Michal Kostěnec CESNET, z. s. p. o.

9. Sítě MS Windows. Distribuce Windows. Obchodní označení. Jednoduchý OS pro osobní počítače, pouze FAT, základní podpora peer to peer sítí,

7. Aplikační vrstva. Aplikační vrstva. Počítačové sítě I. 1 (5) KST/IPS1. Studijní cíl. Představíme si funkci aplikační vrstvy a jednotlivé protokoly.

Inovace bakalářského studijního oboru Aplikovaná chemie

Abychom se v IPv6 adresách lépe orientovali, rozdělíme si je dle způsobu adresování do několika skupin:

6. Transportní vrstva

ZÁKLADNÍ ANALÝZA SÍTÍ TCP/IP

Snort pravidla a jejich syntaxe. Příklad psaní vlastních pravidel

Téma 11: Firewall v CentOS. Nastavení firewallu

Vychytávky v iptables

Inovace bakalářského studijního oboru Aplikovaná chemie

Směrování. static routing statické Při statickém směrování administrátor manuálně vloží směrovací informace do směrovací tabulky.

GRE tunel APLIKA ˇ CNÍ P ˇ RÍRU ˇ CKA

Telekomunikační sítě Protokolové modely

DHCP. Martin Jiřička,

Příklad materiálů pro kurz Zá klády poč í táč ovy čh sí tí (TCCN-IP1)

Technická analýza kyberútoků z března 2013

Y36PSI Protokolová rodina TCP/IP

Technická specifikace zařízení

Dodávka UTM zařízení FIREWALL zadávací dokumentace

Administrace Unixu a sítí

Správa systému MS Windows II

Y36SPS Bezpečnostní architektura PS

Protokoly úrovně 3 nad ATM

Možnosti DHCP snoopingu, relayingu a podpora multicastingu na DSLAM Zyxel IES-1000

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Technologie počítačových komunikací

12. pomocné protokoly, IPv6. Miroslav Spousta, 2005 ICMP. pomocný protokol IP, vlastn ě součást IP protokolu

Desktop systémy Microsoft Windows

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/ Vzdělávání v informačních a komunikačních technologií

1. Směrovače směrového protokolu směrovací tabulku 1.1 TTL

Mikrotik RouterOS: Řízení datových toků

Průmyslový Ethernet. Martin Löw

STRUČNÝ NÁVOD K POUŽITÍ

Informační technologie. Název oboru: Školní rok: jarní i podzimní zkušební období 2017/2018

Uživatelský modul. Modem Bonding

Transkript:

Semestrální práce z předmětu KIV/PD Firewall PF (Packet Filter) v BSD Yaseen ALI A11N0092P yaseen@students.zcu.cz

Úvod Co je to filtrování paketů? V podstatě jde o přidání další úrovně do analýzy paketů, která říká, zda danému paketu je povoleno projít dál přes rozhraní směrovače či ne. Proč PF? Prostě protože, PF technologie je levná, flexibilní a mocná technologie, která nám garantuje vysokoúrovňové zabezpečení proti externím možným útokům. Jak mocný je PF? PF je binární nástroj (povolit či nepovolit).

PF nám explicitně umožňuje omezit nebo povolit paket na úrovni zařízení, portu či zařízení-portu: Př.: blokovat port č. 80 na všech zařízeních v LAN až na zařízení A a zařízení B. PF poskytuje dva typy filtrování: o Statické: př.: zakázat telnet z venku na jedno zařízení v LAN. o Dynamické (více flexibilní): př.: zakázat telnet pro nějakou skupinu zařízení z venku a zároveň povolit ho pro jinou skupinu na to samé zařízení v LAN. PF má sadu pravidel: o Pravidla filtru specifikují kritéria, která leží na 3. vrstvě (network layer of IPv4 and IPv6) a 4. vrstvě (transport layer of TCP and UDP). o Často použitá kritéria jsou: zdrojové a cílové adresy, zdrojové a cílové porty a protokoly.

o Když paket dorazí na PF, všechna pravidla filtru se ohodnotí (až na jednu výjimku), a podle hodnoty posledního pravidla, rozhoduje se, zda paket může projít či ne. FA defaultní nastavení (deny all): Když se nasazuje PF, tak je defaultně nastaveno, že všechny IP jsou automatické blokované, a to je z bezpečných důvodů. Potom, uživatel si může explicitně definovat své pravidla (exceptions) na filtru a vytvořit svou politiku. PF a směrování: o Celý IP provoz je na začátku blokován. o Spolupráce směrovače s PF nám garantuje vysokoúrovňové zabezpečení síťového provozu. PF je v jádře (\dev\pf): o Uživatelské procesy kontrolují chování filtru via rozhraní ioctl (control device).

o Jsou příkazy: enable/disable filter, load ruleset, add/remove rule, get statistics apod. o Většina používaných funkcí jsou pokryté v pfctl (control the packet filter and network address translation (NAT) device). o Tabulky pravidel a IP adres jsou uložené v tzn. anchor (později). o Když se zpracovává ioctl požadavek, a anchor je prázdný, tak kernel používá defaultní anchor, což je defaultní sadu pravidel. o Anchory jsou specifikované jmény a nebo posloupností komponent oddělených znakem /. Poslední komponent anchoru reprezentuje poslední pravidlo, podle kterého se rozhoduje o paketu.

Konfigurace PF 3 základní kroky (high-level): 1. Určit, které služby jsou povolené a které nejsou (definovat pravidla filtru): Př. Všechna zařízení v LAN přijímají maily z Internetu a nebo jen jedno centrální zařízení. 2. Definovat pakety (povolený paket, blokovaný paket): Formulace paketů: Action Source Port Destination Port Type deny xxx.xxx.xxx.xxx #### xxx.xxx.xxx.xxx #### (type) allow xxx.xxx.xxx.xxx #### xxx.xxx.xxx.xxx #### (type)

3. Přeložit formulaci paketů do syntaxe filtru (směrovače): Kde, source/mask:destination/mask:action source: zdrojová stanice (network, subnet or host). mask: netmask v bitech. 32bitů pro host zařízení a 24bitů pro síť třídy C. destination: zdrojová stanice (network, subnet or host). action: dvě akce, P (permit): povolit a D (deny): blokovat. Příklad: 0.0.0.0/0:206.128.14.2/32:p - povolit přístup všem (0.0.0.0/0) do zařízení (206.128.14.2/32). 0.0.0.0/0:0.0.0.0/0:d - zakázat přístup všem do všech zařízení v síti.

Block-Policy PF: o Block-policy reprezentuje akci, když se rozhoduje (podle hodnoty posledního pravidla) o blokování paketu. o Je defaultně nastaveno, že když se blokuje paket, tak se rovno maže (drop). Ale, dá se block-policy přeimplementovat, aby výsledná akce byla jiná než drop. o Možné akce v případě blokování paketu: Return-rst: jenom u TCP paket, kde se končí připojení. Return-icmp/icmp6: ICMP (Internet Control Message Protocol). Defaultní nastavení: ICMP UNREACHABLE message. Return: TCP-RST a ICMP UNREACHABLE pro UDP. Pass: když je vše OK, tak paket projde dál.

Syntaxe pravedel PF: Podrobně na příkladu: action [direction] [log] [quick] [on interface] [af] [proto protocol] \[from src_addr [port src_port]] [to dst_addr [port dst_port]] \ [flags tcp_flags] [state] Kde: Action: if action = p then paket goto kernal then forward. Else viz nastavení block-policy. Direction: směr paketu, tj. do/z (in/out) rozhraní (vchází/vychází). Log: pakety by měly být registrované via pflogd (background daemon which reads packets logged by PF to a pflog interface). Pflog is a pseudodevice which makes visible all packets logged by PF. Když pravidlo tvoří status (později), potom jen pakety, které patří k tomu statusu budou registrované.

Quick: výjimka, kterou jsem zmínil, když jsem mluvil o ohodnocování pravil. Když pravidlo je označeno klíčovým slovem quick, tak se považuje jako poslední (tj. ignoruje se další pravila, co přijdou potom), a podle něj se rozhoduje o paketu. Interface: jméno a nebo skupina rozhraní, kterým prochází paket. Rozhraní může být definováno pomocí příkazů ipconfig, anebo automaticky vytvořeno jádrem (př. egress, ppp a carp). Af: (address family) paketu. Tj. inet pro IPv4 a inet6 pro IPv6. PF je schopný na základě zdrojové/cílové adresy určit af paketu. Protocol: protokol 4. vrstvy paketu, a to může být: tcp, udp, icmp, icmp6, validní jméno z /etc/protocols, číslo mezi 0-255 anebo sada protokolů (list {udp, tcp, }). src-addr, dst-addr: zdrojová/cílová adresa v IP záhlaví. Adresy můžou být specifikované jako: o Klasicky, tj. IPv4 nebo IPv6 adresy. o CIDR síťový blok.

o Doména. o Jméno rozhraní. o Jméno rozhraní, následováno maskou sítě (i.e. /24). o Jméno rozhraní v závorkách (). o Jméno rozhraní, následováno jedním z následujících modifikátorů: :network, substituce CIDR bloku (i.e. 192.168.0.0./24). :broadcast, substituce broadcastové síťové adresy (i.e. 192.168.0.255). :peer, substituce peer s address na point-to-point linkách. :0, která může reprezentovat jméno rozhraní nebo jakýkoliv předchozí identifikátor. o Tabulka, obsahující skupinu IPv4 nebo IPv6 adresy. o Kíčové sloco urpf_failed, u zdrojové adresy, to slovo říká, že adresy musí běžet via urpf check (Unicast Reverse Path Forwarding), když paket běží via urpf, najde se zdrojová adresa paketu v tabulce směrovače.

o Jakákoliv varianta z předchozích s negací!. o List {xxx.xxx.xxx.xxx. atd.}. o Klíčové slovo any, znamená všechny adresy. o Klíčové slovo all, from any to any. Src-port, dst-port: Porty se můžou být specifikované takto: o Číslo mezi 0 65535. o Validní jméno služby z /etc/services. o Seznam portů {port1, port2, }. o rozsah:!=, <, >, <=, >=, :, <> nebo ><. (poslední dva jsou binární operátory, potřebují dva argumenty. Výsledný rozsah neobsahuje použité argumenty). : je také binární operátor a rozsah obsahuje použité argumenty. Tcp-flag: specifikuje flag, které musí být v záhlaví TCP, když se používá proto tcp.

State: stav(skupenství), určuje, zda se bude ukládat info. O paketech. o No state: nebude se ukládat info. O paketech (connection will not be statefully). TCP, UDP a ICMP. o Keep state: defaultní nastavení filtru. o Modulate state: jenom u TCP. PF vygeneruje INSs (Initial Sequence Number) pro pakety, pro které pravilo platí. o Snyproxy state: zahrnuje poslední dvě varianty a výhoda tohoto nastavení je, že chrání server před zfalšovanými TCP SYN.

Vlastnosti PF Default deny (defaultní blokování): to nám usnadní práci při psaní pravidel. Obousměrné blokování: block in all - block out all Passing traffic (funkční provoz): Pravidla musí být striktní, tj. projít přes rozhraní může jen povolené pakety, nic jiného. Př. # Pass traffic in on dc0 from the local network, 192.168.0.0/24, # to the OpenBSD machine's IP address 192.168.0.1. Also, pass the # return traffic out on dc0. pass in on dc0 from 192.168.0.0/24 to 192.168.0.1 pass out on dc0 from 192.168.0.1 to 192.168.0.0/24

Klíčové slovo quick: Už jsme o tom mluvili. Keeping state (uchovávání stavu něco jako anchor): Hodně zajímavá a důležitá vlastnost PF, urychluje práci PF. PF nahrává info. o každém připojení do tzn. State table, poté, PF je schopný velmi rychle určit, zda aktuální IP (paket), který dorazil na rozhraní patří k již uloženému připojení či ne. Pokud ano, tak paket projde dál rovno (tj. bez ohodnocení pravidel filtru). Další výhoda této vlastnosti je, že je obousměrná, tj. i pakety, které jdou opačně (tj. od přijímače do odesilatele), pokud patří do tabulky stavů, tak projdou rovno rozhraním. další výhoda taky je, že odpovídající ICMP projde rovno rozhraním, patřili k již nahranému připojení (i.e. TCP připojení).

Jak je to s uchováváním stavů u UDP? Sice UDP je stateless protocol, protože nemá explicitní začátek a konec připojení, ale to nemá žádný vliv na vlastnost PF. Čili, statefull connection funguje i u UDP. Možnosti nastavení vlastnosti uchovávání stavů u PF: Ukážeme si několik možností nastavení na příkladu: Př.: pass in on $ext_if proto tcp to $web_server \ port www keep state \ (max 200, source-track rule, max-src-nodes 100, max-src-states 3) Předchozí pravidla definují následující chování: Limit the absolute maximum number of states that this rule can create to 200. Enable source tracking; limit state creation based on states created by this rule only. Limit the maximum number of nodes that can simultaneously create state to 100. Limit the maximum number of simultaneous states per source IP to 3.

Blokování falešných paketů: PF poskytuje pár ochran oproti falešným paketům pomocí klíčového slova antispoof. URPF: antispoof [log] [quick] for interface [af] Má vliv ho používat, jen když směrování v síti je symetrické. Když paket běží via urpf, hledá se jeho zdrojová adresa, a pokus se nenajde, tak to může znamenat, že máme falešný paket => block! block in quick from urpf-failed label urpf TCP SYN Proxy: pass in on $ext_if proto tcp to $web_server port www synproxy state Tady, připojení k webovému serveru bude TCP proxied pomocí PF.

Nevýhody PF Nevýhody musí existovat -) 1. Není možno kontrolovat obsah dat, které obsahuje povolené pakety. 2. PF není schopný provádět ověřování uživatelů, ať to je na úrovni aplikaci nebo na úrovni uživatele. 3. Jakmile, je nějakému protokolu povoleno projít přes interface, tak může kdokoliv jiný host navázat spojení přes tento protokol k ostatním klientům v síti, což snižuje zabezpečení sítě. 4. Potenciální nebezpeční je, že IP adresy, které projdou přes PF můžou být falešné.

Užitečné odkazy http://www.openbsd.org/faq/pf/filter.html#pass http://www.openbsd.org/faq/pf/nat.html http://www.gsp.com/cgi-bin/man.cgi?section=5&topic=pf.conf http://www.support.psi.com/support/common/routers/files/filter- Desc.html http://www.isaserver.org/images/ch10.pdf http://www.benzedrine.cx/pf-paper.html (test performance!!!)

Q&A