Désactiver le préchargeur
Explorez, Apprenez et Maîtrisez

Documentation et Tutoriels - Hébergement Web Caramania.Ca

avec Nos Documentation et Tutoriels

Découvrez notre vaste bibliothèque de documentation et de tutoriels conçus pour vous aider à tirer le meilleur parti des services Caramania.Ca. Que vous soyez un débutant cherchant à configurer votre premier site web ou un utilisateur avancé désireux d'explorer des fonctionnalités plus complexes, nos guides pas à pas vous accompagneront à chaque étape. Simplifiez la gestion de vos services, trouvez des solutions rapides à vos problèmes, et approfondissez vos connaissances grâce à notre centre de ressources complet.

Documentation / Tutoriels Linux / Sécurité / Configurer le pare-feu sur Ubuntu, Debian et AlmaLinux
Bahanos
09/01/2025
Débutant
15 minutes

Prérequis

  • Un serveur Ubuntu/Debian ou AlmaLinux 9/Rocky Linux 9
  • Accès root ou sudo

Le pare-feu est essentiel pour sécuriser votre serveur. Ubuntu/Debian utilisent UFW (Uncomplicated Firewall), tandis qu'AlmaLinux/Rocky Linux utilisent firewalld. Ce guide couvre les deux solutions.

Attention !

Avant d'activer le pare-feu, assurez-vous d'avoir autorisé SSH (port 22) sinon vous serez bloqué hors de votre serveur !

UFW - Ubuntu/Debian

1. Installer UFW

Installation (Ubuntu/Debian)
# Mettre à jour les paquets
apt update

# Installer UFW
apt install ufw -y

# Vérifier le statut (désactivé par défaut)
ufw status

2. Configuration de base

Politique par défaut (Ubuntu/Debian)
# Bloquer tout le trafic entrant par défaut
ufw default deny incoming

# Autoriser tout le trafic sortant
ufw default allow outgoing

3. Autoriser SSH (IMPORTANT)

Autoriser SSH avant d'activer UFW (Ubuntu/Debian)
# Autoriser SSH (port 22)
ufw allow ssh

# Ou explicitement avec le numéro de port
ufw allow 22/tcp

# Si vous utilisez un port SSH personnalisé
ufw allow 2222/tcp

4. Activer UFW

Activer le pare-feu (Ubuntu/Debian)
# Activer UFW (confirmez avec 'y')
ufw enable

# Vérifier le statut
ufw status verbose

5. Règles courantes

Serveur Web (HTTP/HTTPS)

Autoriser le trafic web (Ubuntu/Debian)
# HTTP
ufw allow 80/tcp

# HTTPS
ufw allow 443/tcp

# Ou les deux en une commande
ufw allow 'Nginx Full'    # Si Nginx est installé
ufw allow 'Apache Full'   # Si Apache est installé

Serveur de base de données

MySQL/MariaDB et PostgreSQL (Ubuntu/Debian)
# MySQL/MariaDB (seulement si accès externe nécessaire)
ufw allow 3306/tcp

# PostgreSQL
ufw allow 5432/tcp

# Limiter à une IP spécifique (recommandé)
ufw allow from 192.168.1.100 to any port 3306

Serveur de messagerie

Ports email (Ubuntu/Debian)
# SMTP
ufw allow 25/tcp
ufw allow 465/tcp   # SMTPS
ufw allow 587/tcp   # Submission

# POP3
ufw allow 110/tcp
ufw allow 995/tcp   # POP3S

# IMAP
ufw allow 143/tcp
ufw allow 993/tcp   # IMAPS

Serveur FTP

Ports FTP (Ubuntu/Debian)
# FTP
ufw allow 21/tcp

# FTP passif (plage de ports)
ufw allow 40000:50000/tcp

Serveur DNS

Ports DNS (Ubuntu/Debian)
# DNS (TCP et UDP)
ufw allow 53/tcp
ufw allow 53/udp

Applications diverses

Autres ports courants (Ubuntu/Debian)
# DirectAdmin
ufw allow 2222/tcp

# Minecraft
ufw allow 25565/tcp

# Portainer
ufw allow 9443/tcp

# Webmin
ufw allow 10000/tcp

# Node.js (développement)
ufw allow 3000/tcp

# Redis
ufw allow 6379/tcp

6. Règles avancées

Autoriser une IP spécifique

