Um passo de cada vez

Acompanhe as novidades e ultimas postagens.


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:

Deixe um coment√°rio

Categorias
Assinar por e-mail

Digite seu endere√ßo de e-mail para assinar e receber notifica√ß√Ķes de novas publica√ß√Ķes por e-mail.

Estatísticas do blog
  • 53.079 Views

20% DE

 DESCONTO

BLACK

NOVEMBER

Cupom válido até 01/12/2023 ou até durarem os estoques.
V√°lido somente para novos assinantes.

CUPOM:  

BLACK2023

Desconto v√°lido nos planos MENSAIS para Hospedagem Cloud, Revenda Plesk e Email Profissional. Desconto ser√° aplicado durante 12 meses no plano de assinatura mensal.