abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
dnes 10:00 | Komunita

Společnost PINE64 stojící za telefonem PinePhone, notebooky Pinebook a Pinebook Pro, IP kamerou PineCube, hodinkami PineTime, páječkou (pájecím perem) Pinecil, zdroji PinePower nebo RISC-V vývojovou deskou PineCone publikovala na svém blogu lednový souhrn novinek. Opět společně s videem (YouTube, LBRY, TILvids). Od 18. ledna bude možné objednat PinePhone s předinstalovaným Mobianem aneb Debianem pro mobilní zařízení.

Ladislav Hagara | Komentářů: 7
dnes 09:00 | Nová verze

Byla vydána nová verze 3.6 svobodného notačního programu MuseScore (Wikipedie). Představení novinek také na YouTube. Zdůrazněn je nový font Leland. Jeho představení na YouTube.

Ladislav Hagara | Komentářů: 0
včera 18:44 | Zajímavý projekt

Fedora Magazine představil projekt Fedora Kinoite aneb Fedoru Silverblue s prostředím KDE Plasma. Fedora Silverblue je neměnný systém s atomickými aktualizacemi, tj. základní systém je distribuován jako celek, s prostředím GNOME.

Ladislav Hagara | Komentářů: 2
včera 10:00 | IT novinky

Projekty Elasticsearch a Kibana, doposud distribuované pod licencí Apache 2.0, přejdou na duální licencování pod Server-Side Public License (původně používanou pro MongoDB a neschválenou jako open-source organizací OSI) a vlastní source-available licencí. Změna vejde v platnost počínaje vydáním 7.11.

Fluttershy, yay! | Komentářů: 0
včera 09:00 | Komunita

Na Humble Bundle lze do neděle 17. ledna do 19:00 získat zdarma počítačovou hru Bomber Crew (YouTube, Wikipedie) běžící také v Linuxu.

Ladislav Hagara | Komentářů: 1
včera 08:00 | Nová verze

Minimalistická linuxová distribuce Alpine byla vydána v nové stabilní řadě 3.13. Novinkou jsou např. oficiální obrazy v cloudu (AWS EC2), vylepšené síťové nástroje nebo podpora PHP 8.0.

Fluttershy, yay! | Komentářů: 0
včera 07:00 | Bezpečnostní upozornění

Uživatelé Admineru verze 3.7.1 a starších mohli být 29. a 30. prosince napadeni. Útočníkovi se podařilo do souboru jush.js, který se do této verze ještě stahoval z adminer.org, vložit kód, který mu odesílal přihlašovací údaje. Pokud jste v tomto čase tuto více než 7 let starou verzi Admineru používali, tak změňte hesla databází, ke kterým jste se přihlašovali. Novější verze ovlivněné nejsou.

Ladislav Hagara | Komentářů: 2
včera 00:11 | Zajímavý článek

Ernie Smith píše o historii populárních routerů Linksys WRT54G, jejichž software byl založený na Linuxu, a proto posléze díky GNU GPL uvolněn jako open source, což vedlo k vývoji alternativního softwaru jako DD-WRT či OpenWrt a řadě dalších využití.

Fluttershy, yay! | Komentářů: 0
14.1. 18:11 | Nová verze

Po roce vývoje od vydání verze 5.0 a více než 8 300 změnách byla vydána nová stabilní verze 6.0 softwaru, který vytváří aplikační rozhraní umožňující chod aplikací pro Microsoft Windows také pod GNU/Linuxem, Wine (Wikipedie). Z novinek lze zdůraznit core moduly ve formátu PE, Vulkan backend pro WineD3D, podporu DirectShow a Media Foundation nebo redesign textové konzole. Podrobnosti v poznámkách k vydání.

Ladislav Hagara | Komentářů: 4
14.1. 14:00 | Zajímavý článek

Guido Günther z Purism napsal článek Phosh Overview o uživatelském prostředí pro mobilní systémy Phosh. Přehledově popisuje co jednotlivé komponenty dělají a jak jsou propojeny.

joejoe | Komentářů: 0
Jestliže používáte distribuci CentOS, kterou náhradu plánujete vzhledem k oznámenému ukončení vydávání?
 (31%)
 (3%)
 (2%)
 (24%)
 (0%)
 (2%)
 (38%)
Celkem 146 hlasů
 Komentářů: 3, poslední 10.1. 13:01
Rozcestník

Jaderné noviny – 19. 12. 2013: Port knocking v jádře