Filtrage par IP (Ubuntu/Debian)
# Autoriser tout le trafic d'une IP
ufw allow from 192.168.1.100

# Autoriser une IP sur un port spécifique
ufw allow from 192.168.1.100 to any port 22

# Autoriser un sous-réseau
ufw allow from 192.168.1.0/24

# Autoriser un sous-réseau sur un port
ufw allow from 10.0.0.0/8 to any port 3306

Bloquer une IP

Bloquer des adresses (Ubuntu/Debian)
# Bloquer une IP
ufw deny from 123.45.67.89

# Bloquer un sous-réseau
ufw deny from 123.45.67.0/24

# Bloquer une IP sur un port spécifique
ufw deny from 123.45.67.89 to any port 22

Limiter les connexions (anti-bruteforce)

Rate limiting (Ubuntu/Debian)
# Limiter les connexions SSH (6 connexions en 30 secondes)
ufw limit ssh

# Limiter un port personnalisé
ufw limit 2222/tcp

7. Gérer les règles

Commandes de gestion (Ubuntu/Debian)
# Voir les règles numérotées
ufw status numbered

# Supprimer une règle par numéro
ufw delete 3

# Supprimer une règle par définition
ufw delete allow 80/tcp

# Insérer une règle à une position
ufw insert 1 allow from 192.168.1.100

8. Désactiver temporairement UFW

Activer/Désactiver (Ubuntu/Debian)
# Désactiver UFW
ufw disable

# Réactiver UFW
ufw enable

# Réinitialiser toutes les règles
ufw reset

9. Activer les logs

Journalisation (Ubuntu/Debian)
# Activer les logs
ufw logging on

# Niveaux de log : off, low, medium, high, full
ufw logging medium

# Voir les logs
tail -f /var/log/ufw.log

10. Configuration pour Docker

Docker modifie iptables directement et peut contourner UFW. Pour corriger ce comportement :

Configurer UFW pour Docker
# Éditer la configuration Docker
nano /etc/docker/daemon.json

# Ajouter (désactive la manipulation iptables par Docker) :
{
  "iptables": false
}

# Redémarrer Docker
systemctl restart docker

# Note: Vous devrez ensuite ouvrir manuellement les ports des conteneurs

Exemple de configuration complète UFW

Configuration serveur web typique (Ubuntu/Debian)
# Reset des règles
ufw reset

# Politique par défaut
ufw default deny incoming
ufw default allow outgoing

# SSH avec limite
ufw limit 22/tcp

# HTTP/HTTPS
ufw allow 80/tcp
ufw allow 443/tcp

# DirectAdmin (si installé)
ufw allow 2222/tcp

# FTP (si nécessaire)
ufw allow 21/tcp
ufw allow 40000:50000/tcp

# Email (si serveur mail)
ufw allow 25/tcp
ufw allow 465/tcp
ufw allow 587/tcp
ufw allow 110/tcp
ufw allow 995/tcp
ufw allow 143/tcp
ufw allow 993/tcp

# DNS (si serveur DNS)
ufw allow 53/tcp
ufw allow 53/udp

# Activer
ufw enable

# Vérifier
ufw status verbose

firewalld - AlmaLinux/Rocky Linux

Sur AlmaLinux et Rocky Linux, le pare-feu par défaut est firewalld. Il utilise des zones et des règles permanentes pour gérer le trafic réseau.

1. Installer et activer firewalld

Installation (AlmaLinux/Rocky Linux)
# Installer firewalld (généralement déjà présent)
dnf install -y firewalld

# Activer et démarrer firewalld
systemctl enable --now firewalld

# Vérifier l'état
firewall-cmd --state

2. Voir la configuration actuelle

État du pare-feu (AlmaLinux/Rocky Linux)
# Voir toutes les règles actives
firewall-cmd --list-all

# Voir la zone par défaut
firewall-cmd --get-default-zone

# Lister toutes les zones
firewall-cmd --get-zones

# Voir les services autorisés
firewall-cmd --list-services

# Voir les ports ouverts
firewall-cmd --list-ports

3. Autoriser SSH (IMPORTANT)

Autoriser SSH (AlmaLinux/Rocky Linux)
# SSH est généralement autorisé par défaut, vérifier :
firewall-cmd --query-service=ssh

# Si non autorisé, l'ajouter
firewall-cmd --permanent --add-service=ssh
firewall-cmd --reload

