Como redirecionar todo o tráfego, exceto o SSH, para uma porta local com iptables

3

Sistema Operacional do Host: Ubuntu 16.06 LTS
Eu tenho o meu servidor escutando na porta 1233. Eu tenho que redirecionar todo o meu tráfego TCP e UDP para a porta 1233, exceto a porta SSH. Eu redirecionei com sucesso todas as minhas portas para 1233 com as seguintes regras de IPTable.

*filter 
:INPUT ACCEPT [89:12442] 
:FORWARD ACCEPT [0:0] 
:OUTPUT ACCEPT [114:10536] 
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT 
COMMIT 
*nat 
:PREROUTING ACCEPT [2:64] 
:INPUT ACCEPT [2:261] 
:OUTPUT ACCEPT [8:524] 
:POSTROUTING ACCEPT [8:524] 
-A PREROUTING -p tcp -m tcp -j REDIRECT --to-ports 1233 
-A PREROUTING -p udp -j REDIRECT --to-ports 1233 
COMMIT

Também adicionei uma regra para a porta SSH, mas não consegui estabelecer com êxito uma conexão SSH com meu servidor porque PREROUTING chains será executada primeiro. Depois de pesquisar, encontrei muitas perguntas relacionadas a isso, mas nenhuma delas abordou esse cenário.

Você pode estar se perguntando sobre o caso de uso desse tipo de implementação. É um servidor honeypot e a nossa ideia é configurar o honeypot para ouvir todo o tráfego, exceto o SSH. Eu sei que eu poderia definir um intervalo de portas ou usar o recurso multiportas do iptables, mas eu tenho que redirecionar todas as minhas portas, exceto 22.

    
por furusiyya 23.07.2016 / 16:31

1 resposta

2

Meu SSH era servidor escutar na porta 22. Consegui sucesso com as seguintes regras do IPTables.

iptables -t nat -A PREROUTING -p tcp --dport 1:21 -j REDIRECT --to-port 5000 iptables -t nat -A PREROUTING -p tcp --dport 23:65389 -j REDIRECT --to-port 5000 iptables -t nat -A PREROUTING -p udp -j REDIRECT --to-port 5000 service iptables-persistent save service iptables-persistent reload

    
por 24.07.2016 / 10:59