possíveis conflitos ufw e fail2ban

45

A execução de fail2ban e ufw causará problemas? Notei que o fail2ban modifica as regras do iptables, mas o ufw já tem uma tonelada de regras do iptables definidas ... portanto, não tenho certeza se o fail2ban vai atrapalhar essas regras.

Adam Monsen
fonte
Qual versão do Ubuntu ? ('ufw' melhorou ligeiramente entre 10.04 LTS e 11.x )
david6
@ david6: desculpe, não me lembro qual versão eu estava executando quando originalmente fiz a pergunta.
Adam Monsen

Respostas:

50

Você pode usar o ufw e o fail2b juntos, mas como indicado anteriormente, a ordem das regras (ufw) é o que é importante.

Pronto, o fail2ban usa o iptables e insere as regras primeiro na cadeia INPUT. Isso não causará nenhum dano ou conflito com o ufw.

Se você deseja integrar totalmente o fail2ban para usar o ufw (em vez do iptables). Você precisará editar vários arquivos, incluindo

/etc/fail2ban/jail.local

jail.local é onde você define seus serviços, incluindo em qual porta eles estão ouvindo (pense em mudar ssh para uma porta não padrão) e quais ações executar.

** Observe *: nunca edite o jail.conf ; suas alterações devem ser feitas jail.local! Esse arquivo começa com isso:

# Changes:  in most of the cases you should not modify this
#           file, but provide customizations in jail.local file,
#           or separate .conf files under jail.d/ directory

Usando ssh como exemplo, observe também a definição de uma porta não padrão =)

[ssh]
enabled = true
banaction = ufw-ssh
port = 2992
filter = sshd
logpath = /var/log/auth.log
maxretry = 3

Em seguida, você configura o fail2ban para usar o ufw (um arquivo .conf para cada serviço)

/etc/fail2ban/action.d/ufw-ssh.conf

A sintaxe é

[Definition]
actionstart =
actionstop =
actioncheck =
actionban = ufw insert 1 deny from <ip> to any app OpenSSH
actionunban = ufw delete deny from <ip> to any app OpenSSH

Nota: Você configura o fail2ban para usar o ufw e para inserir novas regras PRIMEIRO usando a sintaxe "inserir 1". A exclusão encontrará a regra independentemente da ordem.

Há um bom post no blog que entra em mais detalhes aqui

http://blog.vigilcode.com/2011/05/ufw-with-fail2ban-quick-secure-setup-part-ii/

[EDIT] Para o ubuntu 16.04+

por padrão, um " defaults-debian.conf" /etc/fail2ban/jail.dcom conteúdo

[sshd]
enabled = true

ativará a proteção ssh do fail2ban.

Você precisa colocá-lo em falso.

Em seguida, crie um jail.local como você faria em geral, o meu seria assim:

[ssh-with-ufw] 
enabled = true 
port = 22 
filter = sshd 
action = ufw[application="OpenSSH", blocktype=reject] 
logpath = /var/log/auth.log 
maxretry = 3

Já existe um ufw.conf na instalação padrão fail2ban, portanto, não é necessário criar um.

A única alteração específica para você jail.local seria na linha de ação em que você precisa colocar o aplicativo em questão para a proteção e o que você deseja obter como resultado.

O ufw tende a detectar automaticamente uma certa quantidade de aplicativo em execução usando a rede. Para ter a lista, basta digitar sudo ufw app list. É sensível a maiúsculas e minúsculas.

recarregar fail2ban e você não verá mais a cadeia fail2ban; se algum IP receber um bloqueio, você o verá sudo ufw status

Pantera
fonte
7
Resumindo: sem fazer a integração conforme explicado, o ufw e o fail2ban funcionam como deveriam. Fail2ban irá inserir suas definições de bloqueio antes que as regras do ufw sejam aplicadas. Por outro lado, se alguém quiser que os blocos apareçam ufw status, você precisará da integração. Além de ter os blocos aparecendo ufw status, não haveria outro benefício? Particularmente porque o autor do blog diz o seguinte: Fora da caixa Fail2ban trabalha com regras de iptables, no entanto estes não jogar bonito com os nossos comandos mais simples UFW (...)
Bouke
1
Exatamente. "Não jogar bem" significa não aparecer quando você os verifica com o status ufw. Os benefícios da integração são que você está usando uma ferramenta, ufw, para gerenciar e exibir suas regras de firewall. Nada de errado em usar fail2ban como está, fora da caixa, em termos de função. O problema seria que, para ver as regras do fail2ban, seria necessário usar o iptables -L -v -n e, como você já pode ver, ao usar o ufw, a saída é longa e difícil de seguir. A vantagem da integração é que as regras ea sintaxe é, então, mais fácil de entender (assumindo que é por isso que você usa ufw em primeiro lugar)
Panther
Para o registro, se você clicar em qualquer lugar do site vinculado, será redirecionado para malware / adware.
Antonio Cangiano
@AntonioCangiano - Fazer a ligação funciona bem aqui, verifique seu navegador e DNS
Panther
@ bodhi.zazen Qualquer clique no artigo vinculado será redirecionado para um site não autorizado, como Antonio apontou corretamente. Estou relutante em seguir conselhos de segurança desse artigo.
Goran Miskovic 16/16
4

Uso o fail2ban e o ufw há anos em dois computadores diferentes e nunca tive problemas. Para configurar o fail2ban:

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

Agora edite o arquivo como desejar, por exemplo, se você deseja bloquear ssh não autorizado, localize as linhas:

[ssh]
enabled  = true
port     = ssh
filter   = sshd
logpath  = /var/log/auth.log
maxretry = 6

se "ativado" estiver definido como "falso", altere-o para "verdadeiro", conforme indicado aqui. Depois de definir as regras, você precisa reiniciar o processo fail2ban:

sudo /etc/init.d/fail2ban restart

Se você abriu a porta 22 no seu firewall ufw, o fail2ban banirá os clientes que tentarem se conectar mais de 6 vezes sem êxito, mas não quebrará o firewall.

enedene
fonte
4

A instalação do 0.9.5 do fail2ban incluiu uma ufwação que eu simplesmente precisei definir para obanaction

Carson Reinke
fonte
2
Para o registro, a ação está presente na versão 0.8.13 também
Joril