IPTABLES

1. IPTABLES

Guilherme Fonseca Leite
memeve

(usa Ubuntu)

Enviado em 22/11/2018 - 07:11h

Bom dia Pessoal,

Meu firewall está bloqueando acesso OUTPUT (saida) pela TS (Porta 3389), alguém pode me ajudar?

function start () {

modprobe iptable_nat
modprobe ip_nat_pptp
iptables -F
iptables -t nat -F

echo 1 > /proc/sys/net/ipv4/ip_forward
# echo 1 > /proc/sys/net/ipv6/conf/all/forwarding

# Regras tabela NAT
iptables -t nat -A POSTROUTING -o $iface_Cwnet -j MASQUERADE
iptables -t nat -A POSTROUTING -o $iface_Net -j MASQUERADE
iptables -t nat -A PREROUTING -p tcp --dport 3335 -j DNAT --to-destination 'Remoto 1'
iptables -t nat -A PREROUTING -p tcp --dport 3336 -j DNAT --to-destination 'Remoto 2'
iptables -t nat -A PREROUTING -i $iface_Cwnet -p tcp --dport 80 -j DNAT --to-destination 'Remoto 2:80'
iptables -t nat -A PREROUTING -i $iface_Net -p tcp --dport 80 -j DNAT --to-destination 'Remoto 2':80
iptables -t nat -A PREROUTING -p tcp --dport 4520 -j DNAT --to-destination 'Remoto 2':4520
iptables -t nat -A PREROUTING -p tcp --dport 1723 -j DNAT --to-destination 'Remoto 2':1723

# Regras tabela Filter
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

# Chain INPUT
iptables -A INPUT -s $rede_local -p tcp -m multiport --dports 3128 -j ACCEPT
iptables -A INPUT -s $ip_admin -m multiport -p tcp --dports 80,443,1890,1895,3389 -j ACCEPT
iptables -A INPUT -s 127.0.0.1 -m multiport -p tcp --dports 3350,5910 -j ACCEPT
iptables -A INPUT -s 127.0.0.1 -p udp --dport 68 -j ACCEPT
# iptables -A INPUT -s $ip_server -m multiport -p tcp --dports 80,1890,1895 -j ACCEPT

# Chain FORWARD
iptables -A FORWARD -s $rede_local -p icmp -j ACCEPT
iptables -A FORWARD -s $rede_local -p udp -m multiport --dports 53,123 -j ACCEPT
iptables -A FORWARD -d $ip_de_acesso_remoto -p tcp -m multiport --dports 80,1723,3389,4520 -j ACCEPT
iptables -A FORWARD -s $rede_local -p tcp -m multiport --dports $ports1 -j ACCEPT
iptables -A FORWARD -s $rede_local -p tcp -m multiport --dports $ports2 -j ACCEPT
iptables -A FORWARD -s $rede_local -p tcp -m multiport --dports $ports3 -j ACCEPT
iptables -A FORWARD -s $rede_local -p tcp -m multiport --dports $mvPorts1 -j ACCEPT
iptables -A FORWARD -s $rede_local -p tcp -m multiport --dports $mvPorts2 -j ACCEPT
iptables -A FORWARD -s $ip_admin -p tcp -m multiport --dports 80,443,444,1890,1895 -j ACCEPT
iptables -A FORWARD -s $ip_vpn_tomo -p tcp -m multiport --dports 80,123 -j ACCEPT
iptables -A FORWARD -s $ip_vpn_tomo -p udp -m multiport --dports 4500,500 -j ACCEPT
iptables -A FORWARD -s $ip_painel -p udp --dport 5000 -j ACCEPT
iptables -A FORWARD -s $ip_reunioes -p tcp -m multiport --dports 80,443 -j ACCEPT

# Chain OUTPUT
iptables -A OUTPUT -p udp -m multiport --dports 53,67,68,123 -j ACCEPT
iptables -A OUTPUT -m multiport -p tcp --dports 22,80,443,444,1890,2083,2096,3350,3389,5910,8010,8020,8080,8082,8086,8088 -j ACCEPT
iptables -A OUTPUT -m multiport -p tcp --dports 38453 -j ACCEPT
iptables -A OUTPUT -m multiport -p tcp --dports 1885,8245 -j ACCEPT
iptables -A OUTPUT -m multiport -p tcp --dports $mvPorts1 -j ACCEPT
iptables -A OUTPUT -m multiport -p tcp --dports $mvPorts2 -j ACCEPT
iptables -A OUTPUT -p icmp -j ACCEPT
}
function stop () {

modprobe iptable_nat
modprobe ip_nat_pptp

iptables -F
iptables -t nat -F

iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT

echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o $iface_Cwnet -j MASQUERADE
iptables -t nat -A POSTROUTING -o $iface_Net -j MASQUERADE
iptables -t nat -A PREROUTING -p tcp --dport 3335 -j DNAT --to-destination 'Remoto 1':3389
iptables -t nat -A PREROUTING -p tcp --dport 3336 -j DNAT --to-destination 'Remoto 2':3389
iptables -t nat -A PREROUTING -i $iface_Cwnet -p tcp --dport 80 -j DNAT --to-destination 'Remoto 2':80
iptables -t nat -A PREROUTING -i $iface_Net -p tcp --dport 80 -j DNAT --to-destination 'Remoto 2':80
iptables -t nat -A PREROUTING -p tcp --dport 4520 -j DNAT --to-destination 'Remoto 2':4520
iptables -t nat -A PREROUTING -p tcp --dport 1723 -j DNAT --to-destination 'Remoto 2':1723
}

