Tackling web server attacks

A security admin's guide

E-BOOK GRATUITO ON-LINE

Combate a ataques a servidores da Web

Guia do administrador de segurança

         
Obrigado!

Você pode clicar e começar a ler os capítulos abaixo. Nós temos também enviei o
link para sua caixa de entrada para referência futura.

  •  
  •  
  •  
  • Ao clicar em 'Ler agora' você concorda com o processamento de dados pessoais de acordo com a Política de Privacidade.

De acordo com a IBM Security, o custo médio de uma violação de dados em 2021 subiu para

4,24 milhões de dólares

Com mais empresas movendo seus negócios online, proteger aplicativos e servidores da Web contra ameaças cibernéticas tornou-se imperativo. Ao explorar vulnerabilidades nesses servidores e aplicativos, os hackers podem facilmente obter acesso a dados confidenciais e levar a sérias ramificações financeiras.

Neste guia, abordamos alguns dos tipos mais comuns de ataques cibernéticos em servidores da Web e como você pode detectá-los analisando seus logs.

Introdução

O Relatório de investigações de violação de dados da Verizon 2021 analisou 29.207 incidentes de segurança, dos quais 5.258 foram violações confirmadas (um aumento significativo em relação às 3.950 violações analisadas no relatório do ano passado). Se analisarmos o padrão de violações mais profundamente dos principais ativos explorados, os servidores web representaram mais de 60%. Os servidores web foram um dos principais vetores de ataque, contribuindo para 80% das violações detectadas e reportadas no ano passado.1

Como você já deve saber, os servidores web enfrentam diversas ameaças, como ataques de força bruta, ataques de injeção de SQL, cross-site scripting e ataques de negação de serviço (DoS). Um único ataque bem-sucedido pode afetar gravemente a reputação de uma organização, provocar perdas financeiras substanciais e minar a confiança dos clientes. As empresas precisam estar um passo à frente para evitar serem a próxima vítima.

Dessa forma, como detectamos esses ataques antes que seja tarde demais?

A análise de logs pode fornecer muitos insights sobre o que está acontecendo na sua rede.

Como a análise de logs pode ajudar a detectar ataques na web

Cada evento que ocorre em uma rede é registrado na forma de logs. Esses registros fornecem informações detalhadas sobre o evento, como o horário da ocorrência, de onde ele ocorreu e quem estava por trás dele. A análise desses logs pode fornecer insights sobre a atividade e ajudá-lo a detectar sinais de alerta de ataques cibernéticos e ameaças na sua rede. Se você for um administrador de segurança, recomendamos que procure insights acionáveis nos seus dados de logs para detectar e interromper ataques antes que o dano ocorra.

Este guia detalha alguns dos ataques da web mais populares e inclui dicas sobre como detectá-los analisando os logs do servidor web.

Próximo Fundamentos da análise de logs de
servidores web

Fundamentos da análise de
logs de servidores web

Primeiramente, vamos examinar os fundamentos da análise de logs. Os logs de servidores web fornecem informações valiosas relacionadas ao tráfego – quem enviou a solicitação, a data e hora em foi enviada e qual era o arquivo solicitado.

Alguns dos servidores web mais comuns utilizados no mundo atual incluem Apache, IIS e NGINX. O formato de log de cada servidor web difere entre si.

O servidor web Apache, oficialmente conhecido como Apache HTTP Server, é o servidor web mais popular do mercado, com uma participação de mercado de 40,19% em março de 2022.2

Statistics

Os servidores web Apache geram dois tipos diferentes de logs.

1. Logs de acesso: Contêm informações sobre todas as solicitações processadas pelo servidor.

2. Logs de erros: Contêm informações sobre erros encontrados durante o processamento das solicitações.

Neste recurso, analisaremos os arquivos de log de acesso dos servidores web Apache.

Dois formatos de log comumente utilizados para logs de acesso do Apache são o Common Log Format (Formato de Log Comum) e o Combined Log Format (Formato de Log Combinado).

Common Log Format

As entradas de logs escritas no Common Log Format são parecidas com essa:

127.0.0.1127.0.0.1This denotes the IP address of the client that sent the request to the web server. -Hyphen (-)This denotes that the requested piece of information is unavailable. In the above log file, the missing information happens to be the RFC 1413 identity of the client. frankFrankThis field indicates the username of the person who made the request. [10/Oct/2000:13:55:36 -0700][10/Oct/2000:13:55:36 -0700]This field denotes the date and time at which the request reached the server. It follows the format day/month/year:hour:minute:second.
"GET /apache_pb.gif HTTP/1.0""GET /apache_pb.gif HTTP/1.0"GET refers to the HTTP method used by the client. /apache._pb.gif refers to the document that was requested by the client. HTTP/1.0 refers to the protocol used by the client, and its version. 200200This indicates the HTTP status code that the server returns to the client. 23262326 This denotes the size of the object returned to the client. It is measured in bytes.

Entendendo os códigos de status de resposta HTTP

A tabela a seguir indica os vários códigos de status de resposta HTTP que podem ser retornados pelo servidor.

Código de resposta Significado
1xx Informativo
2xx Bem-sucedido
3xx Redirecionamento
4xx Erro do cliente
5xx Erro do servidor

Combined Log Format

As entradas de logs escritas no Combined Log Format são parecidas com essa:

127.0.0.1 - frank [10/Oct/2000:13:55:36 -0700]
"GET /apache_pb.gif HTTP/1.0" 200 2326
"http://www.example.com/start.html""http://www.example.com/start.html" This refers to the HTTP referrer, and it denotes the address of the page where the request was executed. "Mozilla/4.08 [en] (Win98; I ;Nav)""Mozilla/4.08 [en] (Win98; I ;Nav)" This denotes the user agent. It refers to the web client that sent the request.

Este formato de log é muito similar ao Common Log Format, exceto pelos dois campos adicionais no final da mensagem.
Anterior Introdução Próximo Ataques a servidores web

Ataques comuns a
servidores web

Alguns dos ataques cibernéticos mais populares no mundo atual incluem ataques de força bruta, injeção de SQL e ataques de DoS.

Observe essas estatísticas alarmantes:

  • De acordo com o Relatório Anual da Internet da Cisco (2018-2023), o número total de ataques de DDoS aumentará de 12,1 milhões em 2021 para 15,4 milhões em 2023 em todo o mundo 3
  • A Akamai observou 6,3 bilhões de ataques na web em todo o mundo em 2020. A injeção de SQL foi considerada o principal vetor de ataques na web. 4
  • Com base em novas descobertas, a Kaspersky afirmou que em 63% dos ataques cibernéticos investigados pela equipe Kaspersky Global Emergency Response, ataques de força bruta de senhas e a exploração de vulnerabilidades foram usados como vetores iniciais para comprometer o ambiente de uma organização 5

Neste recurso, vamos explorar cada um desses ataques, juntamente com técnicas para detectá-los nas suas fases iniciais.

Anterior Fundamentos da análise de logs do servidor web Próximo Ataques de força bruta

Ataques de força bruta

Em um ataque de força bruta, os hackers tentam adivinhar as credenciais de login de um usuário utilizando o método de tentativa e erro. Os ataques de força bruta são mais comuns em sistemas voltados para o público, também conhecidos como voltados para a Internet. Portanto, qualquer site ou formulário de login de aplicação provavelmente será alvo de um ataque de força bruta. Os invasores usam um bot ou script para testar diferentes combinações de nomes de usuário e senhas até invadirem a conta. Além de nomes de usuário e senhas, os invasores também tentam adivinhar senhas, e-mails, links ou diretórios e encontrar páginas web ocultas. Ao explorar páginas ocultas, eles podem obter acesso ao site principal.

Embora demorados, os ataques de força bruta ainda são muito populares e têm uma alta taxa de sucesso.

Algumas ferramentas comuns utilizadas esses ataques incluem THC Hydra, Aircrack-ng, John the Ripper e Hashcat.

Brute Force Attack

Repercussões de um ataque de força bruta

Se os invasores obtiverem acesso a uma conta protegida por senha (especialmente uma conta administrativa), eles poderão:

  • Desfigurar o site.
  • Explorar vulnerabilidades.
  • Injetar malware.
  • Inserir links de spam e prejudicar as classificações de SEO.
  • Recuperar informações confidenciais e publicá-las ou vendê-las.
  • Executar outro ataque ou derrubar o site visado.
  • Redirecionar os usuários para sites maliciosos.

Detecção de ataques de força bruta

O que seus logs podem dizer

Verifique seus logs em busca dos seguintes sinais de alerta:

  • Múltiplas solicitações em um período muito curto
  • Múltiplas solicitações com o mesmo nome de usuário e endereço IP, mas uma senha diferente para cada solicitação
  • Múltiplas solicitações com o mesmo endereço IP, mas nomes de usuário e senhas diferentes
  • Múltiplas solicitações com endereços IP diferentes direcionadas à mesma conta de usuário
  • Um agente de usuário ou referenciador suspeito
  • Consumo excessivo de largura de banda durante uma única sessão
  • Muitas solicitações em que a autenticação falhou
Um exemplo de ataque de força bruta

127.0.0.1 - - [10/Oct/2000:13:55:36 -0700] "GET /sample.com/?username=administrator&password=abcde&Login=Login HTTP/1.0" 200 2326 "http://www.sampleexample.com/start.html" "Mozilla/4.08 [en] (Win98; I ;Nav)"

127.0.0.1 - - [10/Oct/2000:13:55:37 -0700] "GET /sample.com/?username=administrator&password=12345&Login=Login HTTP/1.0" 200 2326 "http://www.sampleexample.com/start.html" "Mozilla/4.08 [en] (Win98; I ;Nav)"

127.0.0.1 - - [10/Oct/2000:13:55:38 -0700] "GET /sample.com/?username=administrator&password=admin&Login=Login HTTP/1.0" 200 2326 "http://www.sampleexample.com/start.html" "Mozilla/4.08 [en] (Win98; I ;Nav)"

127.0.0.1 - - [10/Oct/2000:13:55:39 -0700] "GET /sample.com/?username=administrator&password=abc123&Login=Login HTTP/1.0" 200 2326 "http://www.sampleexample.com/start.html" "Mozilla/4.08 [en] (Win98; I ;Nav)"

127.0.0.1 - - [10/Oct/2000:13:55:40 -0700] "GET /sample.com/?username=administrator&password=admin123&Login=Login HTTP/1.0" 200 2326 "http://www.sampleexample.com/start.html" "Mozilla/4.08 [en] (Win98; I ;Nav)"

Fonte: Cybrary

No exemplo acima, você pode ver que o invasor (com o mesmo endereço IP em cada solicitação) tem como alvo a senha da conta do administrador.

Dicas de especialistas para evitar ataques de força bruta

  • Senhas fracas são fáceis de quebrar. Utilize senhas longas e complexas. Elas são quase impossíveis de decifrar, pois mais combinações precisam ser testadas, o que requer tempo e poder de computação adicionais. São necessários 359,000 anos para quebrar uma senha com 13 caracteres.
  • Evite reutilizar senhas em sites.
  • Limite o número de tentativas de login que os usuários podem fazer em um período especificado.
  • Habilite o CAPTCHA para evitar bots e ferramentas automatizadas.
  • Implemente camadas adicionais de segurança, como autenticação multifator e aplique bloqueios de contas.
  • Utilize a ofuscação de dados.

Nossa recomendação:

Implemente uma solução de gerenciamento de informações e eventos de segurança (SIEM) que:

  • Verifica eventos de login em servidores e estações de trabalho críticos. Por exemplo, se um dispositivo apresentar vários logins malsucedidos em um curto espaço de tempo, o mecanismo de correlação de eventos da solução deverá reconhecer o padrão de ataque e emitir um alerta imediatamente. Ele também deve criar um relatório de incidente com detalhes sobre o dispositivo violado e eventos de login.
  • Permite-lhe navegar por uma linha do tempo detalhada de eventos para cada incidente detectado e detalhar o conteúdo bruto do log para obter informações detalhadas sobre contas comprometidas, dispositivos infectados e muito mais.
  • Utiliza a análise de entidade e comportamento do usuário (UEBA) para detectar atividades anômalas, como múltiplas tentativas de login malsucedidas, comprometimento de contas e tentativas de exfiltração de dados, e as investiga para detectar ataques nas suas etapas iniciais.
  • Rastreia atividades críticas, como bloqueios de contas, abuso de privilégios e cópias não autorizadas de dados confidenciais, usando relatórios predefinidos. Caso um evento suspeito seja detectado, uma notificação de alerta deverá ser enviada por e-mail ou SMS imediatamente.
Anterior Ataques comuns a servidores web Próximo Ataques de injeção SQL

Ataques de injeção SQL

técnica de injeção SQL refere-se à inserção de consultas SQL nos campos de entrada de formulários de aplicações web que aceitam entradas sem validá-las. Em vez de inserir a entrada esperada, os invasores inserem (ou injetam) uma consulta SQL para contornar a autenticação e acessar ou modificar o conteúdo do banco de dados subjacente. Apesar de ser um dos tipos de ataque mais antigos, ele ainda é muito popular e perigoso.

SQL Database

Repercussões de um ataque de injeção de SQL

Se o ataque for bem-sucedido, as seguintes situações podem ocorrer:

  • Os invasores obtêm acesso aos dados confidenciais armazenados em bancos de dados, como informações de identificação pessoal.
  • Manipulação ou exclusão do conteúdo armazenado no servidor de banco de dados.
  • Desfiguração do site.
  • Escalação de privilégios.

Detecção de ataques de injeção de SQL

O que seus logs podem dizer

Verifique seus logs em busca dos seguintes sinais de alerta:

  • Comandos SQL: SELECT, FROM, WHERE, UNION, AND, e muito mais
  • Scanners de vulnerabilidade, como sqlmap
  • Comandos relacionados ao sistema operacional, como exec, cat e muito mais.
  • Muitos caracteres codificados (como %)

Além disso, tente correlacionar vários arquivos de log para entender como o ataque ocorre.

Um exemplo de ataque de injeção de SQL:

127.0.0.1 - - [10/Oct/2000:13:55:36 -0700] "GET /sample.com/?id=a%27+or+1%3D1&Submit=Submit HTTP/1.0" 200 2326 "http://www.sampleexample.com/?id=1&Submit=Submit" "Mozilla/4.08 [en] (Win98; I ;Nav)"

Fonte: Cybrary

No exemplo acima, você pode ver o comando a' ou 1 = 1 sendo usado.

Sem os caracteres codificados, o arquivo de log acima terá o seguinte aspecto:

127.0.0.1 - - [10/Oct/2000:13:55:36 -0700] "GET /sample.com/?id=a'+or+1=1&Submit=Submit HTTP/1.0" 200 2326 "http://www.sampleexample.com/?id=1&Submit=Submit" "Mozilla/4.08 [en] (Win98; I ;Nav)"

Fonte: Cybrary

Aqui está outro exemplo.

Um exemplo de ataque de injeção de SQL:

127.0.0.1 - - [10/Oct/2000:13:55:36 -0700] "GET /sample.com/?id=%28SELECT%20%28CASE%20WHEN%20%281450%3D2167%29%20THEN%20%27%27%20ELSE%20%28SELECT%202167%20UNION%20SELECT%201463%29%20END%29%29 HTTP/1.1" 302 20 "-" sqlmap/1.3.6#stable (http://sqlmap.org)"

Fonte: Cybrary

No exemplo acima, você pode ver que eles estão usando comandos SQL, caracteres codificados, bem como o scanner de vulnerabilidade sqlmap.

Sem os caracteres codificados, o arquivo de log acima terá o seguinte aspecto:

127.0.0.1 - - [10/Oct/2000:13:55:36 -0700] "GET /sample.com/?id=(SELECT (CASE WHEN (1450=2167) THEN " ELSE (SELECT 2167 UNION SELECT 1463) END)) HTTP/1.1" 302 20 "-" sqlmap/1.3.6#stable (http://sqlmap.org)"

Fonte: Cybrary

