Redirecionamento de acesso externo para um serviço [RESOLVIDO]

1. Redirecionamento de acesso externo para um serviço [RESOLVIDO]

Claudio Junior
juniorcc01

(usa Debian)

Enviado em 28/03/2017 - 16:47h

Boa tarde, não tenho experiência em firewall, então tentarei ser mais breve o possivel para tentar explicar meu problema.

Aqui na empresa utilizamos o Microsiga Protheus, e em seu servidor temos um serviço que roda na porta 1100 utilizado somente para quem precisa acessar o sistema de fora da rede.
Por algum motivo, meu firewall não está fazendo esse direcionamento, já tentei fazer nat de várias formas diferentes mas não obtive sucesso de nenhuma forma.

Se eu tento dar um telnet do firewall para o serviço >> telnet 192.168.0.11 1100 >> a conecção é aceita
Se eu tento dar um telnet de fora da rede para o serviço >> telnet 186.x.x.x >> não foi possivel estabelecer conexão com o host...

abaixo meu iptables que peguei de base de um colaborador daqui do VOL.

Desde já agradeço a atenção!!

externa="eth0"
interna="eth1"
rede_interna="192.168.0.0/24"

echo "Interface Rede Externa .......................... "$externa
echo "Interface Rede Interna .......................... "$interna
echo "Faixa de IP Rede Interna ........................ "$rede_interna

echo "Limpando Politicas .............................. [ OK ]"
iptables -X
iptables -Z
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD
iptables -F -t nat
iptables -F -t filter
iptables -F -t mangle

echo "Aplicando nova politica ......................... [ OK ]"
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

echo "Ativa Modulos Basicos ........................... [ OK ]"
modprobe ip_tables
modprobe ip_conntrack
modprobe iptable_filter
modprobe iptable_mangle
modprobe iptable_nat
modprobe ipt_LOG
modprobe ipt_limit
modprobe ipt_state
modprobe ipt_REDIRECT
modprobe ipt_owner
modprobe ipt_REJECT
modprobe ipt_MASQUERADE
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp

echo "Roteamento de Kernal ............................ [ OK ]"
echo 1 > /proc/sys/net/ipv4/ip_forward

echo "Compartilhar Internet ........................... [ OK ]"
iptables -t nat -A POSTROUTING -o $externa -j MASQUERADE

echo "Mantendo conexões estabelecidas ................. [ OK ]"
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED,NEW -j ACCEPT
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED,NEW -j ACCEPT

echo "Logs de bloqueios ............................... [ OK ]"
iptables -A INPUT -j LOG
iptables -A OUTPUT -j LOG
iptables -A FORWARD -j LOG

#REGRAS FORWARD
echo "Permite ping pra Rede Externa ................... [ OK ]"
iptables -A FORWARD -i $interna -o $externa -p icmp -j ACCEPT

echo "Permite conexões da Rede Interna pra Externa .... [ OK ]"
iptables -A FORWARD -i $interna -o $externa -p tcp -m multiport --dports 80,443,3128,110,20,21,587,995,143 -j ACCEPT
iptables -A FORWARD -i $interna -o $externa -p tcp -m multiport --dports 22,3389,25,5900,5100,3389,1100 -j ACCEPT

echo "Regras cliente .................................. [ OK ]"
iptables -A OUTPUT -p tcp -m multiport --dports 80,443 -j ACCEPT
iptables -A OUTPUT -p udp --dport 53 -j ACCEPT

echo "Regras servidor ................................. [ OK ]"
iptables -A INPUT -p tcp -i $interna --dport 22 -j ACCEPT
iptables -A INPUT -p tcp -i $interna -m multiport --dports 3128,443,445,113,80,587,25,22,110,53,139,5900,5100,3389 -j ACCEPT
iptables -A INPUT -p udp -i $interna -m multiport --dports 53,110,67,68,137,113,443,138 -j ACCEPT
iptables -A INPUT -p udp -i $interna -m multiport --dport 1100 -j ACCEPT
iptables -A INPUT -p udp -i $externa -m multiport --dport 1100 -j ACCEPT


echo "Redirecionamento de porta ....................... [ OK ]"
iptables -t nat -A PREROUTING -i $interna -p tcp --dport 80 -j REDIRECT --to-port 3128

#SERVIÇO DO PROTHEUS
echo "Redirecionamento para o serviço do Protheus"
#iptables -t nat -A PREROUTING -i $externa -p tcp --dport 1100 -j REDIRECT --to-port 1100 -d 192.168.0.11
iptables -t nat -A PREROUTING -i $externa -p tcp -m tcp --dport 1100 -j DNAT --to-destination 192.168.0.11:1100

echo "Liberando ping ICMP ............................. [ OK ]"
iptables -A INPUT -p icmp -m limit --limit 1/s --limit-burst 1 -j ACCEPT
iptables -A INPUT -p icmp -m limit --limit 1/s --limit-burst 1 -j LOG --log-prefix PING-DROP:
iptables -A INPUT -p icmp -j DROP
iptables -A OUTPUT -p icmp -j ACCEPT

echo "Permite conexões loopback ....................... [ OK ]"
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

echo "##################### SEGURANÇA ########################"

echo "Segurança contra IP Spoofing .................... [ OK ]"
echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter
iptables -A INPUT -m state --state INVALID -j DROP

echo "Proteção contra alteração de rota ............... [ OK ]"
echo 0 > /proc/sys/net/ipv4/conf/all/accept_redirects

