Regras de Iptables liberando portas de e-mail POP3, IMAP e SMTP

Iniciado por wilsonk990, 26 de Outubro de 2017, 17:21

tópico anterior - próximo tópico

wilsonk990

Olá pessoal.

Tenho um servidor Ubuntu Serve que estou tentando abrir as portas 995,110,445,143,993 mas infelizmente não estou conseguindo. Realizo testes pra verificar o status da porta no site https://mxtoolbox.com/SuperTool.aspx?action=scan%3a177.11.51.186&run=toolpage# mas por mais que faça e refaça scripts não consigo abrir estas portas. Deixo para avaliação:

#DECLARACAO DAS VARIAVEIS
PORTAS_TCP="110,53,995,143,993"
PORTAS_UDP="53"
#LIMPAR REGRAS EXISTENTES
iptables -F
iptables -t nat -F

#CRIA IDA E VOLTA DO ACESSO NAS CHAINS INPUT, OUTPUT E FORWARD
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

#LIBERANDO ROTEAMENTO E REGRAS DE NAT
echo 1 > /proc/sys/net/ipv4/ip_forward

#LIBERANDO PORTAS
iptables -A INPUT -p tcp -m multiport --dports $PORTAS_TCP -j ACCEPT
iptables -A OUTPUT -p tcp -m multiport --dports $PORTAS_TCP -j ACCEPT
iptables -A FORWARD -p tcp -m multiport --dports $PORTAS_TCP -j ACCEPT

iptables -A INPUT -p udp -m multiport --dports $PORTAS_UDP -j ACCEPT
iptables -A OUTPUT -p udp -m multiport --dports $PORTAS_UDP -j ACCEPT
iptables -A FORWARD -p udp -m multiport --dports $PORTAS_UDP -j ACCEPT

O único resultado que tenho do nmap são portas que faço uso 80,22. As demais estão fechadas. Para deixar claro, eu não faço uso de seviço de DHCP ou DNS. Apenas é um servidor web.

zekkerj

Olá @wilsonk990, primeira coisa, você está usando apenas seu script? Observe se não está ativando o UFW após carregar seu script, senão as regras do UFW vão se sobrepor às suas.

Outra coisa que você precisa ver, é o tipo de conexão que você está usando. Se você tiver um roteador com NAT ativado antes do seu servidor Ubuntu, as portas não vão ser abertas, a menos que você as redirecione.

Pra fechar, observe que teste feitos a partir da rede interna podem não detectar corretamente as portas abertas. Procure sempre fazer os testes a partir de outra conexão.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

wilsonk990

Citação de: zekkerj online 26 de Outubro de 2017, 23:24
Olá @wilsonk990, primeira coisa, você está usando apenas seu script? Observe se não está ativando o UFW após carregar seu script, senão as regras do UFW vão se sobrepor às suas.

Outra coisa que você precisa ver, é o tipo de conexão que você está usando. Se você tiver um roteador com NAT ativado antes do seu servidor Ubuntu, as portas não vão ser abertas, a menos que você as redirecione.

Pra fechar, observe que teste feitos a partir da rede interna podem não detectar corretamente as portas abertas. Procure sempre fazer os testes a partir de outra conexão.

**Fiz uma verificação no ufw para ver se estava habilitado... Mas está como inativo:
root@OTRS-SERVER:~# ufw status
Status: inactive
You have new mail in /var/mail/root
**Após disso fiz nmap do local host para verificar as portas abertas:
PORT     STATE SERVICE
22/tcp   open  ssh
25/tcp   open  smtp
80/tcp   open  http
3306/tcp open  mysql
Quando faço um nmap no IP valido ele me retorna:
PORT   STATE SERVICE
22/tcp open  ssh
80/tcp open  http

Um representante do Cloud me garantiu que não avia filtro ou nat para o meu IP válido. FIz algumas alterações no scripts:

echo " * Inciando Firewall                                                     [ OK ] "                                       
echo " * Limpado Nat                                                           [ OK ] "
##Limpado Nat
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
echo " * Ativando o Roteamento Dinamico                                        [ OK ] "
##ativa o roteamento dinamico
echo 1 > /proc/sys/net/ipv4/ip_forward

##Email
iptables -t filter -A OUTPUT -p tcp --dport 110 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 25 -j ACCEPT
iptables -t filter -A FORWARD -p tcp -s 0/0 -d 0/0 --dport 25 -j ACCEPT
iptables -t filter -A FORWARD -p tcp -s 0/0 -d 0/0 --dport 110 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 995 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 465 -j ACCEPT
iptables -t filter -A FORWARD -p tcp -s 0/0 -d 0/0 --dport 465 -j ACCEPT
iptables -t filter -A FORWARD -p tcp -s 0/0 -d 0/0 --dport 995 -j ACCEPT

iptables -A FORWARD -p tcp -s 0/0 -d 177.11.51.186 --dport 53 -j ACCEPT
iptables -A FORWARD -p tcp -s 177.11.51.186 --sport 53 -d 0/0 -j ACCEPT


echo " * Liberando SQL e Mysql                                                 [ OK ] "
## Libera SQL e Mysql
iptables -N SQL
iptables -A FORWARD -p tcp --dport 1433 -j SQL
iptables -A INPUT -p tcp --dport 1433 -j SQL
iptables -A INPUT -p udp --dport 5432 -j SQL
iptables -A SQL -s 0/0 -j DROP
iptables -A INPUT -p tcp -i eth0 --dport 3306 -j ACCEPT
iptables -A INPUT -p tcp -i eth0 --dport 3310 -j ACCEPT

wilsonk990

Também obtenho alguns erros quando rodo alguns modulos:

modprobe ip_nat_ftp
modprobe ip_conntrack_ftp

modprobe: ERROR: ../libkmod/libkmod.c:556 kmod_search_moddep() could not open moddep file '/lib/modules/4.4.67-1-pve/modules.dep.bin'


zekkerj

Esse último erro provavelmente vai sair quando você executar o comando "sudo depmod -a".

Quanto ao script, eu te aconselho mantê-lo simples.

Primeiro, não faça bloqueios ou liberações na cadeia OUTPUT, a menos que você tenha certeza do que está fazendo. Também não use política DROP ou REJECT nessa cadeia, é muito mais difícil de compreender a dinâmica da liberação e bloqueio na cadeia OUTPUT.

Explica uma outra coisa pra mim: esse servidor é gateway da sua rede local, ou é um servidor isolado, num serviço de hosting?


Enviado do meu smartphone
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

wilsonk990


wilsonk990

Citação de: zekkerj online 27 de Outubro de 2017, 13:06
Esse último erro provavelmente vai sair quando você executar o comando "sudo depmod -a".

Quanto ao script, eu te aconselho mantê-lo simples.

Primeiro, não faça bloqueios ou liberações na cadeia OUTPUT, a menos que você tenha certeza do que está fazendo. Também não use política DROP ou REJECT nessa cadeia, é muito mais difícil de compreender a dinâmica da liberação e bloqueio na cadeia OUTPUT.

Explica uma outra coisa pra mim: esse servidor é gateway da sua rede local, ou é um servidor isolado, num serviço de hosting?





Enviado do meu smartphone
R= Quando eu dou o comando sudo depmod -a obtenho essa resposta:
sudo depmod -a
depmod: ERROR: could not open directory /lib/modules/4.4.67-1-pve: No such file or directory
depmod: FATAL: could not search modules: No such file or directory

zekkerj

Citação de: wilsonk990 online 27 de Outubro de 2017, 15:22
É um servidor isolado de um serviço de cloud.
Então você (1) não precisa habilitar o repasse de internet (que você cita erradamente como "roteamento dinâmico"), e (2) não precisa criar qualquer regra na cadeia FORWARD. Você só precisa, de verdade, das regras na cadeia INPUT.

Citação de: wilsonk990 online 27 de Outubro de 2017, 15:24
R= Quando eu dou o comando sudo depmod -a obtenho essa resposta:
sudo depmod -a
depmod: ERROR: could not open directory /lib/modules/4.4.67-1-pve: No such file or directory
depmod: FATAL: could not search modules: No such file or directory
Tá explicada a origem do erro.
Você instalou algum kernel fora do padrão nessa máquina?
Qual versão do Ubuntu você está usando?
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

wilsonk990

Desculpa a demora zekkerj.. A versão do meu Ubuntu é 14.04.02 LTS

zekkerj

Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

wilsonk990

Citação de: zekkerj online 30 de Outubro de 2017, 08:03
E o kernel?

kernel Linux 4.4.67-1-pve. Será por causa da versão do Kernel que estão estou conseguindo abrir as portas como deveria ser?

zekkerj

Como você instalou esse kernel? Foi a partir dos repositórios?
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

wilsonk990

Citação de: zekkerj online 30 de Outubro de 2017, 11:30
Como você instalou esse kernel? Foi a partir dos repositórios?
É uma imagem do serviço de Cloud. Fiz atualização do repositório.

wilsonk990

Seria uma alternativa eu ativar o ufw e fazer allows de portas?

zekkerj

Hmmm. Imagem pré-instalada, né? Talvez faltem os módulos de kernel necessários. Nesse caso você deve entrar em contato com o suporte técnico do serviço de cloud.

Usar o UFW é uma boa ideia, por simplificar a configuração e manutenção; mas não acho que vá resolver o problema dos módulos de kernel em falta.


Enviado do meu smartphone
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D