Tady nekdo vzivote nevidel, jak se neco vyrabi ...
Milej zlatej, vazne si myslis, ze ti treba automobilka doda nastaveny a fungujici auto? Nikolivek, to dela az prodejce. Jenze u veci za 1/2M se ta prace jaksi ztrati v cene. Kdyby mel vyrobce kazdou jednu krabku i jen zapnout, tak by nestala 3 kila ale 3 litry.
Kolik % lidi je ochotno zaplatit 3k za krabku, ktera bude konfigurovatelna? (ty parodii od NICu ani nemluve). A proc by to meli delat? Aby jim pak kkti z Mozilly/googlu/... rekli, ze maj tu krabku vyhodit, protoze pouzitej algoritmus uz prej neni dost bezpecnej? lol
Ty miliardy lidi si proste koupej to nejlevnejsi co horko tezko zapojej a pokud jim to funguje, tak to menit nebudou. A ze by to mel resit provider? A proc proboha? O poskytne pripojeni a je mu jedno co si na ty svy lince zakaznik prenasi. Proc by mel vynakladat prozmenu svoje penize na to, aby resil neco, co mu nevadi?
Ke generovani klice potrebujete entropii. V PC se vyuziva drobny sum pro mereni casu toku dat od HDD, pohyb mysi, stisky klavesnice, a ruzna casova razitka udalosti., ktere je obtizne kontrolovat.
Co mate nartiklad na takove zasuvce ovladane pres Wifi? Sitove napeti, pokud se vubec meri, Okamzik bootu vhledem k pruchodu faze nulou (pokud se vyhodnocuje) a jinak NIC. Mala entropie v takto vygenerovanm klici zpusobi, ze hromada zarizeni si vygeneruje nezavisle na sobe stejny klic a jsme tam kde ted.
Přesně to jsem chtěl napsat... když je tam rádio, budu 10 vteřin poslouchat a budu mít tak krásnou entropii, že mi ji může i ženský mozek závidět. Maximálně by mi to mohl pokazit někdo, kdo bude stát s výkonným širokopásmovým vysílačem metr od routeru v době, kdy si ten klíč generuje. Rozhodně to bude lepší, než to tam mít staticky.
A co traffic na síti? Čas mezi paketama, data lítající po síti,.. Udělá se z toho nějaký pěkný dlouhý binární blob (otázka obvykle několika sekund), spočítá hash a je to...
Pro případ zapnutí několika krabiček na stejné síti současně třeba... sériový číslo FLASH/CPU/... jako sůl. Tam už výrobci čipů dávají aspoň kontinuální řadu, že je tam nějaký rozdíl.
Obecně nemůžeš. Řešili jsme to na deskách s SH-4. Na čisté desce byl k dispozici jenom JTAG, po něm by natažení firmware trvalo cca 2,5 hodiny (zápis FLASH na sběrnici pomocí boundary scanu). Takže v krocích:
1) Nanoboot skrz JTAG. Čas 3s, zápis do RAM Velikost < 1kB.
2) Nanoboot se oznámí na UARTu. Od testeru dostal image ubootu, který zapsal do FLASH a spustil. To trvalo asi 5s.
3) UBoot se podíval, jestli má konfiguraci. Když ji nenašel, provedl factory test a stáhl si z UARTu, co potřeboval (SN, MAC,...) Čas zase do 5s.
4) UBoot se připojil na TFTP a stáhnul finální image do FLASH. Podle velikosti do dvou minut. Spočitej si, jak dlouho by trvalo nahrávání po UARTu.
5) Start finálního image, ověření základních funkcí.
U Atmelu ARM9 to je zase jinak, bootloader v CPU a všechno je v SPI FLASH, takže tam vypaluješ jednoho brouka po SPI na 60MHz a klidně zvenku po test pointech s jádrem v RESETu...
Unikátní informace zvenčí bral během konfigurování ubootu, to je optimální čas pro nahrávání klíčů a certifikátů zvenku. Entropii na tohle nepotřebuješ. Klíč vygeneruješ na vhodným hardware a flashneš.
V praxi má stejně FLASH několik sekcí - firmware, data, bootloader a factory data. A kontrola se dělá nezávisle, ověření factory dat proti databázi tak nijak neovlivní podobu aplikace...
Dela se to uplne jednoduse, mas zhruba nasledujici varianty
1) nechas si vyrobit chip, na kterym je soft napalenej rovnou z vyroby natvrdo
2) naladujes vsechny chipy do nejaky masiny, ktera ti tam proste (jeste pred osazenim) napali soft
3) mas na desce nejakej pinout, na kterej se po osazeni pripojis a napalis to na uz hotovou desku
Poradi odpovida taky cena - cim pozdejs, tim vyssi.
Problem (s jakoukoli) odlisnosti mas predevsim v tom, ze pri aspon trochu normalnim postupu se dela verifikace - ovsem binarni pochopitelne, a vadny chipy/desky se rovnou vyhodej. Pokud bys tam tudiz napalil pokazdy neco jinyho, mas problem, protoze ten primitivni test ti nebude fungovat. Navic by to misto opakovanyho zapisu stale stejny matrice znamenalo pokazdy spocitat cosi ... a pokud se bavime o milionech kusech a potreby rozumny entropie, tak ses v riti.
Te vypalene adrese bych se v dnesni dobe divil;) Mozna nekde do flashe ale uz ne do PROM. Je vyrobne jednodussi ji nacist nebo generovat nekde ze S/N ktere uz se nachazi skutecne pevne napalene v chipu. Ale jinak Factory data muzou obsahovat i odlisnou mac, S/N, NSA spydata... Pred nahranim se nageneruje+prida crc a na boardu se jen checkne jestli to sedi. Doby kdy se opravdu vypalovaly adresy do prom jsou ty tam.
Ten primitivní test musí znát velikost flashky, aby nepřečetl z nenamapovaných adres nesmysly. Tak mu dáme velikost o 16 bajtů menší.
> Navic by to misto opakovanyho zapisu stale stejny matrice znamenalo pokazdy spocitat cosi
Na prehistorickém Pentiu III dokážu pomocí SHA2-based PRNG vygenerovat 200 tisíc seedů za sekundu.
Tady by mělo platit nejsem tak bohatý, abych kupoval levné věci...
Nějaký switch který není vystavenej ven je v pohodě, takže laciná krabička může bejt, ale router musí být bezpodmínečně zabezpečenej tak, aby zvnějšku nebyla šance. Člověk musí před pořízením zařízení myslet a když to nedokáže nebo se mu nechce, dobře mu tak!
Error code: ssl_error_unsupported_version - ddwrt na wrt54g.
Na tom 4MB šrotu používá webserver jakýsi microssl, kde TLS není vůbec podporovaný. Měnit to kvůli milovníkům starožitností nikdo nebude.
Zaujimalo by ma ci je toto osetrene na DD-WRT, Open-WRT, Tomato a podobnych 3rd party FW pre routre.
V DD-WRT je to "ošetřené" tak, že si certifikát a klíč nacpeš do startup skriptu, GUI ani nic jiného nevedeme.
echo "-----BEGIN RSA PRIVATE KEY----- ... -----END RSA PRIVATE KEY-----" > /tmp/ssl/key.pem echo "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----" > /tmp/ssl/cert.pem chmod 0600 /tmp/ssl/key.pem grep -q -e "/etc/cert.pem" /proc/mounts || mount -o bind /tmp/ssl/cert.pem /etc/cert.pem grep -q -e "/etc/key.pem" /proc/mounts || mount -o bind /tmp/ssl/key.pem /etc/key.pem stopservice httpd startservice httpd
V OpenWrt si tam buď nainstaluješ px5g a ten ti vyflusne klíč a self-signed certifikát podle nastavení v /etc/config/uhttpd, nebo si tam nacpeš certifikát a klíč vlastní.
config uhttpd 'main' ... option cert '/etc/uhttpd.crt' option key '/etc/uhttpd.key' ... config cert 'px5g' option days '730' option bits '2048' option country 'CZ' option state 'Czech Republic' option location 'Vidlakov' option commonname 'router.example.com'
Tak to je vtipný dotaz. Spíš bych se ptal jesli to má ošetřené Tenda, D-Link, TP-link a podobné, ještě obskurnější značky. A jestli na tom jsou podobně i UBNT tak potěš koště. Naposled kvůli jejich ignorační chybě popadala půlka wifi sítí ve světe i v této malé republice. Bohužel i já jsem byl postižen přes mého ISP (zaplaťpánbůh že jsem měl založní připojení).
Ono v pripade ubnt jde taky trochu o to, ze novejsi firmware sice opravi nejaky bezpecnostni problem, ale velmi casto uvede sit do nepouzitelneho stavu. Diky povinne zaplemu DFS a falesnym detekcim radaru je pak zarizeni prakticky nepouzitelne.
Takze ne vzdy ma na hlave maslo jen ISP. Reseni (zatim) existuje, ale je stale komplikovanejsi a je otazkou, zda je zcela koser. A je take nejspis mimo schopnosti klikacich adminu.
Pouziti starsich firmwaru koser zcela jiste je a problemy s DFS netrpi.
Primarnim problemem je neschopnost tech zarizeni odlisit radarovy puls od interferenci vzniklych hustym provozem v CR. Otazkou muze byt i to, zda EU regulatorni pozadavky na dfs jsou rozumne. Treba takove naslouchaci zpozdeni 10 minut mezi zapnutim boxu s provozem je take chutovka. Ve starsich firmwarech neni.
Jaky firmware byste pouzil Vy v roli ISP?
Neexistuje. Není to zase až tak dávno, co jsem dělal pro jednoho malého ISPíka. Téměř každý nový firmware v UBNT přinesl nějaký nový problém, dokud se daly stáhnout zdrojáky, kompiloval jsem vlastní firmware, když to zatrhli, byla to pokaždé loterie. Když se člověk koukl do changelogu, okamžitě se mu chtělo upgradovat, ale když to pak vyzkoušel v praxi, okamžitě ho to zase přešlo. Různé country fičury se řešili nastavováním různých zemí, oblíbená byla třeba Aruba, jinak s nastavením na CZ se to nedalo použít. Samozřejmě, že se kraviny ČTU nedodržovaly, protože to prostě nešlo. ČTUčko nikdy moc volný pásma neřešilo, buzerace přišla hlavně s příchodem LTE - divná náhodička :) Raději jsem se na to vykašlal a našel si jinou práci, protože snaha zlikvidovat malé poskytovatele je zcela evidentní a tímhle tempem se jim to dříve, nebo později, povede. Očekávám, že slavnej zákon o loteriích tomu má taky částečně pomoct :D
No v takovém případě by se měly hledat alternativy jiných firem, možnost komunitního sw a hw (například s OpenWRT nebo jeho specializovaným forkem) atd.
Házet flintu do žita kvůli nějaký americký firmě, která na evropský trh a tímvíc malý český kašle, se mi zdá poněkud zbabělé... Navíc Ubiquiti byla dosud konkurenční především cenou, ale s tímto chováním se vlastně prodražuje na úroveň konkurence.
Takze vlastne navazujeme na predchozi diskuzi.
Krome nekolika evangelistu na rootu, v googlu, atd. bezneho bfu vlastne https nezajima (jako stredne pokrocileho bfu me to zajima fakt jenom, kdyz jde o penize), takze aby se vlk nazral, tak tam proste je nejaky certifikat a nejake to https.
Je to podobne jako s IPv6. Pro nektere typy uloh to je proste zbytecne komplikovane a v takovych pripadech IPv4 nebo HTTP proste staci. Proto se taky tyhle dva protokoly staly tak popularni. Jenze tenkrat to byla jina generace inzenyru/programatoru, od kterych se i ja obcas neco rad priucim.
Predevsim to, ze se samotnym IPv6 si nevystacis (pokud nezaradis nejakou 6to4 branu). Co ale v pripade kdy system pozaduje obe adresy, a dostane jen jednu? Vetsinou totiz konfigurace sitove karty (network manager) nevi, jestli system bude pouzitelny, kdyz dostane rekneme ipv4 a nedostane ipv6. (Co kdyz je tam namountovany sitovy filesystem, vyzadujici prave jeden z tech protokolu?)
Dale pak bylo docela dobre odladeno DHCP. Nove musi univerzalni zarizeni umet RA i DHCPv6 (nebo jak se ty autokonfigurace vlastne jmenujou). Spravce "verejne" site (treba univerzitni) pak musi zamezit aby klient nemohl hrat roli serveru/routeru a posilat podvrzene DHCPv6 nebo RA odpovedi. To dokonce musi udelat i v IPv4 only siti, protoze jinak nejaky zly klient se bude tvarit jako IPv6 router a obet ktera si prinese notebook nebo telefon se zapnutym IPv6 bude do internetu pristupovat na IPv6 adresy pres tohoto utocnika. (A naopak musi blokovat DHCP(v4) v IPv6 only siti.)
Routery po ceste musi znat _vsechny_ rozsirene hlavicky IPv6, protoze jaksi delka danne hlavicky (tedy to, kolik ma to zarizeni preskocit aby naslo rozsireni, ktere potrebuje inerpretovat) je v kazdem rozsireni na jinem miste.
A fundovani by ti jiste byli schopni dat seznam mnohem delsi.
> Predevsim to, ze se samotnym IPv6 si nevystacis
Aha, takže až za nějakou dobu budeš potřebovat služby dostupné jen po IPv4, tak najednou bude „zbytečně komplikované“ IPv4?
> Co ale v pripade kdy system pozaduje obe adresy, a dostane jen jednu?
Taková situace nastává naprosto běžně, pokud v síti není RA nebo naopak DHCPv4 server.
> Spravce "verejne" site (treba univerzitni) pak musi zamezit aby klient nemohl hrat roli serveru/routeru a posilat podvrzene DHCPv6 nebo RA odpovedi.
Ale to přece nesouvisí s IPvX, ale s tím, že máte nezabezpečenou nižší vrstvu. Někdo jiný by zase mohl tvrdit, že IPv4 je „komplikované“, protože správce veřejné sítě musí zabezpečit proti rogue DHCPv4 a ARP floodům.
"Co kdyz je tam namountovany sitovy filesystem, vyzadujici prave jeden z tech protokolu?"
Konektivita není zaručena a file systém musí se ztrátou konektivity počítat už z principu. Nemůžeš garantovat, že se nerestartuje WiFi AP, nějaký moula nepřekopne kabel, když jedeš po VPN, server nebude pod DDOS,... Nehledě na prostou skutečnost, že takový file systém bez IP adresy namontovaný nebude.
V boxu ktery mel jen jeden protokol, se mohlo prohlasit, ze ucelem toho boxu je byt pripojeny k internetu a tedy boot zastavit do doby nez se dostane adresa. Proste je stale dost problem mit spolehlive vedle sebe oba protokoly na jedne masine, zvlast kdyz tam nejaky moula (cast prace odvede spravce distribuce, dilo zkazy pak dokonci spravce systemu) naskriptuje update /etc/resolv.conf z obou autokonfiguraci a nenastavi ze ty dva mechanismy jsou spolu v konfliktu (budou si navzajem prepisovat /etc/resolv.conf).
Pokud budete mit na obojetnem boxu nakonfigurovany server ktery posloucha nejak na ipv6 a nejak jinak na ipv4 (ano to neni prilis standardni konfigurace, ale varovan v zadne dokumentaci nebudete), tak po bootu, kdy bude jen jeden protokol, bud nenastartuje vubec, nebo nastartuje jen v tom jednom protokolu a ten druhy az do restartu nezapne.
Souhlas, ale bohužel na špičkové FSP routery s mega propustností nejde dát (typicky Mikrotik). Uvítal bych, kdyby výrobce nabízel třeba dual boot, když už za to chce dost velký peníze. Na nějakou licenci level 5 nebo kolik mu celkem kašlu. Existují starší, výkonově slabší typy, kam OpenWRT jde, ale pak to všechno samozřejmě ztrácí smysl.
Je to asi tak podobné jako si nechat W10 od výrobce na novém stroji třeba s i7 atd. (včetně všeho toho bloatwaru, který tam musí bejt). Zaplatpánbůh tady to jde řešit radikálně hned (výměna za nový, obvykle lepší disk) a instalace oblíbeného systému dle preferencí :)