case $1 in

start)
start
;;

stop)
stop
;;

Ignorem onde está escrito 'Remoto 1,2' no script está o endereço IP do server.



  


2. Re: IPTABLES

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 22/11/2018 - 13:23h

Uma coisa q vc tem q entender no iptables é: se vc usa DNAT para acessar o serviço na porta 3389, vc não precisa explicitar na tabela filter a porta pq DNAT é processado antes da tabela filter (PREROUTING). Agora se vc está permitindo o acesso sem DNAT, aí sim vc precisa especificar na tabela filter. Eu só preciso saber como esse terminal service é disponibilizado na sua rede pra te ajudar.
--
Renato Carneiro Pacheco
Certificado Linux LPIC-1
Especialista em Segurança em Redes de Computadores
Graduado em Redes de Comunicação

http://br.linkedin.com/in/renatocarneirop
http://www.facebook.com/renatocarneirop

"Não acredite no que eu digo, pois é a minha experiência e não a sua. Experimente, indague e busque." - Osho Rajneesh


3. IPTABLES

Guilherme Fonseca Leite
memeve

(usa Ubuntu)

Enviado em 22/11/2018 - 13:31h

Boa tarde Renato,

Primeiramente obrigado pela ajuda.

Na verdade é uma conexão de saída, meu Firewall está bloqueando um endereço que acesso via TS do Windows (Conexão de Area de Trabalho Remota e jogo o endereço xxx.ddns.net) pela porta 3389.

renato_pacheco escreveu:

Uma coisa q vc tem q entender no iptables é: se vc usa DNAT para acessar o serviço na porta 3389, vc não precisa explicitar na tabela filter a porta pq DNAT é processado antes da tabela filter (PREROUTING). Agora se vc está permitindo o acesso sem DNAT, aí sim vc precisa especificar na tabela filter. Eu só preciso saber como esse terminal service é disponibilizado na sua rede pra te ajudar.
--
Renato Carneiro Pacheco
Certificado Linux LPIC-1
Especialista em Segurança em Redes de Computadores
Graduado em Redes de Comunicação

http://br.linkedin.com/in/renatocarneirop
http://www.facebook.com/renatocarneirop

"Não acredite no que eu digo, pois é a minha experiência e não a sua. Experimente, indague e busque." - Osho Rajneesh





4. Re: IPTABLES

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 22/11/2018 - 14:03h

Ah, tá. Na chain FORWARD, mude a segunda linha para essa:


iptables -A FORWARD -m state --state NEW -d $ip_de_acesso_remoto -p tcp -m multiport --dports 80,1723,3389,4520 -j ACCEPT


E execute seu script novamente.
--
Renato Carneiro Pacheco
Certificado Linux LPIC-1
Especialista em Segurança em Redes de Computadores
Graduado em Redes de Comunicação

http://br.linkedin.com/in/renatocarneirop
http://www.facebook.com/renatocarneirop

"Não acredite no que eu digo, pois é a minha experiência e não a sua. Experimente, indague e busque." - Osho Rajneesh


5. IPTABLES

Guilherme Fonseca Leite
memeve

(usa Ubuntu)

Enviado em 22/11/2018 - 16:54h

Não funcionou Renato.

renato_pacheco escreveu:

Ah, tá. Na chain FORWARD, mude a segunda linha para essa:


iptables -A FORWARD -m state --state NEW -d $ip_de_acesso_remoto -p tcp -m multiport --dports 80,1723,3389,4520 -j ACCEPT


E execute seu script novamente.
--
Renato Carneiro Pacheco
Certificado Linux LPIC-1
Especialista em Segurança em Redes de Computadores
Graduado em Redes de Comunicação

http://br.linkedin.com/in/renatocarneirop
http://www.facebook.com/renatocarneirop

"Não acredite no que eu digo, pois é a minha experiência e não a sua. Experimente, indague e busque." - Osho Rajneesh





6. Re: IPTABLES

Wandolly Baluz Maciel
WBaluz

(usa Arch Linux)

Enviado em 23/11/2018 - 00:54h

E ai meu amigo tudo bem? me tira uma dúvida.. essa variavel aqui $ip_de_acesso_remoto contém os ips internos da sua rede que fazem o acesso remoto?
Porque pelo que pude entender, se eu nao estiver enganado, como sua policita do FORWARD está DROP, vc teria q liberar o acesso a porta 3389 para a saida pelo FORWARD..
Essa regra aqui