14. 1. 2014 | Luboš Doležel | Jaderné noviny | 3698×

Aktuální verze jádra: 3.13-rc4. Citáty týdne: Hugh Dickins, Al Viro. Návrh na "tiché" klepání na porty.

Obsah

Aktuální verze jádra: 3.13-rc4

link

Aktuální vývojová verze jádra je 3.13-rc4 vydaná poněkud rozmrzelým Linusem 15. prosince. Takže jsem to tentokrát opozdil o několik dnů, abych se vrátil k mému běžnému vydávání v neděli, ale nejsem s výsledkem úplně spokojený. Věci se neuklidňují tak, jak by měly, a -rc4 je větší než ty předchozí. A nemyslím si, že by byly na vině ty dva dny navíc.

Stabilní aktualizace: verze 3.12.5, 3.10.24 a 3.4.74 vyšly 11. prosince. Verze 3.12.6, 3.10.25 a 3.4.75 se aktuálně revidují. Jejich vydání lze očekávat 20. prosince nebo později.

Citáty týdne: Hugh Dickins, Al Viro

link

A jéje, ty po mně chceš, abych si znovu pročetl memory-barriers.txt (Vánoční vydání 2013) a dospěl k nějakému závěru. [...]

Jedním z problémů je, že u ACCESS_ONCE člověk snadno nabude mylného dojmu, že je zapotřebí všude; ale této iluzi je třeba odolat.

Se spinlockem by to nemělo být potřeba, ale budu se muset zamyslet nad polopropustnými membránami, osmózou a podobnými věcmi.

-- Hugh Dickins

Po pravdě přemýšlím, jestli se toho nesnažíme nacpat do jednoho syscallu příliš – nejen co se přetěžování týče (to je zjevné), ale i co se vměstnání sekvence syscallů do jediného týče. Pokud nakonec budeme zavádět nové/á API pro mount(), tak bychom asi měli zvážit následující:

  • Otevřít spojení k ovladači typu systému souborů, získat popisovač.
  • Použít běžná I/O systémová volání (obvykle jen write(2)) na tomto popisovači, abychom ovladači řekli, co chceme. Pokud je nutná jakákoliv autentizace, tak právě tehdy ji udělat.
  • Připojit věc určenou popisovačem na mount point (místo připojení).

-- Al Viro uvažuje o lepším mount()

link

Klepání na porty (port knocking) je již dlouho existující technika, jak se vyhnout skenování portů, která je obvykle implementována v uživatelském prostoru. Nedávný patch navržený pro jádro by toto změnil tím, že přidává podporu pro port knocking přímo do vrstvy TCP/IP. Kromě možnosti toho, aby administrátoři skrývali otevřené porty, by patch také nabízel jistý způsob, jak zmařit útoky typu man-in-the-middle, protože se útočníkovi nepodaří připojit se na tyto skryté porty. Patch ale čelí jistému odporu od vývojářů síťové vrstvy, kteří si myslí, že věci jako port knocking je lepší řešit v uživatelském prostoru.

Detaily kolem „klepání“ se liší, ale obecně jde o to, že chráněný port na serveru nebude reagovat na běžnou snahu o navázání spojení; místo toho je nutné udělat určité speciální kroky. Mezi ně může patřit pokus o připojení na jiný port nebo na celou řadu jiných portů, což serveru ukáže, že klient zná tajné zaklepání, aby mohl být vpuštěn do klubu. Jelikož nástroje pro skenování portů neznají tajné zaklepání a je velmi náročné zkoušet spousty možností, tak jsou služby chráněné klepáním ukryty před zraky.

Pro skrývání služeb mohou být různé důvody. Jedním může být, že serverový program má zranitelnosti, ať už protože nebyl aktualizován nebo protože jsou v kódu neznámé chyby. Pokud o zaklepání vědí jen důvěryhodné osoby, snižuje se riziko, že někdo chyby zneužije. Skrývání služeb jako SSH navíc zabrání útokům na uživatelské jméno a heslo hrubou silou.

Jsou ale i další důvody, proč skrýt nějakou službu: v určitých jurisdikcích může být nelegální nebo může příliš přitahovat pozornost danou službu provozovat. Lidé provozující mosty do Toru nebo jiné služby zaměřené na ochranu soukromí mohou narazit na blacklist poskytovatelů připojení provozovaných vládou – nebo se dočkat návštěvy nějaké tajné služby.

