GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment configurer le pare-feu UFW sur Ubuntu 18.04

Dans cet article, je vais vous montrer comment configurer le pare-feu UFW sur Ubuntu 18.04. Dans Ubuntu, le pare-feu par défaut est UFW, abréviation de Uncomplicated FireWall . Il existe depuis la version d'Ubuntu 18.04 et a été conçu pour simplifier la configuration d'iptables qui était assez complexe.

Lors de l'utilisation de n'importe quel système d'exploitation, un pare-feu est l'une des caractéristiques les plus importantes à prendre en compte en ce qui concerne la sécurité de votre système. Un pare-feu est un bouclier ou une barrière qui existe entre votre PC et Internet et bloque le trafic non autorisé comme l'accès à distance à votre système et aide à vous protéger contre les codes malveillants qui traversent constamment Internet. Un pare-feu peut être matériel ou logiciel. Un pare-feu matériel est un système de pare-feu autonome qui est placé dans le réseau pour ajouter une couche de protection en contrôlant le flux de trafic vers et depuis le réseau, ainsi qu'en bloquant l'accès des utilisateurs aux sites indésirables. Un pare-feu logiciel est intégré aux systèmes d'exploitation tels que Linux et Windows et aide à protéger votre système contre les attaques externes.

A lire aussi :

  • Comment activer, refuser, autoriser et supprimer des règles sur le pare-feu Ubuntu UFW

Installation d'UFW

Par défaut, Ubuntu 18.04 est livré avec ufw installé. Cependant, pour les systèmes antérieurs, vous devez exécuter la commande ci-dessous

apt-get install ufw

Pour vérifier si ufw est en cours d'exécution, exécutez

systemctl status ufw

S'il est en cours d'exécution, vous devriez obtenir le résultat ci-dessous

● ufw.service - Uncomplicated firewall
   Loaded: loaded (/lib/systemd/system/ufw.service; enabled; vendor preset: enab
   Active: active (exited) since Tue 2018-04-10 22:03:30 UTC; 4min 1s ago
  Process: 376 ExecStart=/lib/ufw/ufw-init start quiet (code=exited, status=0/SU
 Main PID: 376 (code=exited, status=0/SUCCESS)
    Tasks: 0
   Memory: 0B
      CPU: 0
   CGroup: /system.slice/ufw.service

Apr 10 22:03:30 ip-172-31-41-251 systemd[1]: Started Uncomplicated firewall.
Warning: Journal has been rotated since unit was started. Log output is incomple

Pour vérifier s'il est actif ou inactif, exécutez

ufw status

S'il est inactif, vous obtiendrez la sortie ci-dessous

Status: inactive

Pour activer UFW avec l'ensemble de règles par défaut exécuté

ufw enable

Pour désactiver l'exécution du pare-feu

ufw disable

Configuration des règles ufw par défaut

Pour configurer des règles par défaut qui autorisent tous les protocoles sortants, connectez-vous en tant que root et exécutez

ufw default allow outgoing

Sortie

Default outgoing policy changed to 'allow'
(be sure to update your rules accordingly)

Pour refuser toutes les connexions entrantes, exécutez

ufw default deny incoming

Sortie

Default outgoing policy changed to 'deny'
(be sure to update your rules accordingly)

Les commandes ci-dessus autoriseront toutes les connexions sortantes et refuseront ou bloqueront toutes les connexions entrantes.
À ce stade, vous voudrez peut-être activer le pare-feu, mais avant cela, autorisez d'abord ssh. Cela empêche la déconnexion du serveur puisque nous avons spécifié le refus de toutes les connexions entrantes plus tôt.

Pour autoriser ssh, exécutez

ufw allow 22/tcp

Sortant

Skipping adding existing rule
Skipping adding existing rule (v6)

l'accès ssh peut également être autorisé par le nom du service,

ufw allow ssh

Si vous souhaitez supprimer l'exécution de la règle

ufw delete allow 22/ssh

Pour refuser un service par nom run

ufw deny service-name

Par exemple

ufw deny ssh

Pour voir tous les services qui peuvent être autorisés ou refusés dans le système, consultez le /etc/services fichier.

cat /etc/services | less

Exemple de sortie

ftp-data        20/tcp
ftp             21/tcp
fsp             21/udp          fspd
ssh             22/tcp                          # SSH Remote Login Protocol
ssh             22/udp
telnet          23/tcp
smtp            25/tcp          mail
time            37/tcp          timserver
time            37/udp          timserver
rlp             39/udp          resource        # resource location
nameserver      42/tcp          name            # IEN 116
whois           43/tcp          nicname
tacacs          49/tcp                          # Login Host Protocol (TACACS)
tacacs          49/udp
re-mail-ck      50/tcp                          # Remote Mail Checking Protocol
re-mail-ck      50/udp
domain          53/tcp                          # Domain Name Server
domain          53/udp

Démarrage du pare-feu ufw

Pour activer le pare-feu, connectez-vous en tant que root et exécutez la commande suivante :

 ufw enable

Vous pouvez être invité avec l'avertissement suivant

Command may disrupt existing ssh connections. Proceed with operation (y|n)? y

Si vous sélectionnez oui, vous obtiendrez la sortie ci-dessous

Firewall is active and enabled on system startup

Le pare-feu est maintenant actif et il démarrera à chaque démarrage. Nous pouvons revoir les règles de pare-feu :

ufw status

La sortie affichera maintenant l'état du pare-feu ainsi que les services/ports autorisés

Sortie

ufw status active
Status: active

To                         Action      From
--                         ------      ----
22/tcp                     ALLOW       Anywhere
22                         ALLOW       Anywhere
22/tcp (v6)                ALLOW       Anywhere (v6)
22 (v6)                    ALLOW       Anywhere (v6)

Autoriser les connexions dans ufw

Vous pouvez facilement autoriser la connexion entrante sur le port/la plage, le nom de l'application, l'adresse IP/le sous-réseau dans ufw.
Découvrez les exemples ci-dessous.

a) Autoriser les applications par nom ou numéro de port/plage

ufw allow service-name

OU

ufw allow port/tcp

Par exemple

 ufw allow ssh or  ufw allow 22/tcp
 ufw allow ftp or ufw allow 21/tcp

sudo ufw autorise 1500:2000/tcp

b) Autorise l'adresse IP/les sous-réseaux

