Internet Info, s.r.o. Lupa Měšec Podnikatel Root Zdroják DigiZone Slunečnice Vitalia Tuesday TopDrive KupDnes Navrcholu Bomba NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Port Knocking

Tentokrát zabrousíme do oblasti praktické bezpečnosti síťové komunikace. Port knocking řada mých kolegů přijala doslova s nadšením. A není se co divit - představuje tak jednoduchou, elegantní a užitečnou myšlenku, že o ní nejde nenapsat. Umožňuje zajistit si vzdálený přístup k počítači, aniž byste jej otevírali nazdařbůh celému světu.

Valná většina bezpečnostních problémů a rizik je způsobena chybami v programech. Základní bezpečnostní poučka proto říká, že by jich mělo běžet co nejméně. Na počítači připojeném k Internetu nespouštějte servery pro služby, které nepotřebujete.

Ovšem co se službami, které člověk potřebuje? Řekněme, že chcete mít vzdálený přístup ke svému stroji, tedy hodláte se připojovat prostřednictvím SSH. Ovšem před časem byla nebezpečná chyba objevena právě v implementaci SSH (pokud si dobře vzpomínám, stálo nás to tehdy jeden server).

Abyste nenechali svůj stroj napospas kdekomu, používá se firewall. Jeho prostřednictvím můžete omezit přístup k SSH démonovi jen z vybraných adres. Ostatní pak na něj nemohou zkoušet své špinavé triky. Jenže určení vlastní adresy nemusí být vždy snadné. Možná se připojujete přes modem a terminálový server vám adresu přiděluje náhodně. Nebo cestujete, připojujete se v různých částech sítě, a vaše adresa se proto často mění. Právě pro tyto případy je určeno ťukání na porty čili port knocking.

Základní myšlenka je velmi prostá. Firewallem zavřete všechny porty svého počítače, ale část z nich bude sledována ťukacím démonem - říkejme mu vrátný. Jestliže zaťukáte (pokusíte se navázat spojení) ze stejné adresy na několik portů v daném pořadí, vrátný pozná, že přichází domácí pán, a upraví pravidla firewallu tak, aby mu umožnil použít požadovanou službu.

V našem případě by to znamenalo, že vrátný povolí spojení z vaší momentální adresy na port 22, kde čeká SSH démon. Záleží jen na konfiguraci, zda toto otevření bude dočasné, nebo zda musíte vyťukat jinou sekvenci, aby vrátný port zase zavřel. Zaťukat můžete odkudkoli a port se otevře pro adresu, na které se právě nacházíte.

Port knocking nenahrazuje existující bezpečnostní mechanismy, ale doplňuje je. Umožňuje zablokovat služby vašeho počítače vůči celému světu, ale na žádost je cíleně otevřít. Z pohledu potenciálního vetřelce je navíc velmi těžko odhalitelný, protože na ťukání nijak viditelně nereaguje. Veškeré děje se odehrávají uvnitř a ťukající klient o nich není informován. Prostě zaťukáte a pak se pokusíte navázat SSH spojení. Dopadlo-li ťukání dobře, bude vám to umožněno. Vetřelec tedy nemá žádnou zpětnou vazbu, která by mu naznačovala, že se očekává ťukání, že se ťukací sekvence vyvíjí dobře nebo špatně. Veškeré porty se tváří jako černá díra a nijak nereagují.

I v případě, že by se mu podařilo vrátného ošálit, zaťukat správně a dosáhnout otevření SSH portu, zdaleka nemá vyhráno. Teď se totiž ocitá tváří v tvář SSH démonovi a musí se prokázat jemu (nebo jej ošidit). Čili teprve teď se nachází v situaci, v jaké by byl, kdyby bylo připojení ke službě SSH povoleno bez omezení. Přesněji řečeno je na tom o něco hůře, protože vrátný port pro SSH za chvíli pravděpodobně zav­ře.

