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
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?
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
Como configurar portas passivas para o Pure-FTPd (e configurar seu firewall):
Defina o máximo de conexões ftp simultâneas neste arquivo:
/etc/pure-ftpd/conf/MaxClientsNumber
por exemplo:
50
Defina o intervalo de portas passivas desejado neste arquivo:
/etc/pure-ftpd/conf/PassivePortRange
por exemplo:
42420 42520
Dicas:
sudo iptables -nvL
. 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
Ú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.