Não consigo encaminhar a porta 443 a 8443 sem permitir 8443 no ufw

1

Eu configurei o encaminhamento de porta através do iptables e do ufw. Mas há algo que eu não entendo, apenas não consigo fazer com que o iptables repasse a porta 443 para a 8443 sem permitir a porta 8443 no UFW.

Eu quero que a porta 443 encaminhe para a porta 8443, mas eu também quero que a porta 8443 seja desaprovada de fora da minha rede.

Em resumo, só posso encaminhar a porta 443 para a 8443 se eu permitir totalmente as duas portas 443 e 8443 no UFW.

Esta é a única regra que tenho em before.rules:

-A PREROUTING -i eth0 -p tcp --dport 443 -j REDIRECT --to-port 8443

Esta é a minha configuração de roteamento iptables (muito simples):

pkts bytes target     prot opt in     out     source               destination
0     0 REDIRECT   tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0            tcp dpt:443 redir ports 8443

Este é o meu status UFW que funciona :

To                         Action      From
--                         ------      ----
22                         ALLOW       Anywhere
443                        ALLOW       Anywhere
8443                       ALLOW       Anywhere       // THIS IS WHAT BOTHERS ME
22                         ALLOW       Anywhere (v6)
443                        ALLOW       Anywhere (v6)
8443                       ALLOW       Anywhere (v6)  // THIS IS WHAT BOTHERS ME

É assim que eu quero minha proteção de firewall, mas não funciona :

To                         Action      From
--                         ------      ----
22                         ALLOW       Anywhere
443                        ALLOW       Anywhere
22                         ALLOW       Anywhere (v6)
443                        ALLOW       Anywhere (v6)

Alguma ideia? Agradecemos antecipadamente.

    
por Lisandro 19.08.2012 / 18:12

2 respostas

1

Aqui vai a solução que para mim deve ser o caminho padrão de encaminhamento de portas, eu realmente não entendo porque a maioria das pessoas usa o iptables.

(1): se você já configurou o encaminhamento de porta com o iptables / ufw ou qualquer outra ferramenta, remova as regras. no meu caso de /etc/ufw/before.rules

(2): desautoriza a porta que você teve que expor para poder encaminhar. No meu caso 8443.

(3): Eu tive que instalar o xinetd no Ubuntu 12.04

 #apt-get install xinetd

(4): crie o novo serviço que encaminhará a porta:

vi /etc/xinetd.d/tomcat-https Com este conteúdo:

service tomcat-https
{
  disable                 = no
  flags                   = REUSE
  wait                    = no
  user                    = root
  socket_type             = stream
  protocol                = tcp
  port                    = 443
  redirect                = localhost 8443
  log_on_success  -= PID HOST DURATION EXIT

  #per_source = UNLIMITED
  #instances = UNLIMITED
}

(5): Adicione o serviço a / etc / services

vi /etc/services

Esta linha:

https           443/tcp         # http protocol over TLS/SSL

Deve ser assim:

https           443/tcp         tomcat-https    # http protocol over TLS/SSL

Finalmente eu tive que fazer uma reinicialização completa. Você pode tentar reiniciar o ufw, networking e xinetd.

    
por 05.09.2012 / 20:27
1

Em vez de usar PREROUTING para redirecionar os pacotes, você pode usar rinetd . Este programa escuta em uma determinada porta, e quando alguém se conecta a ele, o rinetd se conecta a uma determinada porta de destino e, essencialmente, faz proxy do tráfego entre os dois. Com o rinetd ouvindo na porta 443 e encaminhando conexões para a porta 8443, você pode permitir conexões no 8443 a partir do host local e bloquear todas as outras.

    
por 19.08.2012 / 23:29