Asi vás napadlo, že ťukání je choulostivé na odposlech. Někdo odposlouchá vaši ťukací sekvenci a bude ji pak schopen zopakovat. Jako reakci na tuhle slabinu autoři vytvořili mechanismus šifrovaného ťukání. Vychází z myšlenky, že i když firewall zařízne pokus o spojení a nepropustí do systému žádná data, přesto lze tímto způsobem předat data dovnitř - tvoří je číslo portu, na který se kdosi pokusil připojit.

Pokud byste tedy vrátnému chtěli sdělit slovo „Ahoj“, zaťukáte postupně na porty 65, 104, 111 a 106, což jsou ASCII kódy jednotlivých písmen slova. Vrátný si je přečte v protokolu o činnosti firewallu, který soustavně sleduje.

Šifrované ťukání vypadá tak, že vezmete IP adresu, kterou chcete povolit, číslo portu, požadovanou dobu otevření a případné další parametry, vše zašifrujete vhodným algoritmem a heslem a dostanete tak posloupnost bajtů. Ty určují čísla portů, na které máte zaťukat. Vrátný si hodnoty přečte, dešifruje a otevře port podle vašeho požadavku.

Proto vrátný vždy poslouchá na skupině 256 sousedících portů, abyste jedním ťuknutím mohli vyjádřit jeden bajt informace. Těchto 256 portů může být umístěno kdekoli - například na portech 719 až 974 (vrátný i ťukací klient musí mít v konfiguraci číslo prvního z nich). Je záhodno umístit vrátného na nějaké neobvyklé porty - opět tím o chlup ztížíte situaci potenciálním vetřelcům.


Davame_internetu_obsah

       

Port knocking představuje jednoduchou a originální myšlenku a takové přístupy bývají v Internetu úspěšné. Podrobné informace o něm i prototypy serveru a klienta získáte na adrese www.portknockin­g.org. Takže zbývá jen nainstalovat a zazpívat si

„Hey hey hey hey
Knock knock knockin' on heaven's port“

(tenhle žertík jsem bohužel nevymyslel já).

Anketa

Vyzkoušíte port knocking?

       

Pavel Satrapa

Autor dělá nepořádek v příslovích, protože sítě nejen dělá, ale i učí a dokonce také řídí. Vede katedru informačních technologií na Technické univerzitě v Liberci. Píše knihy.

Školení Twitteru s Danem Dočekalem

DW - Školení PPC
  • Jak komunikovat na Twitteru.
  • Jak začlenit Twitter do marketingového mixu vaší firmy.
  • Jak využít Twitter jako zdroj informací pro rozhodování.
  • Nabízíme i školení Facebooku a Google+.

Detailní informace o školení Twitteru »

Přehled názorů

Každý názor musí mít titulek!
dave g 26. 2. 2004 06:43
Nový
Variace
PEpa 26. 2. 2004 07:17
Nový
└ 
Re: Variace
Zdenek Pavlas 26. 2. 2004 13:34
Nový
Divne
Abraxis 26. 2. 2004 08:28
Nový
└ 
Re: Divne
Pavel Satrapa 26. 2. 2004 09:33
Nový
 
└ 
Re: Divne
PaJaSoft 26. 2. 2004 09:39
Nový
 
 
└ 
Re: Divne
Michal Kara 26. 2. 2004 14:12
Nový
 
 
 
└ 
Re: Divne
Michal Krsek 26. 2. 2004 14:32
Nový
 
 
 
 
└ 
Re: Divne
Michal Kara 26. 2. 2004 14:59
Nový
bugs
Eso 26. 2. 2004 09:25
Nový
server a client pro win
jam 26. 2. 2004 09:25
Nový
├ 
Re: server a client pro win
Miroslav Kolombo 26. 2. 2004 10:17
Nový
│
└ 
Re: server a client pro win
Stanislav Kožina 26. 2. 2004 10:38
Nový
├ 
Re: server a client pro win
jura 26. 2. 2004 16:54
Nový
│
└ 
Re: server a client pro win
jam 26. 2. 2004 17:11
Nový
│
 
