🚀 A CloudSEK se torna a primeira empresa de segurança cibernética de origem indiana a receber investimentos da Estado dos EUA fundo
Leia mais

Os agentes de ameaças estão em constante evolução e desenvolvendo táticas sofisticadas para evitar a detecção ou descobrir completamente novos vetores de ataque. De uma forma ou de outra, os agentes de ameaças detectam informações pessoais confidenciais que estão escondidas sob camadas e camadas de redes e as vendem para obter ganhos financeiros ou não. As soluções de segurança cibernética sempre estarão um passo atrás dos adversários, já que são em sua maioria defensivas e não ofensivas. Portanto, para acompanhar as incógnitas desconhecidas, é vital identificar, classificar e relatar metodicamente a exposição dos dados de uma organização na Internet, para evitar ou reduzir o risco de possíveis ataques.
Soluções de segurança como CloudSEKé XV Vigília vasculhe a Internet para identificar possíveis ameaças cibernéticas relevantes para organizações específicas e configurar alertas para manter os adversários afastados. Esse processo de identificação de dados comprometidos na Internet também é conhecido como aquisição de dados. O uso de rastreadores para essa finalidade ajuda a detectar informações vazadas de todas as partes da Internet, incluindo a Surface Web, mercados da Dark Web, fóruns, plataformas de mídia social, de forma constante e simultânea.
No CloudSEK, seguimos certos critérios para garantir que a solução que escolhemos seja capaz de aceitar casos de teste que possam executar as seguintes funções para que os rastreadores possam adquirir dados com sucesso:
A solução perfeita para satisfazer os critérios acima e ser executada em grande escala é usar o Selenium Grid como base e a AWS como fornecedora de infraestrutura, o que ajudará a executar várias instâncias do navegador para auxiliar no rastreamento com base em palavras-chave ou ativos descobertos automaticamente pelos clientes.
Neste artigo, discutimos os vários componentes de uma arquitetura complexa para ajudar os leitores a entender como serviços singulares interagem entre si para adquirir dados.
O Selenium Grid é uma ferramenta de teste que faz parte do Selenium Suite, especializada na execução de vários projetos de selênio em navegadores, sistemas operacionais e máquinas em paralelo.
Os dois componentes centrais do Selenium Grid são hubs e nós. O Hub atua como o cérebro que agenda as solicitações de teste que recebe dos clientes WebDriver, enquanto um nó é o executor que executa as solicitações de teste nas instâncias do navegador dentro de um nó.
O número de instâncias do navegador em execução em um nó é diretamente proporcional aos recursos de CPU e memória alocados para cada nó. Só pode haver um hub e um número N de nós em uma arquitetura Selenium Grid.

Sendo um provedor de SaaS baseado em nuvem, o CloudSEK aproveita os serviços de computação em nuvem da AWS para criar o Selenium Grid. Discutimos alguns dos serviços/componentes da AWS que usamos para criar uma arquitetura Selenium Grid.

Inicialmente, os rastreadores passam por um DNS interno gerenciado pelo AWS Route 53, que converte um DNS de balanceador de carga gerado pela AWS em CNAME, que é mais fácil de gerenciar. O CNAME é mapeado para o serviço da AWS, o Elastic Load Balancer. O ELB (Elastic Load Balancer) fornece suporte para um ponto de entrada estático (endereço IP), que se torna útil quando precisamos escalar ou reconfigurar o Hub. E o Hub é recriado toda vez que há uma alteração na configuração.
O hub e os nós do Selenium são hospedados como contêineres separados, gerenciados pelo serviço de contêineres da AWS Elastic Container Service. Isso nos permite executar testes em paralelo no Selenium Grid. O ECS (Elastic Container Service) ajuda a orquestrar, monitorar e configurar o hub e os nós.
O escalonamento automático do AWS ECS também permite que os usuários tenham mais controle sobre os nós de trabalho e os configurem na contagem desejada; aumentem a escala até o máximo ou diminuam até o mínimo, com base no limite definido na utilização de CPU e memória dos nós de trabalho.
O serviço da AWS CloudWatch permite que os usuários configurem um limite, seguido pelo qual o alarme do CloudWatch dispara quando a métrica excede o limite. O CloudWatch também reúne fluxos de registros dos nós de trabalho ou do hub, que são usados para solucionar quaisquer erros.
Os serviços da AWS, mencionados acima, nos permitem criar uma arquitetura abrangente do Selenium Grid. No entanto, para torná-lo mais econômico, também utilizamos o AWS Fargate. O Fargate oferece serviços medidos e elimina a necessidade de manter e gerenciar servidores. Ele também isolou aplicativos, melhorando assim sua segurança.
Os provedores de capacidade da Fargate criam uma estratégia sobre como usar a infraestrutura enquanto executam os nós de trabalho. O Fargate também oferece uma opção alternativa conhecida como Fargate Spot. Os provedores de capacidade spot permitem capacidade não utilizada com desconto. No entanto, o Spot pode ser interrompido a qualquer momento, afetando até mesmo as tarefas em execução. O spot é encerrado ou substituído por uma nova capacidade spot.
Para resolver o problema acima, usamos outro serviço da AWS, o CloudMap, que é uma ferramenta de descoberta de serviços totalmente gerenciada para todos os recursos de nuvem e componentes de aplicativos que permitem que os aplicativos se conectem aos endpoints corretos, permitindo implantações mais seguras e reduzindo a complexidade do código da infraestrutura. Além disso, com o CloudMap, podemos definir nomes personalizados para nossos recursos de aplicativos e manter a localização atualizada desses recursos que mudam dinamicamente. No CloudSEK, usamos esse recurso do CloudMap para localizar e configurar dinamicamente o DNS para os nós de trabalho, que serão então registrados no Hub.
O Selenium Grid oferece a conveniência de executar rastreadores simultâneos em vários navegadores, versões de navegadores e máquinas. Os serviços da AWS, por outro lado, fornecem os meios econômicos para executar essas cargas de trabalho em grande escala. Junto com o Selenium Grid e os serviços da AWS implementados, a equipe de aquisição de dados da CloudSek executa centenas de rastreadores a cada segundo, coletando dados de fontes usando instâncias de navegador multiplataforma, dez vezes mais rápido do que usando várias máquinas monolíticas. Isso, por sua vez, ajuda a reduzir as despesas operacionais de manter grandes servidores sob demanda para executar o mesmo número de instâncias individuais do navegador Selenium e serviços de rastreamento nas mesmas máquinas.