Tema Jannah A licença não é validada, vá para a página de opções do tema para validar a licença, você precisa de uma única licença para cada nome de domínio.

Como proteger seu servidor com Fail2Ban no Linux

A segurança do servidor é uma prioridade para qualquer empresa ou organização. Fail2Ban é uma das ferramentas mais importantes no kit de ferramentas de um administrador de sistema. Este guia explica o que é Fail2Ban e como você pode proteger seu servidor com Fail2Ban em seu Linux contra ataques.

install-fail2ban-linux-00-featured-image-800x400.jpg Como proteger seu servidor com Fail2Ban no Linux
O que é Fail2Ban?

Fail2Ban é uma ferramenta de prevenção de intrusão que monitora arquivos de log e bloqueia endereços IP que mostram sinais de atividade maliciosa. Ele faz isso criando "filtros" que correspondem a certos padrões em arquivos de log e executam ações, como bloquear o endereço IP ofensivo.

Por que usar Fail2Ban no Linux?

Existem várias razões para usar o Fail2Ban no Linux. talvez:

  • Ele economiza seu tempo bloqueando automaticamente endereços IP maliciosos.
  • Ajude a proteger seu servidor reduzindo as chances de sucesso de um ataque.
  • Isso lhe dá tranquilidade sabendo que seu servidor está sendo monitorado e protegido.

Instalar Fail2Ban no Linux

Por padrão, o Fail2Ban está disponível nos repositórios do Ubuntu. Instale-o usando o apt.

sudo add-apt-repository universe sudo apt update && sudo apt install fail2ban -y

install-fail2ban-linux-01-installing-fail2ban.png Como proteger seu servidor com Fail2Ban no Linux

O Fail2Ban definirá seu serviço em segundo plano, mas o systemd o desativará por padrão. Você pode iniciá-lo e ativá-lo com os seguintes comandos:

sudo systemctl iniciar fail2ban sudo systemctl habilitar fail2ban

Verifique se o Fail2Ban está em execução com o seguinte comando:

status sudo systemctl fail2ban

Você verá uma saída semelhante à imagem abaixo.

install-fail2ban-linux-02-systemd-service-status.png Como proteger seu servidor com Fail2Ban no Linux

Configurar Fail2Ban no Linux

O diretório “/etc/fail2ban” contém os arquivos de configuração para Fail2Ban. Por padrão, o Fail2Ban vem com um arquivo “jail.conf” que contém as configurações que serão aplicadas a todos os serviços.

install-fail2ban-linux-03-program-etc-directory.png Como proteger seu servidor com Fail2Ban no Linux

No entanto, é uma boa prática criar um arquivo “jail.local” local e substituir as configurações em “jail.conf”, pois quaisquer alterações feitas em “jail.conf” serão perdidas sempre que o software for atualizado.

Você pode criar seu arquivo “jail.local” com os seguintes comandos:

sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

Abra o arquivo jail.local para editá-lo:

sudo nano /etc/fail2ban/jail.local

install-fail2ban-linux-04-jail-local-file.png Como proteger seu servidor com Fail2Ban no Linux

Bom saber: aprenda Como habilitar logins SSH sem senha no LINUX.

Explore o arquivo jail.local

Você verá uma saída semelhante à mostrada abaixo e poderá ficar sobrecarregado com o número de opções disponíveis. Mas não se preocupe, orientamos você pelas opções mais importantes.

install-fail2ban-linux-05-jail-local-crop-comment.png Como proteger seu servidor com Fail2Ban no Linux

Você verá um ícone "#" no início da linha, indicando que é um comentário. Fail2Ban os usa para explicar o que uma configuração específica faz. Você pode ativar algumas configurações aqui removendo este ícone.

Contém uma seção "[PADRÃO]" sobre as opções aplicáveis ​​a todas as prisões. Esta é a configuração geral do Fail2Ban. A captura de tela a seguir mostra um exemplo.

Leia também:  Como fazer com que o Terminal complete automaticamente comandos para aplicativos de linha de comando

install-fail2ban-linux-06-jail-local-bantime-crop.png Como proteger seu servidor com Fail2Ban no Linux

Há também outras seções que começam com o nome do serviço. Esta prisão se aplica a um serviço específico no topo das prisões do mundo.

Por exemplo, há uma seção para uma prisão "ssh". Esta seção contém as opções para o serviço sshd.

install-fail2ban-linux-07-jail-local-sshd-crop.png Como proteger seu servidor com Fail2Ban no Linux

Dica: você também pode aprender mais sobre a proteção do servidor em Proteja seu servidor SSH.

Ative o recurso Autoban

Ir para configuração “bantime = 1he retire o código "#" no início da linha para ativá-lo. Esta linha define quanto tempo o Fail2Ban levará para desabilitar o endereço IP. A unidade padrão é XNUMX hora. Você também pode usar outras unidades, como minutos (M) ou dias (D) ou mesmo semanas (c).

