UFW Essentials: Règles et commandes de pare-feu communes

introduction

UFW est un outil de configuration de pare-feu pour iptables inclus avec Ubuntu par défaut. Ce guide de style aide-mémoire fournit une référence rapide aux commandes UFW qui créeront des règles de pare-feu iptables sont utiles dans des scénarios courants et courants. Cela inclut des exemples UFW permettant et bloquant divers services par port, interface réseau et adresse IP source.

Comment utiliser ce guide
  • Si vous commencez à utiliser UFW pour configurer votre pare-feu, consultez notre https://www.digitalocean.com/community/tutorials/how-to-set-up-a-firewall-with-ufw-on-ubuntu -14-04 [introduction à UFW]

  • La plupart des règles décrites ici supposent que vous utilisez le jeu de règles UFW par défaut. Autrement dit, il est configuré pour autoriser le trafic sortant et le trafic entrant, via les stratégies par défaut, de sorte que vous devez autoriser le trafic de manière sélective dans

  • Utilisez les sections suivantes applicables à ce que vous essayez d’atteindre. La plupart des sections ne sont basées sur aucune autre, vous pouvez donc utiliser les exemples ci-dessous indépendamment

  • Utilisez le menu Contenu situé à droite de cette page (en largeur large) ou la fonction de recherche de votre navigateur pour localiser les sections dont vous avez besoin.

  • Copiez et collez les exemples de ligne de commande donnés en remplaçant les valeurs en rouge par vos propres valeurs.

N’oubliez pas que vous pouvez vérifier votre ensemble de règles UFW actuel avec + sudo ufw status + ou + sudo ufw status verbose +.

Bloquer une adresse IP

Pour bloquer toutes les connexions réseau provenant d’une adresse IP spécifique, par exemple + 15.15.15.51 +, exécutez la commande suivante:

sudo ufw deny from

Dans cet exemple, + à partir de 15.15.15.51 + spécifie une adresse IP * source * de «15.15.15.51». Si vous le souhaitez, un sous-réseau, tel que + 15.15.15.0 / 24 +, peut être spécifié ici à la place. L’adresse IP source peut être spécifiée dans n’importe quelle règle de pare-feu, y compris une règle * allow *.

Bloquer les connexions à une interface réseau

Pour bloquer les connexions à partir d’une adresse IP spécifique, par ex. + 15.15.15.51 +, à une interface réseau spécifique, par exemple. + eth0 +, utilisez cette commande:

sudo ufw deny in on eth0 from

Ceci est identique à l’exemple précédent, avec l’ajout de + in sur eth0 +. L’interface réseau peut être spécifiée dans n’importe quelle règle de pare-feu et constitue un excellent moyen de limiter la règle à un réseau particulier.

Service: SSH

Si vous utilisez un serveur cloud, vous souhaiterez probablement autoriser les connexions SSH entrantes (port 22) afin de pouvoir vous connecter et gérer votre serveur. Cette section explique comment configurer votre pare-feu avec diverses règles liées à SSH.

Autoriser SSH

Pour autoriser toutes les connexions SSH entrantes, exécutez cette commande:

sudo ufw allow ssh

Une autre syntaxe consiste à spécifier le numéro de port du service SSH:

sudo ufw allow 22

Autoriser le SSH entrant à partir d’une adresse IP ou d’un sous-réseau spécifique

Pour autoriser les connexions SSH entrantes à partir d’une adresse IP ou d’un sous-réseau spécifique, spécifiez la source. Par exemple, si vous souhaitez autoriser l’ensemble du sous-réseau + 15.15.15.0 / 24 +, exécutez la commande suivante:

sudo ufw allow from   to any port 22

Autoriser Rsync entrant à partir d’une adresse IP ou d’un sous-réseau spécifique

Rsync, qui fonctionne sur le port 873, peut être utilisé pour transférer des fichiers d’un ordinateur à un autre.

Pour autoriser les connexions rsync entrantes à partir d’une adresse IP ou d’un sous-réseau spécifique, spécifiez l’adresse IP source et le port de destination. Par exemple, si vous souhaitez autoriser l’ensemble du sous-réseau + 15.15.15.0 / 24 + à rsync sur votre serveur, exécutez la commande suivante:

sudo ufw allow from  to any port 873

Service: serveur Web

Les serveurs Web, tels qu’Apache et Nginx, écoutent généralement les demandes sur les ports 80 et 443 pour les connexions HTTP et HTTPS, respectivement. Si votre stratégie par défaut pour le trafic entrant est définie pour être supprimée ou refusée, vous souhaiterez créer des règles permettant à votre serveur de répondre à ces demandes.

Autoriser tous les HTTP entrants

Pour autoriser toutes les connexions HTTP entrantes (port 80), exécutez cette commande:

sudo ufw allow http

Une autre syntaxe consiste à spécifier le numéro de port du service HTTP:

sudo ufw allow 80

Autoriser tous les HTTPS entrants

Pour autoriser toutes les connexions HTTPS entrantes (port 443), exécutez cette commande:

sudo ufw allow https

Une autre syntaxe consiste à spécifier le numéro de port du service HTTPS:

sudo ufw allow 443

Autoriser tous les HTTP et HTTPS entrants

Si vous souhaitez autoriser le trafic HTTP et HTTPS, vous pouvez créer une seule règle autorisant les deux ports. Pour autoriser toutes les connexions HTTP et HTTPS (port 443) entrantes, exécutez cette commande:

sudo ufw allow proto tcp from any to any port 80,443

Notez que vous devez spécifier le protocole, avec + proto tcp +, lorsque vous spécifiez plusieurs ports.

Service: MySQL

MySQL écoute les connexions client sur le port 3306. Si votre serveur de base de données MySQL est utilisé par un client sur un serveur distant, vous devez vous assurer d’autoriser ce trafic.

Autoriser MySQL à partir d’une adresse IP spécifique ou d’un sous-réseau

Pour autoriser les connexions MySQL entrantes à partir d’une adresse IP ou d’un sous-réseau spécifique, spécifiez la source. Par exemple, si vous souhaitez autoriser l’ensemble du sous-réseau + 15.15.15.0 / 24 +, exécutez la commande suivante:

sudo ufw allow from  to any port 3306

Autoriser MySQL sur une interface réseau spécifique

Pour autoriser les connexions MySQL à une interface réseau spécifique, par exemple, vous avez une interface réseau privée + eth1 +, par exemple, utilisez cette commande:

sudo ufw allow in on  to any port 3306

Service: PostgreSQL

PostgreSQL écoute les connexions client sur le port 5432. Si votre serveur de base de données PostgreSQL est utilisé par un client sur un serveur distant, vous devez être sûr d’autoriser ce trafic.

PostgreSQL depuis une adresse IP spécifique ou un sous-réseau

Pour autoriser les connexions PostgreSQL entrantes à partir d’une adresse IP ou d’un sous-réseau spécifique, spécifiez la source. Par exemple, si vous souhaitez autoriser l’ensemble du sous-réseau + 15.15.15.0 / 24 +, exécutez la commande suivante:

sudo ufw allow from  to any port 5432

La deuxième commande, qui autorise le trafic sortant des connexions * établies * PostgreSQL, n’est nécessaire que si la politique + OUTPUT + n’est pas définie sur + ACCEPT +.

Autoriser PostgreSQL vers une interface réseau spécifique

Pour autoriser les connexions PostgreSQL vers une interface réseau spécifique, par exemple, vous avez une interface réseau privée + eth1 +, par exemple, utilisez cette commande:

sudo ufw allow in on  to any port 5432

La deuxième commande, qui autorise le trafic sortant des connexions * établies * PostgreSQL, n’est nécessaire que si la politique + OUTPUT + n’est pas définie sur + ACCEPT +.

Service: courrier

Les serveurs de messagerie, tels que Sendmail et Postfix, écoutent sur différents ports en fonction des protocoles utilisés pour la distribution du courrier. Si vous utilisez un serveur de messagerie, déterminez les protocoles que vous utilisez et autorisez les types de trafic appropriés. Nous vous montrerons également comment créer une règle pour bloquer le courrier SMTP sortant.

Bloquer le courrier SMTP sortant

Si votre serveur ne doit pas envoyer de courrier sortant, vous pouvez bloquer ce type de trafic. Pour bloquer le courrier SMTP sortant, qui utilise le port 25, exécutez cette commande:

sudo ufw deny out 25

Ceci configure votre pare-feu pour * supprimer * tout le trafic sortant sur le port 25. Si vous devez rejeter un service différent par son numéro de port, remplacez-le simplement au port 25.

Autoriser tous les SMTP entrants

Pour permettre à votre serveur de répondre aux connexions SMTP, port 25, exécutez cette commande:

sudo ufw allow 25

Autoriser tous les IMAP entrants

Pour permettre à votre serveur de répondre aux connexions IMAP, port 143, exécutez cette commande:

sudo ufw allow 143

Autoriser tous les IMAPS entrants

Pour permettre à votre serveur de répondre aux connexions IMAPS, port 993, exécutez cette commande:

sudo ufw allow 993

Autoriser tous les POP3 entrants

Pour permettre à votre serveur de répondre aux connexions POP3, port 110, exécutez cette commande:

sudo ufw allow 110

Autoriser tous les POP3S entrants

Pour permettre à votre serveur de répondre aux connexions POP3S, port 995, exécutez cette commande:

sudo ufw allow 995

Conclusion

Cela devrait couvrir la plupart des commandes couramment utilisées lors de l’utilisation de UFW pour configurer un pare-feu. Bien entendu, UFW est un outil très flexible, alors n’hésitez pas à mélanger les commandes avec différentes options pour répondre à vos besoins spécifiques si elles ne sont pas traitées ici.

Bonne chance!