Exportar (0) Imprimir
Expandir Todos

Protocolo de Controlo de Transmissão/Protocolo Internet (TCP/IP)

Qual a função do TCP/IP?

O TCP/IP (Transmission Control Protocol/Internet Protocol, Protocolo de Controlo de Transmissão/Protocolo Internet) é um conjunto de protocolos padrão para ligar computadores em redes. O TCP/IP permite aos computadores baseados no Windows ligar e partilhar informações com outros sistemas da Microsoft e sem ser da Microsoft.

Para mais informações sobre o TCP/IP e as definições do registo relacionadas, consulte "Microsoft Windows Server 2003 TCP/IP Implementation Details" no Web site da Microsoft em http://go.microsoft.com/fwlink/?LinkId=39649.

A quem se aplica esta função?

Todos os utilizadores que utilizam o TCP/IP para ligar e comunicar informações numa rede devem ter conhecimento das alterações incorporadas no Windows Server 2003 Service Pack 1.

Que nova funcionalidade foi adicionada a esta função no Windows Server 2003 Service Pack 1?

A protecção contra ataques SYN está activada por predefinição

Descrição detalhada

Quando é detectado um ataque SYN, o TCP/IP no Windows Server 2003 e no Windows XP diminui o número de retransmissões do segmento SYN-ACK e não atribui recursos de memória ou de entrada de tabela para a ligação enquanto o handshake tridireccional de TCP não for concluído.

Um ataque SYN (Synchronize) de TCP é um ataque do tipo denial-of-service que explora a retransmissão e o comportamento de tempo limite do segmento SYN-ACK (Synchronize-Acknowledgement) durante o handshake tridireccional de TCP, para criar um elevado número de ligações TCP semiabertas. Consoante a implementação do protocolo TCP/IP, um elevado número de ligações TCP semiabertas pode resultar numa das seguintes situações:

  • Utilização de toda a memória disponível.
  • Utilização de todas as entradas possíveis do TCB (Transmission Control Block, bloco de controlo de transmissão) de TCP, uma tabela interna utilizada para controlar ligações TCP. Quando as ligações semiabertas utilizam todas as entradas, as tentativas de ligação adicionais recebem como resposta uma reposição de ligação TCP.
  • Utilização de todas as ligações semiabertas. Quando são utilizadas todas as ligações semiabertas, as tentativas de ligação adicionais recebem como resposta uma reposição de ligação TCP.

Porque é que esta alteração é importante? Que ameaças ajuda a atenuar?

Para atenuar o impacto num anfitrião alvo de um ataque SYN, o TCP/IP minimiza a quantidade de recursos dedicados a ligações TCP incompletas e reduz o período de tempo que decorre antes de abandonar a ligação. Quando é detectado um ataque SYN, o TCP/IP no Windows Server 2003 e no Windows XP diminui o número de retransmissões do segmento SYN-ACK e não atribui recursos de memória ou de entrada de tabela para a ligação enquanto o handshake tridireccional de TCP não for concluído.

Pode controlar a protecção contra ataques SYN através da definição do registo SynAttackProtect em HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters(tipo REG_DWORD). Defina SynAttackProtect como 0 para desactivar a protecção contra ataques SYN e como 1 para a activar.

Para o TCP/IP no Windows XP (todas as versões) e no Windows Server 2003 sem service packs instalados, SynAttackProtect está definido como 0 por predefinição. Para o TCP/IP no Windows Server 2003 SP1, SynAttackProtect está definido como 1 por predefinição.

Novas APIs de Programa Auxiliar IP de notificação de ataques SYN

Descrição detalhada

Para permitir que uma aplicação notifique os administradores de rede da ocorrência de um ataque SYN, a API de Programa Auxiliar IP suporta as novas APIs de notificação de ataques SYN denominadas NotifySecurityHealthChange e CancelSecurityHealthChangeNotify. Ainda não foram publicadas informações sobre estas novas APIs na MSDN (Microsoft Developer Network). Quando disponível, será colocada aqui uma hiperligação para os tópicos da MSDN que descrevem estas novas APIs.

Atribuição inteligente de portas TCP

Descrição detalhada

O TCP/IP no Windows Server 2003 SP1 implementou um algoritmo de atribuição inteligente de portas TCP. Quando uma aplicação solicita qualquer porta TCP disponível, o TCP/IP tenta primeiro localizar uma porta disponível que não corresponda a uma ligação no estado TIME WAIT. Se não for possível encontrar uma porta nessas condições, o protocolo selecciona qualquer porta disponível.

Porque é que esta alteração é importante? Que ameaças ajuda a atenuar?

Quando um peer TCP inicia uma terminação da ligação e a terminação é concluída, a ligação TCP entra no estado TIME WAIT. Quando o estado TIME WAIT é atingido, o TCP tem de aguardar o dobro de MSL (Maximum Segment Lifetime, duração máxima do segmento), antes de ser possível criar uma ligação com o mesmo conjunto de endereços de socket. O conjunto de endereços de socket consiste numa combinação dos endereços IP de origem e de destino e das portas TCP de origem e de destino. MSL corresponde ao período máximo de tempo que um segmento TCP pode existir num conjunto de redes e o respectivo valor recomendado é de 120 segundos. Este atraso impede os segmentos TCP que utilizam o mesmo conjunto de endereços de socket de uma nova ligação de se confundirem com segmentos TCP duplicados da ligação antiga.

A porta TCP de uma ligação no estado TIME WAIT é considerada uma porta disponível, podendo ser atribuída para utilização por uma aplicação. Isto poderá conduzir à seguinte série de eventos:

  1. Uma aplicação solicita qualquer porta TCP disponível.
  2. O TCP/IP atribui uma porta TCP a utilizar para o socket da aplicação.
  3. A aplicação tenta abrir um socket com um endereço IP de destino específico.
  4. A aplicação estabelece uma ligação TCP e envia dados.
  5. A aplicação termina a ligação TCP.
  6. O TCP/IP coloca a ligação TCP da aplicação no estado TIME WAIT até decorrido o valor de 2*MSL.
  7. A mesma aplicação solicita outra porta TCP disponível.
  8. O TCP/IP atribui uma porta TCP a utilizar para o socket da aplicação. Uma vez que a porta da ligação no estado TIME WAIT é considerada aberta, pode ser escolhida como porta seguinte para atribuição à aplicação que a solicitou. Assuma que o TCP/IP atribui o mesmo número de porta TCP.
  9. A aplicação tenta abrir um socket com o mesmo endereço IP de destino.
  10. Dado que a aplicação está a utilizar o mesmo conjunto de endereços de socket que a ligação no estado TIME WAIT, o TCP/IP indica um erro à aplicação.

Para resolver esta situação de erro, era necessário ajustar as definições do registo efectuando um dos seguintes procedimentos:

  • Especificar um valor mais baixo para a definição do registo MaxFreeTWTcbs em HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters (tipo REG_DWORD). O valor de MaxFreeTWTcbs controla o número de ligações possíveis no estado TIME WAIT. Quando este número é excedido, a ligação mais antiga é removida automaticamente do estado TIME WAIT.
  • Especificar um valor mais baixo para a definição do registo TcpTimedWaitDelay em HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters (tipo REG_DWORD). O valor de TcpTimedWaitDelay determina o período de tempo que uma ligação permanece no estado TIME WAIT.

Contudo, a diminuição do valor destas definições do registo opõe-se à concepção original de TCP e de MSL e não é recomendada.

Assim, o Windows Server 2003 SP1 inclui esta alteração de algoritmo de atribuição de portas para impedir que uma aplicação crie uma ligação com o mesmo conjunto de endereços de socket que uma ligação que se encontra num estado TIME WAIT se estiver disponível outra porta.

Este novo comportamento torna muito mais improvável que seja atribuída a uma aplicação uma porta TCP no estado TIME WAIT durante a ligação ao mesmo destino, deste modo não é necessário modificar os valores das chaves de registo MaxFreeTWTcbs e TcpTimedWaitDelay para evitar a situação de erro descrita acima.

APIs Winsock de recepção melhorada

Descrição detalhada

As APIs Winsock agora suportam um mecanismo que permite que as aplicações especifiquem que um pedido de recepção não deve ser concluído até que a memória intermédia de recepção esteja completa. Isto ajuda a reduzir a latência de rede e suporta melhor as aplicações de elevado desempenho. Para mais informações sobre a implementação do Winsock, consulte "About the Winsock SPI" no Web site da MSDN em http://go.microsoft.com/fwlink/?LinkId=45684.

Recuperação automática de Winsock

Descrição detalhada

O Winsock, uma interface de programação de aplicações (API, application programming interface) de rede baseada no fornecedor, é extensível através de um mecanismo designado como SPI (Service Provider Interface) de Winsock. A SPI fornece um mecanismo para colocação de fornecedores em camadas. Os fornecedores em camadas são designados como Fornecedores de Serviços em Camadas (LSPs, Layered Service Providers) de Winsock. Os LSPs de Winsock são disponibilizados tendo em vista muitos objectivos, incluindo a limitação de acesso à Internet e a filtragem de conteúdo da Web. A ordem de colocação em camadas específica de todos os fornecedores é mantida no catálogo Winsock. Em versões anteriores do Windows Server 2003, os LSPs removidos de forma incorrecta (possivelmente devido a um código de instalação/remoção de LSP mal implementado) poderiam provocar danos no catálogo Winsock, resultando potencialmente na perda total da ligação à rede. O Winsock agora tem a capacidade de detectar os LSPs removidos de forma incorrecta e reparar-se automaticamente.

Porque é que esta alteração é importante? Que ameaças ajuda a atenuar?

É necessário que os clientes possam, com segurança, remover os LSPs dos seus sistemas.

Novos comandos Netsh de Winsock

Descrição detalhada

No Windows Server 2003 Service Pack 1, estão disponíveis dois novos comandos Netsh:

  • netsh winsock reset catalog
    Este comando repõe a configuração predefinida do catálogo Winsock. Pode ser útil se estiver instalado um LSP mal formado que resulte na perda da ligação à rede. Embora a utilização deste comando possa restaurar a ligação à rede, deverá ser cuidadosamente utilizado uma vez que tornará necessário reinstalar quaisquer LSPs anteriormente instalados.
  • netsh winsock show catalog
    Este comando apresenta a lista dos LSPs de Winsock instalados no computador.

Porque é que esta alteração é importante? Que ameaças ajuda a atenuar?

Estes comandos oferecem capacidades de gestão adicionais para a manutenção e resolução de problemas de LSPs de Winsock, podendo ser utilizados num script para ajudar na recuperação de uma instalação generalizada de LSPs mal formados.

Novo parâmetro Netstat

O seguinte novo parâmetro pode ser utilizado com o comando netstat:

  • netstat -b

A utilização deste parâmetro com o comando netstat apresenta o executável envolvido na criação de cada ligação ou porta de escuta. Em alguns casos, os executáveis conhecidos hospedam vários componentes independentes e nestes casos a sequência dos componentes envolvidos na criação da ligação ou porta de escuta é apresentada com componentes apresentados antes do executável que chamou o componente. O nome do executável será destacado ficando entre parênteses ([]).

noteNota
A utilização deste parâmetro pode demorar muito tempo e pode falhar se a conta onde está a ser executado não tiver permissões suficientes para reunir as informações pedidas.

Quais as novas definições adicionadas no Windows Server 2003 Service Pack 1?

Foi adicionada e apresentada uma nova chave de registo na tabela abaixo. Esta chave de registo define o número máximo de rotas de anfitrião de ICMP que podem ser adicionadas. Esta chave não deve ser alterada a menos que o ICMP esteja a ser utilizado para adicionar um grande número de rotas de anfitrião.

 

Nome da definição Localização Valor predefinido

MaxICMPHostRoutes

HKEY_LOCAL_MACHINE \SYSTEM \CurrentControlSet \Services\Tcpip\Parameters

1000

Considera isto útil?
(1500 caracteres restantes)
Obrigado pelos seus comentários

Conteúdo da Comunidade

Mostrar:
© 2014 Microsoft