Linux Server Deployment & SSH Mastery · Aula

Detecção e Prevenção de Intrusões

Configure sistemas de detecção de intrusões (IDS), como o Fail2Ban, e entenda os princípios dos sistemas de prevenção de intrusões (IPS) para defender ativamente seu servidor.

Aula 3 de 411 etapas

Detecção e Prevenção de Intrusões é uma aula grátis de Linux Server Deployment & SSH Mastery no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Linux Server Deployment & SSH Mastery, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Linux Server Deployment & SSH Mastery inclui 4 aulas no total.

Além dos firewalls: defesa ativa

Bem-vindo à lição final sobre segurança de servidores! Abordamos firewalls e auditorias, que são fundamentais para a prevenção. Mas o que acontece se um invasor determinado tentar contornar essas defesas?

Esta lição apresenta os sistemas de detecção de intrusão (IDS) e os sistemas de prevenção de intrusão (IPS). Essas ferramentas oferecem uma camada extra de defesa ativa, ajudando você a identificar e interromper atividades maliciosas no servidor.

O que é um IDS?

Um sistema de detecção de intrusão (IDS) é como um segurança que observa constantemente atividades suspeitas. Ele monitora o tráfego de rede do servidor ou os registros do sistema em busca de padrões que indiquem um ataque.

  • Monitoramento passivo: um IDS detecta ameaças e alerta você sobre elas.
  • Sem bloqueio: ele não bloqueia nem impede ativamente a intrusão. Sua função é apenas notificar.
  • Exemplos: ferramentas como Snort ou Suricata podem atuar como IDS baseados em rede, analisando dados de entrada e de saída.

O que é um IPS?

Um sistema de prevenção de intrusão (IPS) leva o conceito de IDS um passo adiante. Em vez de apenas emitir alertas, um IPS intervém ativamente para interromper as ameaças detectadas.

  • Proteção ativa: ele pode bloquear automaticamente endereços IP maliciosos, encerrar conexões suspeitas ou descartar pacotes nocivos.
  • Foco na prevenção: o objetivo é impedir que a intrusão seja bem-sucedida em tempo real.
  • Fail2Ban: um exemplo popular de IPS baseado no host, no qual vamos nos concentrar hoje.

Apresentando o Fail2Ban

O Fail2Ban é um IPS poderoso e de código aberto baseado no host. Ele funciona examinando arquivos de registro (como os de SSH, servidores web ou servidores de e-mail) em busca de repetidas tentativas de login malsucedidas ou outros padrões suspeitos.

Quando detecta tentativas malsucedidas demais de um único endereço IP dentro de um período especificado, o Fail2Ban atualiza automaticamente as regras do firewall do servidor para banir temporária ou permanentemente esse endereço IP.

Como o Fail2Ban funciona

O Fail2Ban funciona com base em três conceitos principais:

  • Filtros: são expressões regulares que definem os padrões a serem procurados nos arquivos de registro (por exemplo, 'failed password for root').
  • Jails: um jail combina um filtro com uma ação. Ele especifica qual arquivo de registro monitorar, qual filtro usar e qual ação executar quando as condições do filtro forem atendidas.
  • Ações: são os comandos executados quando um IP é banido, normalmente modificando as regras do firewall (como iptables ou ufw) para bloquear o IP de origem.

Instalando o Fail2Ban

O Fail2Ban está disponível nos repositórios padrão da maioria das distribuições Linux. Vamos instalá-lo em um sistema baseado em Debian (como o Ubuntu).

Primeiro, atualize a lista de pacotes e depois instale o pacote fail2ban:

sudo apt update
sudo apt install fail2ban

Configuração básica: jail.local

O principal arquivo de configuração do Fail2Ban é /etc/fail2ban/jail.conf. No entanto, você nunca deve editar esse arquivo diretamente, pois ele pode ser substituído durante as atualizações.

Em vez disso, crie uma cópia chamada /etc/fail2ban/jail.local e faça suas alterações nela. Esse arquivo substitui as configurações de jail.conf.

