web-dev-qa-db-fra.com

Comment autoriser le trafic d'une adresse IP spécifique pour un port spécifique dans UFW?

J'utilise un réseau privé sur Digital Ocean entre un équilibreur de charge et un serveur Web (nginx/node). Je souhaite que le serveur Web bloque tout le trafic entrant sur tous les ports, à l'exception de deux choses:

  1. Autoriser SSH de n'importe où
  2. Autoriser HTTP sur le port 80 uniquement à partir de l'IP loadbalancer

J'ai essayé d'y parvenir avec les commandes ufw suivantes:

ufw enable
ufw default deny
ufw deny http
ufw deny https
ufw allow ssh
ufw allow from loadbalancer.private.ip to any port 80
ufw allow from loadbalancer.public.ip to any port 80

Le résultat du statut prolifique d'ufw montre ceci:

Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip

To                         Action      From
--                         ------      ----
80                         DENY IN     Anywhere                  
443                        DENY IN     Anywhere                  
22                         ALLOW IN    Anywhere                  
80                         ALLOW IN    loadbalancer.private.ip              
80                         ALLOW IN    loadbalancer.public.ip            
80 (v6)                    DENY IN     Anywhere (v6)             
443 (v6)                   DENY IN     Anywhere (v6)             
22 (v6)                    ALLOW IN    Anywhere (v6)

Le site Web ne répond pas et affiche uniquement le délai d'expiration de la passerelle nginx 504. Si je tape ufw allow http, le site est disponible. Donc, ma configuration ci-dessus doit bloquer l’équilibreur de charge. Qu'est-ce qui ne va pas?

1
nidaros

Les règles de pare-feu sont d'abord corrélées en termes de traitement. Si le refus vient avant le permis, cela ne fonctionnera pas correctement.

Vos règles ALLOW doivent précéder les règles DENY. Sinon, les premières règles correspondantes sont les règles DENY et vous ne pouvez pas vous connecter comme vous le souhaitez.

1
Thomas Ward

Vieille question, mais vous n'avez pas à nier spécifiquement les choses dans UFW, c'est nier par défaut.

Dans ce cas, il vous suffira d'ajouter la règle d'autorisation spécifique pour ladite adresse IP. Et c'est tout. Rien d'autre.

0
Shiki