Pour débuter
Outils de base
VIM
06 min
SSH
14 min
rsync
20 min
Shell fish
13 min
Serveur HTTP
Apache
40 min
Nginx
30 min
PHP
NodeJS
Base de données
MySQL
15 min
Redis
08 min
Emails
HTTPS
FTP
ProFTPD
14 min
Sécurité
Pour le confort
Déploiement

Nous l'avons vu précédemment, il est possible de piloter le pare-feu de Linux à l'aide de la commande iptables. Le principal inconvénient est que les commandes à taper sont relativement verbeuses et difficiles à retenir. UFW permet de simplifier la gestion des règles du pare-feu. Là où sur Iptables, il faut utiliser une syntaxe assez complexe pour autoriser ou interdire un flux, il ne suffit que de quelques caractères pour faire la même chose dans un langage plus naturel et intuitif.

Installation

L'installation se fait comme à chaque fois via le gestionnaire de paquet.

apt-get install ufw

Avant de commencer

Contrairement a beaucoup d'applications que l'on a installées jusqu'à maintenant, ufw ne se démarre pas par défaut pour ne pas vous enfermer dehors. Avant de l'activer on va commencer par gérer les politiques d'accès par défaut.

Toutes les commandes seront à taper en tant qu'administrateur (sudo).

ufw default deny incoming
ufw default allow outgoing

On ampèche ainsi l'extérieur de communiquer avec notre serveur, mais on autorise notre serveur à appeller l'extérieur. On va donc autoriser le port de notre SSH (5789 dans notre cas) afin de ne pas de retrouver enfermé hors de notre serveur.

ufw allow 5789/tcp

Par défaut, ufw ne coupe pas les connexions déjà actives, mais on n'est jamais trop prudent. Maintenant on peut activer l'outil.

ufw enable

Commandes

Pour ajouter une règle qui permet d'autoriser ou rejeter un flux il suffit de taper la commande ufw puis la règle allow (pour autoriser) ou deny (pour refuser) suivi du port.

Par exemple, pour rendre notre serveur web accessible depuis l'extérieur il suffit de taper.

ufw allow 80

On se retrouve souvent à ouvrir les mêmes ports suivant les applications que l'on a lancé sur notre serveur. ufw contient une liste d'application avec les ports standarts à ouvrir.

ufw app list

Pour autoriser les ports 80 et 443 (pour l'http et l'https) on peut alors utiliser le nom de l'application

ufw allow "WWW Full"

Si vous voulez voir l'effet des règles qu vous avez tapé, vous pouvez obtenir un résumé avec la commande status.

ufw status verbose

Enfin si vous souhaitez supprimer une règle il vous suffit de la précéder d'un delete.

ufw delete allow 80

Pour des règles plus complexes, vous pouvez les supprimer en utilisant un chiffre désignant sa position dans la liste.

ufw status numbered
ufw delete 3

Enfin, les règles peuvent être plus poussées, si par exemple on ne souhaite autoriser qu'une ip à accéder à notre serveur ssh

# ufw <allow|deny> from <cible> to <destination> port <port>
ufw allow from 100.100.100.100 to any port 5789

Enfin une fois les règles ajoutées, vous devez recharger l'ensemble des règles d'Ufw en tapant la commande :

ufw reload