Dicas de especialistas para evitar ataques de injeção de SQL

  • Higienize os insumos fornecidos pelo usuário. Valide os dados inseridos e certifique-se de que correspondem ao tipo de dados esperado.
  • Certifique-se de que todos os componentes de software da aplicação web estejam atualizados com os patches mais recentes.
  • Limite os privilégios do banco de dados. Isso pode ser feito implementando a arquitetura Zero Trus). O princípio fundamental do conceito é “Nunca confie, sempre verifique”. Qualquer usuário, aplicação ou dispositivo não terá acesso a menos que tenha sido completamente auditado e verificado. O princípio do menor privilégio (PoLP) é um componente importante deste. A implementação do PoLP assegura que uma conta tenha acesso apenas suficiente para cumprir suas responsabilidades, o que evita que um invasor obtenha acesso a dados confidenciais caso comprometa a conta.
  • Não exiba mensagens de erro de banco de dados no navegador do cliente, pois os invasores podem usá-las em seu benefício.
  • Descubra vulnerabilidades na sua aplicação web e as corrija.
  • Use consultas parametrizadas e instruções preparadas.
  • Implemente um firewall de aplicações web (WAF). Um WAF atua como uma barreira na frente do servidor web, monitorando o tráfego de entrada e saída e bloqueando solicitações que parecem conter código SQL malicioso.

Nossa recomendação

Implemente uma solução de SIEM que:

  • Audita atividades nos seus bancos de dados SQL ou Oracle e servidores web IIS ou Apache com relatórios predefinidos e gera alertas instantâneos sobre qualquer evento que represente uma ameaça à segurança.
  • Correlaciona logs de auditoria SQL com informações coletadas de outras fontes de eventos para detectar tentativas de violação de dados em uma etapa inicial. A solução de SIEM também deve fornecer regras de correlação de injeção de SQL prontas para uso para vários padrões de ataque.
  • Fornece relatórios detalhados sobre injeção SQL para ajudá-lo a realizar análises forenses detalhadas sobre como o ataque ocorreu.
Anterior Ataques de força bruta Próximo Ataques de DoS
 

Ataques de DoS

O site que você está tentando acessar está fora do ar?

Isso pode ser provocado por um ataque de DoS em andamento. Em um ataque deste tipo, o objetivo do invasor é inundar um servidor web alvo com solicitações supérfluas, esgotar seus recursos e fazer com que ele trave, tornando-se inacessível aos usuários pretendidos. Quando o servidor web alvo é bombardeado com muito tráfego em um curto espaço de tempo, ele fica sobrecarregado e não consegue processar solicitações provenientes de usuários legítimos. Os setores da saúde e educação são os mais afetados por este tipo de ataque, uma vez que o tempo de inatividade das empresas é muito caro nessas áreas. O setor da educação registou um aumento de 41% em ataques de DDoS entre julho de 2020 e março de 2021.6

Denial of Service
Qual é a diferença entre um ataque de DoS e um ataque de DDoS?

A técnica de ataque de DoS usa uma fonte maliciosa que inunda o servidor web com uma enorme quantidade de solicitações.

Por outro lado, em um ataque de DDoS, múltiplas fontes maliciosas que atuam em conjunto atacam um único alvo simultaneamente. Essas múltiplas máquinas host são conhecidas como bots ou sistemas zumbis. Juntas, elas formam uma botnet utilizada para realizar ataques em larga escala por cibercriminosos. Os verdadeiros proprietários desses sistemas comprometidos podem nem saber que seu sistema está agindo como um bot, pois ele continua funcionando normalmente. Como as solicitações supérfluas em um ataque de DDoS são provenientes de vários locais, a origem exata do ataque é disfarçada, tornando difícil detectá-lo e interrompê-lo.

Um ataque de DDoS tem o potencial de causar sérias ramificações financeiras para pequenas e grandes empresas. Está é uma grande ameaça para empresas, organizações sem fins lucrativos e governos em todo o mundo. Imagine um ataque em grande escala que impeça os clientes de acessar uma plataforma de e-commerce. Isso poderia levar a uma perda de milhões de dólares para a empresa que administra o negócio.7 Além disso, uma vez que uma empresa esteja sob ataque, há 82% de chance de que ela será atacada novamente. 8

