Não perca as ofertas da Promoção de Ano Novo!
search
In this article

Como configurar o Fail2Ban para proteger seu servidor Linux

Como configurar o Fail2Ban para proteger seu servidor Linux

O Fail2Ban é possivelmente o melhor software para cuidar da segurança de um servidor Linux e protegê-lo contra ataques automatizados. Quando habilitado, ele oferece diversas regras customizáveis, permitindo banir endereços de origem que possam tentar obter acesso à sua máquina.

Neste artigo, vamos explicar o que é o Fail2Ban e em quais situações ele é útil. Também vamos mostrar como você pode instalar e configurar o Fail2Ban no CentOS e em outras distribuições do Linux.

Como Instalar o Fail2Ban

Para instalar o serviço do Fail2Ban, conecte-se com acesso root à sua VPS usando um cliente SSH como Terminal (macOS e Linux) ou PuTTY (Windows).

Ubuntu:

Aqui está como instalar o Fail2Ban no Ubuntu:

Aqui está como instalar o Fail2Ban no Ubuntu:

  1. Antes de instalar um novo pacote, recomendamos que você atualize o repositório o software do sistema. Rode o seguinte comando:
    apt-get update && apt-get upgrade
  2. Instale o pacote Fail2Ban rodando o comando abaixo:
    apt-get install fail2ban
  3. Se você quiser adicionar suporte a emails no serviço do Fail2Ban, insira o seguinte comando e pressione Enter:
    apt-get install sendmail
  4. Verifique o status do Fail2Ban usando o seguinte comando:
    sudo systemctl status fail2ban

CentOS:

Siga estes passos para instalar o Fail2Ban no CentOS:

  1. O Fail2Ban para o CentOS7 é incluído no repositório dos Pacotes Adicionais para Enterprise Linux (EPEL). Para baixá-lo, rode o comando abaixo:
    sudo yum install epel-release
  2. Assim que tiver terminado isso, insira o seguinte comando para instalar o Fail2Ban e pressione Enter:
    sudo yum install fail2ban
  3. Habilite o serviço e o inicie com os seguintes comandos:
    sudo systemctl enable fail2ban
    sudo systemctl start fail2ban

Debian:

Aqui está como instalar o Fail2Ban no Debian:

  1. Digite o comando abaixo para atualize e fazer upgrade do seu repositório de sistema, e então pressione Enter:
    apt-get update && apt-get upgrade -y
  2. Prossiga com a instalação do Fail2Ban usando o seguinte comando:
    apt-get install fail2ban
  3. Se você quiser adicionar suporte a emails, instale o Sendmail rodando este comando:
    apt-get install sendmail-bin sendmail
  4. Aqui está como conferir o status do Fail2Ban:
    systemctl status fail2ban

Fedora

Siga estas instruções para instalar o Fail2Ban no Fedora:

  1. Insira o comando abaixo e pressione Enter para atualizar o repositório do seu sistema:
    dnf update
  2. Instale o Fail2Ban usando este comando:
    dnf install fail2ban
  3. Se você quiser instalar o Sendmail, digite o seguinte comando e pressione Enter:
    dnf install sendmail
  4. Rode os seguintes comandos para iniciar e habilitar o serviço do Fail2Ban:
    systemctl start fail2ban
    systemctl enable fail2ban
  5. Se você adicionou o Sendmail, rode os seguintes códigos para iniciá-lo e habilitá-lo:
    systemctl start sendmail
    systemctl enable sendmail

Como Configurar o Fail2Ban

Depois de instalar o Fail2Ban, considere configurá-lo. Nesta seção, vamos explorar como fazer isso usando os arquivos fail2ban.local e jail.local.

Como Editar as Configurações Padrões com o fail2ban.local (Opcional)

O arquivo fail2ban.conf abriga as configurações básicas do Fail2Ban. Ele contém as configurações globais e não deve ser modificado.

Se você quiser fazer quaisquer alterações, recomendamos criar um arquivo local. Faça uma cópia do fail2ban.conf e renomeie-o para fail2ban.local para sobrescrever o perfil de configuração padrão.

Confira abaixo como mudar o nome da cópia e definir as configurações do arquivo fail2ban.local:

  1. Renomeie o arquivo fail2ban.local rodando o comando abaixo. Tenha em mente que ele não vai produzir nenhuma resposta:
    cp /etc/fail2ban/fail2ban.conf /etc/fail2ban/fail2ban.local
  2. Digite o seguinte comando e pressione Enter para abrir o arquivo:
    sudo nano /etc/fail2ban/fail2ban.local
  3. Agora você pode editar as definições dentro do arquivo.
    loglevel = INFO

Vamos conferir as opções e os valores que podem ser escolhidos.

Defina o log output level (nível de saída de registro) como:

  • CRITICAL (CRÍTICO) – condições de emergência que devem ser investigadas imediatamente.
  • ERROR (ERRO) – algo deu errado mas não é crítico.
  • WARNING (AVISO) – uma condição potencialmente prejudicial.
  • NOTICE (NOTIFICAÇÃO) – uma condição normal porém significativa.
  • INFO (INFORMAÇÃO) – mensagens informativas que podem ser ignoradas.
  • DEBUG (DEPURAÇÃO) – mensagens de nível de depuração
logtarget = STDERR

Registre as ações em um soquete de destino específico, que pode ser:

  • FILE (ARQUIVO) – determina um arquivo de soquete como saída.
  • SYSLOG – determina um arquivo de log baseado em mensagem como saída.
  • STDERR — determina um erro padrão como saída.
  • STDOUT — saída padrão.
syslogsocket = auto

Determine o arquivo de soquete syslog para auto ou file (Se você definiu o logtarget como SYSLOG).

socket = /var/run/fail2ban/fail2ban.sock

Defina o arquivo de soquete para se comunicar com o daemon. A localização padrão é /var/run/fail2ban/fail2ban.sock.

opção socket no fail2ban
pidfile = /var/run/fail2ban/fail2ban.pid

Configure o arquivo PID para armazenar o ID do processo no servidor Fail2Ban. A localização padrão é /var/run/fail2ban/fail2ban.pid.

Como Definir o Arquivo de Configuração jail.local

O Fail2Ban possui outro arquivo de configuração chamado jail.conf, que inclui jails — filtros com ações. Contudo, os usuários não devem modificar este arquivo diretamente, pois ele contém o conjunto de regras básicas para o software.

Ao invés disso, faça uma cópia do arquivo original e dê a ele o nome de jail.local. Fazendo isso, você poderá customizar e configurar filtros e ações, incluindo ignoreip, bantime, findtime, maxretry e backend.

ignoreip

Este recurso requer que você especifique endereços de IP confiáveis, hosts DNS ou máscaras CIDR que o Fail2Ban deve ignorar. Este parâmetro permite todo o tráfego vindo das fontes especificadas. Você pode adicionar múltiplos endereços e separá-los com um espaço.

trecho da opção ignoreip

bantime

Este parâmetro define o tempo depois do qual um cliente será banido após uma tentativa falha de autenticação. O tempo de banimento é medido em segundos e o número padrão é 600 (10 minutos).

trecho do parametro bantime

findtime

Esta configuração determinar o período para tentativas falhas de login. Se a autenticação de um host falha um certo número de vezes (baseado na configuração maxretry) durante determinado período, o seu endereço de IP será banido.

parametro findtime no fail2ban

maxretry

O maxretry funciona junto do findtime — ele determina o número máximo de tentativas de login mal-sucedidas dentro de uma janela de tempo pré-definida. O valor padrão é 5

parametro maxretry

backend

Este recurso permite que você especifique a configuração de backend para a modificação de arquivos. O valor padrão é auto, mas se você usar o CentOS ou o Fedora, ele precisa ser systemd.

Confira os recursos disponíveis, dentre os quais você pode escolher:

  • pynotify – monitora as mudanças do sistema de arquivos em tempo real e requer a instalação de um monitor de alteração de arquivo.
  • gamin – o mesmo que o pynotify, mas exige uma ferramenta Gamin.
  • polling – usa um algoritmo de pesquisa que não requer bibliotecas externas.
  • systemd – usa a biblioteca python systemd para acessar o diário do systemd.
  • auto – vai usar os valors anteriores nesta ordem: pynotify, gamin e polling.
parametro backend no fail2ban

Você também pode definir configurações adicionais no arquivo jail.local, incluindo definições de SSH e iptables. As opções disponíveis incluem:

  • banaction – define qual a ação padrão para usar quando o limite do maxretry é atingido. Se você usar o firewalld, defina o valor para firewallcmd-ipset. Contudo, se você configurou o UFW como o seu firewell, mude o valor para ufw.
  • banaction_allports – permite que você rotule e bloqueie endereços de IP em todas as portas. Se você usa o firewalld, defina o valor para firewallcmd-ipset.
  • port – o valor deve ser correspondente ao definido anteriormente. Se você usa a porta padrão, mude o valor para o padrão do serviço. Se você usa uma pota não tradicional, coloque o seu número aqui.
  • filter – o nome do arquivo localizado em /etc/fail2ban/filter.d contém a informação do failregex usada para para analisar arquivos de log.

Conclusão

O Fail2Ban é um software de análise de logs que ajuda a proteger servidores web baseados em Linux de ciberataques.

Este artigo demonstrou como instalar o Fail2Ban em sistemas operacionais populares, como CentOS, Ubuntu, Debian e Fedora. Também explicamos como editar o fail2ban.local e o jail.local, os arquivos de configuração do software.

Esperamos que este artigo tenha ajudado você a configurar o Fail2Ban no seu servidor Linux. Se você tiver quaisquer dúvidas ou sugestões, deixe-as na seção de comentários abaixo.

Eu Preciso do Fail2Ban?

Sim, é uma parte essencial da infraestrutura de segurança do seu servidor. O Fail2Ban vai ajudar a manter sua máquina segura de ciberataques que tentem mexer com suas credenciais de login.

O Fail2Ban Funciona com UFW?

O UFW é uma camada de segurança adicional para proteger seu VPS de ataques de port-scanning. Apesar do Fail2Ban usar iptables como o sistema padrão de firewall, você pode customizar o software e habilitar o UFW no seu lugar.

O Fail2Ban evita ataques DDoS?

Um ataque DDoS é uma tentativa maliciosa de interromper a operação de um servidor ou serviço ao enchê-los de solicitações falsas. Usando o arquivo de configuração jail do Fail2Ban, você pode criar regras customizadas para detectar solicitações excessivas e bloquear suas fontes.

O Fail2Ban Funciona Assim que eu Instalar?

O Fail2Ban fica ativo e rodando assim que você habilitá-lo. Os usuários não precisam modificar sua configuração, já que o software oferece uma proteção razoável por padrão.

Semua konten tutorial di website ini telah melalui peninjauan menyeluruh sesuai padrões editoriais e valores da Hostinger.

Author
O autor

Carlos E.

Carlos Estrella é formado em jornalismo pela UFSC e tem as funções de redator, tradutor e SEO na Hostinger Brasil. Já trabalhou com jornalismo de games e tecnologia e hoje aplica essa experiência escrevendo posts e tutoriais no blog da Hostinger. Suas paixões incluem games, dar rolês com a namorada e amigos e ler artigos aleatórios da Wikipédia de madrugada.

O que dizem nossos clientes

Deixe uma resposta

Por gentileza, preencha os campos solicitados.Marque o campo de aceitação da privacidade.Preencha os campos necessários e marque a opção de aceitar termos de privacidade.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Thank you! Your comment has been successfully submitted. It will be approved within the next 24 hours.