Stávající řešení pro port knocking obecně buď monitorují logy firewallu nebo zachytávají pakety v uživatelském prostoru a pak upraví firewall tak, aby při správném poklepání došlo k otevření portu. Projekt Knock – součást projektu GNUnet – to chce předělat. Pomocí patche o několika stovkách řádků se jeho autoři snaží o přesun logiky port knockingu do síťové vrstvy Linuxu. To by klientům a serverům umožnilo komunikovat při současném ukrývání za zaklepáním díky nové volbě pro setsockopt() nazvané TCP_STEALTH. Pokud by byl kód široce dostupný na linuxových jádrech, pak by se uživatelé mohli spolehnout na dostupnost této funkce místo nastavování jiného řešení.

Knock se od jiných řešení několika způsoby odlišuje. Především má být pro útočníka man-in-the-middle nezjistitelný. Vypadá to jako běžné spojení na konkrétní port – neobjevují se žádné dodatečné sekvence nebo spojení na jiný port nebo další zaklepání. Využívá se technika „tichého zaklepání“, pro kterou je nutné mít určitý tajný údaj společný pro server a klienta. Tento údaj je použit k vypočítání sekvenčního čísla počátečního paketu SYN, který je odeslán pro zahájení třícestného navázání spojení, kterým se TCP spojení uvozují. Jakýkoliv SYN se špatným sekvenčním číslem dostane odpověď RST; což přesně odpovídá zavřenému portu.

Možnost TCP_STEALTH_INTEGRITY navíc umožní ochranu prvních bajtů přenášených dat pomocí HMAC, což účinně zamezí útočníkům převzít spojení po jeho navázání. Vyšších 16 bitů sekvenčního čísla v SYN paketu odpovídá HMAC, zatímco spodních 16 bitů je autentizační kód, který pochází z MD5 tajného údaje.

32bitový autentizační kód je pro režim pouhého utajení vypočítán jednou aplikací MD5 za použití tajného údaje, cílové IP adresy a portu. V režimu utajení a integrity se klient a server musejí shodnout na počtu přenášených bajtů, které se mají ochránit pomocí HMAC, které také používá MD5. Krátký dokument o Knocku říká, že používání MD5 může být překvapivé, ale jádro jej už používá pro výpočet počátečního sekvenčního čísla TCP, stejně tak pro SYN cookies. Jacob Appelbaum (který se podílel na návrhu Knocku) není s MD5 stejně spokojený:

Pokud věříme tomu, že MD5 není bezpečné, pak bychom ho neměli používat. To, že ho ostatní používají, není dobrý důvod. Všichni by měli přestat MD5 používat – hlavně pak zkrácené MD5 :)

Režim pouhého utajení je náchylný k replay útokům, protože man in the middle může vysledovat správné sekvenční číslo pro odemčení portu a zopakovat jej ve svých vlastních paketech (aniž by tajný údaj znal). Navíc je náchylný k útokům hrubou silou (vyzkoušení všech sekvenčních čísel), ale to by mohlo být náročné na čas a není to zrovna nenápadné, takže by útok mohl být zaznamenán. Režim utajení a ověření integrity je odolnější, jelikož bajty chráněné pomocí HMAC by bylo možné použít pro přenesení veřejného klíče určeného pro šifrování zbytku dat.

Během diskuze byly odhaleny další nevýhody této techniky. Například implementace NATu, které mění sekvenční číslo, nebudou s touto technikou vůbec fungovat. David Miller upozornil, že i netfilter toto číslo mění, a to při sledování protokolů FTP a SIP a pro vyvažování zátěže virtuálních serverů.

Jiní byli toho názoru, že implementace tohoto typu port knockingu (nebo jakéhokoliv jiného typu) by mělo být uděláno mimo implementaci TCP – v uživatelském prostoru. Stephen Hemminger i Andi Kleen říkají, že právě uživatelský prostor by byl lepším domovem. Grothoff, který se pod patch podepsal (sign off) a poslal jej, byl tímto přístupem překvapen: Kdyby to byl patch pro GNU Hurd, tak bych aspoň chápal snahu mít vše v uživatelském prostoru. Kleen ale upozornil, že zachování port knockingu v uživatelském prostoru znamená, že riziko zavlečení zneužitelných chyb do jádra bude [značně] nižší.

I Eric Dumazet nápad kritizoval. Navrhl, že by uživatelský prostor mohl implementovat části protokolu TCP, což by pomohlo i jiným návrhům (jako TCP Minion).

