Redirecionamento de portas

1. Redirecionamento de portas

EMERSON SANTOS GUIMARAES
emerson2703

(usa CentOS)

Enviado em 15/01/2014 - 17:24h

Boa tarde

Gostaria de saber porque o redirecionamento de porta, que acessar externamente o servidor linux de ip xxx.xxx.xxx.xxx porta 8500 para o ip interno 192.168.10.200 porta 22, só conseguir acessar colocando esta regra abaixo:

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


depois coloquei a regra de redirecionamento;

iptables -t nat -A PREROUTING -i eth1 -p tcp -s 0/0 --dport 8500 -j DNAT --to-destination 192.168.10.200:22


qual a real utilização desta regra pois, estabilizar a conexão com input eu entendi, mas com o forward não.


  


2. Re: Redirecionamento de portas

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 15/01/2014 - 17:35h

Pq não basta fazer a tradução com o NAT, é necessário liberar, tb, o FORWARD (encaminhamento) para a máquina destino. Se o destino fosse para o firewall, vc iria liberar o INPUT.


3. Re: Redirecionamento de portas

Buckminster
Buckminster

(usa Debian)

Enviado em 15/01/2014 - 22:41h

FORWARD - pacotes sendo roteados através da máquina, pacotes que passam pelo servidor;
INPUT - entrada - para pacotes destinados a sockets locais, pacotes destinados para o próprio servidor;
OUTPUT - pacotes gerados localmente, pacotes oriundos no próprio servidor com destino para fora dele.

Por exemplo, grosso modo, quando você abre um site em uma máquina cliente da rede interna (site este que não esteja hospedado na mesma rede interna), você precisa liberar o FORWARD, pois os pacotes tem destino externo, mas passarão pelo servidor.

Quando você abre um site no próprio servidor onde está o Iptables, se você bloquear a chain OUTPUT, não conseguirá acessar o site por que o Iptables não deixará o pacote sair.

Essa regra

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

está dizendo: iptables adicione (-A) uma regra na chain FORWARD com o módulo (-m) state com os estados RELATED (relatados) e ESTABLISHED (estabilizados) e aceite.

state :: Este módulo, quando combinado com rastreamento de conexão, permite o acesso ao estado de rastreamento de conexão para o pacote.

Você poderia ter colocado somente

iptables -A FORWARD -j ACCEPT

que funcionaria do mesmo jeito.
Os estados (states) você amarra eles como quer (de acordo com os estados permitidos). Na regra em questão você está permitindo somente estados relatados e estabilizados, ou seja, se um pacote inválido (ou qualquer outro tipo) tentar passar, o Iptables bloqueará.


Você poderia ter liberado o FORWARD somente para a máquina em questão, com a regra acima você liberou o FORWARD para todos.
Se abaixo dessa regra estiver uma outra regra FORWARD dropando que entre em conflito, ela será ignorada.

http://www.vivaolinux.com.br/artigo/Manual-do-IPtables-Comentarios-e-sugestoes-de-regras?pagina=1


4. Re: Redirecionamento de portas

Perfil removido
removido

(usa Nenhuma)

Enviado em 16/01/2014 - 02:02h

Boa Noite Colegas,

Muito bom Buckminster em lembrar desta maravilhosa caracteristica do iptables de STATE_FULL das conexões.


Vale a pena estudar a fundo sobre isto, recentemente encontrei algumas ferramentas, desenvolvidas pelo pessoal da netfilter.org para, realizar o sincronismo destes estados em ambientes de firewalls iptables balanceados.

Achei muito interessante comentar.


Att,


Tiago Eduardo Zacarias
LPIC-1







5. Re: Redirecionamento de portas

EMERSON SANTOS GUIMARAES
emerson2703

(usa CentOS)

Enviado em 17/01/2014 - 11:56h

Agora fiquei com duvida minha regra bloqueia a entrada e repassagem (forward).


#Politica
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT

se eu coloco esta regra abaixo para poder acessar um servidor fora da rede, esta regra esta anulando a de cima deixando uma falha com o forward todo liberado?

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



