Úvod do iptables aneb UN*Xové firewally

Podobné dokumenty
Instalace. Samotný firewall již je s největší pravděpodobností nainstalovaný Zjistíme dle parametru při použití. aptitude search iptables

Osobní firewall s iptables

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

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

Firewal ing v Linuxe

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

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

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

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?

Základní konfigurace Linux firewallu

Access Control Lists (ACL)

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

Site - Zapich. Varianta 1

Y36SPS: Firewalling laborka

2N VoiceBlue Next. 2N VoiceBlue Next brána - instalační průvodce. Version 1.00

Stručný návod pro nastavení routeru COMPEX NP15-C

Vychytávky v iptables

TDP RPort 1.0. uživatelská příručka. 12. července 2007 Na slupi 2a, Praha 2

nftables budoucnost linuxového firewallu Petr Krčmář 7. října 2017

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

BEZPEČNOST SLUŽEB NA INTERNETU

nftables budoucnost linuxového firewallu Petr Krčmář 18. listopadu 2014

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

Instalace SQL 2008 R2 na Windows 7 (64bit)

IP protokol v linuxu trocha teorie a hodně praxe příkazy ip, iptables a další.

Jak nastavit 2SMS a SMS2 na bráně 2N VoiceBlue Next

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

Multikast z pohledu uživatele

Jazz Server osobní nastavení uživatele

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

Migrace laboratorního firewallu z platformy Linux PC na platformu MikroTik

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

Úvodem 9. Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10. Než začneme 11

BEZPEČNOST SLUŽEB NA INTERNETU

Jak nastavit 2SMS a SMS2 na 2N StarGate - nové CPU 2013

Bezdrátové routery LTE & UMTS datové a hlasové brány

Load Balancer. RNDr. Václav Petříček. Lukáš Hlůže Václav Nidrle Přemysl Volf Stanislav Živný

Analýza aplikačních protokolů

TECHNICKÉ INFORMACE JAK VYTVOŘIT A ODESLAT NIT TABULKU INSTALACE POUŽÍVAJÍCÍ ASP SOFTWARE

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

Nastavení programu pro práci v síti

ID-Ware II Posílání upozornění em na událost s datumovou závislostí

UŽIVATEL, SKUPINA, PROCES

Základní nastavení brány 2N VoiceBlue MAX

Uživatelský modul. DF1 Ethernet

TheGreenBow IPSec VPN klient

Aplikace objednávání svozů

Uživatelský modul. Transparent Mode

Y36SPS Bezpečnostní architektura PS

Návod pro ha-loo Centrálu

1. Úvod Uživatelé Přístupový systém Konfigurace systému 14

Průmyslový Ethernet. Martin Löw

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

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

Průvodce aplikací GTS Webový portál pro správce

Kontejnerová virtualizace na Linuxu

Název školy: Základní škola a Mateřská škola Žalany. Číslo projektu: CZ. 1.07/1.4.00/ Téma sady: Informatika pro devátý ročník

Choose a building block. Znalostní báze Kleos. Kleos 6.5 (březen 2019)

UŽIVATELSKÁ PŘÍRUČKA PRO SLUŽBU INTERNETBANKING PPF banky a.s.

Vyčtení / zapsání hodnot z/do OMC8000 pomocí protokolu UDP

ADMINISTRACE UNIXU A SÍTÍ - AUS Metodický list č. 1

Nastavení poštovních klientů pro přístup k ové schránce na VŠPJ

APS Web Panel. Rozšiřující webový modul pro APS Administrator. Webové rozhraní pro vybrané funkce programového balíku APS Administrator

WrapSix aneb nebojme se NAT64. Michal Zima.

Západočeská univerzita v Plzni Fakulta aplikovaných věd Katedra informatiky a výpočetní techniky UPS. FTP Klient. A05463 fboranek@atlas.

Úvod do informačních služeb Internetu

RadSec a IPsec. metody zabezpečeného připojení k národnímu RADIUS serveru. Jan Tomášek <jan.tomasek@cesnet.cz> CESNET, z. s. p. o.

ezkouška požadavky na IT

Super Hot Multiplayer vzdálené sledování finančních dat. Konfigurace sítě. Strana: 1 / 8

ADAPTIVNÍ LINUXOVÉ FIREWALLY, GEOGRAFICKÝ FIREWALLING

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

Nastavení a ovládání aplikace ifoxtrot

2N EasyRoute UMTS datová a hlasová brána

SSL Secure Sockets Layer

Realizace firemního firewallu s použitím Cisco technologií

APS Control Panel. Ovládací panel systému APS mini Plus pro SW balík APS Administrator. Uživatelská příručka

Bezpečnost sí, na bázi IP

Linux na serveru. seminář Arcibiskupského gymnázia v Praze a gymnázia Boženy Němcové v Hradci Králové

