Vad är SYN-kakor?
SYN-kakor är en metod genom vilken serveradministratörer kan förhindra en form av attack för denial of service (DoS) mot en server genom en metod som kallas SYN-översvämning. Denna typ av attack utnyttjar processen genom vilken en anslutning mellan en klient och värd upprättas, känd som en trevägs handskakning, för att få värden att ha ett överdrivet antal klientförfrågningar, frysa eller krascha systemet. Sådana attacker har till stor del blivit föråldrade, emellertid genom metoder som användning av SYN-kakor som kringgår dem. Dessa kakor utgör inte ett säkerhetshot eller risk för varken värd eller klienter och orsakar inte anslutningsfrågor eller problem.
Det sätt på vilket SYN-cookies fungerar bygger på det grundläggande sättet som många servrar och användare, eller värd- och klientsystem, ansluter till varandra. Denna process är känd som en trevägs handskakning och börjar när klientsystemet skickar en begäran om anslutning till värdsystemet. Begäran kallas ett synkroniseringsmeddelande eller SYN och tas emot av värdsystemet. Detta värdsystem bekräftar sedan att SYN har mottagits genom att skicka ett kvitto eller SYN-ACK-meddelande tillbaka till klienten.
När klientsystemet har tagit emot detta SYN-ACK-meddelande skickas ett slutligt ACK-meddelande tillbaka av klienten till värden. När värdssystemet tar emot den sista ACK, gör det att klienten får åtkomst till systemet och kan sedan ta emot ytterligare SYN-förfrågningar från andra klienter. De flesta värdsservrar har en ganska liten kö för SYN-förfrågningar, vanligtvis bara åtta samtidigt.
Den form av DoS-attack som kallas SYN-översvämningar använder detta för att överväldiga ett värdsystem. Detta görs genom att skicka ett SYN-meddelande, till vilket ett SYN-ACK skickas av värden som svar, men det sista ACK-meddelandet skickas inte av klienten, vilket håller en position i köen öppen. Om detta görs ordentligt under en SYN-översvämningsattack, blir hela kön ockuperat av dessa obesvarade förfrågningar och kan inte acceptera nya förfrågningar från legitima klienter.
SYN-cookies hjälper till att kringgå denna typ av attack genom att låta en värd agera som om den har en större kö än den verkligen har. Vid SYN-översvämningsattacker kan värden använda SYN-kakor för att skicka en SYN-ACK till en klient, men det eliminerar SYN-posten för den klienten. Detta tillåter i princip värden att fungera som om ingen SYN någonsin har mottagits.
När denna SYN-ACK med SYN-cookies har tagits emot av klienten inkluderar emellertid motsvarande ACK som skickas tillbaka till värden data angående den ursprungliga SYN-ACK. Värden kan sedan använda denna ACK och de inkluderade SYN-kakorna för att rekonstruera den ursprungliga SYN-ACK och lämplig post för den ursprungliga begäran. När detta är gjort kan klienten få ansluta till värden, men hela processen kringgick effektivt kön som annars kan ockuperas av en SYN-översvämningsattack.