Les commandes ci-dessous permettent les connexions à partir d'adresses IP ou de sous-réseaux spécifiques et nous pouvons également utiliser des numéros de port spécifiques.
Pour autoriser les connexions à partir d'une adresse IP spécifique

ufw allow from 10.200.20.45

Pour spécifier une adresse IP autorisée à se connecter à un port spécifique, exécutez

ufw allow from 10.200.20.45 to any port 22

Ce qui précède permet uniquement à l'adresse IP 10.200.20.45 de se connecter via ssh

Pour autoriser un certain sous-réseau d'adresses IP à se connecter au système, utilisez la notation CIDR pour spécifier un masque de réseau

ufw allow from 192.168.1.0/24

Ce qui précède permet aux IP de 192.168.1 à 192.168.1.254 de se connecter au système
Vous pouvez également spécifier le port de destination du sous-réseau

ufw allow from 192.168.1.0/24 to any port 22

Cela implique que les IP de 192.168.1 à 192.168.1.254 peuvent se connecter au système via le port 22 qui est ssh.

c) Autoriser par le nom de l'interface

Si nous devons autoriser les connexions via le nom de l'interface, c'est possible

ufw allow in on eth0 to any port 80

Comment refuser les connexions dans ufw

Par défaut, ufw est configuré pour refuser toutes les connexions entrantes.

a) Adresse IP / sous-réseau

Si nous voulons bloquer l'accès à une adresse IP spécifique, nous pouvons le faire en suivant la commande :

ufw deny from 192.168.1.15

Cela bloquera toutes les connexions entrantes de l'hôte avec l'adresse IP 192.168.1.15

Ensuite, bloquons tout le sous-réseau :

ufw deny from 150.165.125.0/24

Cela bloquera toutes les connexions provenant de ce sous-réseau.

b) Refuser les ports et l'application

Refuser un port ou un service

ufw deny 80/tcp

OU

ufw deny http

sudo ufw deny 1500:2000/tcp * Cela refusera les plages de ports *

Suppression et suivi des règles

Lorsque vous ajoutez de nombreuses règles, vous pouvez mieux les suivre en affichant leurs numéros. Vous pouvez obtenir des nombres avec la commande suivante :

ufw status numbered

Sortie

ufw status numbered
Status: active

     To                         Action      From
     --                         ------      ----
[ 1] 22/tcp                     ALLOW IN    Anywhere
[ 2] 22                         ALLOW IN    Anywhere
[ 3] 80/tcp                     ALLOW IN    Anywhere
[ 4] 53/tcp                     ALLOW IN    Anywhere
[ 5] 22/tcp (v6)                ALLOW IN    Anywhere (v6)
[ 6] 22 (v6)                    ALLOW IN    Anywhere (v6)
[ 7] 80/tcp (v6)                ALLOW IN    Anywhere (v6)
[ 8] 53/tcp (v6)                ALLOW IN    Anywhere (v6)

Disons que nous voulons supprimer les règles numéro 2. Nous le faisons en suivant la commande :

 ufw delete 2