2N VoiceBlue Lite. Návod - Sms Callback. Quick guide. Verze 1.00

DŮLEŽITÉ INFORMACE, PROSÍM ČTĚTE!

Instalace Microsoft SQL serveru 2012 Express

Relační vrstva SMB-Síťový komunikační protokol aplikační vrstvy, který slouží ke sdílenému přístupu k souborům, tiskárnám, sériovým portům.

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

Použití programu WinProxy

I/O a SCADA systémy. iologik I/O Servery. iologik iologik 2000

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

Y36SPS Bezpečnostní architektura PS

Ukázka knihy z internetového knihkupectví

Postup instalace síťové verze Mount Blue

File Transfer Protocol (FTP)

Xesar. Uvedení do provozu Síťový adaptér

Příručka pro správu systému

Linux v síti. Ondřej Vondrouš

PRŮZKUM VLASTNOSTÍ VOLNĚ DOSTUPNÝCH IMPLEMENTACÍ HONEYPOTŮ A BLACKHOLE NETWORKS S OHLEDEM NA JEJICH POUŽITÍ VE VIRTUÁLNÍ LABORATOŘI POČÍTAČOVÝCH SÍTÍ

Technologické postupy práce s aktovkou IS MPP

Komunikační protokoly počítačů a počítačových sítí

APS Administrator.OP

Uživatelský manuál P2P bezdrátové IP kamery

Transkript:

Úvod do iptables aneb UN*Xové firewally poprvé 1 Slovoúvodem Problematika firewallů je vždy poměrně komplexní a na první pohled neprůhledná záležitost. Jejich konstrukce vždy vyžaduje určité, většinou nemalé množství času věnovaného pochopení nejen principu vytváření pravidel konkrétního firewallu, ale i principů síťování. Dá se prakticky říci, že žádný firewall nepracuje přesně tak jak chceme od první chvíle jeho nasazení(leda by byl OPRAVDU velmi jednoduchý). Jistádrobnávýhodasoučasnosti 1 je,žejižnenítřebanikomuvysvětlovatcototenfirewall vlastně je. V tomto ohledu můžeme poděkovat nejmenované společnosti, jež kvalitou svých produktů postavila slovo firewall na úroveň slova nezbytnost. Tytam jsou časy, kdy slovo firewall bylo obestřeno tajemstvím, vzbuzujícím představu přísně střežených bankovních dat, jaderných zbraní či šéfovy tajné korespondence s milenkou. Mít svůj firewall je dnes móda, nebotakénutnost 2. 2 Začněmeujádrapudla......ehm, totiž Linuxu:o). Jelikož se dnes budeme věnovat iptables, jež jsou jadernou záležitostí (skorobysedalořícizbraní),musímesinatojadérkopřipravit.iptablesmůžememítbuď jako moduly(což s sebou sice nese určité problémy zejména v nutnosti jejich zavádění, ty jsou ovšem v některých případech vyváženy svými výhodami, např. pokud potřebujete předat nějaké parametry), nebo je můžeme staticky zakompilovat do jádra. Kde je v konfiguraci jádra najdete nechám na vás jako malou samostatnou rozcvičku. Při jejich výběru použijte hlavu, pokud se vám vybírat nechce, klidně zkompilujte vše, tak velké to není a pokudvyrábítemoduly,rozhodněneprohloupíte 3.Těmúspornějšímbychprozačátekurčitě doporučil moduly ip tables(což jsou samotné iptables), ip conntrack(udržuje tabulku spojení, díky čemuž poznáte nové spojení od navázaného), ip conntrack ftp(kombinace FTP protokolu s firewallem má svá specifika, viz níže), iptable filter, ipt LOG(abychom mohli logovat), ipt limit, ipt state(umožňuje využívat conntrack tabulku) a ipt REJECT(občas je prima pakety místo prostého zahození zdvořile odmítnout). Co nám dělá modul ip conntrack si můžeme rovnou ukázat na příkladu z jednoho serveru: [root@firewall ~]$ cat /proc/net/ip_conntrack unknown 2 565 src=147.32.127.194 dst=224.0.0.5 packets=45937 bytes=1469984 \ [UNREPLIED] src=224.0.0.5 dst=147.32.127.194 packets=0 bytes=0 mark=0 use=1 udp 17 177 src=147.32.127.194 dst=147.32.127.214 sport=35449 dport=53 \ packets=7 bytes=475 src=147.32.127.214 dst=147.32.127.194 sport=53 \ dport=35449 packets=7 bytes=1321[assured] mark=0 use=1 unknown 89 597 src=147.32.127.233 dst=224.0.0.5 packets=276318 bytes=43910084\ 1 Jdoucírukuvrucesnevýhodousoučasnosti:o)) 2 Jakésitokdoudělá... 3 Cožmipřipomínápřípad,kdyjsemjádrokompilovalasi3x,protožejsempokaždénaněcozapomněl Středisko UN*Xových technologií 1