Veja algumas configurações globais importantes que você pode definir em jail.local:

  • bantime: por quanto tempo um IP fica banido (por exemplo, 10m para 10 minutos).
  • findtime: o intervalo durante o qual as tentativas malsucedidas são contabilizadas (por exemplo, 10m).
  • maxretry: número de tentativas malsucedidas antes que um IP seja banido (por exemplo, 5).

Ativando a proteção do SSH

Um dos usos mais comuns do Fail2Ban é proteger o SSH contra ataques de força bruta. No arquivo /etc/fail2ban/jail.local, você encontrará seções para diferentes serviços, chamadas de 'jails'.

Para ativar o jail do SSH, normalmente basta definir enabled = true na seção [sshd]. Você também pode personalizar os valores de bantime, findtime e maxretry.

Depois de editar o arquivo, reinicie o Fail2Ban para que as alterações entrem em vigor:

[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 1h

sudo systemctl restart fail2ban

Monitorando o Fail2Ban

Depois de configurar e iniciar o Fail2Ban, você deverá verificar o status dele e confirmar se está banindo IPs ativamente. Para isso, use o comando fail2ban-client.

Para verificar o status geral do Fail2Ban:

sudo systemctl status fail2ban

Verificação rápida: configuração do Fail2Ban

Você configurou o Fail2Ban para proteger seu serviço SSH. Definiu maxretry = 3 e bantime = 1h.

Um invasor tenta fazer login por SSH:

  1. Login malsucedido às 10:00:00
  2. Login malsucedido às 10:00:30
  3. Login malsucedido às 10:01:00
  4. Login malsucedido às 10:01:30

Supondo que findtime esteja definido como 10 minutos, o que acontece com o endereço IP do invasor?

Revisão: IDS, IPS e Fail2Ban

Excelente trabalho! Você aprendeu a adicionar uma camada ativa de defesa ao seu servidor:

  • IDS (sistema de detecção de intrusão) detecta e alerta sobre atividades suspeitas.
  • IPS (sistema de prevenção de intrusão) detecta, alerta e bloqueia ativamente as ameaças.
  • Fail2Ban é um IPS baseado no host que examina os registros em busca de padrões maliciosos e bane os endereços IP responsáveis, atualizando as regras do firewall.
  • Você aprendeu a instalar o Fail2Ban, configurar definições globais em jail.local, ativar jails específicos (como o SSH) e monitorar o status deles.

Implementar o Fail2Ban aumenta significativamente a resistência do servidor contra ataques de força bruta e outras ameaças automatizadas. Continue praticando essas habilidades para criar sistemas realmente robustos e seguros!

Grátis para começar

Aprenda Linux Server Deployment & SSH Mastery com um tutor de IA — grátis

Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.

Cursos
12
Aulas
48

Perguntas Frequentes

A aula “Detecção e Prevenção de Intrusões” é grátis?

Sim — o texto completo de “Detecção e Prevenção de Intrusões” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Linux Server Deployment & SSH Mastery, atualize para CoddyKit PRO. O curso de Linux Server Deployment & SSH Mastery inclui 4 aulas no total.

O que vou aprender em “Detecção e Prevenção de Intrusões”?

Configure sistemas de detecção de intrusões (IDS), como o Fail2Ban, e entenda os princípios dos sistemas de prevenção de intrusões (IPS) para defender ativamente seu servidor. Você pratica Linux Server Deployment & SSH Mastery com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Linux Server Deployment & SSH Mastery?

Nenhuma experiência prévia é necessária. Linux Server Deployment & SSH Mastery no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.

Quanto tempo leva a aula “Detecção e Prevenção de Intrusões”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Linux Server Deployment & SSH Mastery?

Sim. Cada aula de Linux Server Deployment & SSH Mastery inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Auditoria de Segurança do Servidor
  2. Regras Avançadas de Firewall (IPTables)
  3. Detecção e Prevenção de Intrusões
  4. Registro Centralizado e Integração com SIEM
← Voltar para Linux Server Deployment & SSH Mastery