Blog

Acompanhe as novidades e ultimas postagens.

Um passo de cada vez

Sumário


O Processo de Configuração Fail2ban

Nesta próxima parte deste tutorial, você encontrará uma série de exemplos explorando configurações populares de Fail2ban utilizando fail2ban.local e jail.local arquivos. Fail2ban irá read.conf arquivos de configuração inicialmente antes .local os arquivos substituem quaisquer configurações.

Como resultado, quaisquer ajustes de configuração tendem a ser executados em arquivos .local enquanto o .conf os arquivos permanecem inalterados.

Como configurar fail2ban.local

  1. fail2ban.conf carrega o perfil de configuração padrão e essas configurações padrão oferecem uma configuração de trabalho decente. No entanto, se você preferir criar quaisquer edições, você deve fazer isso em um arquivo separado (fail2ban.local) Isso irá substituir fail2ban.conf. Certifique-se de renomear uma cópia fail2ban.conf para fail2ban.local.

  2. cp /etc/fail2ban/fail2ban.conf /etc/fail2ban/fail2ban.local

  3. A partir deste ponto, você pode escolher ajustar as definições localizadas dentro fail2ban.local para alinhar com a configuração que você deseja definir. Você pode alterar os seguintes valores:

    • loglevel: Você pode definir o nível de detalhe fornecido pelos logs do Fail2ban como: 1 (erro), 2 (aviso), 3 (informações) ou 4 (depuração).

    • logtarget: Isso registrará as ações em um arquivo definido (o valor padrão de /var/log/fail2ban.log adiciona todos os registros nele). Por outro lado, você pode editar o valor para:

    • socket: A localização do arquivo de socket.

    • pidfile: A localização do arquivo PID.

Como configurar o back-end Fail2ban

  1. Por padrão, o jail.conf arquivo ativa Fail2ban para SSH para Debian e Ubuntu, mas não para CentOS. Protocolos e configurações alternativos (como FTP, HTTP e assim por diante) serão comentados. Você pode ajustar isso se desejar. Você precisará fazer um jail.local para edição:

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

  3. Você usa Fedora ou CentOS? Você terá que mudar a opção de back-end em jail.local a partir de auto para systemd . Esteja ciente, porém, de que isso não é necessário no Debian 8 ou Ubuntu 16.04, apesar de ambos serem capazes de usar o systemd também.

Arquivo: /etc/fail2ban/jail.local

# "backend" specifies the backend used to get files modification.

# Available options are "pyinotify", "gamin", "polling", "systemd" and "auto".

# This option can be overridden in each jail as well.

. . .

backend = systemd

Por favor, esteja ciente:

Quando a configuração do back-end for definida como automática, o Fail2ban monitorará os arquivos de log utilizando o pyinotify primeiro. Depois disso, o Fail2ban tentará o gamin. No entanto, se nenhum estiver disponível, um algoritmo de pesquisa escolherá a próxima tentativa.

Por padrão, não há jaulas habilitadas no CentOS 7. Por exemplo, se você deseja prosseguir com a habilitação da jaula daemon SSH, você deve descomentar essas linhas em jail.local:

Arquivo: /etc/fail2ban/jail.local

[sshd]

enabled = true

Como configurar o Fail2ban jail.local

Quer se familiarizar com as configurações disponíveis no Fail2ban? Comece abrindo seu arquivo jail.local e localize as configurações disponíveis:

Arquivo: /etc/fail2ban/jail.local

[DEFAULT]

ignoreip = 127.0.0.1/8

bantime = 600

findtime = 600

maxretry = 3

backend = auto

usedns = warn

destemail = [email protected]

sendername = Fail2Ban

banaction = iptables-multiport

mta = sendmail

protocol = tcp

chain = INPUT

action_ = %(banaction)...

action_mw = %(banaction)...

protocol="%(protocol)s"...

action_mwl = %(banaction)s...

Vamos considerar um exemplo. Se você alterasse a configuração de usens para não, o Fail2ban não utilizará DNS reverso para implementar seus banimentos. Em vez disso, banirá o endereço IP. Quando você definir como aviso, o Fail2ban fará uma pesquisa reversa para encontrar o nome do host e utilizá-lo para iniciar o banimento.

A que se relaciona a configuração da cadeia? O alcance de iptables regras onde os saltos podem ser adicionados em ações de proibição. Isso foi definido para a cadeia INPUT por padrão. Se você quiser saber mais sobre as cadeias de iptables, sinta-se à vontade para verificar nosso abrangente O que é iptables recurso.

Como configurar a queda de tráfego da cadeia Fail2ban

Se você quiser ver suas regras do Fail2ban, use a opção iptables '–line-numbers.

iptables -L f2b-sshd -v -n --line-numbers

Você deve ver uma saída semelhante:

Cadeia fail2ban-SSH (1 referências)

num pkts bytes destino prot opt ​​in out origem destino

1 19 2332 DROP all -- * * 192.0.0.0 0.0.0.0/0

2 16 1704 DROP all -- * * 192.0.0.1 0.0.0.0/0

3 15 980 DROP all -- * * 192.0.0.2 0.0.0.0/0

4 6 360 DROP all -- * * 192.0.0.3 0.0.0.0/0

5 8504 581K RETURN all -- * * 0.0.0.0/0 0.0.0.0/0

Se desejar, você pode utilizar o iptables -D chain rulenum comando para remover uma regra que foi aplicada a um endereço IP específico. Trocar rulenum com o número de regra de endereço IP correspondente encontrado na coluna num. Por exemplo, você pode remover o endereço IP 192.0.0.1 emitindo este comando:

iptables -D fail2ban-SSH 2

Como configurar o tempo de proibição e a quantidade de repetição Fail2Ban

Defina bantime, findtime e maxretry para configurar as circunstâncias de um banimento e a quantidade de tempo que dura:

Arquivo: /etc/fail2ban/jail.local

# “Bantime” é o número de segundos que um host é banido.

bantime = 600

# A host is banned if it has generated "maxretry" during the last "findtime"

# seconds.

findtime = 600

maxretry = 3

  • findtime: Isso está relacionado a quanto tempo passará entre as tentativas de login antes que um banimento seja implementado. Como exemplo, digamos que o Fail2ban esteja configurado para banir um IP após quatro (4) tentativas de login malsucedidas. Essas quatro tentativas devem ocorrer durante o período predefinido findtime limite de 10 minutos, e o findtime o valor deve ser um número definido de segundos.

  • maxretry: Para determinar se um determinado banimento será justificado, Fail2ban usa findtime e maxretry. Caso a quantidade de tentativas seja superior ao limite estabelecido em maxretry e cair dentro do limite de tempo do findtime, o Fail2ban definirá uma banda. O padrão é 3.

  • bantime: Isso se aplica à duração de tempo (em segundos) pelo qual um IP será banido e será permanente se definido como um número negativo. O valor padrão é 600, o que irá banir um IP por um período de 10 minutos.

Como configurar ignoreip para Fail2ban

Você pode adicionar IPs específicos que deseja ignorar, adicionando-os ao ignoreip linha. Isso não banirá o host local por padrão. Adicionar a lista de ignorados pode ser benéfico se você tende a aproveitar com frequência um endereço IP individual:

Arquivo: /etc/fail2ban/jail.local

[DEFAULT]

# "ignoreip" can be an IP address, a CIDR mask or a DNS host. Fail2ban will not

# ban a host which matches an address in this list. Several addresses can be

# defined using space separator.

ignoreip = 127.0.0.1/8 123.45.67.89

ignoreip: Com esta configuração, você pode definir quais endereços IP devem ser excluídos das regras Fail2ban. Você deve adicionar IPs específicos que deseja ignorar à configuração ignoreip (conforme o exemplo). Este comando não une o host local por padrão. Se você trabalha regularmente com um único endereço IP, pode querer adicioná-lo à lista de ignorados.

Quer colocar IPs na lista de permissões apenas para cadeias específicas? Utilize o comando fail2ban-client. Basta trocar JAIL com o nome da sua prisão e 192.0.0.1 com o IP que você pretende colocar na lista de permissões.

fail2ban-client set JAIL addignoreip 192.0.0.1

Como configurar alertas de e-mail Fail2ban

