Fail2Ban / IPTables e Pure-Ftpd

1

Tenho o pure-ftpd em execução no servidor da web com o Fail2Ban. O Fail2Ban está permitindo conexões do apache2, mas está negando qualquer conexão FTP de qualquer coisa, exceto o host local. Eu tentei modificar os arquivos jail.local e jail.conf, mas ainda estou com problemas.

Aqui está a seção pure-ftpd do meu arquivo jail.local:

[pure-ftpd]
enabled = true
port     = ftp,ftp-data,ftps,ftps-data
filter   = pure-ftpd
logpath  = /var/log/auth.log
maxretry = 6

Aqui está uma visão dos meus iptables -L -n:

Chain INPUT (policy DROP)
target     prot opt source               destination
fail2ban-postfix  tcp  --  0.0.0.0/0            0.0.0.0/0            multiport dports 80,443,25,587,110,995,143,993,4190
fail2ban-dovecot  tcp  --  0.0.0.0/0            0.0.0.0/0            multiport dports 80,443,25,587,110,995,143,993,4190
fail2ban-roundcube  tcp  --  0.0.0.0/0            0.0.0.0/0            multiport dports 80,443,25,587,110,995,143,993,4190
fail2ban-ssh  tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:22
fail2ban-pure-ftpd  tcp  --  0.0.0.0/0            0.0.0.0/0            multiport dports 21,20,990,989
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:80
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:443
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:25
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:587
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:110
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:995
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:143
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:993
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:22
ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0            icmptype 8

Chain FORWARD (policy DROP)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Chain fail2ban-dovecot (1 references)

Se eu executar os seguintes comandos manualmente, o FTP funciona (como ativo, ainda não consigo ser passivo para o trabalho), mas eu realmente quero que isso funcione com o Fail2Ban:

iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 20 -j ACCEPT

Alguma idéia de como fazer com que o fail2ban configure o iptables corretamente? Se não, quais regras eu preciso definir para que o FTP ativo e passivo funcione corretamente?

    
por QuantumPhysGuy 18.02.2014 / 15:03

2 respostas

2

Eu encontrei a configuração IPTABLES padrão em / etc / default / iptables e adicionei o seguinte e reiniciei o serviço iptables e o FTP agora está funcionando:

-A INPUT -p tcp --dport 20 -j ACCEPT
-A INPUT -p tcp --dport 21 -j ACCEPT
    
por QuantumPhysGuy 19.02.2014 / 19:57
0

Como configurar portas passivas para o Pure-FTPd (e configurar seu firewall):

  1. Defina o máximo de conexões ftp simultâneas neste arquivo:

    /etc/pure-ftpd/conf/MaxClientsNumber
    

    por exemplo:

    50
    
  2. Defina o intervalo de portas passivas desejado neste arquivo:

    /etc/pure-ftpd/conf/PassivePortRange
    

    por exemplo:

    42420 42520
    

    Dicas:

    • Insira dois números de porta separados por um espaço.
    • Abra o dobro de portas, como você definiu em MaxClientsNumber, por exemplo. MaxClientsNumber = 50 - > abra 100 portas passivas.
    • As portas precisam estar em um intervalo de porta livre (não usado em sua máquina por outro serviço ainda e não usado por nenhum outro serviço padrão).
    • Exemplos de intervalo de portas passivas: 29100-29200 ou 32770-32870 ou 42420-42520 ou 51899-51999. Veja a lista completa de portas IP padrão aqui . Verifique as portas usadas em sua máquina com sudo iptables -nvL .
  3. Abrir portas no firewall:

    Posso sugerir o uso de UFW adicionalmente ao iptables? Isso tornará as regras de firewall muito mais fáceis para você e também tornará suas regras pré-existentes.

    Sempre que mudar as coisas no seu firewall, tenha cuidado para não se bloquear da sua máquina! Verifique se a porta 22 / ssh está aberta se você estiver conectado via ssh.

    Instale o UFW, negue qualquer tráfego de entrada (primeiro feche tudo, depois apenas abra as portas necessárias), abra a porta 22 / ssh e inicie o UFW:

    sudo apt-get install ufw
    sudo ufw default deny incoming
    sudo ufw default allow outgoing
    sudo ufw allow ssh
    sudo ufw enable
    

    Abra as portas para FTP: (substitua 42420: 42520 pelas suas próprias portas.)

    sudo ufw allow ftp
    sudo ufw allow proto tcp from any to any port 42420:42520
    

    Abra portas para seu servidor da Web:

    sudo ufw allow http
    sudo ufw allow https
    

    Abra as portas para seu servidor de e-mail: (talvez você não precise de todas essas portas. Para obter bons conselhos, consulte aqui .)

    sudo ufw allow 25
    sudo ufw allow 110
    sudo ufw allow 143
    sudo ufw allow 465
    sudo ufw allow 587
    sudo ufw allow 993
    sudo ufw allow 995
    sudo ufw allow 4190
    

    Por fim, verifique suas configurações e ative-as permanentemente:

    sudo ufw status verbose
    sudo ufw disable
    sudo ufw enable
    
  4. Última etapa: Verifique novamente se a instalação do UFW cuidou de todas as suas regras anteriores do iptables - e se isso não ocorreu, remova-as manualmente.

    iptables -nvL --line numbers
    iptables -D INPUT X
    

    Substitua X pelo número da linha que você leu da saída do primeiro comando e repita (ambos os comandos!) para cada regra do iptables que você deseja excluir.

    Verifique especialmente esta regra de iptables na cadeia IPUT novamente (conforme visto nos seus dados acima) com a opção '-v' sudo iptables -nvL

    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0
    

    Se você ver a coluna que diz "lo" nesta linha, então tudo está bem e nada precisa ser feito aqui. Se não houver 'lo' nesta linha, isso pode significar que o seu firewall aceitará todo o tráfego em todas as portas (como se você não tivesse nenhum firewall) e deve ser removido.

Agora você deve ter o Pure-FTPd aceitando portas passivas e a configuração do UFW tão simples quanto o gerenciamento de firewalls.

    
por Bob 09.02.2018 / 12:52