Exporteren (0) Afdrukken
Alles uitvouwen
Expand Minimize

Transmission Control Protocol/Internet Protocol (TCP/IP)

Hoe werkt TCP/IP?

TCP/IP (Transmission Control Protocol/Internet Protocol) is een suite met standaardprotocollen voor het verbinden van computers in netwerken. Via TCP/IP kunnen Windows-computers een verbinding maken en gegevens delen met andere clients met een Microsoft-besturingssysteem of een ander besturingssysteem.

Zie het onderwerp over de implementatie van TCP/IP in Microsoft Windows Server 2003 op de website van Microsoft op http://go.microsoft.com/fwlink/?LinkId=39649 voor meer informatie over TCP/IP en de hieraan gerelateerde registerinstellingen. (Deze informatie is mogelijk in het Engels.)

Voor wie is deze voorziening van belang?

Alle gebruikers die gebruikmaken van TCP/IP om verbinding te maken en informatie door te geven via een netwerk, moeten op de hoogte zijn van de wijzigingen in Windows Server 2003 Service Pack 1.

Welke nieuwe functionaliteit is aan deze voorziening toegevoegd in Windows Server 2003 Service Pack 1?

Beveiliging tegen SYN-aanvallen is standaard ingeschakeld

Gedetailleerde beschrijving

Wanneer een SYN-aanval wordt aangetroffen, wordt met TCP/IP in Windows Server 2003 en Windows XP het aantal opeenvolgende verzendingen van het SYN-ACK-segment beperkt en worden er geen tabelvermeldingsbronnen of geheugen toegewezen voor de verbinding zolang de zogenoemde 'TCP three-way handshake' niet is voltooid.

Een SYN-aanval (Synchronize) via TCP is een denial-of-service-aanval waarmee gebruik wordt gemaakt van de procedures voor opeenvolgende verzendingen en time-outs van het SYN-ACK-segment (Synchronize-Acknowledgement) tijdens de 'TCP three-way handshake' om een groot aantal half geopende TCP-verbindingen tot stand te brengen. Afhankelijk van de manier waarop het TCP/IP-protocol is geïmplementeerd, kan een groot aantal half geopende TCP-verbindingen het volgende doen:

  • Al het beschikbare geheugen gebruiken.
  • Alle mogelijke vermeldingen gebruiken in het TCB (Transmission Control Block) voor TCP, een interne tabel die wordt gebruikt voor het volgen van TCP-verbindingen. Wanneer de half geopende verbindingen alle vermeldingen gebruiken, wordt bij volgende verbindingspogingen de TCP-verbinding opnieuw ingesteld.
  • Alle beschikbare half geopende verbindingen gebruiken. Wanneer alle half geopende verbindingen worden gebruikt, wordt bij volgende verbindingspogingen de TCP-verbinding opnieuw ingesteld.

Wat is het belang van deze wijziging? Welke risico's worden hierdoor mede beperkt?

Om de gevolgen te beperken voor een host waarop een SYN-aanval wordt uitgevoerd, minimaliseert TCP/IP de hoeveelheid bronnen die aan onvolledige TCP-bronnen is toegewezen en wordt de verbinding eerder verbroken. Wanneer een SYN-aanval wordt aangetroffen, wordt met TCP/IP in Windows Server 2003 en Windows XP het aantal opeenvolgende verzendingen van het SYN-ACK-segment beperkt en worden er geen tabelvermeldingsbronnen of geheugen toegewezen voor de verbinding zolang de zogenoemde 'TCP three-way handshake' niet is voltooid.

De beveiliging tegen SYN-aanvallen kan worden ingesteld via de SynAttackProtect-registerinstelling bij HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters(gegevenstype REG_DWORD). Stel SynAttackProtect in op 0 om de beveiliging tegen SYN-aanvallen uit te schakelen en op 1 om de beveiliging in te schakelen.

Voor TCP/IP in Windows XP (alle versies) en Windows Server 2003 zonder extra servicepacks is SynAttackProtect standaard ingesteld op 0. Voor TCP/IP in Windows Server 2003 SP1 is SynAttackProtect standaard ingesteld op 1.

Nieuwe IP-helper-API's voor waarschuwingen bij SYN-aanvallen

Gedetailleerde beschrijving

De IP-helper-API ondersteunt de nieuwe API's (NotifySecurityHealthChange en CancelSecurityHealthChangeNotify) die waarschuwen bij SYN-aanvallen zodat een toepassing netwerkbeheerders kan waarschuwen dat een SYN-aanval wordt uitgevoerd. Er is nog geen informatie over deze nieuwe API's gepubliceerd op MSDN (Microsoft Developer Network). Er wordt hier een koppeling opgenomen naar de MSDN-onderwerpen waarin deze nieuwe API's worden beschreven zodra deze informatie beschikbaar is.

Slimme TCP-poorttoewijzing

Gedetailleerde beschrijving

In TCP/IP in Windows Server 2003 SP1 is een slimme algoritme voor de toewijzing van TCP-poorten geïmplementeerd. Wanneer een toepassing een beschikbare TCP-poort aanvraagt, wordt eerst geprobeerd een beschikbare poort te vinden waarvoor de verbindingsstatus niet TIME WAIT is. Als geen poort wordt gevonden, wordt een willekeurige beschikbare poort geselecteerd.

Wat is het belang van deze wijziging? Welke risico's worden hierdoor beperkt?

Wanneer een TCP-peer begint met het beëindigen van de TCP-verbinding en de beëindigingsprocedure is voltooid, krijgt de TCP-verbinding de status TIME WAIT. Wanneer de status TIME WAIT wordt bereikt, moet TCP twee keer zo lang wachten als de MSL-duur (maximale levensduur van het segment) voordat verbinding kan worden gemaakt met dezelfde reeks socketadressen. De reeks socketadressen bestaat uit de combinatie van de bron- en doel-IP-adressen en de bron- en doel-TCP-poorten. De MSL-duur is de maximale tijdsduur dat een TCP-segment kan bestaan in een internetwerk en de aanbevolen waarde is 120 seconden. Deze vertraging voorkomt dat TCP-segmenten van een nieuwe verbinding die dezelfde reeks socketadressen gebruiken, worden verward met gekopieerde TCP-segmenten van de oude verbinding.

De TCP-poort voor een verbinding met de status TIME WAIT wordt als een beschikbare poort beschouwd en kan worden toegewezen voor gebruik door een toepassing. Dit kan leiden tot de volgende reeks gebeurtenissen:

  1. Een toepassing vraagt om een willekeurige beschikbare TCP-poort.
  2. TCP/IP wijst een TCP-poort toe die moet worden gebruikt voor de toepassingssocket.
  3. De toepassing probeert een socket te openen met een specifiek doel-IP-adres.
  4. De toepassing brengt een TCP-verbinding tot stand en verzendt gegevens.
  5. De toepassing beëindigt de TCP-verbinding.
  6. TCP/IP geeft de TCP-verbinding van de toepassing de status TIME WAIT totdat tweemaal de MSL-duur is verstreken.
  7. Dezelfde toepassing vraagt om een andere beschikbare TCP-poort.
  8. TCP/IP wijst een TCP-poort toe die moet worden gebruikt voor de toepassingssocket. Aangezien de poort voor de verbinding met de status TIME WAIT als geopend wordt beschouwd, kan deze worden gekozen als de volgende poort die aan de aanvragende toepassing moet worden toegewezen. Stel dat TCP/IP hetzelfde TCP-poortnummer toewijst.
  9. De toepassing probeert een socket te openen met hetzelfde doel-IP-adres.
  10. Aangezien de verbinding gebruikmaakt van dezelfde reeks socketadressen als de verbinding met de status TIME WAIT, geeft TCP/IP aan de toepassing door dat er een fout is opgetreden.

Deze fout kan worden opgelost door de registerinstellingen op een van de volgende manieren aan te passen:

  • De registerinstelling MaxFreeTWTcbs bij HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters (gegevenstype REG_DWORD) instellen op een lagere waarde. De waarde van MaxFreeTWTcbs bepaalt het aantal verbindingen dat de status TIME WAIT kan hebben. Wanneer deze waarde wordt overschreden, vervalt de status TIME WAIT automatisch voor de oudste verbinding.
  • De registerinstelling TcpTimedWaitDelay bij HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters (gegevenstype REG_DWORD) instellen op een lagere waarde. De waarde van TcpTimedWaitDelay bepaalt hoe lang een verbinding de status TIME WAIT houdt.

Het verlagen van de waarde van deze registerinstellingen is echter in tegenspraak met het oorspronkelijke ontwerp van TCP en de MSL-duur en wordt niet aanbevolen.

Daarom is in Windows Server 2003 SP1 deze algoritme voor poorttoewijzing gewijzigd om te voorkomen dat een toepassing een verbinding maakt met dezelfde reeks socketadressen als een verbinding met de status TIME WAIT indien er een andere poort beschikbaar is.

Door deze aanpassing wordt het minder waarschijnlijk dat een toepassing een TCP-poort krijgt toegewezen die de status TIME WAIT heeft wanneer verbinding wordt gemaakt met hetzelfde doeladres, zodat het niet meer noodzakelijk is om de waarden van de registersleutel MaxFreeTWTcbs en TcpTimedWaitDelay te wijzigen om de bovenstaande fout te voorkomen.

Verbeterde Winsock API's voor ontvangst

Gedetailleerde beschrijving

