Permitir portas ufw para PREROUTING, mas não visível publicamente

0

Eu tenho a seguinte configuração de mapeamento para ufw :

Status: active

To                         Action      From
--                         ------      ----
443/tcp                    ALLOW       Anywhere                  
80/tcp                     ALLOW       Anywhere                  
36022                      ALLOW       Anywhere                  
8080/tcp                   ALLOW       Anywhere                  
8443/tcp                   ALLOW       Anywhere                  
443/tcp (v6)               ALLOW       Anywhere (v6)             
80/tcp (v6)                ALLOW       Anywhere (v6)             
36022 (v6)                 ALLOW       Anywhere (v6)             
8080/tcp (v6)              ALLOW       Anywhere (v6)             
8443/tcp (v6)              ALLOW       Anywhere (v6)  

Eu só tenho 8080 e 8443 aberto porque meu aplicativo Go executa 0.0.0.0:8080 e 0.0.0.0:8443 . Meu domínio é chamado em 80 e 443 e ufw faz PREROUTING nas portas internas.

Não é uma preocupação de segurança, mas adoraria tornar https://example.com:8443 não visível publicamente. Mesmo assim, é o mesmo que o normal https://example.com seria bom simplesmente manter as 8080 e 8443 portas internamente.

Eu tentei isso para 8080 e 8443 e para 127.0.0.1 e 0.0.0.0 :

ufw allow from 127.0.0.1 proto tcp to any port 8443

.. mas isso não parece funcionar. O site, em seguida, expira em http://example.com e https://example.com .

O que estou fazendo de errado?

    
por User2910293 27.04.2017 / 19:19

1 resposta

0

Algum esclarecimento. Todas as regras listadas são INPUT . Quando você enable you UFW você também faz enable e

XXX@XXX:~$ sudo ls /etc/ufw/
after6.rules  after.rules     before6.rules  before.rules  ufw.conf     user.rules
after.init    applications.d  before.init    sysctl.conf   user6.rules

E assim por diante ...

Muito simples, talvez estúpida, explicação do processamento de regras é

  • pacote com interface
  • aplicando before.rules aka PREROUTING
  • aplicando user.ruler aka INPUT
  • applaying after.rules - POSTRUTING
  • ...

Regras listadas abaixo não são aplicadas PREROUTING

IPTABLES faça isso dessa maneira

O endereço particular privado não é

10.0.0.0 - 10.255.255.255 | 10.0.0.0/8
172.16.0.0 - 172.31.255.255 | 172.16.0.0/12
192.168.0.0 - 192.168.255.255 | 192.168.0.0/16

Se você não permitir o acesso deste endereço e não do público, crie regras

ufw allow from 10.0.0.0/8 proto tcp to any port 8443
ufw allow from 10.0.0.0/8 proto tcp to any port 8080
ufw allow from 172.16.0.0/12 proto tcp to any port 8443
ufw allow from 172.16.0.0/12 proto tcp to any port 8080
ufw allow from 192.168.0.0/16 proto tcp to any port 8443
ufw allow from 192.168.0.0/16 proto tcp to any port 8080
ufw allow port 80
ufw allow port 443

Essas regras permitirão a conexão de private network na porta 8443 e 8080 e negarão o acesso de public network nessa porta, mas permitirão 80 e 443 de qualquer lugar. Private network não são roteados pela Internet, mas são roteados na rede local.

UFW allow ou deny de tráfego com base em ip address , protocol ou / e port

Se você está atrás de algum roteador com nat , então você deve criar uma regra diferente para o seu roteador não fazer nat ...

Talvez eu não te entenda.

EDIT 1

Talvez seja melhor permitir o acesso apenas da rede local na porta 8080 e 8443

ufw allow from XXX.XXX.XXX.XXX/YY proto tcp to any port 8443
ufw allow from XXX.XXX.XXX.XXX/YY proto tcp to any port 8080

XXX.XXX.XXX.XXX/YY - é sua rede local

Mais uma coisa. Oreder do governante também é importante

ufw deny de ZZZ.ZZZ.ZZZ.ZZZ.ZZZ / XX proto tcp para qualquer porta 8443    ufw permite 8443

Este conjunto de regras nega o acesso somente da rede ZZZ.ZZZ.ZZZ.ZZZ / XX na porta 8443 usando tcp e permissão de todas as outras redes.

    
por 2707974 27.04.2017 / 20:03