Remarque :

Après la suppression de la deuxième règle dans le pare-feu, la règle 3 sera désormais la nouvelle règle 2. Donc, si vous souhaitez supprimer la règle 3 actuelle, vous supprimerez en utilisant le numéro 2.

 ufw delete allow http

Réinitialiser les règles

Si vous n'êtes pas satisfait des règles actuelles et que vous souhaitez tout recommencer, vous pouvez le faire en exécutant

ufw reset

Journalisation et rechargement

Pour activer la journalisation, utilisez la commande suivante :

 ufw logging on

Si vous souhaitez désactiver la journalisation pour une raison quelconque (non recommandée), vous pouvez utiliser cette commande :

sudo ufw déconnexion

Les journaux sont par défaut dans /var/log/ufw.log Pour les voir en temps réel, utilisez tail -f comme ceci :

tail -f /var/log/ufw.log /pre>

You will see all actions of firewall in that file. If you need to reload firewall for some reason, because you changed some config files manually, use following command.
 ufw reload

Si vous voulez voir les règles ajoutées récemment

 ufw show added

Fichiers de configuration UFW

Pour la plupart des scénarios, vous pouvez utiliser les commandes du terminal, mais dans certains cas, vous souhaiterez modifier directement les fichiers de configuration. L'ufw possède plusieurs fichiers de configuration, à savoir :

/etc/ufw/before.rules
/etc/ufw/before6.rules

Ces deux fichiers contiennent des règles qui sont évaluées avant toutes les règles que vous avez ajoutées par les commandes ufw. Donc, si vous voulez qu'une règle soit appliquée en premier, vous la voulez ici. Le premier fichier est pour ipv4 et le second pour v6

/etc/ufw/after.rules
/etc/ufw/after6.rules

Celles-ci sont évaluées après les règles de commande ufw. Ils sont bons à utiliser si vous souhaitez remplacer une règle et l'appliquer quoi qu'il arrive. Encore une fois, deux fichiers, pour deux versions du protocole IP actuellement utilisées.

/etc/default/ufw

Ici, nous avons des modules de noyau utilisés par ufw, ainsi que d'autres paramètres généraux. Vous pouvez modifier n'importe lequel de ces fichiers de configuration uniquement en tant que root, et vous pouvez utiliser n'importe quel éditeur de texte que vous aimez.

Évitez d'ajouter des règles en double
Ensuite, observons le mécanisme contre les règles en double. Nous allons d'abord ouvrir le port 101

 sudo ufw allow 100

Notez que la commande sans protocole comme ci-dessus ouvre les ports UDP et TCP. Exécutons donc à nouveau la même commande pour voir ce qui se passe

 ufw allow 100

Sortie

Skipping adding existing rule
Skipping adding existing rule (v6)

Cela ne nous permet pas d'ajouter une règle de duplication. C'est bien, mais il y a toujours une chance que nous puissions ajouter une règle de duplication, par cette série de commandes :

 ufw allow 101/udp
 ufw allow 101/tcp

Après avoir autorisé TCP et UDP sur le port 101, nous pouvons toujours ajouter le port 101 ouvert pour tous les protocoles et il s'agit d'une règle en double car le port 101 est ouvert deux fois, une fois pour chaque protocole et une fois pour tous.

ufw allow 101

Cela laisse place à l'erreur et ce n'est généralement pas une bonne pratique. Nous devons annuler les trois commandes avec la commande ufw delete si nous voulons revenir à la valeur par défaut pour le port 101.

Pour fermer un port, vous exécutez les mêmes commandes, mais à la place allow, tapez deny.

Dans cet article, nous avons couvert l'utilisation d'UFW qui est un pare-feu simple utilisé pour autoriser ou restreindre le trafic. C'est un pare-feu très puissant pour réguler le trafic vers votre système. N'hésitez pas à essayer les commandes sur votre système.


Ubuntu
  1. Comment configurer HAProxy dans Ubuntu 16.04

  2. Comment configurer un pare-feu avec UFW dans Ubuntu \ Debian

  3. Comment configurer un pare-feu avec UFW sur Ubuntu 16.04

  4. Comment configurer un pare-feu avec UFW sur Ubuntu 18.04

  5. Comment configurer le pare-feu UFW sur Ubuntu 18.04

Comment configurer le pare-feu UFW sur Debian 11

Comment installer le pare-feu UFW sur Ubuntu 16.04 LTS

Comment configurer le pare-feu UFW sur Ubuntu 18.04 LTS

Comment configurer le pare-feu UFW sur Ubuntu 20.04 LTS

Comment configurer le pare-feu avec UFW sur Ubuntu Linux

Comment configurer le pare-feu UFW sur Ubuntu 20.04