V nedávném článku jsme na tomto blogu představili projekt distribuované kybernetické bezpečnosti, na kterém od začátku tohoto roku pracujeme. Hlavní komponentou v navrhovaném systému distribuovaného adaptivního firewallu je speciální domácí router, který monitoruje síťový provoz a je schopen reagovat na potenciální bezpečnostní hrozby, a který vyvíjíme pod kódovým označením „CZ.NIC router“.
V tomto příspěvku si blíže představíme hardware a software navrhovaného zařízení, které by mělo plnit nejen úlohu bezpečnostní, ale mělo by být také plnohodnotným routerem s pokročilými funkcemi.
Operační systém
Pro vývoj operačního systému pro embedded zařízení je dnes možností první volby Linux. Má velmi dobrou podporu existujícího hardware, výbornou síťovou vrstvu, je v této oblasti široce rozšířený a v neposlední řadě je svobodný. Často navíc není třeba implementovat ani zbytek systému na zelené louce, ale je možné najít existující svobodný projekt, který je blízký zamýšlenému využití. To je výhoda svobodného softwaru.
V našem případě bylo hned několik projektů, které byly svým zaměřením blízké našemu záměru. Z nich jsme nakonec vybrali jako základ pro další práci systém OpenWrt. Pro ty z vás, kteří se s ním dosud nesetkali, stručně zmíním, že se jedná o specializovanou Linuxovou distribuci určenou právě pro domácí routery a vyladěnou pro jejich specifické potřeby. Systém tedy obsahuje výbornou podporu pro síťové technologie a je optimalizovaný pro malé paměťové kapacity běžných domácích routerů.
Jako základ vývoje operačního systému pro „CZ.NIC router“ jsme tedy použili OpenWrt, které upravujeme a rozšiřujeme o potřebnou funkcionalitu. V případech, kdy to bude dávat smysl, počítáme s poskytnutím úprav zpět do OpenWrt, aby z nich mohla profitovat jeho poměrně rozsáhlá uživatelská komunita.
Software
Jednou z výhod Linuxu jako jádra pro embedded operační systém je dostupnost velkého množství kompatibilního softwaru. OpenWrt navíc obsahuje balíčkovací systém, který umožňuje velice pohodlně do systému doinstalovat aplikace podle vlastní potřeby. Zároveň je možné si pomocí tohoto systému sestavit základ operačního systému na míru.
V našem případě se jedná např. o použití validujícího DNS resoveru Unbound namísto výchozího DNSMasq nebo výměna minimalistického SSH serveru Dropbear za OpenSSH.
Uživatel si pak může sám doinstalovat např. server pro sdílení souborů v domácí síti nebo třeba bittorrent klienta.
Hardware
Jednou ze zajímavých částí projektu „CZ.NIC router“ je vývoj vlastního hardwaru. K tomuto kroku jsme se odhodlali poté, co jsme prozkoumali na trhu dostupná zařízení a zjistili, že žádné plně nevyhovuje našemu záměru. Pro analýzu síťového provozu v reálném čase je přece jen třeba výkonnější hardware a větší množství paměti, než jen pro běžné routování. Do budoucna navíc počítáme s dalším vývojem softwaru pro bezpečnostní sondu a potřebujeme tedy dostatečnou výkonnostní rezervu.
Zde je krátký výčet důležitých komponent a vlastností navrhovaného systému:
* procesor Freescale P2020 se dvěma jádry architektury PPC taktovaný až na 1.2 GHz
* dedikovaný WAN port (s nezávislým připojením do procesoru)
* 4 LAN porty připojené přes výkonný switch chip
* SO-DIMM slot pro DDR3 paměť (osazený pravděpodobně 2 GB paměti)
* 2 miniPCIe sloty, z nichž jeden bude obsazen výkonnou Wifi kartou kompatibilní s 802.11a/b/g/n
* externí Wifi antény
* flash paměť minimálně 128 MB
* slot na micro SD kartu
* 2x USB 2.0 port
Při návrhu hardwaru jsme se snažili myslet také na jeho možnou rozšiřitelnost. Samozřejmostí tak budou dva USB 2.0 porty pro připojení disků nebo tiskárny. K dispozici bude ale také např. sériový UART výstup přístupný jednoduše přes USB rozhraní a na desce zařízení budou vyvedeny také další sběrnice (GPIO, I2C a SPI) do tzv. pinheaderu, který umožní případné připojení dalších zařízení, podobně jako třeba u platformy Arduino.
Celkově se tedy bude jednat o poměrně slušně vybavené zařízení, které by mělo svým výkonem výrazně předčit cokoli, co je dnes na trhu domácích routerů k dispozici a poskytnout tak dostatek výkonu ke všem potřebným bezpečnostním analýzám.
Co je na něm ale asi nejzajímavější z mého pohledu – bude to plně otevřené řešení, jehož návrh bude zveřejněn pod open source licencí, a které bude moci nést nálepku „Made in Czech Republic“. A takového hardwaru dnes moc nenajdete…
Bedřich Košata
Par dotazu…
1. Pri pouziti P2020 ktery ma myslim 3x 10/100/1000 ethernet prevodniky je myslim skoda delat jen jeden dedikovany WAN port. Zkuste se zamyslet nad kombinaci 1xWAN, 1xDMZ, 4x LAN.
2. Planujete moznost vyuzivat na tomto procesoru HW ISE (integrated security engine)? Pokud vim tak k nemu sice existuji knihovny od vyrobce ale nikdo to jeste neportoval do jadra Linuxu (nebo se mylim????)
3. Vzhedem k tomu ze to ma cilit na pozoci domaci router jak je v uvodu psany, tak by me zajimalo jakou ocekavate spotrebu? Preci jenom P2020 je velice zajimavej procesor, ale nejsem si jisty ze zrovna jeho spotreba by byla pro SOHO idealni… Navic kdyz si k tomu pripoctu ze to pravdepodobne bude napajeny obycejnym spinanym zdrojem v podobe adapteru do el. zasuvky u kteryho se da ocekavat cos φ v nejlepsim pripade 0.7 budou naklady na provoz celkem zajimavy. (proste do prijatelny velikosti adapteru vcetne kompenzace ucinniku to zatim dostal jenom Apple).
https://www.linux.com/news/embedded-mobile/mobile-linux/730380-zynq-arm-fpga-comes-of-age
Ale co když mám na vstupu do sítě ADSL (VDSL) router ?
Potřeboval bych WAN vstup, který by uměl rovnou obsloužit tohle rozhraní, ať neřadím několik routerů za sebe.
odpověď Stanislavu Petrovi:
1/ O podobném způsobu zapojení jsme uvažovali, ale nakonec jsme se rozhodli využít dvě ethernetové linky pro připojení switch chipu k procesoru. V prototypové verzi pak počítáme s vyvedením ještě pátého eth rozhraní ze switche, abychom mohli otestovat variantu s WAN portem připojeným na switchi při dvojité lince mezi switchem a procesorem. Jaké bude finální zapojení se uvidí podle testů na prototypech.
2/ Rádi bychom integrovanou bezpečnostní jednotku využili, ale její podporu plánujeme zahrnout až v dalších fázích projektu, podle dostupného času.
3/ Spotřeba samotné krabičky v defaultní konfiguraci by se měla pohybovat kolem 15 W, tedy asi 21 W při 70% účinnosti adaptéru. To je cca o 5 W více, než mají běžné domácí routery, které jsme testovali v http://www.katalogrouteru.cz/.
Miroslav Kolombo:
Tohle je IMHO nesmysl. Jednak DSL technologie se celkem rychle vyvíjejí a je hodně velký nerozum se fixovat byť na VDSL(2/2+). Navíc možnost „úhynu“ tohoto rozhraní je celkem vysoká. Takto se jen vymění DSL zařízení a jede se dál. A k tomu je třeba připodotknout, že DSL zařízení je možné přepnout do bridge a PPP spojení vystavět až z „pořádného“ routeru. Takto se to dělá i v profi sféře, ehternet je „univerzální“ pojítko a postupně (spíše už zcela) vytlačil staré X.25 apod. rozhraní.
Autoři:
Musím chválit vaše úsilí, protože takových zařízení na trhu moc není. Osobně jsem s OpenWrt kdysi začínal na legendární Wl-500b a faktem je, že kromě jisté nevyladěnosti OS měl problém se stabilitou hlavně samotný HW (zdroj). Sám jsem nakonec svůj problém stabilního a featurama neořezaného routeru vyřešil Intelí deskou s Atomem. Výhoda je integrovaný PicoPSU, SATA porty, DVI výstup a x86 CPU, nevýhoda jen jeden miniPCIe a PCI port, který je obsazen druhou síťovkou. Spotřeba na wattmetru u napájecí vidlice je okolo 25-30W..
A co bych vašemu projektu doporučil? Integrovat alespoň jeden SATA port a k němu napájení a ideálně i nějaký „drive bay“ pro 2,5″ HDD (nebo mít dvě verze). Pak byste nemuseli řešit velikost Flash onboard, 32/64GB SSD dnes stojí celkem legrační sumu peněz, případně by šlo osadit klasický plotnový disk. Jediný router, který „uměl“ interně HDD byl Asus Wl-700, pokud se pamatuju dobře. Kromě toho, že zvýšíte užitnou hodnotu routeru možností provozovat sambu, ftp apod., bude možné provádět upgrady OS nebo opravy jen výměnou disku.
Uvítal bych 2 WAN porty s výběrem load balancing nebo fail over.
Stejně jako kolegové bych ocenil alespoň 1x SATA port. USB se pro přenosy velkých objemů dat moc nehodí.
Jinak máte představu o přibližném datu vydání a cenové hladině?
Z pohledu člověka pracujícího v IT se mi tahle krabička líbí. K „dokonalosti“ tomu fakt chybí snad už jen ten SATAport, jak už tu zaznělo.
Když se ne to kouknu realisticky, tak spíš bohužel vidím něco ve stylu pánského automobilového magazínu, kde to co nemá minimálně 6l V8 motor, tak je je to jen parodie na auto.
21W na vidlici adaptéru pro router? To je nějakých 1050 Kč ročně v elektrice. Proboha proč? Poslední domácí router jsem kupoval asi tři roky tomu. Tak jsem kupoval stylem Nková WiFina, co umí zároveň 2.4 i 5 GHz a teoreticky tak protlačí vzduchem 600Mbps, gigabitové porty, 2xUSB, podpora IPv6 i s dodaným firmware, což tenkrát byla věc spíše nevídaná. V praxi se na to připojuji akorát mobilem, notebookem a tabletem a nic po tom netahám. Jen to zbytečně žere.
Asi čtvrt roku tomu jsem kupoval rodičům nový WiFi router. TP-link za 4 stovky co žere 2W!. Nková WiFi 150Mbps úplně stačí. Stejně po tom nic netahám, 100Mbps porty totéž a USB jsem na tom svém ještě nepoužil. IPv6 jsem tuhle levnou hračku doučil OpenWRT a pohoda.
Nechci vám kazit radost, ale typický domácí uživatel spíš ocení, že to nežere skoro nic, než že to je ekvivalent 6l V8. Na ten FaceBook a YouTube to fakt stačí.
odpověď Miroslavu Kolombovi:
V první verzi nebude náš router zatím ADSL/VDSL podporovat. Do budoucna bychom rádi poskytli možnost rozšíření o tuto funkci pomocí miniPCIe karty.
Bohužel procesor P2020 SATA rozhraní interně neumí a přidání jeho podpory jiným způsobem by dále zkomplikovalo návrh zařízení. Počítáme s touto možností do budoucna, pokud by se ukázalo, že je o tuto funkci větší zájem.
brk:
Spotřeba 21 W je pouze odhadovaná a je počítaná spíš pro vyšší zátěž routeru. Vyšší spotřeba je daň za výkon, který bude zařízení schopné poskytnout.
Pokud jde o spotřebu dnešních routerů, tak 2 W je opravdu velice nízká hodnota. Podle různých zdrojů se spotřeba routerů běžně pohybuje pohybuje mezi 5 – 15 W. Podle našich měření v rámci projektu http://www.katalogrouteru.cz/ je to dokonce často kolem 16 W.
Jakub:
Doufáme, že router budeme moci nabízet koncovým uživatelům na konci tohoto nebo začátkem příštího roku. Zatím plánujeme, že ho budeme poskytovat výhradně formou pronájmu za 1 Kč za účelem sběru dat pro bezpečnostní analýzy.
Tyhle procesory jsem pro jeden projekt zvazoval take. Z Freescalu na to udelali peknou prezentaci, ale ten linux na tom byl bida. Nevim v jake jste fazi vyvoje, zda se to nejak neposunulo, ani za jak dlouho a za jakeho usili chcete mit vysledek, ale urcite to bude dost prace.
Bedřich Košata: obvykle se napr. sata disky do takovejhle malejch domacich krabicek stejne integruji prez USB. Na desce je osazen akorat USB HUB a z nej byva vyveden pouze konektor do ktereho se pripoji interface deska, v tomto pripade napr. USB SATA. Takze pokud bude osazen na desce pouze USB konektor (spise rada USB pinu), tak se pak daji delat desky ktere se na to nasunou a poskytnou dalsi libovolna rozhrani. Navic by to pri chytre mechanicke konstrukci umoznilo zajimave rozsirovani komunitou kterou by si to koem sebe mohlo pri trose stesti vybudovat.
Koukal jsem jeste na ten katalog routeru, je hezke hodnotit funkcinalitu, ale zajimalo by me zda je v tom hodnoceni ze to ma 1000MBit rozhrani taky to zda to ten provoz uroutuje. Dovolim si to tom totiz v mnoha pripadech pochybovat.
Adam Pribyl: Hmm, vy mate doma 1000Mbps pripojeni ze to resite? U teto kategorie zarizeni se ocekava ze zvladnou 1000Mbps ve switchngu LAN a tam to opravdu zvladaji. Pokud by jste chtel plny gigabitovy router, budeme se bavit napr. o zarizenich jako Juniper SRX650 a podobne ktere gigovy provoz garantovane zvladnou prakticky za vsech okolnosti – http://www.comsource.cz/srx650. Ale to uz je uplne jina cenova kaegorie.
Bedřich Košata říká:
A nestálo by za to nameřené údaje o spotřebě v Katallogu zveřejňovat?
Naco gigabitove, staci pripojeni vic nez 100Mbit ze. A krom toho switching je i v domaci siti uz malo pokud chcete oddelit zarizeni duveryhodna a neduveryhodna (typicky androidi udelatka a televize, ktere se uz bez pripojeni pomalu ani nerozbehnou), pripadne pro pouziti i na mene standardni ucely. Neni to jeste zdaleka o nutnosti kupovat juniper, ale 100Mbit je malo, i kdyby ho to uroutovalo jen v beznem provozu, nikoli pri zamernem zahlcovani zarizeni.
Bedřich Košata: Škoda, že spotřeba je často v katalogu nezměřena. Bez spotřeby máte např. AirLive N.Mini, 300Mbps. Dle specifikace výrobce žere 2W http://cz.airlive.com/product/N.MINI
Tenda W311R+ Opět bez spotřeby. Dle výrobce má 4W.
http://tenda.cz/?q=pro-domacnost/wifi-routery-n/w311r/tenda-w311r-wireless-n-router-80211bgn-150mbps-1x-wan-4x-lan-1x-e
Co takhle uvolnit i nějakou odlehčenou verzi vašeho firmware i pro nějakou takovou jednoduchou krabičku, co zvládne OpenWRT? Procesor samozřejmě nebude stíhat nějaké online analýzy přenášených dat, ale i ten váš „adaptivní firewall“ by bylo pro hodně lidí velký kus kupředu. Cena té vaší „6l V8“ bude zbytečně vysoká kvůli použitým dílům a spotřeba ještě horší.
Např. ten mnou dříve zmiňovaný TP-link TL-WR740N je s OpenWRT v pohodě a jde nahrát přes menu původního firmware. Naměřená spotřeba v idle pod 2W wattmetrem dle výrobce měřícím výkony pod 2W s přesností 15% a do 5W s přesností 5%.
John Doe:
Měření spotřeby jsme do katalogu zařadili teprve nedávno a výsledky jsou tedy uvedeny pouze u nejnovějších recenzí.
brk:
Předpokládáme, že budeme veškeré součásti našeho firmware nabízet jako balíčky pro OpenWrt. Adaptivní firewall si tak budou moci nainstalovat i lidé, kteří mají výrazně méně výkonné routery s OpenWrt.
Takovou věc bych si docela rád koupil. Doufám, že budete dbát při návrhu jeho uživatelského rozhraní na přístupnost pro nevidomé a že budete zveřejňovat návody pro „laické“ uživatele, jak tento router přizpůsobit jejich potřebám.
Škoda že jen 4× LAN, to znamená, že budu muset i nadále za sebe věšet router (DHCP, směrování portů na testovací server, WiFi) a Switch :-(. Doufám, že budou LANky 1Gb.
@Stanislav Petr: NASka v síti a testovací server se netýká každého, nicméně pro mě by už byl 100Mb ethernet velmi nepříjemným omezením. (Dobře jsem se pobavil, když se mě někdo zeptal, nač tahám po baráku Cat6 kabely, když dneska má vše WiFinu.)
MaReK Olšavský:
WAN i LAN porty budou samozřejmě gigabitové. Myslím ale, že pan Petr narážel na to, že gigabit běžně využijete právě jen v LAN, kde se provoz switchuje a neroutuje. Tam to není problém ani se standardním routerem, protože to vše obstará integrovaný switch chip bez zásahu procesoru.
V našem případě by mělo být každopádně možné gigabit i uroutovat, alespoň v případě delších paketů.
Nebude uvolnena nejake developer/testing verze, rekneme vyrobit prvnich x kusu hw a emitovat(i placenou formou) ji mezi vyvojare?
Počítáte s něčím ala kickstarter? Jsem pro! :-)
fahacz:
Prototypovou sérii samozřejmě připravujeme, ale nepočítáme s jejím uvolněním mimo interní použití. Je možné, že finální produkt budeme uvolňovat ve vlnách v závislosti na výrobě a dalších faktorech.
jcz:
S externím financováním v podobě kickstarteru nebo podobné služby nepočítáme. Je to ale zajímavý nápad.
Ten odkaz na http://www.katalogrouteru.cz je nefunkční.
Přesněji, je přes IPv6 nedostupný.
Ačkoliv web má AAAA záznam, tak na dané adrese nic neodpovídá.
Jak tu psali ostatní, hodilo by se nějaké rychlejší rozhraní, ať už (e)SATA, nebo třeba USB3. Jinak moc moc pěkný, kde se můžu přihlásit k testování? :)
Prajem veľa úspechov z daným projektom a pripájam sa k výzve za rýchlejšie USB rozhranie. Do budúcna odporúčam aspoň verbálnu komunikáciu na mailing listoch z forknutým projektom LibreWRT. Koniec koncov cieľ vyššej bezpečnosti a proaktívneho prístupu je tým čo nás spája.
¨Nápad je to pěkný, ale obávám se, že už jen přihlédnuto k ceně procesoru bude cena zařízení dost vysoko (jen MPU cca 2k, takže řekněme 10k? žívin se návrhem podobných zařízení v malých sériích). Navích procesor není zrovna z nejnovějších. Byla třeba zvažována možnost použití např. freescale řady i.mx6 ? ARM quad core 1GHz, SATA, PCIe…..v nákladech za polovinu ?
Nebo třeba Xilinx Zynq FPGA nižších řad 7010 nebo 7020 (opět DC ARM, ale taká logika, možnost implementace vlastních funkcí na HW, což může vést k řádově vyššímu výkonu – inspirace – např. net FPGA).
Petr Pavlata:
Cenu jste odhadl celkem přesně. Pokud jde o alternativní procesory, tak jsme samozřejmě přemýšleli o jiných variantách, především ARMových, jako je I.MX6. Bohužel naprostá většina procesorů v této kategorii je zaměřená na multimediální aplikace, takže typicky obsahuje grafickou kartu, ale s podporou sítí to není tak slavné. Např. I.MX6 má pouze jedno gigabitové rozhraní, zatímco P2020 má tři. Obdobná situace je i u ostatních ARMových řešení.
P2020 je navíc součástí „product longevity programu“ a Freescale garantuje, že ho bude dodávat 10 let od vydání, což je pro budoucí vývoj také důležitá vlastnost.
Využití FPGA je něco, co určitě budeme do budoucna zvažovat, ale v této fázi projektu jsme se rozhodli jít jinou cestou.
Roman:
Díky za upozornění. Problém s nastavením IPv6 přístupu co nejrychleji napravíme.
Jay F.:
Oficiální registrace zatím neprobíhá (chceme ji spustit koncem prázdnin), ale můžete mi napsat na bedrich.kosata@nic.cz a já si Vás přidám k rostoucímu seznamu zájemců a upozorním Vás, až registrace začne.
Roman: Díky za upozornění, chybu jsme opravili a už to přes IPv6 jede.
V http://www.katalogrouteru.cz/ není uveden WNDR4700 a přitom má parametry po kterých je tu voláno. USB3, šachta pro disk 3,5″. Vzhledem k ceně zamýšleného produktu je tento v poloviční sumě. Pokud tedy vnitřek ustíhá vše potřebné. Hledám na openwrt.org a podporu tam nemá, ale to ani model 4500, jestli tedy dobře hledám Osobně používám WNDR4000 s alternativním firmwarem z dd-wrt k maximální spokojenosti a jak tak koukám, zrovna je aktualizován k datu 22.4.2013 ;-) teď ještě najít odvahu upgradovat když všechno funguje.
V kategorii 10kKč mi produkt přijde pro cílovou skupinu SOHO či malých firem než pro domácnost. Osobně jako fandovi by mi peněz líto nebylo, zvláště pokud je to zajímavý kousek po stránce technické a s rozvíjejícím se sw.
@ i.MX6Q
Ano, má pouze jeden GLan
Ale má taky PCI-X 1x, kam není problém druhou GLan připojit.
(jako např u Utilite, kterou pro mě zabíjí, že si Sata nechali pro interní potřeby, místo aby ho vystrčili ven a root dali na SD)
Dobry den,
chtel jsem se zeptat, planujete take tento distribuovany firewall pro MikroTik zarizeni? ve forme pridavneho baliku?
Dekuji
Dobrý den,
rádi bychom postupně vytvořili balíčky i pro další platformy, mezi kterými bychom určitě rádi měli i MikroTik RouterOS.
Nemohu slíbit, že to bude hned a zda to bude plnohodnotná sonda a nebo jen klient pro příjem firewallových pravidel, ale určitě na tuto platformu nezapomeneme.
Zdravim.
Na twitteri ste oznamili, ze predregistracii je uz 1500… neplanujete teda zvysit pocet zapozicanych routrou, ked je taky velky zaujem?
Dobrý den, bohužel náš rozpočet je v tomto roce omezený na 1000 ks. Pokud ale bude mít projekt úspěch, je možné, že jej rozšíříme. Rozhodně to ale nemohu slíbit.