[UNREPLIED] src=224.0.0.5 dst=147.32.127.233 packets=0 bytes=0 mark=0 use=1 tcp 6 239 ESTABLISHED src=195.113.65.10 dst=147.32.127.194 sport=3269 \ dport=22 packets=939 bytes=85351 src=147.32.127.194 dst=195.113.65.10\ sport=22 dport=3269 packets=678 bytes=310835[assured] mark=0 use=1 tcp 6 431998 ESTABLISHED src=147.32.127.194 dst=64.12.28.96 sport=40473 \ dport=5190 packets=9814 bytes=524619 src=64.12.28.96 dst=147.32.127.194\ sport=5190 dport=40473 packets=9891 bytes=1154800[assured] mark=0 use=1 tcp 6 49 TIME_WAIT src=147.32.124.162 dst=147.32.127.194 sport=1917 \ dport=110 packets=10 bytes=448 src=147.32.127.194 dst=147.32.124.162 \ sport=110 dport=1917 packets=11 bytes=516[assured] mark=0 use=1 Výpis byl pro přehlednost trochu upraven(každý řádek několikrát zalomen). 3 Řetězce aneb chainy Jak pakety procházejí jednotlivými řetězci je patrné z následujícího obrázku půjčeného z tutoriálu pana Andreassona: Velice stručně: INPUT řetězec nám filtruje pakety určené pro lokální stroj, OUTPUT pakety odchozí. FORWARD se aplikuje na pakety, které strojem jen protékají(např. jde orouter).mangleřetězecnámumožňujepracovatsttlatoshodnotamipaketůa paketyoznačovat( markovat ).NATovacířetězceprovádějípřekladadres(NetworkAddress Translation) a prochází jimi pouze první paket, na ostatní se pak aplikují stejná pravidla. V současné době nás zajímají především první dva řetězce- INPUT a OUTPUT. Středisko UN*Xových technologií 2

4 Stavyspojení Tak, jak probíhá připojování klienta k počítači, prochází spojení na obou stranách několika stavy, které si nyní popíšeme: NEW Novéspojení,kterézatímvconntracktabulcenebylo.TotospojeníbyuTCP protokolu mělo být iniciováno paketem SYN(synchronize), ovšem může nastat i jiný případ. A právě ten by náš firewall měl ošetřit. Když někdo navazuje spojení paketem FIN,jeněcovnepořádku(většinoujdeoskenportů).Vnon TCPspojeníchsepaket SYN neuplatňuje. ESTABLISHED Tento termín označuje navázané spojení. V případě TCP protokolu jde o spojení, u něhož proběhly 2/3 z procesu 3 way handshake, neboli klient vyslal SYN, druhá strana odpověděla paketem SYN ACK(ACK = acknowledge)(po jehož přijetí je konexe z hlediska klienta považována za navázanou), načež klient odeslal ACK(po jehož přijetí je konexe i na straně serveru prohlášena za navázanou). Tento mechanizmus se nevztahuje na protokoly, které nenavazují spojení(udp, ICMP). Tam to funguje trochu jinak stačí přijatý a odeslaný paket. RELATED zvláštní typ konexe, který se vztahuje k jiné konexi(která je ESTAB- LISHED).PříkladembudižprotokolFTP,kterýnaportu21přenáší řídící (control) dataanaportu20potomvyžádanádata(soubory).jinýmpřípademjeirc.tyto konexe s sebou nesou problém v podobě nutnosti odhalit iniciaci RELATED konexe a otevřít tak příslušný port. V praxi to dělají helper moduly(např. ip conntrack ftp), jež sledují komunikaci na daném portu a pakliže zaregistrují iniciaci spojení na jiném portu, otevřou jej. V případě FTP protokolu když modul zaregistruje příkaz PASV nebo PORT,otevřezmíněnýportakomunikacemůževeseleprobíhat. 4 INVALID stav, kdy paket nelze identifikovat nebo přiřadit k žádnému jinému stavu, např. ICMP error, který se ovšem nevztahuje k žádné jiné konexi. 5 Cospaketem? Paket patřící některému z našich pravidel můžeme buď tiše zahodit(drop), přijmout(ac- CEPT), zalogovat(log) nebo zdvořile odmítnout(reject). Většina pravidel buď zahazuje nebo přijímá. Často je ale výhodné paket odmítnout REJECTem, neboť pak nevchází v platnost čekání druhé strany na timeout(např. při připojování na port AUTH), což může být často legitimní požadavek. Zapamatujme si také, že první platné pravidlo, které paket přijme, zahodí, nebo odmítne je zároveň pravidlem pro daný paket posledním. Neuplatňuje se zde defaultní přístup BSD pf, kde poslední platné pravidlo rozhoduje. 4 Zadomácíúkolsipromyslete,cosestanevpřípaděšifrovanéhopřenosuřídícíchdat,jaktomujeuprotokolu FTPS(FTPsSSL/TLS)ajaktoobejít. Středisko UN*Xových technologií 3

