[ Resolvido ] Dúvida sobre portas dentro do firewall

Iniciado por Rafazan, 30 de Agosto de 2013, 20:37

tópico anterior - próximo tópico

Rafazan

Pessoal

Situação:

1 - Servidor Linux ( Possui proxy e internet compartilhada ).

1 - Micro ( Windows - usando o Outlook(email)

Problema:

Meu firewall está configurado para não permitir nada que entra, que sai ou que está passando para o servidor sem eu permitir.

iptables -P INPUT DROP  
iptables -P OUTPUT DROP
iptables -P FORWARD DROP


Após estas regras tenho liberado no firewall do meu servidor a porta 80(HTTP) para redirecionar tudo que chega na porta 80 enviar para a  3128 (squid).

Nas ACL Safe Ports do meu squid tenho as seguintes portas liberadas:

(443 - 80 - 21 -22 - 70 - 210 - 280 - 488 -591 -777 )

Agora vem a questão:

como pode funcionar  o envio e recebimento de email através das portas (smtp :587 ) e recebimento ( pop:110)  vindo do email do micro cliente ( windows ) .

Fiz um teste simples, básico,  coloquei em DROP  a saida SMTP 587 :

iptables -A OUTPUT   -p tcp --dport 587 -j DROP
iptables -A FORWARD -p tcp --dport 587 -j DROP


Se eu fizer como DROP dai realmente nao deixa enviar o email do micro ( Windows ), mas a intenção não é bloquear e sim entender a lógica da onde que meu firewall ou squid está deixando liberar o  envio e recebimento de email sem estar nenhuma dessas portas ( 587 e 110 )  liberadas .

Ou seja , eu nao liberei ou dei permissao para meu firewall e squid liberar estas portas sem minha permissão. É isso que quero entender, somente isso.









jeflui

Coloque todas as regras do seu firewall aqui, se a política for DROP e não tiver regras liberando os acessos com certeza não vai funcionar.

zekkerj

Pode ser que seu roteador esteja deixando passar IPv6. Execute os comandos abaixo pra conferir.

ifconfig -a
sudo ip6table -L -v -n


Aguarde 5 min, depois execute novamente:

sudo ip6table -L -v -n

Cole o resultado aqui.
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

Rafazan

Citação de: jeflui online 30 de Agosto de 2013, 23:12
Coloque todas as regras do seu firewall aqui, se a política for DROP e não tiver regras liberando os acessos com certeza não vai funcionar.

Olá colega , segue meu script firewall simples

#!/bin/bash
#chkconfig: 345 99 10
#description: Firewall


#DECLARACAO DE VARIAVEIS
portas_tcp="3128,80,8080,211,8245"
portas_udp="53"



#CARREGA  MODULOS
modprobe iptable_nat
modprobe ip_nat_ftp
modprobe ip_tables
modprobe ip_conntrack
modprobe ip_conntrack_ftp



#DEFINE POLITICA PADRAO
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP



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


#COMPARTILHA INTERNET
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward

#PERMITINDO TRAFEGO NO PROXY TRANSPARENTE
iptables -A INPUT -i eth1 -p tcp --dport 3128 -j ACCEPT
iptables -t nat -A PREROUTING -s 172.16.0.0/255.255.255.0 -p tcp --dport 80 -j REDIRECT --to-port 3128



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

#IGNORA COMANDOS PING:
iptables -A INPUT -p icmp --icmp-type echo-request -j DROP

#PROTECAO PARA SYN FLOOD
echo 1 > /proc/sys/net/ipv4/tcp_syncookies

#REJEITAR REQUISICAO DE ICMP ECHO DSTINADA A BROADSCAST E MULTICASTS
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts


#DESCARTA PACOTES MALFORMADOS, PTOTEGENDO CONTRA ATAQUES DIVERSOS
iptables -A INPUT -m state --state INVALID -j DROP




#SSH - SERVIDOR SSH
iptables -I INPUT -i eth0 -p tcp -s 0/0 --dport 22 -j ACCEPT
iptables -t filter -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT

#LIBERANDO TRAFEGO NA INTERFACE LOOPBACK
iptables -A INPUT -i lo -j ACCEPT

#LIBERANDO TRAFEGO NA INTERFACE ETH1
iptables -A FORWARD  -i eth1 -j ACCEPT


#BLOQUEIA CONEXAO NAS DEMAIS PORTAS
iptables -A INPUT -p tcp --syn -j DROP

Rafazan

Citação de: zekkerj online 31 de Agosto de 2013, 00:44
Pode ser que seu roteador esteja deixando passar IPv6. Execute os comandos abaixo pra conferir.

ifconfig -a
sudo ip6table -L -v -n


Aguarde 5 min, depois execute novamente:

sudo ip6table -L -v -n

Cole o resultado aqui.

Segue resultado :

# ip6table -L -v -n


Chain INPUT (policy ACCEPT 91 packets, 6552 bytes)
pkts bytes target     prot opt in     out     source               destination

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source               destination

Chain OUTPUT (policy ACCEPT 86 packets, 6192 bytes)
pkts bytes target     prot opt in     out     source               destination


depois de 5 min......

Chain INPUT (policy ACCEPT 93 packets, 6696 bytes)
pkts bytes target     prot opt in     out     source               destination

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source               destination

Chain OUTPUT (policy ACCEPT 88 packets, 6336 bytes)
pkts bytes target     prot opt in     out     source               destination


Rafazan

É bem provavel que o problema está justamento onde o colega Zekkerj falou , o  protocolo IPV6 está ativo,ou seja está havendo passagem de pacotes pelo IPV6


Rafazan

Citação de: zekkerj online 31 de Agosto de 2013, 00:44
Pode ser que seu roteador esteja deixando passar IPv6. Execute os comandos abaixo pra conferir.

ifconfig -a
sudo ip6table -L -v -n


Aguarde 5 min, depois execute novamente:

sudo ip6table -L -v -n

Cole o resultado aqui.


Dentro do firewall acrescentei a linha:

# Desabilitar IPV6
echo 1 /proc/sys/net/ipv6/conf/all/disable_ipv6

o resultado com o comando ip6table -L -v -n ficou assim:

Chain INPUT (policy ACCEPT 0 packets,0 bytes)
pkts bytes target     prot opt in     out     source               destination

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source               destination

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source               destination

ou seja é o IPV6 é para estar desativado agora.... mas ......

o envio e recebimento de email continua tudo igual, ainda está havendo  permissao para envio e recebimento de email....

Já reiniciei o server e o firewall  várias vezes depois dessas configuracao e nada.....

zekkerj

A questão está aqui.
Citar
#LIBERANDO TRAFEGO NA INTERFACE ETH1
iptables -A FORWARD  -i eth1 -j ACCEPT

Vc liberou todo o tráfego vindo da rede local.
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

Rafazan

Citação de: zekkerj online 31 de Agosto de 2013, 15:01
A questão está aqui.
Citar
#LIBERANDO TRAFEGO NA INTERFACE ETH1
iptables -A FORWARD  -i eth1 -j ACCEPT

Vc liberou todo o tráfego vindo da rede local.

Mais uma vez venho agradecer aos colegas  zekkerj e  jeflui por me ajudar a resolver este detalhe que realmente eu não tinha  percebido.

Foi só remover a linha  "iptables -A FORWARD  -i eth1 -j ACCEPT" conforme o colega zekkerj falou ,e pronto resolveu a minha dúvida.

Obrigado a todos.