Sociálne siete

SecIT.sk na Facebooku SecIT.sk na Google+ SecIT.sk na Twitteri

Podporte nás


V prípade, že Vám obsah nášho portálu niekedy nejakým spôsobom pomohol, či bol pre Vás prínosom prosím podporte jeho chod ľubovoľnou čiastkou. Ďakujeme!

Štítky

Vyhľadávanie

You are here

Domov
Upozornenie: Obsah je licenčne chránený a bez písomných súhlasov autora článku a vlastníka webovej stránky nesmie byť v žiadnej forme ďalej kopírovaný a šírený v pôvodnom, či v akokoľvek upravenom stave.

Možnosti kontroly sieťovej prevádzky na Cisco smerovačoch 1. časť

V súčasnosti patria smerovače od spoločnosti Cisco medzi najviac používané v stredných i veľkých firmách. V týchto inštitúciách sa však občas nepoužívajú ďalšie bezpečnostné prvky ako externé firewally, či IDS/IPS sondy. Preto je často vhodné využiť bezpečnostnú funkcionalitu, ktorú zvyčajne už v základe ponúka priamo IOS Cisco smerovača.

Je potrebné poznamenať, že bezpečnostné funkcie neobsahuje každá verzia IOSu. Ak sa preto chcete pustiť do konfigurácie firewallu, či IPS systému overte si, že práve vaša verzia IOSu danou funkcionalitou disponuje. Nasledujúci obrázok zo stránok cisco.com, ukazuje, v ktorých verziách možno bezpečnostné prvky aplikovať. Ak chcete disponovať aspoň základnými možnosťami je nevyhnutná aspoň verzia IOSu označovaná ako „Advanced security,“ následne sú vhodné verzie „Advanced IP services“ a samozrejme plná verzia „Advanced Enterprise Services.“

model

Hierarchia verzií systému Cisco IOS.

Kľúčové sú access control listy

Pred konfiguráciou akéhokoľvek typu firewallu na Cisco smerovači je nevyhnutné porozumieť problematike prístupových zoznamov tzv. access control listov (ACL). V tomto článku budeme už predpokladať ich plné pochopenie. Len v krátkosti sa zmienime o princípe a tiež o možno menej známych typoch, ako reflexívne, či dynamické ACL.

ACL nám umožňujú presne definovať aký typ sieťovej prevádzky bude prepustený v jednom zo smerov na danom rozhraní. Môžeme zadefinovať zdrojovú IP adresu, zdrojový port a cieľovú IP adresu, cieľový port alebo konkrétnu službu (HTTP. DNS a pod.). IP adresa, alebo rozsah adries sa dá podrobnejšie špecifikovať za pomoci tzv. zástupnej masky (wildcard). Treba pamätať na to, že každý paket je porovnávaný s pravidlami v danom ACL presne riadok za riadkom. Konkrétnejšie pravidlá sa tak musia nachádzať na začiatku a postupne prechádzame k všeobecnejším. Štandardne sa každý zoznam končí pravidlom deny ip any any. Teda zákaz akejkoľvek ďalšej nedefinovanej prevádzky. ACL zoznamy sa dajú aplikovať na jednotlivé rozhrania ako in, teda prevádzka sa vyhodnotí ešte pred predaním na výstupnú časť rozhrania, alebo out - pakety sa predajú výstupnej časti a vyhodnotia sa ešte pred opustením tohto rozhrania. IOS ponúka niekoľko typov ACL listov. Primárne ide o dva základné typy a všetky ostatné možno de facto nazvať odvodenými.

Štandardné prístupové zoznamy

Štandardné prístupové zoznamy pracujú len so zdrojovou IP adresou paketu, nie je možné podrobne definovať protokol ani číslo portu, či označenie služby ako HTTP, DNS a pod. Spravidla sa umiestňujú bližšie k cieľu. Môžeme ich definovať pomocou rozsahu 1-99, alebo 1300-1999.

Príklad:
(config)# access-list 3 deny 172.16.1.0 0.0.0.255; pre konkrétny uzol: access-list 4 deny host 172.16.1.2, čo je ekvivalentné zápisu access-list 4 deny host 172.16.1.2 0.0.0.0

Rozšírené prístupové zoznamy

Rozšírené prístupové zoznamy dokážu vyhodnocovať okrem zdrojovej už i cieľovú IP adresu, typ protokolu na sieťovej vrstve a číslo portu na transportnej vrstve resp. označenie služby. Umiestnenie rozšírených ACL je spravidla bližšie k zdroju. Definované sú rozsahom 100-199 a 2000-2699.

Príklad:
(config)# access-list 100 deny tcp any host 172.16.23.1 eq 23 log

Pomenované prístupové zoznamy

Ďalším pseudotypom je pomenovaný prístupový zoznam, technicky však ide buď o základný, alebo prístupový ACL. Ak vytvoríme prístupový zoznam metódami popísanými vyššie nemôžeme v ňom editovať jednotlivé riadky. Preto ak sa v budúcnosti rozhodneme zoznam modifikovať musíme ho najskôr celý zmazať a následne vytvoriť nanovo. Tento problém rieši práve pomenovaný prístupový zoznam. Umožňuje nám výstižne ACL pomenovať a modifikovať jeho jednotlivé riadky, prípadne pridať i poznámky. Sprehľadní a uľahčí tak celkovú správu zabezpečenia smerovača, no v princípe sa funkčnosťou nelíši od dvoch predchádzajúcich typov.

Príklad:
(config)#ip access-list extended test
(config-ext-nacl)#remark poznamka
(config-ext-nacl)#permit udp any host 192.168.1.1 eq domain
(config-ext-nacl)#deny ip any any

Toľko v skratke k bežne používaným prístupovým zoznamom, samozrejme veľmi vhodné je logovať aktivitu a občas sa zídu i rôzne diagnostické príkazy ako show ip access-list. Aby boli jednotlivé ACL platné je samozrejme nutné aplikovať ich na určité rozhranie. Platí pravidlo, že každé rozhranie môže mať pridelený maximálne jeden prístupový zoznam v smere in a jeden v smere out.

Príklad:
ip access-group 101 in

Cisco ponúka v rámci IOSu i ďalšie typy ACL.

TCP enstablished ACL

Tento typ ACL listov v súčasnosti nie je vhodné používať. Pre úplnosť však objasníme princíp fungovania. Jeho úlohou je len určiť, či je v prichádzajúcich paketoch nastavený príznak TCP ASK/RST, a teda povrchne predpokladať, že spojenie zahájil užívateľ našej siete. V prípade, že je táto podmienka vyhodnotená kladne, prichádzajúca prevádzka je povolená v smere do vnútra siete. Smerovač totiž predpokladá, že dané spojenie bolo inicializované z vnútra siete. Ak pakety tento príznak neobsahujú, predpokladá sa naopak, že spojenie bolo inicializované z vonku a daná prevádzka je zakázaná. Prečo tento typ ACL nepoužívať? Odpoveď je jednoduchá. V tomto prípade nie je implementovaný žiadny typ stavového fiewallu na smerovači, ktorý by vyhodnocoval prevádzku smerujúcu z vnútra siete. Nemáme tak žiadnu istotu, že komunikácia, ktorá obsahuje dané príznaky bola skutočne inicializovaná z vnútra. Útočník môže v tomto prípade veľmi ľahko náš ACL oklamať, napríklad použitím programu nmap a nastavením patričných príznakov manuálne. Enstablished ACL nie je možné z princípu použiť s protokolmi UDP, či ICMP.

Príklad vytvorenia enstablished ACL:

Chceme povoliť akúkoľvek prevádzku prichádzajúcu do našej siete na port 443 ak TCP pakety obsahujú príznaky ASK/RST. Vytvoríme tak akúsi „dieru“ a dúfame, že komunikácia bola inicializovaná z vnútra našej siete. :-)

access-list 100 permit tcp any eq 443 192.168.1.0 0.0.0.255 enstablished

ACL je potrebné aplikovať na patričnom rozhraní v smere in.

Reflexívne prístupové zoznamy

Reflexívne ACL fungujú na princípe definovania odchádzajúcej prevádzky s tým, že na túto prevádzku naviažeme prevádzku, ktorá sa vracia na smerovač. Vytvoríme tak akýsi dočasný filter. Povolíme tak len pakety, ktoré boli inicializované, ostatné môžeme zakázať. Na ich definovanie musíme použiť pomenované prístupové zoznamy.

model
Reflexívne prístupové zoznamy.

Pochopenie bude zrejmé z príkladu. Naším cieľom bude, aby užívatelia z vnútornej siete mohli surfovať na internete a logicky využívať i DNS. Ostatné aktivity budú zablokované. Akákoľvek prevádzka smerujúca z externého prostredia na našu sieť bude taktiež zakázaná.

Ako prvý vytvoríme ACL určený pre odchádzajúcu prevádzku a pomenujeme ho internyACL.
ip Access-list extended internyACL

ext-nacl:
permit tcp any any eq 80 reflex web1
permit udo any any eq 53 reflex dns1

Cisco IOS vytvorí tak zoznam s odchádzajúcimi session. Následne musia byť vytvorené dočasné položky povoľujúce návrat inicializovanej prevádzky z vonkajšieho prostredia.

Vytvoríme prístupový zoznam pre externé prostredie pomenovaný prístupový zoznam nazvaný – externyACL.

ip access-list extended externyACL

ext-nacl:
evaluate web1
evaluate dns1
deny ip any any

Povolíme tak z externého prostredia len inicializovanú prevádzku – HTTP, DNS, zvyšok zablokujeme.

ACL aktivujeme príkazmi:

int fa0/0/0
ip access-group internyACL out
ip access-group externyACL in

Dynamické prístupové zoznamy

Používajú sa v spojení s lokálnou i vzdialenou autentizáciou cez telnet, alebo SSH. Na smerovači je potrebné vytvoriť užívateľský účet a následne patričné prístupové zoznamy. Tiež je dôležité vymedziť čas pre určité spojenie.

username test password cisco
access-list 101 permit tcp any host 192.168.1.1 eq telnet
access-list 101 dynamic testlist timeout 20 permit ip 10.0.2.0 0.0.0.255

Aplikujeme ACL na zodpovedajúce rozhranie v smere in.

line vty 0 4
login local
autocomand access-enable host timeout 10

Prístupové zoznamy založené na časových údajoch (time-based)

Prístupový zoznam možno doplniť o časové údaje, ktoré zaistia jeho aktívnosť v danej dobe. ACL bude tak časovo závislým. Túto funkciu možno využiť napr. v malých firmách, počas pracovnej doby, pokiaľ nie sú dostupné iné efektívnejšie možnosti, alebo by boli neúmerne finančne nákladné. Na určenie času sa využije čas smerovača. V konfiguračnom móde zadáme príkaz time-range NAZOV.

time-range:
periodic Monday 11:00 to 22:00

Tým obmedzíme aplikovanie prístupového zoznamu na pondelky od 11 hod. do 22 hod.

Časový údaj pridáme k ACL:

access-list 100 deny 72.16.1.0 0.0.0.255 any eq www time-range NAZOV

Záver

Ako možno vidieť prístupové zoznamy (ACL) poskytujú pomerne široké možnosti filtrovania sieťovej prevádzky. Avšak nemožno zabúdať na to, že sa nejedná ešte o sieťový firewall v pravom slova-zmysle. O možnostiach "skutočného" firewallu na Cisco smerovačoch si povieme nabudúce. Rovnako Cisco ponúka na svojich smerovačoch i základný IPS systém (samozrejme po zaplatení si za aktualizácie signatúr). Avšak nemožno zabúdať na jednu vec. Bezpečnostné mechanizmy značne odoberajú výkon smerovača. V určitých situáciách tak môže dôjsť k markantnému zníženiu priepustnosti siete a k ďalším prevádzkovým problémom. Preto je vhodné pri väčších sieťach zadovážiť si externý hardvérový firewall, princíp jeho konfigurácie ostáva veľmi podobný. Využiť tiež možno externý server a open-source nástroje, či postaviť si firewall na iptables. Záleží len na vašej šikovnosti a zanietenosti...


Podporte nás


Páčil sa Vám tento článok? Ak áno, prosím podporte nás ľubovoľnou čiastkou. Ďakujeme!


ITC manažer Security-portal.cz Soom.cz
Hoax.cz Crypto-world.info