2 votes

UFW : Autoriser l'application/le profil uniquement depuis une adresse IP spécifique

Je veux restreindre l'accès externe à Dovecot par exemple à des adresses IP sources spécifiques. Autoriser un profil d'application fonctionne très bien, mais la source de connexion n'est jamais limitée ("De : Partout") :

$ sudo ufw status

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere                  
Nginx Full                 ALLOW       Anywhere                  
Postfix                    ALLOW       Anywhere                  
Dovecot IMAP               ALLOW       Anywhere      

Mais comment puis-je restreindre Dovecot IMAP à une adresse IP source spécifique ?

J'ai essayé :

$ sudo ufw allow "Dovecot IMAP" from 1.1.1.1
ERREUR : Nombre incorrect d'arguments

Il semble donc que cela ne fonctionne pas...

Demandant pour Ubuntu 20.04 LTS, ufw 0.36

3voto

Bocktur Points 31

La réponse courte :

sudo ufw allow from / to any app 

N'oubliez pas de mettre 'Dovecot IMAP' entre guillemets, dans votre cas.

La réponse longue :

J'ai essayé : $ sudo ufw allow "Dovecot IMAP" from 1.1.1.1

Bien que cela serait la commande la plus intuitive, la syntaxe est un peu plus complexe.

Je ne sais pas ce qu'est Dovecot IMAP, donc je vais prendre OpenVPN comme exemple.


Nous voulons autoriser un profil d'application à travers ufw uniquement s'il provient d'une certaine IP/sous-réseau.

Considérons que nous avons le profil d'application ufw suivant dans /etc/ufw/applications.d/ nommé openvpn (le nom de fichier du profil est important ici) :

[OpenVPN]
title=Serveur OpenVPN
description=Cette règle permet les connexions au serveur VPN sur .
ports=8880/udp

REMARQUE : Nous utilisons un port personnalisé ici pour OpenVPN.

Ajoutez maintenant la règle à ufw avec :

 sudo ufw allow from 10.0.0.0/24 to any app openvpn

Cela ouvrira le port spécifié dans /etc/ufw/applications.d/openvpn pour les connexions entrantes de 10.0.0.0/24.

Vérifiez maintenant :

sudo ufw status verbose

Si cela a fonctionné, vous devriez voir une sortie telle que :

Statut : actif
Journalisation : activée (faible)
Par défaut : refus (entrant), autorisé (sortant), autorisé (routé)
Nouveaux profils : sauter

Vers                        Action       De
--                         ------      ----
8880/udp (OpenVPN)         AUTORISER ENTREE    10.0.0.0/24

Faites attention au nom de fichier du profil et au nom du service.

sudo ufw allow from 10.0.0.0/24 proto udp to any port openvpn

Cette syntaxe est également correcte et très similaire. Mais cela s'applique à la configuration du port du service dans /etc/services , qui peut ne pas être celui que vous voulez autoriser (comme nous avons changé le port OpenVPN en 8880). Dans ce cas, nous avons toujours ce qui suit dans /etc/services :

openvpn         1194/tcp
openvpn         1194/udp

Ufw reconnaît openvpn comme le service, à moins que nous ne disions quelque chose d'autre.

any port openvpn (<- service)

any app openvpn (<- profil d'application)

Ainsi, en exécutant sudo ufw allow from 10.0.0.0/24 proto udp to any port openvpn, vous obtiendrez :

Statut : actif
Journalisation : activée (faible)
Par défaut : refus (entrant), autorisé (sortant), autorisé (routé)
Nouveaux profils : sauter

Vers                        Action       De
--                         ------      ----
1194/udp                   AUTORISER ENTREE    10.0.0.0/24

Cela permet d'ouvrir effectivement un port pour OpenVPN, mais pas le port spécifié dans notre profil d'application /etc/ufw/applications.d/openvpn.

Je n'ai jamais essayé mais cela devrait fonctionner si vous changez le port dans /etc/services (risquant de casser quelque chose d'autre).

Vous pouvez consulter cette page man Ubuntu pour des informations détaillées sur la commande ufw.

J'espère que cela vous aidera.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X