iptables -A FORWARD -d $ip_de_acesso_remoto -p tcp -m multiport --dports 80,1723,3389,4520 -j ACCEPT

muda ela para essa..

iptables -A FORWARD -s $ip_de_acesso_remoto -p tcp -m multiport --dports 80,1723,3389,4520 -j ACCEPT

no caso a troca do d pelo s..
faz o teste e avisa agente.. blz vlw brother,,,,


7. IPTABLES

Guilherme Fonseca Leite
memeve

(usa Ubuntu)

Enviado em 24/11/2018 - 08:03h

Bom dia amigo, tudo bem, e por aí?

Então... Fiz essa troca, mas não funcionou, continua bloqueado.

WBaluz escreveu:

E ai meu amigo tudo bem? me tira uma dúvida.. essa variavel aqui $ip_de_acesso_remoto contém os ips internos da sua rede que fazem o acesso remoto?
Porque pelo que pude entender, se eu nao estiver enganado, como sua policita do FORWARD está DROP, vc teria q liberar o acesso a porta 3389 para a saida pelo FORWARD..
Essa regra aqui

iptables -A FORWARD -d $ip_de_acesso_remoto -p tcp -m multiport --dports 80,1723,3389,4520 -j ACCEPT

muda ela para essa..

iptables -A FORWARD -s $ip_de_acesso_remoto -p tcp -m multiport --dports 80,1723,3389,4520 -j ACCEPT

no caso a troca do d pelo s..
faz o teste e avisa agente.. blz vlw brother,,,,





8. Re: IPTABLES

Wandolly Baluz Maciel
WBaluz

(usa Arch Linux)

Enviado em 24/11/2018 - 14:35h

opa brother então tranquilo? cara deixa eu entender.. tu ta tentando acessar o rdp pelo firewall ou por uma rede passando pelo firewall??

se for por uma rede passando pelo firewall a regra q te passei vai funcionar blz...

agora se for pelo próprio firewall tu precisar add a porta 3389 na chains OUTPUT e INPUT..

pelo que vi nas regras a output já tem... que é essa

iptables -A OUTPUT -m multiport -p tcp --dports 22,80,443,444,1890,2083,2096,3350,3389,5910,8010,8020,8080,8082,8086,8088 -j ACCEPT

agora pela INPUT estou meio encabulado de não estar funcionando, pois esse regra deveria liberar:

iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

por via das dúvidas faz assim cria uma regra na chain INPUT assim :

iptables -A INPUT -p tcp --sport 3389 -j ACCEPT

e faz os testes novamente.. ai post algo




9. IPTABLES

Guilherme Fonseca Leite
memeve

(usa Ubuntu)

Enviado em 25/11/2018 - 10:20h

Então meu amigo, bom dia!

Minha rede está passando pelo firewall, e estou tentando acesso um endereço xxx.ddns.net de dentro da rede pelo RDP do Windows, de qualquer estação que esteja passando pelo firewall eu não consigo.

De qualquer rede fora acesso numa boa, tem algo bloqueando dentro do firewall, coloquei esse comando na chain input e não resolveu.

Tá osso, já não sei mas o que fazer... Esse acesso perdeu do nada, antes funcionava.


WBaluz escreveu:

opa brother então tranquilo? cara deixa eu entender.. tu ta tentando acessar o rdp pelo firewall ou por uma rede passando pelo firewall??

se for por uma rede passando pelo firewall a regra q te passei vai funcionar blz...

agora se for pelo próprio firewall tu precisar add a porta 3389 na chains OUTPUT e INPUT..

pelo que vi nas regras a output já tem... que é essa

iptables -A OUTPUT -m multiport -p tcp --dports 22,80,443,444,1890,2083,2096,3350,3389,5910,8010,8020,8080,8082,8086,8088 -j ACCEPT

agora pela INPUT estou meio encabulado de não estar funcionando, pois esse regra deveria liberar:

iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

por via das dúvidas faz assim cria uma regra na chain INPUT assim :

iptables -A INPUT -p tcp --sport 3389 -j ACCEPT

e faz os testes novamente.. ai post algo






10. Re: IPTABLES

Wandolly Baluz Maciel
WBaluz

(usa Arch Linux)

Enviado em 25/11/2018 - 18:04h

Opa meu amigo boa tarde... certo então vamos lá.. vc está tentando acessar um servidor rdp passando pelo firewall.. OK
como vc está acessando pelo firewall, ou seja está passando da rede interna para a externa, vamos focar na chain FORWARD, para esse caso esquece as regras da INPUT e OUTPUT por hora..

vamos tentar assim, add essa regra.
iptables -A FORWARD -s $rede_local -p tcp --dport 3389 -j ACCEPT

ai reiniciar o script e testa novamente.. aguardo seu retorno.








Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts