Servidor de Internet não está disponível devido a ataques mal-intencionados de SYN

Traduções deste artigo Traduções deste artigo
ID do artigo: 142641 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Neste artigo

Sintomas

Em um computador que esteja executando o protocolo TCP/IP e que é conectado à Internet, alguns ou todos os serviços de rede são processados não está disponíveis e mensagens de erro como o seguinte aparecer na tela do cliente de rede:
A conexão foi redefinida pelo host remoto.
Esse sintoma de todos os serviços de rede que está sendo processada não está disponível também pode ocorrer em um computador que executa um sistema operacional diferente do Windows NT, por exemplo, UNIX.

Causa

Esse problema ocorre quando o computador tornou-se o destino de um ataque malicioso conhecido como TCP/IP "Sobrecarga de SYN" ou "SYN Attacks".

Usuários mal-intencionados podem direcionar uma máquina inteira ou um serviço TCP específico, como serviços da web. O ataque se concentra no protocolo TCP usado por todos os computadores na Internet e não é específico para o sistema operacional Windows NT.

Como funciona a sobrecarga de SYN

Sobrecarga de SYN funciona da seguinte maneira:
  • Uma solicitação de conexão TCP (SYN) é enviada para o computador de destino. Endereço IP de origem no pacote é "falsa" ou substituído por um endereço que não está em uso na Internet ou que pertence a outro computador. Um invasor será enviar muitas desses SYNs TCP para obstruir quantos recursos possível no computador de destino.
  • Ao receber a solicitação de conexão, o computador de destino aloca recursos para manipular e controlar a nova conexão e responde com um "SYN-ACK". Nesse caso, a resposta é enviada para o endereço IP não existente "falso".
  • Nenhuma resposta é recebida para o SYN-ACK. Padrão-configurado À Windows NT 3.5x ou 4.0 computador retransmitirá o SYN-ACK 5 vezes, dobrando o valor do tempo limite após cada retransmissão. O valor de tempo limite inicial é três segundos, para que as repetições são tentadas 3, 6, 12, 24 e 48 segundos. Após a última retransmissão, 96 segundos têm permissão para passar antes do computador desistirá em receber uma resposta e desaloca os recursos que foram definidos reservado anterior para a conexão. O tempo total decorrido que recursos estão em uso é 189 segundos.

Como verificar que seu computador está em um ataque de SYN

Se você suspeitar que o computador é o destino de um ataque de SYN, você pode digitar o seguinte comando em um prompt de comando para exibir conexões no estado "SYN_RECEIVED":
netstat - n-p tcp
Este comando pode causar o seguinte texto que aparece na tela:
Conexões ativas
      Proto  Local Address         Foreign Address       State
      TCP    127.0.0.1:1030        127.0.0.1:1032        ESTABLISHED
      TCP    127.0.0.1:1032        127.0.0.1:1030        ESTABLISHED
      TCP    10.57.8.190:21        10.57.14.154:1256     SYN_RECEIVED
      TCP    10.57.8.190:21        10.57.14.154:1257     SYN_RECEIVED
      TCP    10.57.8.190:21        10.57.14.154:1258     SYN_RECEIVED
      TCP    10.57.8.190:21        10.57.14.154:1259     SYN_RECEIVED
      TCP    10.57.8.190:21        10.57.14.154:1260     SYN_RECEIVED
      TCP    10.57.8.190:21        10.57.14.154:1261     SYN_RECEIVED
      TCP    10.57.8.190:21        10.57.14.154:1262     SYN_RECEIVED
      TCP    10.57.8.190:21        10.57.14.154:1263     SYN_RECEIVED
      TCP    10.57.8.190:21        10.57.14.154:1264     SYN_RECEIVED
      TCP    10.57.8.190:21        10.57.14.154:1265     SYN_RECEIVED
      TCP    10.57.8.190:21        10.57.14.154:1266     SYN_RECEIVED
      TCP    10.57.8.190:4801      10.57.14.221:139      TIME_WAIT
				
Se um grande número de conexões está no estado SYN_RECEIVED, é possível que o sistema está sob ataque. Um analisador de rede pode ser usado para rastrear o problema ainda mais, e pode ser necessário contatar seu provedor para obter assistência na tentativa de rastrear a origem.

O efeito de amarrando recursos de conexão varia, de acordo com a pilha TCP/IP e escutando na porta TCP de aplicativos. Para a maioria das pilhas, há um limite no número de conexões que podem estar no estado semi abertas (SYN_RECEIVED). Quando o limite é alcançado para uma determinada porta TCP, o computador de destino responde com uma redefinição a todas as outras solicitações de conexão até que recursos sejam liberados.

Resolução

Obter a seguinte atualização para Windows NT 3.51 ou o Service Pack mais recente para Windows NT 4.0

A Microsoft está comprometida em fornecer a melhor proteção possível contra esses ataques de dentro do sistema operacional Windows NT e disponibilizou um número de alterações para o TCP/IP componentes disponíveis para clientes em resposta a essa ameaça.

Essa chave global tem sido projetado para proteger contra ataques e define as outras chaves mencionadas posteriormente no artigo eficaz de valores conhecidos. Essa chave evita ter a estimativa do administrador sobre quais valores seriam oferecem a proteção mais. É altamente recomendável que as seguintes chaves globais ser usado:

SynAttackProtect
Chave: Tcpip\Parameters
Valor de tipo: REG_DWORD
Intervalo válido: 0, 1, 2
0 (nenhuma proteção de synattack)
1 (reduzido tentativas de retransmissão e atrasada criação RCE (entrada de cache de rota) se as configurações de TcpMaxHalfOpen e TcpMaxHalfOpenRetried são satisfeitas.)
2 (com 1 que é feita uma indicação atrasada para Winsock.)

Observação : quando o sistema localiza próprio sob ataque as seguintes opções em qualquer soquete não pode ser habilitado: sScalable janelas (RFC 1323) e por adaptador configurado parâmetros TCP (RTT inicial, tamanho da janela). Isso ocorre porque quando a proteção está funcionando a entrada de cache de rota não é consultada antes do SYN-ACK é enviado e as opções de Winsock não estão disponíveis nesse estágio da conexão.

Padrão: 0 (FALSO)
Recomendação: 2
Descrição: Synattack proteção envolve a reduzir a quantidade de retransmissões para SYN-ACKS que reduzirá o tempo para os quais recursos têm permaneça alocado. A alocação de recursos de entrada de cache de rota está atrasada até que uma conexão é feita. Se synattackprotect = 2, então a conexão na indicação para AFD está atrasada até que o handshake de três vias seja concluído. Observe também que as ações executadas pelo mecanismo de proteção só ocorrem se as configurações de TcpMaxHalfOpen e TcpMaxHalfOpenRetried são excedidas.

Observação : as seguintes chaves devem ser alterados somente se a chave global acima provou para ser ineficaz ou limites de recurso específico são sendo atingidos.

As alterações estão listadas aqui:
*******************************************************************
*  1. Tcpip.sys times out half-open connections faster            *
*******************************************************************
				
uma nova versão do Tcpip.sys foi produzida que permite o controle do número de vezes que uma resposta a uma conexão TCP (SYN-ACK) solicitação será retransmitido. Controle é tratado por meio de um novo parâmetro de registro:
  HKEY_LOCAL_MACHINE
  \SYSTEM
   \CurrentControlSet
    \Services
     \Tcpip
      \Parameters
       \TcpMaxConnectResponseRetransmissions
           Value Type: REG_DWORD
           Valid Range: 0-0xFFFFFFFF
           Default: 2
				
o valor padrão para este parâmetro agora é 3. A tabela a seguir mostra o comportamento de TCP/IP do Windows NT 4.0 para diversos valores desse parâmetro:
Value  Retransmission Times  Elapsed Time  Comments
3      3, 6, and 12 seconds  45 seconds    Cleanup 24 secs after last retx
2      3, and 6 seconds      21 seconds    Cleanup 12 secs after last retx
1      3 seconds             9  seconds    Cleanup 6  secs after last retx
				
este parâmetro alterações o tempo padrão que ele leva para limpar uma conexão de TCP abertas pela metade de 189 segundos a 45 segundos e fornece controle mais granular para o administrador. Um site que está sob ataque pesado pode definir o valor mais baixo como "1". O valor "0" também é válido; Entretanto se este parâmetro for definido como 0, SYN-ACKs não serão retransmitidos em todos os e irão expirar em 3 segundos. Com o valor neste baixo, tentativas de conexão legítimas de clientes distantes podem falhar.
*******************************************************************
*  2. NetBT has a Higher, Configurable Backlog                    *
*******************************************************************
				
NetBT (NetBIOS sobre TCP/IP) usa a porta TCP 139 e é usado pelos serviços de rede Microsoft, como compartilhamento de arquivos e impressoras. Versão 3.51 e 4.0 NetBT tem um registro "posterior" da conexão de blocos disponíveis que é dois mais um número incremental dependendo as clientes de NetBT (como o redirecionador, servidor e todos os aplicativos NetBIOS em execução). Em um servidor típico, esse número será 7-11. Uma nova versão do NetBT foi produzida que aloca automaticamente mais blocos de conexão conforme necessário, de maneira configurável.

Em um evento de conexão, ele agora verifica ver se o número de blocos livres está abaixo 2 e, em caso afirmativo, adiciona um número "incrementar" de blocos onde "incrementar" é configurável no Registro como mostrado aqui:
  HKEY_LOCAL_MACHINE
  \SYSTEM
   \CurrentControlSet
    \Services
     \NetBt
      \Parameters
       \BacklogIncrement
           Value Type: REG_DWORD
           Valid Range: 1-0x14  (1-20 decimal)
           Default: 3
				
cada bloco conexão consome 78 bytes de memória. O número total de blocos de conexão que pode ser alocada por NetBT também é configurável do Registro:
  HKEY_LOCAL_MACHINE
  \SYSTEM
   \CurrentControlSet
    \Services
     \NetBt
      \Parameters
       \MaxConnBackLog
           Value Type: REG_DWORD
           Valid Range: 1-0x9c40 (1-40,000 decimal)
           Default: 1000
				
MaxConnBackLog padrão é 1000, mas pode ser definido como alto como 40.000. Blocos de conexão são "eliminados" ou reciclados, quando o SYN-ACK retransmissão timer expirar e TCP falha a tentativa de conexão.
*******************************************************************
*  3. Afd.sys has been modified to withstand large numbers of     *
*     "half-open" connections efficiently                         *
*******************************************************************
				
aplicativos Windows Sockets, como servidores ftp e servidores web tem suas tentativas de conexão tratadas pelo Afd.sys. Afd.sys foi modificado para dar suporte a grande número de conexões no estado "abertas pela metade" sem negar acesso a clientes legítimos. Isso é feito permitindo que o administrador para configurar um registro posterior dinâmico.

A nova versão do AFD.sys oferece suporte a quatro novos parâmetros de registro que podem ser usados para controlar o comportamento de registro posterior dinâmico.

EnableDynamicBacklog é uma opção global para ativar ou desativar registro posterior dinâmico. O padrão é 0 (desativado), e essa configuração não fornece nenhuma alteração das versões existentes. Defini-la como 1 ativa o novo recurso de registro posterior dinâmico.
  HKEY_LOCAL_MACHINE
  \SYSTEM
   \CurrentControlSet
    \Services
     \AFD
      \Parameters
       \EnableDynamicBacklog
           Value Type: REG_DWORD
           Valid Range: 0,1
           Default: 0
           Suggested value for a system under heavy attack: 1
				
EnableDynamicBacklog controla o número mínimo de conexões livres permitidas em um ponto de extremidade escutando. Se o número de conexões livres cair abaixo desse valor, um segmento é enfileirado para criar conexões livres adicionais. Esse valor não deve ser feito muito grande, como o código de registro posterior dinâmico emprega sempre que o número de conexões livres ficar abaixo desse valor. Muito grande um valor pode levar a uma redução do desempenho.
  HKEY_LOCAL_MACHINE
  \SYSTEM
   \CurrentControlSet
    \Services
     \AFD
      \Parameters
       \MinimumDynamicBacklog
           Value Type: REG_DWORD
           Valid Range: 0-0xFFFFFFFF
           Default: 0
           Suggested value for a system under heavy attack: 20
				