4. Ouvrir des ports

Par service

Ouvrir par nom de service (AlmaLinux/Rocky Linux)
# HTTP
firewall-cmd --permanent --add-service=http

# HTTPS
firewall-cmd --permanent --add-service=https

# FTP
firewall-cmd --permanent --add-service=ftp

# DNS
firewall-cmd --permanent --add-service=dns

# SMTP, IMAP, POP3
firewall-cmd --permanent --add-service=smtp
firewall-cmd --permanent --add-service=smtps
firewall-cmd --permanent --add-service=imap
firewall-cmd --permanent --add-service=imaps
firewall-cmd --permanent --add-service=pop3
firewall-cmd --permanent --add-service=pop3s

# Appliquer les changements
firewall-cmd --reload

# Voir tous les services disponibles
firewall-cmd --get-services

Par numéro de port

Ouvrir par port (AlmaLinux/Rocky Linux)
# Ouvrir un port TCP
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --permanent --add-port=443/tcp

# Ouvrir un port UDP
firewall-cmd --permanent --add-port=53/udp

# Ouvrir une plage de ports
firewall-cmd --permanent --add-port=40000-50000/tcp

# Ports courants
firewall-cmd --permanent --add-port=2222/tcp    # DirectAdmin
firewall-cmd --permanent --add-port=10000/tcp   # Webmin
firewall-cmd --permanent --add-port=25565/tcp   # Minecraft
firewall-cmd --permanent --add-port=9443/tcp    # Portainer
firewall-cmd --permanent --add-port=3000/tcp    # Node.js
firewall-cmd --permanent --add-port=587/tcp     # Submission

# Appliquer les changements
firewall-cmd --reload

5. Fermer des ports

Supprimer des règles (AlmaLinux/Rocky Linux)
# Fermer un port
firewall-cmd --permanent --remove-port=80/tcp

# Retirer un service
firewall-cmd --permanent --remove-service=http

# Appliquer les changements
firewall-cmd --reload

6. Règles avancées (Rich Rules)

Filtrage par IP (AlmaLinux/Rocky Linux)
# Autoriser une IP spécifique sur un port
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port port="3306" protocol="tcp" accept'

# Bloquer une IP
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="123.45.67.89" reject'

# Bloquer un sous-réseau
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="123.45.67.0/24" reject'

# Autoriser un sous-réseau sur un port
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="10.0.0.0/8" port port="3306" protocol="tcp" accept'

# Appliquer les changements
firewall-cmd --reload

# Voir les rich rules
firewall-cmd --list-rich-rules

7. Activer les logs

Journalisation (AlmaLinux/Rocky Linux)
# Activer les logs pour les paquets rejetés
firewall-cmd --set-log-denied=all

# Options : all, unicast, broadcast, multicast, off
firewall-cmd --set-log-denied=unicast

# Voir les logs
journalctl -f | grep -i firewall

# Ou dans les logs kernel
dmesg | grep -i reject

Exemple de configuration complète firewalld

Configuration serveur web typique (AlmaLinux/Rocky Linux)
# S'assurer que firewalld est actif
systemctl enable --now firewalld

# SSH (normalement déjà autorisé)
firewall-cmd --permanent --add-service=ssh

# HTTP/HTTPS
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https

# DirectAdmin (si installé)
firewall-cmd --permanent --add-port=2222/tcp

# FTP (si nécessaire)
firewall-cmd --permanent --add-service=ftp
firewall-cmd --permanent --add-port=40000-50000/tcp

# Email (si serveur mail)
firewall-cmd --permanent --add-service=smtp
firewall-cmd --permanent --add-service=smtps
firewall-cmd --permanent --add-port=587/tcp
firewall-cmd --permanent --add-service=pop3
firewall-cmd --permanent --add-service=pop3s
firewall-cmd --permanent --add-service=imap
firewall-cmd --permanent --add-service=imaps

# DNS (si serveur DNS)
firewall-cmd --permanent --add-service=dns

# Appliquer tous les changements
firewall-cmd --reload

# Vérifier
firewall-cmd --list-all
Pare-feu configuré !

Votre serveur est maintenant protégé. Pensez à tester vos services après avoir activé le pare-feu pour vous assurer que les ports nécessaires sont ouverts.

💬 Écrivez-nous sur Messenger !