6. Re: Redirecionamento de portas

Buckminster
Buckminster

(usa Debian)

Enviado em 17/01/2014 - 14:05h

emerson2703 escreveu:

Agora fiquei com duvida minha regra bloqueia a entrada e repassagem (forward).


#Politica
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT

se eu coloco esta regra abaixo para poder acessar um servidor fora da rede, esta regra esta anulando a de cima deixando uma falha com o forward todo liberado?

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


Não, essas regras

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

definem as políticas padrões, ou seja, definem as políticas gerais para cada chain.

As regras que você coloca depois somente liberam ou bloqueiam especificamente de acordo com o que está na regra.

O Iptables lê o arquivo de cima para baixo e vai executando as regras de acordo com a ordem de sequência que estão colocadas.
As políticas padrões sempre devem ser definidas por primeiro, daí você vai liberando ou bloqueando somente o que você quer.
E uma regra na chain INPUT não influencia uma regra da chain FORWARD.
Você só deve se preocupar em conflitos de uma regra com outra quando as regras forem da mesma chain.


7. Re: Redirecionamento de portas

EMERSON SANTOS GUIMARAES
emerson2703

(usa CentOS)

Enviado em 20/01/2014 - 09:26h

Na verdade é essa regra iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT se anularia a
iptables -P FORWARD DROP





#Politica
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT

se eu coloco esta regra abaixo para poder acessar um servidor fora da rede, esta regra esta anulando a de cima deixando uma falha com o forward todo liberado?

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



8. Re: Redirecionamento de portas

Buckminster
Buckminster

(usa Debian)

Enviado em 20/01/2014 - 14:33h

emerson2703 escreveu:

Na verdade é essa regra iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT se anularia a
iptables -P FORWARD DROP





#Politica
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT

se eu coloco esta regra abaixo para poder acessar um servidor fora da rede, esta regra esta anulando a de cima deixando uma falha com o forward todo liberado?

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


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

Esta regra permitiria o FORWARD dos pacotes RELATED e ESTABLISHED (relatados e estabilizados), mas os outros seriam dropados.

Sim, isso seria uma falha na segurança.


9. Re: Redirecionamento de portas

Pedro
px

(usa Debian)

Enviado em 20/01/2014 - 15:21h

Quando você usar regras assim, de preferencia por especificar os ips da rede local:


iptables -A FORWARD -s 192.168.1.0/24 -m state --state RELATED,ESTABLISHED -j ACCEPT

##Onde 192.168.1.0/24 é um exemplo de ips e faixa de rede.

Também especifique uma placa para a entrada dos pacotes com a opção "-i"

iptables -A FORWARD -i eth0 -s 192.168.1.0/24 -m state --state RELATED,ESTABLISHED -j ACCEPT

##Onde eth0 seria sua placa de entrada, no exemplo citado.

Por fim basta mascarar os ips dos pacotes na sua placa de saída:

iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

##Onde, novamente, eth1 seria sua placa de saída para internet.


10. Re: Redirecionamento de portas

EMERSON SANTOS GUIMARAES
emerson2703

(usa CentOS)

Enviado em 21/01/2014 - 14:37h

colegas, mas a questão é que o acesso será de fora da rede, como que posso definir o endereço de rede que ele vai se conectar pois nem sabemos qual será no momento.


11. Re: Redirecionamento de portas

Pedro
px

(usa Debian)

Enviado em 21/01/2014 - 19:25h

emerson2703 escreveu:

colegas, mas a questão é que o acesso será de fora da rede, como que posso definir o endereço de rede que ele vai se conectar pois nem sabemos qual será no momento.


Então não use a opção -s (pois não irá servir no caso).


12. Re: Redirecionamento de portas

Buckminster
Buckminster

(usa Debian)

Enviado em 22/01/2014 - 03:59h

emerson2703 escreveu:

colegas, mas a questão é que o acesso será de fora da rede, como que posso definir o endereço de rede que ele vai se conectar pois nem sabemos qual será no momento.


Para acesso externo o mais aconselhável é instalar o SSH ou criar uma VPN.



01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts