Como estava esse conteúdo?
CRED atinge um alto nível de inspeção de rede com espelhamento de tráfego da VPC
8 de setembro de 2021: o Amazon Elasticsearch Service foi renomeado para Amazon OpenSearch Service. Veja os detalhes.
Publicação de convidado de Himanshu Das, líder de segurança da CRED
A CRED busca capacitar as pessoas ter uma vida melhor por meio de benefícios de cartão de crédito exclusivos para membros, recompensas exclusivas e experiências de marcas de primeira linha. A CRED é uma comunidade altamente confiável de indivíduos, comerciantes e instituições solventes que reinventou a experiência do cartão de crédito para pessoas, atendendo a cerca de milhões de pagadores de cartão de crédito.
Lidando com toneladas de transações e dados sigilosos, a CRED sempre manteve seu foco na segurança. Há dois tipos de empresas: uma que vê a segurança como uma reflexão tardia e outra que considera a segurança de extrema importância. E quem fica no meio-termo? Na CRED, acreditamos genuinamente que não há meio-termo com a regra acima. E é provavelmente por isso que pertencemos ao segundo grupo. A CRED é uma empresa que prioriza a segurança, mantendo a segurança sempre como sua maior prioridade.
“Usar a AWS não só nos ajudou a manter nossa infraestrutura sempre estável e altamente disponível, mas também garantiu que a segurança estivesse presente em cada camada”, diz Avinash Jain, engenheiro de segurança da CRED.
Espelhamento de tráfego da VPC da AWS: monitoramento de intrusão de rede em sub-rede VPC pública usando NIDS
O COVID atingiu a todos e afetou as pessoas de diversas maneiras. No que diz respeito às organizações, os funcionários foram convidados a trabalhar em casa (WFH) e, como muitos setores agora trabalham remotamente, o padrão de conexões dos usuários com a rede corporativa virou de cabeça para baixo. Em vez de se conectar localmente, agora a maioria dos usuários está se conectando remotamente. E para permitir que os funcionários acessem funções essenciais aos negócios, há uma conectividade VPN obrigatória.
Como a instância VPN é mantida em uma zona desmilitarizada (DMZ) para permitir que trabalhadores do mundo inteiro se conectem a ela e acessem aplicações internas, há uma inundação inesperada de conexões WFH, o que torna as redes VPN mais vulneráveis a todos os tipos de ataques de camada 7/camada 3.
Nesta publicação de blog, mostraremos como fortalecemos a segurança e o monitoramento de nossa instância pública de VPN, que foi mantida na VPC pública, mantendo um olhar sempre atento a padrões de tráfego ou conteúdos incomuns que poderiam significar uma intrusão na rede usando o espelhamento de tráfego da VPC da AWS e um sistema de detecção de intrusões na rede.
O espelhamento de tráfego da VPC duplica o tráfego de entrada e saída para instâncias do Amazon EC2 em uma VPC sem a necessidade de instalar nada nas instâncias em si. A ideia é enviar esse tráfego duplicado para o sistema de detecção de intrusões de rede (NIDS) para análise e monitoramento. Veja como é o diagrama da arquitetura de monitoramento de intrusões na rede:
Todo tráfego que chega ao servidor VPN é enviado ao destino espelhado (Network Load Balancer) que serve de destino para o tráfego espelhado. O espelhamento de tráfego da VPC fornece um ótimo atributo de filtros de espelho, em que se especifica o tráfego de entrada ou de saída (em relação à origem) que deve ser capturado (aceito) ou ignorado (rejeitado). Do espelho de destino, enviamos o tráfego duplicado ao sistema NIDS usando o Suricata, que é um mecanismo de detecção de ameaças de rede de código aberto que fornece recursos que incluem detecção de intrusão (IDS), prevenção de intrusões (IPS) e monitoramento de segurança de rede. Escolhemos o Suricata porque ele funciona muito bem com inspeção profunda de pacotes e correspondência de padrões, o que o torna incrivelmente útil para detecção ameaças e ataques. Ele também tem multithreading, que fornece a capacidade teórica de processar mais regras em redes mais rápidas, com maiores volumes de tráfego, no mesmo hardware.
Para proporcionar maior resiliência e disponibilidade, enviamos tráfego duplicado a uma instância do EC2 com uma configuração do Suricata. Usamos instâncias T3 do Amazon EC2 para essa finalidade. Foi uma escolha intencional, pois sabíamos que haveria uma grande quantidade de tráfego a qualquer momento, e performance e eficiência eram os outros dois critérios que queríamos alcançar. Tudo isso foi atendido por instâncias T3 que fornecem um nível básico de performance da CPU com a capacidade de aumentar o uso da CPU a qualquer momento pelo tempo necessário.
Monitoramento e registro em log
As instâncias do Suricata têm o agente Filebeat instalado, que é um remetente leve para encaminhar e centralizar dados de log. O Suricata realiza o monitoramento contínuo do tráfego. As regras do Suricata (/etc/Suricata/rules) acionam alerta, e o Filebeat envia os logs de alerta para a pilha ELK, onde o logstash processa os dados JSON. Estamos usando o módulo Suricata no Amazon OpenSearch Service auto-hospedado (sucessor do Amazon Elasticsearch Service), que executa as seguintes tarefas para nós:
● Usa o nó de ingestão para analisar e processar as linhas de logs, moldando os dados em uma estrutura adequada para visualização no Kibana
● Implanta painéis para visualização dos dados de log
Podemos monitorar a distribuição geográfica do tráfego que entra em nosso sistema usando a visualização de mapa de coordenadas do Kibana. O campo event_type indica o tipo de log do Suricata. Com a ajuda de uma visualização de gráfico de pizza, podemos ver um detalhamento dos principais tipos de log registrados no sistema
Como pode ser visto na imagem, categorizamos os alertas com base em sua gravidade como alta, média e baixa. A categorização dos eventos é feita em dois lugares:
1. Um nos “filtros de espelho” da VPC
2. Segundo, usando as regras do Suricata para identificar protocolos e categorizar anomalias em eventos.
Por enquanto, estamos usando o conjunto de regras padrão fornecido pelo Suricata. Ele contém verificação de reputação de IP mal-intencionado, agente de usuário suspeito, intrusão baseada em assinatura, violação de políticas, anomalia de tráfego e muito mais. Um dos exemplos apresentados na visualização do gráfico de pizza mostra onde Suricata encontrou alguma atividade do tor na rede junto com alguma outra anomalia na rede. O processo de correção passa por um framework central de registros em log, alertas e decisões. Configuramos os parâmetros abaixo para a visibilidade no painel.
o Contagem de alertas
o Assinatura dos 10 principais alertas
o IP de origem dos 20 principais alertas
o IP de destino dos 20 principais alertas
o Gravidade do alerta
o Cronograma de alertas
o Evento de DNS ao longo do tempo
Resultado final
O espelhamento de tráfego da VPC facilita muito o monitoramento do tráfego de rede em nossas VPCs da AWS. Com a ajuda do espelhamento de tráfego da VPC, agora podemos monitorar efetivamente o tráfego da rede, analisar padrões de tráfego e detectar proativamente o tráfego mal-intencionado. Alguns dos benefícios que ele oferece são:
- Detecte de anomalias de rede e segurança: extraia o tráfego de interesse de qualquer workload em uma VPC e o encaminhe para as ferramentas de detecção de sua escolha, além de detectar e responder aos ataques mais rapidamente do que é possível com as ferramentas tradicionais baseadas em logs.
- Receba insights operacionais: use o espelhamento de tráfego da VPC para obter a visibilidade e o controle da rede que permitirão que você tome decisões de segurança mais embasadas.
- Implemente controles de conformidade e segurança atenda aos requisitos regulatórios e de conformidade que exigem monitoramento, registro em log e assim por diante.
O Suricata é uma ótima opção de código aberto para monitorar redes em busca de atividades mal-intencionadas. No futuro, aprimoraremos nossa integração com o Suricata com regras e painéis adicionais.
AWS Editorial Team
A equipe de Marketing de Conteúdo da AWS Startups colabora com startups de todos os tamanhos e setores para oferecer excepcional conteúdo educativo, divertido e inspirador.
Como estava esse conteúdo?