6 Jak psát firewall Pravidlaiptablessenarozdílodpravidel jiných firewallůnedajínaklikat 5,alezapisujíse ve formě příkazů. Zde vedou dvě cesty, jak iptables nakonfigurovat buď můžeme pravidla zadávat v konzoli a v okamžiku, kdy se zdá, že fungují, je uložit příkazem iptables save. Takto se dají ale konstruovat jen jednoduché firewally, navíc si v případě modulů musíte zajistit jejich natažení jinou cestou. Rovněž tak musíte konfiguraci v/proc upravit jinde. Druhá možnost je napsat si skript, ve kterém si nadefinujete nejen pravidla, ale i natáhnete moduly a upravíte konfiguraci v/proc. Třetí cestou je napsat si skript, kde definujete pouze pravidla, která po spuštění skriptu uložíte pomocí iptables save a/proc a moduly si opět ošéfujete jinak. 6 Jelikožautortotohotextuosobněupřednostňujecestuskriptu,budetese s ní muset smířit(alespoň pro účely vysvětlení). Čtenáři ale jistě vědí, kde upravit/proc a natáhnout moduly a mohou si tedy jít cestou vlastní. 7 Základní příkazy iptables Uveďme si zde opravdu jen základní příkazy iptables: iptables[ t tabulka] A chain pravidlo přidá na konec daného řetězce(chainu) pravidlo. Je li uvedena tabulka, bude pravidlo přidáno do této konkrétní tabulky. iptables[ ttabulka] Ichainřádekpravidlo vložídodanéhochainunadanýřádek pravidlo. Je li uvedena tabulka, bude pravidlo přidáno do ní. Tento příkaz má využití přizadávánípravidelvkonzoli,veskriptupronějneníuplatnění. 7 iptables[ t tabulka] D chain řádek pravidlo smaže pravidlo zadané číslem řádku nebo definicí. iptables[ t tabulka] L[chain][parametry] vypíše pravidla, tabulka a chain jsou nepovinné. Parametry jsou: v verbose, ukecaný výpis n nepřekládáipadresyaporty line-numbers vypíšeipořadípravidla(hodísepromazánípravidelzkonzole) iptables[ t tabulka] F chain úplné vymazání(flush). Je li zadán chain, jsou smazána pouze jeho pravidla. iptables[ t tabulka] N chain založí nový chain. iptables[ t tabulka] X chain smaže zadaný uživatelem vytvořený chain. iptables[ t tabulka] P chain politika definuje danému chainu výchozí politiku(pravidlo) DROP, ACCEPT, REJECT. 5 Tonenítakdocelapravda,nicméněslušnílinuxácitonedělajíaklikáníradějipřenechajízvláštnímdruhům pokémona zvaným Klikaču. 6 Proč vlastněvůbecvzniklypříkazyiptables saveaiptables-restore?inu,sjejichpoužitímjenatažení pravidel dílem okamžiku, skriptu to trvá několikanásobně déle. 7 Tedypokudsinechcetenapsatguláš. Středisko UN*Xových technologií 4

8 Vzorovékonfigurace Vzorové konfigurace tu úmyslně nebudou uvedeny, neboť iptables se dají psát mnoha různými způsobyajávásnechciučitzrovnatenmůjaochuditvástakospecifikajinýchvariant. Napřednášcebylprobránjedenzmýchskriptů,aletospíšejennaosvětleníaprorychlé pochopení problému. Není v mých možnostech zde nějaký konkrétní příklad vysvětlovat, proto bych zájemce odkázal na vzorové skripty jichž se na internetu válí hromady(doporučuji http://iptables-tutorial.frozentux.net). 9 Doporučenáliteratura man 8 iptables man 8 iptables-save man 8 iptables-restore http://www.netfilter.org http://iptables-tutorial.frozentux.net/ Jednoznačně nejznámější a nejlepší materiál kiptables /etc/services /etc/protocols 10 O tomto dokumentu Tento dokument byl vysázen v systému LATEX. Autor se omlouvá za(tentokrát velmi) nedokonalou sazbu. Věcné chyby reportujte na k.dedecius@sh.cvut.cz nebo na webových stránkách projektu SUT http://sut.sh.cvut.cz. Tento dokument byl připraven jako pomůcka k přednášce Úvod do UN*Xových firewallů. Můžete jej volně šířit v nezměněné podobě pod stejným názvem. Středisko UN*Xových technologií 5