Com o aumento no uso de dispositivos de IoT, os ataques de DDoS tornaram-se cada vez mais proeminentes. Algumas vezes, os criminosos cibernéticos também utilizam a DDoS como tática de distração enquanto executam outros ataques cibernéticos graves.

Detectação de ataques de DoS e DDoS

O melhor método preventivo que você pode adotar para um ataque de DoS ou DDoS é monitorar e analisar sua rede continuamente.

Detecção precoce de um ataque de DDoS

Os seguintes problemas podem indicar um possível ataque de DoS ou DDoS:

  • O site não está acessível
  • O desempenho da rede é muito lento – aumento no tempo de carregamento ao acessar arquivos e sites
O que seus logs podem dizer

Verifique seus logs em busca dos seguintes sinais de alerta:

Você tem centenas de registros onde:

  • O servidor está retornando um código de resposta HTTP 503 Serviço indisponível de maneira intermitente ou permanente. Este código de resposta indica que o servidor está inativo.
  • O servidor está retornando um código de resposta HTTP 404 Não encontrado. Isso indica que o servidor não conseguiu responder à solicitação.
  • O mesmo endereço IP está tentando estabelecer uma conexão com portas diferentes e o status da conexão é TIME_WAIT.

Monitorar um código de resposta 404 seria uma escolha muito melhor em comparação com rastrear um código de resposta 503, pois este último indica que o servidor já está inativo e a ameaça não pode ser evitada. 9

Para descobrir se o seu servidor está sob ataque, você pode abrir o prompt de comando do Windows e executar o seguinte comando para ver a lista de conexões ativas junto com seu status de conexão.10

Prompt

Dicas de especialistas para prevenir ataques de DoS e DDoS

Monitore o tráfego da sua rede continuamente em busca de picos inesperados. A análise da origem e do tipo de tráfego pode fornecer informações adicionais. A maioria dos invasores testará as defesas da sua rede antes de executar um ataque completo. Procure identificar tráfego de dados incomum proveniente de endereços IP ou localizações geográficas suspeitas.

Nossa recomendação

Implemente uma solução de SIEM que:

  • Audita dados de logs dos seus dispositivos de segurança de rede, como firewalls, IDSs e IPSs, e detecta instantaneamente ataques de DoS ou DDoS em tempo real.
  • Rastreie a atividade do servidor web e detecte solicitações de conexão recorrentes de qualquer IP ou local específico.
  • Usa relatórios e alertas predefinidos projetados especificamente para detectar ataques de DoS.
Anterior Ataques de injeção de SQL Próximo Sobre o Log360
 

Sobre o Log360

É impossível monitorar e analisar manualmente terabytes de dados de logs todos os dias. Uma solução de SIEM automatiza todo o processo de coleta de arquivos de logs de vários dispositivos de rede, analisando-os para fornecer insights valiosos à equipe de segurança. Ao auditar a atividade do servidor web, uma solução de SIEM pode detectar qualquer ataque instantaneamente e alertá-lo em tempo real.

O Log360 da ManageEngine, uma solução de SIEM unificada com recursos integrados de DLP e CASB, audita minuciosamente os logs dos servidores web IIS e Apache e fornece insights acionáveis por meio de relatórios predefinidos e perfis de alerta. Seu mecanismo de correlação em tempo real e sua plataforma de inteligência de ameaças podem ajudar as empresas a detectar violações de dados em tempo real. Os relatórios gráficos do Log360 fornecerão informações detalhadas sobre eventos importantes que ocorrem no seu servidor web, como falha na autenticação ou solicitações de URL incorretas. Você pode receber alertas instantâneos sobre eventos que representam uma ameaça à segurança. É assim que uma solução de SIEM como o Log360 ajuda a reduzir o tempo necessário para detectar e responder a ameaças.

Confira nossa solução de SIEM unificada, o Log360

Baixar Solicite uma demonstração personalizada
Anterior Ataques de DoS Próximo Referências

Referências

Anterior Sobre o Log360
Kindly fill the form to access all chapters.
Welcome,  

Zoho Corporation Pvt. Ltd. All rights reserved.