IPTables - Alterar porta de pacotes de entrada e saída

2

É possível configurar o IPTables de forma que todos os pacotes de saída para um determinado IP e Porta sejam alterados com uma porta diferente e façam o mesmo para os pacotes de entrada?

Eu tenho que trabalhar com um servidor rotineiramente e o Hoster decidiu que o acesso SSH só será possível na porta 222 ao invés do padrão 22.

Isso sempre causa dor de cabeça quando ssh, scp ou rsyncing. Você sempre tem que lembrar de adicionar o parâmetro de porta.

Eu gostaria de contornar isso com o IPTables.

Qualquer ajuda muito apreciada.

    
por theduke 27.01.2012 / 17:45

2 respostas

7

Sim, certamente deve ser possível configurar as regras de iptable para o tráfego de saída de NAT. Você realmente só precisa criar uma regra que lide com o tráfego de saída. Você não deve precisar de uma regra para fazer nada aos pacotes que retornam. A natureza estatal do netfilter lidará com isso para você.

Você provavelmente precisaria usar uma regra como essa.

# if you want to redirect requests from the local machine
iptables -t nat -A OUTPUT--destination remote.host.ip \
         -p tcp  --dport 22 -j DNAT --to-destination remote.host.ip:222

# if you want to redirect requests on a device inline
iptables -t nat -A PREROUTING --destination remote.host.ip \
         -p tcp  --dport 22 -j DNAT --to-destination remote.host.ip:222

Outra solução simples seria simplesmente configurar um arquivo de configuração SSH para o servidor e especificar a porta na sua configuração.

# list of all names, you might commonly use for this host.
Host foo foo.example.org foo.example 
    # real hostname
    Hostname real.example.org
    Port 222
    
por 27.01.2012 / 19:48
0

Eu recomendaria ler este link . Se você decidir fazer isso, também recomendo usar as seguintes etapas de segurança para SSH e um IP voltado para o público.

  1. Não permitir logons de raiz.
  2. Permitir apenas que esta porta seja aberta a partir de determinados IPs.
  3. Autenticação baseada em chave.
  4. Use ferramentas como denyhosts para bloquear qualquer tipo de tentativa de força bruta.
por 27.01.2012 / 18:15