Mise en place & configuration du Firewall
Installation
sudo apt install ufw
Une fois installé, il est conseillé de mettre en place une configuration par défaut des connexions entrantes et sortantes.
Connexion entrantes
Par défaut refuser toutes les entrées.
sudo ufw default deny incoming
Connexion sortantes
Par défaut autoriser toutes les sorties.
sudo ufw default allow outgoing
Configuration
ATTENTION, UNE MAUVAISE CONFIGURATION PEUT VOUS ÉJECTER DE VOTRE PROPRE SERVEUR.
Tout d'abord il convient de définir les ports autorisant les connexions entrantes.
Par exemple si l'on n'autorise pas le port SSH (soit le port 22) alors plus aucun utilisateur ne pourra se connecter a distance sur le serveur. Le seul moyen de rattraper ce cas c'est d'avoir un accès physique au serveur.
Par conséquent, il convient d'autoriser certains ports par défaut pour éviter de se faire bannir de son propre serveur.
Ouverture du port SSH
sudo ufw allow ssh
Ce qui équivaut a faire :
sudo ufw allow 22
Ouverture des ports pour le Web
Si vous serveur héberge un ou plusieurs site(s) web alors vous allez devoir ouvrir le port 80 (pour les requêtes HTTP) et le port 443 (pour les requêtes HTTPS)
sudo ufw allow 80
sudo ufw allow 443
Ouverture des ports par service
Si votre serveur héberge d'autres services utilisant des ports différents que ceux ouvert précédemment alors vous devrez ouvrir les ports utilisés. Dans le cas contraire vos services ne seront pas accessibles depuis l'extérieure.
Par exemple votre serveur héberge une base de données PostgreSQL et vous souhaitez y accéder depuis l'extérieur pour la manager. Dans ce cas vous devrez ouvrir le port 5432 (port utilisé par défaut par PostgreSQL).
sudo ufw allow $PORT
Vérification de la configuration
Si vous n'êtes pas sur de votre configuration et que vous voulez la vérifier avant de l'activer, il possible de le faire avec la commande suivante :
sudo ufw status verbose
Ce qui devrez vous affichez les informations suivantes :
# Afficher toutes les règles définit sur le firewall
Status: inactive
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip
To Action From
-- ------ ----
80 ALLOW IN Anywhere
22 ALLOW IN Anywhere
443/tcp ALLOW IN Anywhere
80 (v6) ALLOW IN Anywhere (v6)
22 (v6) ALLOW IN Anywhere (v6)
443/tcp (v6) ALLOW IN Anywhere (v6)
Activation du Firewall
Une fois la configuration terminé vous allez devoir activer le service pour que celui-ci fonctionne.
Lors de l'activation du pare-feu votre connexion au serveur sera interrompu vous allez devoir vous reconnecter.
sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup
Commandes UFW
D'autres commandes ufw qui peuvent être utiles.
- Statut du service
sudo service ufw status
- Liste des règles du firewall
sudo ufw status verbose
- Liste des règles du firewall numéroté
sudo ufw status numbered
- Supprimer une règle du firewall en fonction de son numéro
sudo ufw delete 5
- Supprimer une règle du firewall en fonction de son activation
sudo ufw delete allow 80