Vzhledem ke všem možným návrhům (jako TCP minion) je možná lepší přidat možnost implementovat části TCP stacku v uživatelském prostoru. (Nechat skládání v jádře a přeposílat surové příchozí pakety do uživatelského prostoru, kde bude možné s nimi dělat šílené věci bez upravování jádra.)

Dumazet má také obavy, že opakované používání stejného počátečního sekvenčního čísla ztíží odhalování duplicitních paketů. Sice to nezmínil, ale opakování těchto čísel by mohlo útočníkovi poradit, že se používá port knocking. Celkově vzato měl Dumazet pocit, že dokument s popisem je příliš krátký na to, aby plně pokryl tuto myšlenku: Pro úplnou analýzu všech výhod a nevýhod tohoto nápadu je opravdu potřeba víc než 3 stránky.

Navíc poukázal na určitý způsob, jak by se Knock mohl dostat do jádra: TCP fast open je trochu podobné a do jádra se dostalo. Pokud by Knock byl víc jako fast open, nebo jej přímo používal, pak by byla šance, že se dostane do síťového kódu, větší. Obavy, které má Dumazet a jiní, jsou způsobené složitostí kódu, v němž je mnoho pohyblivých částí, které musejí fungovat správně. To je to, proč chtějí nechat věci jako port knocking na uživatelském prostoru.

Na druhou stranu není Grothoff přesvědčený, že ten malý patch, který poslal, může opodstatnit přesun TCP do uživatelského prostoru. Chladné přijetí od hlavních vývojářů síťové vrstvy ale znamená, že je dosti nepravděpodobné, že se patch kdy do jádra dostane. Práce na způsobech, jak buď přesunout některé části TCP do uživatelského prostoru, nebo rozšíření netfilteru, aby umožňoval port knocking i ochranu dat, by asi bylo nejlepším způsobem, jak postupovat dál. Jde o zajímavý nápad, i když není dokonalý, jenže protlačit jej do jádra by bylo velkým soubojem.

       

Hodnocení: 100 %

        špatnédobré        

Nástroje: Tisk bez diskuse

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Vložit další komentář

14.1.2014 07:54 Pev | skóre: 28
Rozbalit Rozbalit vše Re: Jaderné noviny – 19. 12. 2013: Port knocking v jádře
Přijetí od hlavních vývojářů síťové vrstvy ale znamená, že je dosti nepravděpodobné, že se patch kdy do jádra dostane.

Reception: asi bych dal spíš ohlas, přijetí posouvá trochu význam (oni to nepřijali).

Díky za překlad.
14.1.2014 19:39 Miloslav Ponkrác
Rozbalit Rozbalit vše Re: Jaderné noviny – 19. 12. 2013: Port knocking v jádře
Chladné přijetí od hlavních …
Jendа avatar 15.1.2014 05:16 Jendа | skóre: 76 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Jaderné noviny – 19. 12. 2013: Port knocking v jádře
by patch také nabízel jistý způsob, jak zmařit útoky typu man-in-the-middle, protože se útočníkovi nepodaří připojit se na tyto skryté porty
Huh? Podívám se na handshake a až pak do komunikace vstoupím.
Miluješ detaily? Nastav všechny šroubky do stejné polohy
15.1.2014 11:33 bohyn
Rozbalit Rozbalit vše Re: Jaderné noviny – 19. 12. 2013: Port knocking v jádře
Hlavne MiM nepotrebuje navazovat spojeni, jen posloucha/modifikuje datove pakety. Maximalne by to mohlo pomoci pri sifrovane komunikaci, kde MiM ma certifikat serveru
15.1.2014 19:07 tany
Rozbalit Rozbalit vše Re: Jaderné noviny – 19. 12. 2013: Port knocking v jádře
Ono celkově je to nesmysl. Nevidím v tom nic jiného než díru, která bude dávat falešnou iluzi bezpečí.

Např. když na tom portu běhaj pakety, což může lepší router/switch/firewall logovat, tak neodpovídání na scan portu je naopak důvod to prověřit více.
15.1.2014 21:12 Jiří J. | skóre: 34 | blog: Poutník | Brno
Rozbalit Rozbalit vše Re: Jaderné noviny – 19. 12. 2013: Port knocking v jádře

K "běžnému" port knockingu; kdyby někdo hledal lepší alternativu ke starému knockd, zkuste pknock xtables match, z xtables-addons, které v dnešní době balí už docela dost distribucí.

Založit nové vláknoNahoru

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.