Alerta de entrada num servidor VPN: leia o ponto de observação
Uma captura, um descarte do firewall e um logon falhado registam três eventos diferentes. Correlacione a tupla e o carimbo de data e hora antes de decidir se alguém entrou.
Um servidor atrás de uma VPN mantém as suas entradas de serviço públicas, e as pessoas continuam a encontrá-las. O que chega à fila de alertas não é uma descoberta, mas três possíveis, e significam coisas diferentes. A primeira tarefa é separar um serviço exposto de uma credencial exposta.
Percorra os pontos de observação por ordem. Pare quando a evidência muda de categoria, porque a etapa seguinte responde a uma pergunta diferente.
Etapa um: o que a captura realmente viu
Uma captura de pacotes registra o que estava visível no seu próprio ponto do caminho. Esse ponto pode ficar antes de uma decisão de filtragem posterior. Um pacote capturado prova que o tráfego chegou ali. Não prova nada sobre o que aconteceu depois.
Repare também na interface. Uma captura no adaptador público e uma captura dentro do túnel descrevem pontos de chegada diferentes, e um alerta que cita o ponto errado leva à conclusão errada.
O Windows também filtra em várias camadas da pilha, por isso o modelo arrumado em que a ferramenta de captura fica na camada dois e o firewall na camada três não sobrevive ao contacto com um produto real. A visão geral do Windows Filtering Platform descreve a filtragem entre camadas da pilha, e é por isso que a ordem de observação tem de ser estabelecida em vez de presumida.
Etapa dois: o que o registo de descarte estabelece
Um registo de descarte diz que uma fronteira de política rejeitou aquele pacote. É evidência forte. Também é evidência estreita, porque cobre uma decisão numa fronteira. Nada mais na pilha é descrito por ele.
Correlacione pela tupla e pelo carimbo de data e hora. Mesma origem, mesmo destino, mesma porta, dentro do mesmo segundo. Sem essa correspondência, um evento de aspecto semelhante noutro registo é simplesmente outro evento, e emparelhá-los produz uma história que ninguém consegue defender.
# what did the firewall actually drop, and when?
Get-NetFirewallProfile -PolicyStore ActiveStore | Select-Object Name, LogAllowed, LogBlocked
Get-Content "$env:systemroot\System32\LogFiles\Firewall\pfirewall.log" | Select-String 'DROP'
# correlate with a listening service on the same port
Get-NetTCPConnection -LocalPort 3389 -State Listen | Select-Object LocalAddress, OwningProcess
Uma porta fechada e um pacote descartado parecem idênticos do exterior e completamente diferentes nestas duas saídas. Essa diferença é toda a razão para ler o registo local.
Etapa três: o que o evento de autenticação prova
Um evento de autenticação diz que um componente processou o pedido o suficiente para registar um resultado. É o único dos três estágios que fala de identidade, e não diz nada sobre quantos pacotes chegaram antes.
Leia o contexto real do evento. Um logon falhado para uma conta que não existe é ruído de varredura. Um logon falhado para uma conta real com uma origem plausível é uma prioridade diferente. Uma sessão bem-sucedida é uma categoria de incidente totalmente diferente.
Repare também nos nomes dos protocolos. RPC e RDP são serviços separados com portas separadas. Um detetor que vigia um deles não cobre o outro. As ferramentas que resumem a atividade de rede nem sempre indicam qual dos dois produziu o evento.
Uma amostra correlacionada vale mais do que um painel
Escolha um teste autorizado, execute-o de propósito e siga-o de ponta a ponta: endereço de destino e interface, endereço de origem verdadeiro, porta do serviço, perfil e regra de firewall em vigor e o resultado do serviço correspondente. Inclua nessa cadeia qualquer mapeamento a montante ou firewall na nuvem, porque uma regra permissiva aí pode sobrepor-se a uma regra local arrumada.
Depois separe as duas obrigações. Se a administração deve ser apenas por VPN, imponha-o tanto no caminho público como no caminho do túnel, mantendo uma rota de recuperação aprovada. Monitorizar uma tentativa rejeitada não é a mesma tarefa que decidir o que o servidor deve aceitar.
Uma regra geográfica ou um protocolo bloqueado sem relação não substitui encontrar a entrada observada e a decisão que ela recebeu. Uma VPN também não: encaminhar tráfego de saída por um túnel não documenta nada sobre a autorização de entrada.