Winsock-API's ondersteunt nu een mechanisme waarmee in toepassingen kan worden opgegeven dat een aanvraag voor ontvangen niet kan worden voltooid voordat de ontvangstbuffer vol is. Hiermee wordt netwerklatentie beperkt en worden toepassingen waarvoor hoge prestaties zijn vereist, beter ondersteund. Zie het artikel over de Winsock-SPI op de website van MSDN op http://go.microsoft.com/fwlink/?LinkId=45684 voor meer informatie over de implementatie van Winsock.

Zelfherstel van Winsock

Gedetailleerde beschrijving

Winsock, de netwerk-API (application programming interface) op basis van het consortium, kan worden uitgebreid met een mechanisme dat Winsock-SPI (Service Provider Interface) wordt genoemd. Door middel van de SPI kunnen providers als lagen op elkaar worden aangebracht. Providers die op deze manier als lagen op elkaar zijn aangebracht, worden LSP's (Winsock Layered Service Providers) genoemd. Er zijn Winsock-LSP's beschikbaar voor verschillende doeleinden, waaronder toegangsrestricties en het filteren van webinhoud. De precieze volgorde van de lagen met alle providers wordt in de Winsock-catalogus bijgehouden. In de vorige versies van Windows Server 2003 konden LSP's die verkeerd zijn verwijderd (mogelijk vanwege slecht geïmplementeerde LSP-code voor installatie/verwijdering), leidden tot beschadiging van de Winsock-catalogus. Dit had mogelijk tot gevolg dat de verbinding met het netwerk werd verbroken. Nu wordt in Winsock onjuist geïmplementeerde LSP's opgespoord en automatisch hersteld.

Wat is het belang van deze wijziging? Welke risico's worden op deze manier aangepakt?

Klanten moeten LSP's veilig van hun systeem kunnen verwijderen.

Nieuwe Netsh-opdrachten in Winsock

Gedetailleerde beschrijving

In Windows Server 2003 Service Pack 1 zijn twee nieuwe Netsh-opdrachten beschikbaar:

  • netsh winsock reset catalog
    Met deze opdracht wordt de Winsock-catalogus opnieuw ingesteld op de standaardconfiguratie. Dit kan nuttig zijn als een misvormde LSP is geïnstalleerd die ervoor zorgt dat netwerkverbindingen verloren gaan. Hoewel de netwerkverbindingen kunnen worden hersteld met behulp van deze opdracht, moet de opdracht zorgvuldig worden gebruikt, omdat alle eerder geïnstalleerde LSP's opnieuw moeten worden geïnstalleerd.
  • netsh winsock show catalog
    Met deze opdracht wordt de lijst met Winsock-LSP's weergegeven die op de computer zijn geïnstalleerd.

Wat is het belang van deze wijziging? Welke risico's worden op deze manier aangepakt?

Deze opdrachten bieden extra beheermogelijkheden voor het onderhouden van Winsock-LSP's en het oplossen van problemen in deze LSP's. Ze kunnen worden gebruikt in een herstelscript wanneer een groot aantal misvormde LSP's is geïnstalleerd.

Nieuwe Netstat-parameter

De volgende nieuwe parameter kan met de opdracht netstat worden gebruikt:

  • netstat -b

Als u deze parameter met de opdracht netstat gebruikt, wordt het uitvoerbare bestand weergegeven dat wordt gebruikt bij het maken van de verbindingen of luisterende poorten. In sommige gevallen treden bekende uitvoerbare bestanden op als host voor meerdere onafhankelijke onderdelen. In dergelijke gevallen wordt de volgorde van de onderdelen die worden gebruikt bij het maken van de verbindingen of luisterende poorten, weergegeven samen met de onderdelen die werden weergegeven voordat het bestand het onderdeel aanriep. De naam van het uitvoerbare bestand wordt tussen haken ([]) geplaatst.

noteOpmerking
Het gebruik van deze parameter kan behoorlijk wat tijd is beslag nemen. Bovendien is het mogelijk dat de parameter niet kan worden uitgevoerd als de account waaronder deze wordt uitgevoerd niet over voldoende machtigingen beschikt om de aangevraagde gegevens te verzamelen.

Welke nieuwe instellingen zijn toegevoegd in Windows Server 2003 Service Pack 1?

Er is een nieuwe registersleutel toegevoegd zoals in de onderstaande tabel is weergegeven. Met deze registersleutel wordt het maximum aantal ICMP-hostroutes ingesteld die kunnen worden toegevoegd. Deze sleutel mag niet worden gewijzigd tenzij er met ICMP een groot aantal hostroutes moet worden toegevoegd.

 

Naam instelling Locatie Standaardwaarde

MaxICMPHostRoutes

HKEY_LOCAL_MACHINE \SYSTEM \CurrentControlSet \Services\Tcpip\Parameters

1000

Vindt u dit nuttig?
(1500 tekens resterend)
Bedankt voor uw feedback

Community-inhoud

Toevoegen
Weergeven:
© 2014 Microsoft