Uso esporádico periódico da CPU pelo winlogon / LogonUI

5

Percebi que meu servidor da AWS ocasionalmente começa a usar um monte de CPU sem nenhum motivo específico, parecendo algo assim:

Observequeissonãoocorreemmomentosespecíficos,mastemumpadrãomuitodefinidoparaisso.Durapoucomenosdeumahora.

Acomunicaçãocomamáquinaduranteessaocorrênciainvariavelmentefariacomqueelaparassedeacontecer.DeixaracontapermanentementeconectadamepermitiucapturarumrastreiodeusodaCPUmaisrefinado.Ficouassim:

Isso mesmo; os processos que realmente consomem essa CPU não estão na lista. Em vez disso, eles aparecem e desaparecem o tempo todo. O ProcMon era obviamente a ferramenta para o trabalho, então capturei um traço. Isso é o que eu encontrei:

HátambémoPostgresenvolvido:

No entanto, todo o uso da CPU é pelo Winlogon / LogonUI / etc:

Vejaumpequenotrechodoseventosdeinícioetérminodoprocessoduranteessaocorrência:

Note que postgres não é intercalado com cada start / stop de smss / winlogon / etc, mas apenas alguns deles.

Alguma idéia de por que isso acontece e como evitá-lo?

    
por RomanSt 16.02.2012 / 16:17

3 respostas

1

O problema era que alguém estava forçando brutalmente meu login no RDP. Um problema secundário era que a autenticação em nível de rede era desativada, fazendo com que cada tentativa de login fosse relativamente cara para a CPU.

A solução foi mudar a porta RDP do 3389 para interromper os ataques de força bruta e habilitar a autenticação em nível de rede para reduzir o custo da CPU de uma tentativa de logon.

Dica # 1 , do syneticon-dj: verifique os logs de eventos. Estes picos foram correlacionados com muitas falhas de logon, tentando nomes de usuário como "joão", "admin", "teste", etc, cada um com cerca de 3-5 senhas diferentes. Eles chegaram a 3-4 segundos de distância.

Dica # 2 , do Olivier S: esse servidor, sendo uma instância do Amazon EC2, requer o RDP. O problema real era que, por padrão, as máquinas EC2 tinham a Autenticação no Nível de Rede desativada , por algum motivo. Isso significa que toda vez que alguém quiser tentar uma senha, uma interface de usuário de logon inteira é girada, apenas para apresentá-la com uma linda sessão de área de trabalho remota. Isso é o que causou todo o uso da CPU.

    
por 15.03.2012 / 13:26
4

Para a parte postgres, isso ocorre porque o postgres cria um processo - não um thread - para cada sessão. Isso é bastante caro no Windows (mas eficiente em sistemas unix).

Parte do Winlogon / LogonUi isso é bastante estranho. O servidor está acessível remotamente? Poderia haver um scanner de rede na rede que tentaria abrir a porta 3389 no servidor e, assim, abranger uma sessão rdp, o que explicaria a seqüência smss / winlogon / logonui? Eu penso em um scanner de rede porque a sessão é fechada imediatamente.

Então, meu palpite para a recompensa: você tem um processo nmap ou alguma ferramenta de "descoberta de rede" que verifica portas em sua rede, ou seu servidor está aberto à internet sem firewall na porta 3389 (e talvez 5432). p>     

por 25.02.2012 / 12:35
0

Eu encontrei a resposta para isto foi 15 pessoas tentando forçar meu RDP na porta 3389.

Abra um prompt de comando e digite netstat -n procure pelo seu IP: 3389 se houver mais de uma conexão que não seja você mesmo, então alguém está tentando entrar.

Solução para parar perto de 100% da CPU foi mudar o padrão 3389 para outra coisa.

Você pode procurar uma solução no google, a porta é armazenada no registro

Você também pode precisar modificar suas regras de firewall de acordo

Isso curou meu problema e eu tenho minha CPU de volta!

    
por 21.07.2015 / 00:38