└ 
Re: server a client pro win
Michal Kubeček 26. 2. 2004 18:43
Nový
└ 
Re: server a client pro win
sin 24. 10. 2007 12:37
Nový
Neco jsem vynechal?
PaJaSoft 26. 2. 2004 09:37
Nový
├ 
Re: Neco jsem vynechal?
Jerry 26. 2. 2004 09:56
Nový
│
└ 
Re: Neco jsem vynechal?
PaJaSoft 26. 2. 2004 10:10
Nový
│
 
└ 
Re: Neco jsem vynechal?
Pavel Satrapa 26. 2. 2004 10:39
Nový
│
 
 
├ 
Re: Neco jsem vynechal?
PaJaSoft 26. 2. 2004 10:52
Nový
│
 
 
│
└ 
Re: Neco jsem vynechal?
Pavel Satrapa 26. 2. 2004 11:01
Nový
│
 
 
├ 
Re: Neco jsem vynechal?
Michal Krsek 26. 2. 2004 12:24
Nový
│
 
 
├ 
Re: Neco jsem vynechal?
Michal Krsek 26. 2. 2004 12:24
Nový
│
 
 
└ 
Re: Neco jsem vynechal?
Noname 26. 2. 2004 17:07
Nový
│
 
 
 
└ 
Re: Neco jsem vynechal?
junix 26. 2. 2004 19:35
Nový
├ 
Re: Neco jsem vynechal?
junix 26. 2. 2004 19:24
Nový
│
└ 
Re: Neco jsem vynechal?
Michal Kubeček 26. 2. 2004 22:36
Nový
└ 
Re: Neco jsem vynechal?
C 28. 2. 2004 13:19
Nový
Problém I.
Jan Kulveit 26. 2. 2004 10:26
Nový
└ 
Re: Problém I.
Pavel Satrapa 26. 2. 2004 10:34
Nový
To je ale pitomost, proboha
xChaos 26. 2. 2004 16:15
Nový
az bude mit ssk ..
epcim 26. 2. 2004 17:30
Nový
strizlivy pohled
dan 26. 2. 2004 20:26
Nový
└ 
Re: strizlivy pohled
Michal Krsek 27. 2. 2004 11:30
Nový
 
└ 
Re: strizlivy pohled
Pavel Satrapa 29. 2. 2004 19:28
Nový
 
 
├ 
Re: strizlivy pohled
Michal Krsek 1. 3. 2004 10:15
Nový
 
 
└ 
Re: strizlivy pohled
dan 2. 3. 2004 09:46
Nový
Dalsi moznosti
Milos 27. 2. 2004 13:14
Nový
Papírový spam nikomu nevadí?
StreamLine 27. 2. 2004 18:21
Nový
ficura pro hackery
Jan 27. 2. 2004 20:47
Nový
└ 
Re: ficura pro hackery
Pavel Satrapa 29. 2. 2004 19:44
Nový
Tohle opravdu radeji NE ! :-/
nuxa 29. 2. 2004 13:36
Nový
A proč tak složitě?
Leoš Bitto 29. 2. 2004 13:38
Nový
└ 
Re: A proč tak složitě?
Pavel Satrapa 29. 2. 2004 19:35
Nový
 
└ 
Re: A proč tak složitě?
Michal Kubeček 29. 2. 2004 22:48
Nový
Použití pro jiné porty než SSH !
Tom Tobula 29. 2. 2004 20:37
Nový
Tento názor titulek nemá, protože mne nic inteligentního nenapadá
-pao- 1. 3. 2004 00:27
Nový
└ 
Re: Tento názor titulek nemá, protože mne nic inteligentního nenapadá
ondra 1. 3. 2004 11:13
Nový
 
└ 
Re: Tento názor titulek nemá, protože mne nic inteligentního nenapadá
-pao- 1. 3. 2004 13:43
Nový
       

Tento text je již více než dva měsíce starý. Chcete-li na něj reagovat v diskusi, pravděpodobně vám již nikdo neodpoví. Pro řešení aktuálních problémů doporučujeme využít naše diskusní fórum.

Zasílat nově přidané příspěvky e-mailem