Hvad er SYN-cookies?
SYN-cookies er en metode, hvorpå serveradministratorer kan forhindre en form for angreb på denial of service (DoS) mod en server gennem en metode, der kaldes SYN-oversvømmelse. Denne type angreb bruger den proces, hvormed der oprettes en forbindelse mellem en klient og en vært, kendt som et trevejs-håndtryk, for at få værten til at have et uforholdsmæssigt antal klientanmodninger, indefrysning eller nedbrud af systemet. Sådanne angreb er imidlertid stort set forældede gennem metoder som brugen af SYN-cookies, der omgår dem. Disse cookies udgør ikke en sikkerhedstrussel eller risiko for hverken værten eller klienterne og forårsager ikke forbindelse eller problemer med forbindelse.
Den måde, SYN-cookies fungerer på, er baseret på den grundlæggende måde, hvorpå mange servere og brugere, eller vært- og klientsystemer, forbinder hinanden. Denne proces er kendt som et tre-vejs håndtryk og begynder, når klientsystemet sender en anmodning om at oprette forbindelse til værtssystemet. Anmodningen kaldes en synkroniseringsmeddelelse eller SYN og modtages af værtssystemet. Dette værtssystem anerkender derefter, at SYN er blevet modtaget ved at sende en kvittering eller en SYN-ACK-meddelelse tilbage til klienten.
Når klientsystemet modtager denne SYN-ACK-meddelelse, sendes en endelig ACK-meddelelse tilbage af klienten til værten. Når værtssystemet modtager denne endelige ACK, giver det klienten adgang til systemet og kan derefter modtage yderligere SYN-anmodninger fra andre klienter. De fleste værtsservere har en forholdsvis lille kø til SYN-anmodninger, normalt kun otte på et hvilket som helst tidspunkt.
Formen af DoS-angreb kaldet SYN-oversvømmelse bruger dette til at overvælde et værtssystem. Dette gøres ved at sende en SYN-meddelelse, hvortil en SYN-ACK sendes af værten som svar, men den endelige ACK-meddelelse sendes ikke af klienten, hvilket holder en position i køen åben. Hvis dette gøres korrekt under et SYN-oversvømmelsesangreb, bliver hele køen besat af disse ubesvarede anmodninger og kan ikke acceptere nye anmodninger fra legitime klienter.
SYN-cookies hjælper med at omgå denne type angreb ved at lade en vært handle som om den har en større kø, end den virkelig har. I tilfælde af et SYN-oversvømmelsesangreb kan værten bruge SYN-cookies til at sende en SYN-ACK til en klient, men det eliminerer SYN-posten for den klient. Dette tillader dybest set værten at fungere, som om der aldrig blev modtaget nogen SYN.
Når først denne SYN-ACK med SYN-cookies er modtaget af klienten, inkluderer den tilsvarende ACK, der sendes tilbage til værten, data om den originale SYN-ACK. Værten kan derefter bruge denne ACK og de inkluderede SYN-cookies til at rekonstruere den originale SYN-ACK og den passende post til den oprindelige anmodning. Når dette er gjort, kan klienten få lov til at oprette forbindelse til værten, men hele processen omgåede effektivt køen, der ellers kan være besat af et SYN-oversvømmelsesangreb.