Você pode querer receber alertas de e-mail sempre que algo acionar o Fail2ban. Você pode fazer isso alterando as configurações de e-mail:

  • destemail: O endereço no qual você deseja receber seus e-mails.

  • sendername: O nome atribuído ao e-mail.

  • sender: O endereço de onde o Fail2ban envia e-mails.

Fundamentos e esteja ciente:

Execute o comando sendmail -t [email protected], trocando [email protected] com o seu endereço de e-mail se você não for o que colocar em sender. Verifique seu e-mail, junto com as pastas de spam, se necessário, e verifique o e-mail do remetente. Você pode usar esse endereço para a configuração acima.

Você também é obrigado a editar o action contexto. Isso define as ações realizadas se o limite da banda for atingido. O padrão, %(action_)s, apenas banirá o usuário. %(action_mw)s irá banir e distribuir um e-mail incluindo um relatório WhoIs. Com %(action_mwl)s, um banimento é implementado e um e-mail com o relatório WhoIs (e todas as linhas relevantes no arquivo de log) será enviado. Você também pode ajustar isso em uma base específica da prisão.

Como configurar portas e banações Fail2ban

Fora do endereço de configurações básicas acima, jail.local também tem várias configurações de jail para vários serviços comuns (como iptables e SSH). Apenas o SSH é habilitado por padrão, e a ação é banir o host / endereço IP problemático por meio da modificação das regras de firewall iptables.

Espere que a configuração da prisão padrão seja assim:

Arquivo: /etc/fail2ban/jail.local

# Default banning action (e.g. iptables, iptables-new,

# iptables-multiport, shorewall, etc) It is used to define

# action_* variables. Can be overridden globally or per

# section within jail.local file

banaction = iptables-multiport

banaction_allports = iptables-allports

[ssh]

enabled = true

port = ssh

filter = sshd

logpath = /var/log/auth.log

maxretry = 6

  • banaction: Define a ação que deve ser executada se o limite for atingido. Ao configurar o firewall para usar firewalld, defina o valor como firewallcmd-ipset. Se você configurar o firewall para usar UFW, o valor deve ser definido como ufw.

  • banaction_allports: Isso bloqueará um IP remoto em cada porta. Se você configurar o firewall para usar firewalld, o valor deve ser definido como firewallcmd-ipset.

  • enabled: Determine se o filtro deve ser ativado ou não.

  • port: Esta é a porta que o Fail2ban deve fazer referência em relação ao serviço. Se você utiliza a porta padrão, pode colocar o nome do serviço aqui. Mas se você optar por uma porta que não seja tradicional, esse deve ser o número da porta. Por exemplo, se você alterou sua porta SSH para 3775, você deve substituir o ssh por esse número.

  • filter: Este é o nome do arquivo encontrado em /etc/fail2ban/filter.d contendo as informações de failregex usadas para analisar os arquivos de log corretamente. Você não precisa incluir o .conf sufixo.

  • logpath: Fornece a localização dos registros do serviço.

  • maxretry: Isso substitui a maxretry global para o serviço que você definir. Você também pode adicionar findtime e bantime.

  • action: Você pode adicionar isso como uma configuração extra quando a ação padrão for inadequada para a prisão. Você pode encontrar outro no action.d pasta.

Por favor, esteja ciente:

Você pode escolher configurar as prisões como individuais .conf arquivos dentro do jail.d diretório. Mas o formato permanecerá o mesmo.

Autor: Elvis Plesky Fonte: https://www.plesk.com/blog/various/using-fail2ban-to-secure-your-server/

Confira nossos planos de hospedagem de Sites, planos de hospedagem para WordPress, planos Econômicos. Planos de Email Profissional e Servidores VPS. Tenha um atendimento personalizado entrando em Contato pelo Site ou pelo WhatsApp. Se você é um revendedor, confira nossos planos de revenda.

Compartilhar:

Share on facebook
Share on twitter
Share on linkedin
Share on whatsapp
Share on tumblr
Share on skype
Share on telegram
Share on email

Deixe um comentário

APROVEITE

DESCONTO DE 50% VITALÍCIO

para os planos PLUS, MEGA E TURBO!

PROMOCODE: MHVITA50

Oferta Termina em:

Dias
Horas
Min
Seg