MaximumDynamicBacklog controla o número máximo de conexões "semilivres" permitidas em um ponto de extremidade escutando. Conexões "Semilivres" incluir o número de conexões livres mais as conexões em um estado semi-conectado (SYN_RECEIVED). Nenhuma tentativa é feita para criar conexões livres adicionais se fazer então excederia esse valor.
  HKEY_LOCAL_MACHINE
  \SYSTEM
   \CurrentControlSet
    \Services
     \AFD
      \Parameters
       \MaximumDynamicBacklog
           Value Type: REG_DWORD
           Valid Range: 0-0xFFFFFFFF
           Default: 0
           Suggested value for a system under heavy attack: Memory
           dependent. We recommend that this value does not exceed 20000 (decimal). This prevents exhaustion of the non-paged pool when under attack. 
				
DynamicBacklogGrowthDelta controla o número de conexões livres a serem criadas quando conexões adicionais são necessárias. Cuidado com esse valor, como um valor grande pode levar a conexão livre explosivo alocações.
  HKEY_LOCAL_MACHINE
  \SYSTEM
   \CurrentControlSet
    \Services
     \AFD
      \Parameters
       \DynamicBacklogGrowthDelta
           Value Type: REG_DWORD
           Valid Range: 0-0xFFFFFFFF
           Default: 0
           Suggested value for a system under heavy attack: 10 (0xa)
				
MaximumDynamicBacklog,
Para aproveitar as alterações para Afd.sys, aplicativos Windows Sockets especificamente devem solicitar um registro posterior maior do que o valor configurado para EnableDynamicBacklog quando eles emitem seu chamada listen(). Os aplicativos Microsoft como o Internet Information Server (que tem um registro posterior padrão de 25) são configuráveis. Detalhes específicos do aplicativo estão disponíveis da Microsoft Knowledge Base em:
http://support.microsoft.com
Os drivers modificados para Windows NT 3.51 e instruções para instalá-los estão disponíveis de canais de suporte da Microsoft ou do seguinte local Internet:
FTP://FTP.Microsoft.com/bussys/winnt /winnt-public/fixes/usa/nt351/hotfixes-postsp5/syn-attack

Situação

Windows NT 4.0

Esse problema foi corrigido no mais recentes Microsoft Windows NT EUA Service Pack para Windows NT 4.0. Para obter informações sobre como obter o Service Pack, consulte a palavra seguinte na Base de dados de Conhecimento da Microsoft:
SERVPACK

Windows NT 3.51

A Microsoft confirmou que esse problema pode resultar em algum grau de vulnerabilidade de segurança no Windows NT versão 3.51. Uma correção com suporte total agora está disponível ainda, ele não tenha sido totalmente regressão testado e somente deve ser aplicada aos sistemas determinados como correm o risco de ataque. Por favor Avalie acessibilidade física do sistema, rede e conectividade com a Internet e outros fatores para determinar o grau de risco para seu sistema. Se o seu sistema suficientemente está em risco, a Microsoft recomenda que aplicar essa correção. Caso contrário, espere o próximo Windows NT service pack, que terá essa correção. Contate o suporte técnico Microsoft para obter mais informações.

Mais Informações

Adicionar essas alterações no Registro pode ter um efeito adverso em um cluster do Microsoft Exchange.

Cluster do Microsoft Exchange (Exres.dll) inicia com freqüência conexões para as portas de SMTP, IMAP, POP3 e o HTTP para testar a disponibilidade. Os testes são semelhantes a uma sessão telnet para porta 25, 143, 110 ou 80.

Se os testes forem bem-sucedidos, o cluster saberá que os serviços estão disponíveis para usuários e os marca como "Alive". Se os testes não são bem-sucedidos, o administrador de cluster marca o recurso como off-line no administrador de cluster e registra um evento no log do aplicativo. O evento é:

Tipo de evento: erro
Origem do evento: MSExchangeCluster
Categoria do evento: serviços
IDENTIFICAÇÃO de evento: 2074
Data: date
Tempo: time
Usuário: N/d
Computador: computer name
Descrição: SMTP instância do servidor virtual-(125-VS2-NAME): serviço de cluster falhou isalive verificando o recurso.

Propriedades

ID do artigo: 142641 - Última revisão: terça-feira, 20 de fevereiro de 2007 - Revisão: 5.3
A informação contida neste artigo aplica-se a:
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Professional Edition
  • Microsoft Windows NT Server 3.51
  • Microsoft Windows NT Server 4.0 Standard Edition
  • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
Palavras-chave: 
kbmt kbnetwork KB142641 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 142641

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com