echo "Proteção contra alteração de caminho ............ [ OK ]"
echo 0 > /proc/sys/net/ipv4/conf/all/accept_source_route

echo "Proteção contra responses bogus ................. [ OK ]"
echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses

echo "Bloqueando traceroute ........................... [ OK ]"
iptables -A INPUT -p udp -s 0/0 -i $interna --dport 33435:33525 -j DROP

echo "Proteção para SYN flood ......................... [ OK ]"
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT
iptables -A FORWARD -p tcp --syn -j ACCEPT

echo "Negando portas invalidas (trojans, trinoo) ...... [ OK ]"
iptables -A INPUT -p tcp -i $externa -m multiport --dports 666,4000,6000,6006,16660,27444,27665,31335,34555,35555 -j DROP
iptables -A INPUT -p tcp -i $interna -m multiport --dports 1433,6670,6711,6712,6713,12345,12346,20034,31337,6000 -j DROP

echo "Proteção contra telnet .......................... [ OK ]"
iptables -A INPUT -p TCP -i $externa --dport telnet -j DROP

echo "Dropando pacotes TCP indesejaveis ............... [ OK ]"
iptables -A FORWARD -p tcp ! --syn -m state --state NEW -j DROP

echo "Proteção contra worms ........................... [ OK ]"
iptables -A FORWARD -p tcp --dport 135 -i $externa -j REJECT

echo "Proteção contra ICMP Broadcasting ............... [ OK ]"
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts

echo "Proteção contra Port Scanners ocultos ........... [ OK ]"
iptables -A INPUT -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT

echo "Proteção contra Ping da morte ................... [ OK ]"
iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT

echo "Proteção contra IP Spoofing ..................... [ OK ]"
iptables -A INPUT -s 172.16.0.0/12 -i $externa -j DROP
iptables -A INPUT -s 127.0.0.0/8 -i $externa -j DROP
iptables -A INPUT -s 10.0.0.0/8 -i $externa -j DROP
#iptables -A INPUT -s 192.168.0.0/16 -i $externa -j DROP

echo "Bloqueando Pacotes Fragmentados.................. [ OK ]"
iptables -A INPUT -i $externa -f -j LOG --log-prefix "Pacote Fragmentado: "
iptables -A INPUT -i $externa -f -j DROP
iptables -A INPUT -i $interna -f -j LOG --log-prefix "Pacote Fragmentado: "
iptables -A INPUT -i $interna -f -j DROP


  


2. Re: Redirecionamento de acesso externo para um serviço [RESOLVIDO]

Carlos Alberto de Souza Barbosa
souzacarlos

(usa Outra)

Enviado em 30/03/2017 - 11:26h

Bom dia
Tem firewall tem outros aspectos que não estão muito legais mas podemos falar sobre isso depois.
Tenta a regra assim iptables -t nat -A PREROUTING -i $externa -p tcp --dport 1100 -j DNAT --to 192.168.0.11:1100

Claro, comente a linha existente!

Network Analyst - Consultor para empresas
contact skype: carlossouzainfo
21 99180-8165 (WhattsApp)


3. Re: Redirecionamento de acesso externo para um serviço [RESOLVIDO]

Claudio Junior
juniorcc01

(usa Debian)

Enviado em 30/03/2017 - 17:49h

souzacarlos escreveu:

Bom dia
Tem firewall tem outros aspectos que não estão muito legais mas podemos falar sobre isso depois.
Tenta a regra assim iptables -t nat -A PREROUTING -i $externa -p tcp --dport 1100 -j DNAT --to 192.168.0.11:1100

Claro, comente a linha existente!

Network Analyst - Consultor para empresas
contact skype: carlossouzainfo
21 99180-8165 (WhattsApp)


Muito obrigado pela dica Amigo! consegui resolver meu problema alterando as regras para por essas:
iptables -A INPUT -p tcp --dport 1100 -j LOG
iptables -A FORWARD -p tcp --dport 1100 -d 192.168.0.11 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp --dport 1100 -j DNAT --to 192.168.0.11



4. Re: Redirecionamento de acesso externo para um serviço [RESOLVIDO]

Carlos Alberto de Souza Barbosa
souzacarlos

(usa Outra)

Enviado em 30/03/2017 - 20:47h

juniorcc01 escreveu:

souzacarlos escreveu:

Bom dia
Tem firewall tem outros aspectos que não estão muito legais mas podemos falar sobre isso depois.
Tenta a regra assim iptables -t nat -A PREROUTING -i $externa -p tcp --dport 1100 -j DNAT --to 192.168.0.11:1100

Claro, comente a linha existente!

Network Analyst - Consultor para empresas
contact skype: carlossouzainfo
21 99180-8165 (WhattsApp)


Muito obrigado pela dica Amigo! consegui resolver meu problema alterando as regras para por essas:
iptables -A INPUT -p tcp --dport 1100 -j LOG
iptables -A FORWARD -p tcp --dport 1100 -d 192.168.0.11 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp --dport 1100 -j DNAT --to 192.168.0.11

Boa noite
A segunda regra não faz sentido pode até tirar se quiser
Por gentileza não esquecer de fechar o post e se te ajudou marcar tbm como melhor resposta, isso ajudo na divulgação do meu trabalho.

Network Analyst - Consultor para empresas
contact skype: carlossouzainfo
21 99180-8165 (WhattsApp)






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts