UFW – La gestion du pare-feu (Ubuntu-Debian)

UFW (Uncomplicated Firewall) permet de simplifier la gestion du pare-feu de Linux. C’est un logiciel en ligne de commandes (utile sur un serveur).

Par défaut, UFW interdit tous les paquets entrants et autorise tous les paquets sortants; il autorise également toutes les connexions en cours.

Sous Ubuntu ou Mint on préfixe les commandes par sudo pour agir en tant qu’administrateur.


Installer, activer, désactiver UFW

Pour installer UFW, en administrateur :

sudo apt-get install ufw

Voir le statut actuel d’UFW :

sudo ufw status

Activer UFW :

sudo ufw enable

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

En fait si vous êtes connecté sur votre serveur en SSH, ce qui est mon cas, la connexion en cours n’est pas coupée. Par défaut, UFW met en place une règle qui autorise les connexions déjà ouvertes.

Désactiver UFW

sudo ufw disable

Pour désactivez et réactivez ufw et appliquer les modifications :

sudo ufw disable && sudo ufw enable

Configuration

Pour autoriser les connexions SSH (port 22) :

sudo ufw allow 22

Dans mon cas j’autorise également la connexion avec VNC Viewer que j’utilise associé au port 5901 :

sudo ufw allow 5901

Pour lister les applications connues de UFW :

sudo ufw app list

On peut autoriser une application connue d’UFW sans avoir recours au numéro de port correspondant (exemple pour SSH) :

sudo ufw allow SSH

Bloquer les requêtes SSH pour une adresse IP :

sudo ufw deny from 192.168.1.5 to any port 22

Afficher les règles, les supprimer…

Lister les règles en place :

Avec l’option verbose, on peut lister les règles de manière détaillée, ainsi que les politiques par défaut :

sudo ufw status verbose

Journalisation : on (low) (Indique que la journalisation est activée)

Default: deny (incoming), allow (outgoing), disabled (routed) (Concerne les règles par défaut de UFW. Voir plus loin comment les modifier)

Supprimer une règle (exemple pour SSH) :

sudo ufw delete allow 22

Supprimer une règle selon son rang.

1 – Afficher les règles avec leur numéro :

sudo ufw status numbered

2 – Effacer une règle en utilisant son numéro :

sudo ufw delete 3

Samba

Les ports liés au partage de fichiers par les protocoles SMB et CIFS

135 TCP et UDP Localisateur de services RPC

137 TCP et UDP NetBIOS Name Service (nbname)

138 UDP NetBIOS Datagram Service (nbdatagram)

139 TCP NetBIOS Session Service (nbsession)

445 TCP et UDP Service de dossiers partagés Windows

Pour autoriser la connexion à un partage Samba à partir du réseau 192.168.1.0/24 :

sudo ufw allow from 192.168.1.0/24 to any port 135
sudo ufw allow from 192.168.1.0/24 to any port 137
sudo ufw allow from 192.168.1.0/24 to any port 138 proto udp
sudo ufw allow from 192.168.1.0/24 to any port 139 proto tcp
sudo ufw allow from 192.168.1.0/24 to any port 445

Dans le fichier de configuration : /etc/default/ufw

La ligne suivante doit être active ( c’était déjà le cas ) :

IPT_MODULES="nf_conntrack_ftp nf_nat_ftp nf_conntrack_irc nf_nat_irc nf_conntrack_netbios_ns"

Avec l’adressage IP

Il est également possible d’autoriser les accès pour des hôtes ou des ports spécifiques. L’exemple suivant autorise les accès SSH depuis l’hôte 192.168.1.52 :

sudo ufw allow proto tcp from 192.168.1.52 to any port 22

Un exemple pour VNC :

sudo ufw allow proto tcp from 192.168.1.52 to any port 5901

Exemple pour permettre la connexion via phpMyAdmin :

sudo ufw allow proto tcp from 192.168.1.52 to any port 80

Exemple pour le port 8000 en TCP :

sudo ufw allow 8000/tcp

La journalisation (les log)

log sous /vat/log/ufw.log

Pour voir la fin du fichier :

tail -f /var/log/ufw.log

Pour voir ce qui se rapporte à votre IP xxx.xxx.xxx.xxx :

tail -f /var/log/ufw.log | grep xxx.xxx.xxx.xxx

Pour activer la journalisation :

sudo ufw logging on

Pour désactiver la journalisation :

sudo ufw logging off

Gestion des règles par défaut

Autoriser le trafic entrant suivant les règles par défaut :

sudo ufw default allow

Refuser le trafic entrant suivant les règles par défaut :

sudo ufw default deny

Autoriser le trafic sortant suivant les règles par défaut :

sudo ufw default allow outgoing

Refuser le trafic sortant suivant les règles par défaut :

sudo ufw default deny outgoing

Aide

Pour plus d’information :

ufw help
man ufw

Vous pouvez retrouver des exemples de configuration d’ufw sous Linux Mint dans le PDF suivant :

Configuration d’ufw sous Linux Mint


Voir également les articles :

Voir les ports ouverts sous Linux

Lien entre services et ports (UNIX-Linux)


Plus d’informations sur le WEB :

https://doc.ubuntu-fr.org/ufw

https://doc.ubuntu-fr.org/samba

https://guide.ubuntu-fr.org/server/firewall.html

21/06/2016