Hledat:

Invia.cz Last minute Tunisko Dovolená v Chorvatsku Pojeďte do Egypta Bulharsko Vydělávejte peníze s INVIA.CZ
 

SYN-cookies

Jedná se o klíčový prvek obrany proti útoku zaplavením pakety protokolu TCP s příznakem SYN. Pro útok se používá anglické označení SYN-flood. Hlavním tvůrcem technologie SYN-cookies je Daniel J. Bernstein který je definoval, jako "částečný výběr počátečního čísla sekvence paketu TCP". Především použití SYN-cookies dovoluje serveru snížit počet zahozených žádostí o spojení při naplnění fronty připravovaných spojení, což právě je cílem útočníka. Server se chová tak, jakoby se fronta zvětšila. Pokud server obdrží žádost o spojení (paket s příznakem SYN), pošle klientovi kladnou odpověď, tedy paket s příznaky SYN a ACK. Ovšem na rozdíl od obvyklého způsobu, žádost pak vyhodí z fronty. A když přijde od klienta paket s příznakem ACK, server podle čísla sekvence pozná, o kterou žádost se jednalo. Tím je problém se zaplavením žádostmi o spojení vyřešen, neboť server si v paměti nic neukládá.

Obsah

[editovat] Implementace

Při navazování TCP-spojení klient pošle serveru TCP-paket s příznakem SYN. Jako odpověď server pošle klientovi TCP-paket s příznaky SYN a ACK. Jak je možné se dočíst pod pojmem TCP, jedna z částí paketu se nazývá číslo sekvence (sequence number), kterého se v protokolu TCP užívá k seřazení paketů po průchodu sítí.Podle specifikace TCP může jedna ze stran určit číslo první sekvence, což druhá strana musí respektovat. Takže SYN-cookies jsou počáteční čísla sekvencí n, která jsou pečlivě vybírána podle následujících pravidel:

Takže počáteční TCP sekvence neboli SYN-cookie se počítá například takto:

(Poznámka: Protože m se kóduje na tři bity, server může použít jen 8 jedinečných hodnot m.)

Server zvolil počáteční číslo TCP-sekvence a klient je povinen podle specifikace protokolu TCP toto respektovat. Paket s příznaky SYN a ACT přijde od klienta s číslem sekvence n+1. Server tedy odečte jedničku a má číslo sušenky, kterou poslal klientovi. Pak provede tyto operace:

Pokud je vše v pořádku, pokračuje se v navazování podle obvyklého scénáře: Pošle klientovi TCP paket s příznakem ACK.

[editovat] Výhody

Využití metody SYN-cookies neporušuje specifikace a je kompatibilní se všemi implementacemi protokolu TCP.

[editovat] Nevýhody

Při používání SYN-cookies je třeba mít na paměti tyto dvě věci:

Tato omezení je třeba brát jako jistou míru sub-optimality. Jejich efekt je klienty postřehnut jen vzácně. Ale je-li server bez technologie SYN-cookies vystaven útoku, další pokusy o spojení jsou zamítnuty a to je dosti protivné. Zachování dosažitelnosti služby za cenu ztráty pár tajemných vychytávek je tedy rozumný kompromis.

[editovat] Historie

Techniku vytvořil Daniel J. Bernstein a Eric Schenk v září roku 1996. První implementaci provedl o měsíc později Jeff Weisberg na operačním systém SunOS. Eric Schenk uvolnil implementaci pro Linux v únoru roku 1997. (Současnou implementaci používá například net.ipv4.tcp_syncookies.)

 
SYN-cookies v jiných jazycích: Deutsch, English, Français, Italiano, 日本語
Tento článek je převzat z české wikipedie - otevřené encyklopedie, originální článek naleznete na adrese: „http://cs.wikipedia.org/wiki/SYN-cookies
Stránka byla naposledy upravena v Stránka byla naposledy editována 15. 2. 2008 v 05:59.
Veškerý text je dostupný za podmínek GNU Free Documentation License (Autorské právo pro podrobnosti).
Další služby: Portál | Katalog | Hledej | Zprávy | Počasí | Kurzy | Práce | Slovník | TV | Online hry | Java hry | SMS | Loga a melodie | Chat | Fórum | Kontakt