install-fail2ban-linux-08-enable-bantime-length.png Como proteger seu servidor com Fail2Ban no Linux

Você pode aumentar ou diminuir esse valor como achar melhor. Por exemplo, você pode alterar esse valor para 30 metros para reduzir a duração do bloco para 30 minutos.

install-fail2ban-linux-09-reduce-bantime-length.png Como proteger seu servidor com Fail2Ban no Linux

Alterar o comprimento padrão da janela de login

As próximas configurações são "maxretry" e "findtime". Eles limitam o número de tentativas de login que um invasor pode fazer antes que o Fail2Ban bloqueie seu endereço IP.

Os valores padrão para “maxretry” e “findtime” são 5 e 10 m. Se um IP falhar na autenticação cinco vezes em dez minutos, Fail2Ban irá bloqueá-lo pela duração especificada pela configuração de bantime.

install-fail2ban-linux-10-maximum-login-attempts.png Como proteger seu servidor com Fail2Ban no Linux

Você pode alterar esses valores para o que quiser. Por exemplo, você pode definir “maxretry” para 3 e “findtime” para 5m: Fail2Ban desativará um endereço IP se ele falhar na autenticação três vezes em cinco minutos.

install-fail2ban-linux-11-reduce-maximum-login-attempts.png Como proteger seu servidor com Fail2Ban no Linux

Ative o recurso de notificação Fail2Ban no Linux

As seguintes configurações são destemail, sendername e mta. Essas configurações são o que o Fail2Ban usará para configurar as notificações por e-mail.

  • Configuração de e-mail é o endereço de e-mail para o qual o programa enviará suas notificações.
  • O nome do remetente é o nome que aparecerá no campo De do e-mail de notificação.
  • mta é o agente de transferência de e-mail que o Fail2Ban usará para enviar e-mails. O padrão do mta é sendmail , mas você pode alterá-lo para algo como mail.

Se você deseja receber notificações por e-mail, é necessário descomentar essas linhas e inserir os valores apropriados conforme mostrado.

install-fail2ban-linux-12-email-settings.png Como proteger seu servidor com Fail2Ban no Linux

Quando ocorrer um banimento, você receberá uma notificação por e-mail com detalhes sobre o banimento conforme mostrado.

install-fail2ban-linux-13-sample-mail-notification.png Como proteger seu servidor com Fail2Ban no Linux

Crie ordens de bloqueio personalizadas

A próxima configuração é “action_=.” Isso especifica a ação que o Fail2ban executa quando bloqueia um endereço IP. O padrão é usar iptables para bloquear o IP até que o “bantime” expire.

Você também pode usar outros procedimentos, conforme descrito abaixo. Este tutorial segue a configuração padrão para simplificar.

  • ação_mw: Envia uma notificação por e-mail quando um endereço IP é bloqueado, juntamente com informações WHOIS relevantes.
  • ação_mwl: Envia uma notificação por e-mail quando um endereço IP é bloqueado, juntamente com as informações WHOIS relevantes e as entradas do arquivo de log que levaram ao bloqueio.
  • ação_xarf: Envia uma notificação por e-mail X-ARF quando um endereço IP é bloqueado junto com as entradas do arquivo de log que acionaram o bloqueio.
Leia também:  Como instalar fontes do Google e da Microsoft no Linux

Muitos outros procedimentos estão disponíveis, mas é impossível abordá-los todos neste tutorial. você pode Leia sobre todos os procedimentos disponíveis Na documentação do Fail2ban.

install-fail2ban-linux-14-fail2ban-action-lists.png Como proteger seu servidor com Fail2Ban no Linux

Habilitar configuração para o serviço

Além de configurar o comportamento padrão do Fail2ban, também é possível usar arquivos de filtro pré-fabricados para alguns serviços populares da Internet. Esses são pequenos arquivos escritos por desenvolvedores para procurar saídas de log específicas para um determinado servidor.

Por exemplo, o arquivo “apache-shellshock.conf” contém todas as configurações necessárias para permitir que o Fail2ban verifique qualquer tentativa maliciosa de gerar um erro de shellshock.

install-fail2ban-linux-15-sample-filter-file.png Como proteger seu servidor com Fail2Ban no Linux

Você pode encontrar todos os arquivos de filtro disponíveis para o seu sistema listando o diretório “/etc/fail2ban/filter.d”:

ls /etc/fail2ban/filter.d

install-fail2ban-linux-16-list-all-filter-files.png Como proteger seu servidor com Fail2Ban no Linux

Depois de saber os filtros que deseja usar, diga ao Fail2ban para carregá-los durante a inicialização, abrindo seu arquivo “jail.local”:

sudo nano /etc/fail2ban/jail.local

Crie um espaço em “jail.local” onde você pode ativar seus novos filtros. Eu crio o meu próprio entre o título do comentário e o bloco [INCLUI].

install-fail2ban-linux-17-create-new-space.png Como proteger seu servidor com Fail2Ban no Linux

Adicione os filtros que deseja ativar. Por exemplo, o seguinte é um trecho que estou usando em minha configuração:

# Comentários: use '#' para linhas de comentário e ';' (seguindo um espaço) para comentários embutidos [sshd] ativado = verdadeiro [nginx-bad-request] ativado = verdadeiro [bitwarden] ativado = verdadeiro [INCLUI]

install-fail2ban-linux-18-add-new-filter-modules.png Como proteger seu servidor com Fail2Ban no Linux

Feito isso, salve e feche o arquivo. Reinicie o fail2ban para aplicar as alterações.

sudo systemctl reiniciar fail2ban

Teste sua configuração

Agora que você configurou o Fail2Ban no Linux, é hora de testá-lo.

A maneira mais simples de testar sua configuração é tentar fazer login com a senha incorreta várias vezes em rápida sucessão. Você pode usar uma conexão SSH para fazer isso.

Na máquina de eliminação, tente SSH em seu servidor Fail2ban usando o nome de usuário 'admin'. Substitua “your_server_ip_address” pelo endereço IP real do seu servidor Fail2ban.

ssh admin@endereço_ip_seu_servidor

Digite uma senha aleatória quando solicitado e repita várias vezes. Após várias tentativas, você verá uma mensagem informando que o servidor rejeitou sua tentativa de conexão.

install-fail2ban-linux-19-login-fail-attempt.png Como proteger seu servidor com Fail2Ban no Linux

Além de usar o ssh, você também pode testar outros arquivos de filtro no Fail2ban executando o Fail Status. No meu caso, estou usando o filtro "nginx-bad-request" que detecta se um host está inundando o servidor com solicitações inválidas.

Leia também:  Comandos poderosos para visualizar facilmente o conteúdo dos arquivos no terminal Linux

install-fail2ban-linux-20-nginx-bad-request-filter.png Como proteger seu servidor com Fail2Ban no Linux

Sabendo disso, você pode testar esse recurso enviando intencionalmente solicitações vazias para seu servidor web usando curl:

curl -H "User-Agent:" -H "Host:" https://yourwebsite.com -v

install-fail2ban-linux-21-curl-bad-request.png Como proteger seu servidor com Fail2Ban no Linux

Verificando rotinas Fail2Ban no Linux

Por fim, execute o seguinte comando no servidor Fail2ban para verificar se o fail2ban adicionou as regras necessárias ao iptables.

O comando grep filtra a saída do comando iptables. A opção -S diz ao iptables para imprimir as regras em um formato facilmente analisável.

sudo iptables-S | grepf2b

Você verá uma saída semelhante à imagem abaixo. O argumento “–reject-with icmp-port-unreachable” diz ao iptables para enviar uma mensagem ICMP port unreachable para o cliente quando ele tenta se conectar. Você também pode ver os endereços IP dos dispositivos que o servidor bloqueou.

install-fail2ban-linux-22-blocked-ip-address-fail2ban.png Como proteger seu servidor com Fail2Ban no Linux

Dica: Você também deve usar o SELinux para proteger seu servidor Linux.

Perguntas comuns

Q1: Por que recebo uma notificação de e-mail em branco quando o Fail2ban bloqueia um endereço IP?
A resposta: Se você receber uma notificação de e-mail vazia, é provável que não tenha configurado seu servidor de e-mail corretamente. Verifique a configuração do servidor de e-mail e certifique-se de que ele pode enviar e-mail.

Q2: Como posso desbloquear um endereço IP?
A resposta: Primeiro, encontre a prisão onde o endereço IP está bloqueado: sudo fail2ban-client status , desbloqueie o endereço IP executando o seguinte: sudo fail2ban-client set cancelar .

Q3: Como faço para visualizar o arquivo de log fail2ban?
A resposta: Você pode querer visualizar o arquivo de log fail2ban para solucionar problemas ou descobrir por que o endereço IP foi bloqueado. O arquivo “/var/log/fail2ban.log” contém todos os logs gerados pelo fail2ban. Use o comando cat para visualizar o arquivo de log fail2ban: cat /var/log/fail2ban.log.

P4: habilitei vários arquivos de filtro. Por que todos eles não estão funcionando?
A resposta: Esse problema provavelmente ocorre porque um filtro substitui um arquivo diferente que o precedeu. Uma maneira de corrigir isso é criar seu próprio arquivo de filtro combinando vários filtros.

Q5: O Fail2ban protegerá meu servidor de um ataque DoS?
A resposta: Sim e não. Na maioria das vezes, o Fail2ban poderá bloquear qualquer IP que envie solicitações inválidas ao seu servidor. No entanto, uma das maiores limitações deste programa é que ele não pode atuar em eventos que não produzem uma entrada de log. Como tal, ainda é importante proteger seu servidor Linux usando outras ferramentas para essas formas de ataques.

Ir para o botão superior