k47.cz
mastodon twitter RSS
bandcamp explorer
««« »»»

Všechno zamkněte (digitální paranoia, útok kompromitovaných tiskáren, rok 2018 už stihl ukousnout kus mé duše)

— k47

Včera jsem byl nadšený z nového připojení k internetu, dneska pochybuju o bezpečnosti celé operace.

Prvním varovným signálem byl fakt, že korporátní web ISP nejel šifrovaně na HTTPS. V duchu jsem si je představoval jako smečku renegátů, kteří slepují bezdrátové sítě z hardwaru, který našli ve škarpách podél silnic. Byla to veselá představa, ale nechtěl jsem aby mojí jedinou linku s vnějším světem spravovala právě taková sebranka.

Pak jsem dostal referenci od jedince, který měl zase reference od trojice jiných spokojených zákazníků. Aspoň něco vylepšovalo jejich kredibilitu. NA druhou stranu „spokojený zákazník“ nemusí nutně znamenat „nekompromitovaný zákazník“. Může žít ve sladké nevědomosti, že mu ruští hackeři ukradli čísla všech kreditních karet a prodali je zabijákům z ISISu, kteří na ně začali z ebaye nakupovat munici a dusíkatá hnojiva pro výrobu trhavin.

Stačilo to, abych se rozhoupal k akci a pak začala téměř okamžitá instalace. Ta měla všechny ingredience hollywodského trháku: Nádech rizika, drama, ohrožení života, napínavé finále a happy end.


Když dvojice techniků odešla, užíval jsem si nově nabyté rychlosti, data jen svištěla, všechno se načítalo téměř okamžitě. Dosáhl jsem rychlosti, za kterou se nemusím stydět v jednadvacátém století. K večeru jsem provedl rychlý nmap sítě a co nevidím: 4 tiskárny, 2 switche, unixový server na kterém běžel Apache, samba a MySQL a tři Windows stanice, jedna z nich podle všeho patřící starostovi. Hm. Tohle vypadá zajímavě. Ne nijak dobře, ale aspoň zajímavě. Mohl jsem se dostat do administračních konzol každé tiskárny – volně dostupné, chráněné jen heslem. Nezkoušel jsem výchozí údaje, nechtěl jsem působit škodu. Takhle by to rozhodně nemělo být.

Síťování jsem nikdy moc nerozuměl, takže neznám co přesně to znamená. Když vidím já je, co přesně vidí oni? Tiskárny se nacházely v privátní síti 10...* a za mým routerem se rozkládala oblast 192.168... Vidí jenom moji novou hraniční přípojku, která je někde v 10...*, nebo můžou nahlédnout hluboko za můj router? Nejsem si jistý a to je horší, než kdybych věděl, že mohou.

Vzal jsem to jako důvod zabezpečit všechny své stroje. Vycházím z předpokladu, že plavu ve veřejné síti, stroje jsou viditelné zvenčí a všechen provoz může někdo odchytit. Nejde o naprostou katastrofu, protože všechen tenhle zmatek žije v neveřejných adresních prostorech, nehrozí tedy, že mi na dveře zaklepe globální scan internetu nebo mě přímo vyhmátnou čínští hackeři, to ne, můžou to udělat jen všichni kdo jsou už uvnitř. Do této množiny patří potenciálně zkompromitované tiskárny, windows boxy a bůh ví kdo se dokáže připojit k 10...* síti.

Protože jsem neudělal skok do světa internetu věcí a nehrozí, že mě mohl zradit kávovar připojený na internet nebo chytrá žárovka. Obávám se méně sexy hrozeb, nudných a klasických, zdivočelé tiskárny a neaktualizované switche.

Povypínal jsem tedy všechny služby, které poslouchaly na otevřených portech, a nechal jsem běžet jen ssh démona. Ten je pro mě zcela stěžejní a bez něj bych se nehnul z místa.

Nastavil jsem silnější heslo (znáte to: jedničku místo i, @ místo a, velké Z místo s, a na konec pár vykřičníků), omezil množství spojení, zredukoval počet neúspěšných pokusů přihlášení a nainstaloval fail2ban, který odstřihne zlomyslné agenty, jen co začnou bruteforcovat hesla. Do zámku teď vedou pouze jedny dveře a visí na nich o něco lepší zámek.

Dalším vektorem útoku je broswer, útočník v síti by mohl v nejhorším případě odposlouchávat a měnit nešifrovaný HTTP provoz a vkládat do něj škodlivý javascript nebo pozměnit stahovanou binárku, jak se ve světě běžně děje. Už dva měsíce žiju se zablokovaným javascriptem, který selektivně povoluji jen pro některé weby. I kdyby mi tedy útočník poslal nebezpečný javascript, existuje jen malá šance, že bych jej spustil, a binárky z netu nestahuji, všechno nám z repozitáře jako .deb balíček.

Stále by však mohl poslouchat.

Proto jsem nainstaloval rozšíření HTTPS everywhere a v něm nastavil kompletní blokování nezašifrovaného obsahu. Pokud je web (nebo jeho část) jen HTTP, ani se mi nezobrazí. Jedině tak si můžu být jistý, že se ke mně dostane, to co mi protistrana chtěla zaslat. Nemusím tak věřit každému síťovému uzlu po cestě, ale jen koncovému serveru. Není to absolutní jistota, ale mnohem lepší než divoký západ kryptografie prostých paketů, které důvěrností odpovídají korespondenčním lístkům.

Zákaz prostého HTTP se blíží hranici, kdy standardní internetové brouzdání začíná být nepohodlné. Ne všichni spěchají do světa zabezpečeného šifrováním stejně rychle jako všichni ostatní. Spousta webů, hlavně těch maličkých (a nepochopitelně se k nim řádí i někteří tech blogeři). Je povinnost nás všech to změnit. Pokud mám nezabezpečený web, riskuji bezpečnost všech návštěvníků před útoky třetí strany.

Moje funkcionálně.cz nebo devblogy běhají stále jen jako nahé HTTP. Před nějakou dobou jsem to chtěl změnit, ale nějak jsem to nedotáhl dokonce. To je teď priorita číslo jedna. Nejde jen o mojí bezpečnost, ale bezpečnost náhodných cestovatelů divočinou internetu.


+1: K tématu

píše k47, ascii@k47.cz