← Retour au blog Sécurité

Sécurisez Votre Installation Odoo

Votre installation Odoo est critique pour votre activité. Suivez ces étapes pour renforcer la sécurité de votre serveur et le protéger contre les attaques.

Votre installation Odoo est critique pour votre activité. Elle contient l'ensemble de vos données d'entreprise, y compris des états financiers sensibles et des informations clients confidentielles. Si vous hébergez Odoo 19 sur votre propre serveur (par exemple, un VPS Ubuntu 24.04), il est impératif de suivre certaines étapes pour renforcer la sécurité de votre serveur et le protéger contre les attaques.

1. Maintenez votre système à jour

La première ligne de défense consiste à mettre régulièrement à jour les dépôts et les paquets de votre distribution.

Exécutez la commande suivante :

bash
sudo apt update && sudo apt upgrade -y

Assurez-vous également de garder votre installation Odoo (Community ou Enterprise) à jour en récupérant régulièrement les dernières sources correspondant à votre version.

bash
git pull origin 19.0

(Remplacez 19.0 par votre version spécifique. Effectuez cette opération dans les dossiers sources Odoo Community et Enterprise).

2. Renforcez votre configuration SSH

Le protocole SSH est utilisé pour vous connecter et administrer votre serveur Odoo en toute sécurité. C'est un point d'accès critique : si un attaquant le compromet, il peut prendre le contrôle total du système et accéder à votre base de données. Voici comment le sécuriser.

a) Modifier le port par défaut

Par défaut, le service SSH écoute sur le port 22. Changer ce port ne découragera pas une attaque ciblée sophistiquée, mais c'est une mesure efficace pour éviter les robots, les scanners automatiques et les attaques opportunistes.

Pour ce faire, éditez le fichier de configuration SSH :

bash
sudo vim /etc/ssh/sshd_config

Recherchez la ligne #Port 22. Décommentez-la (retirez le #) et remplacez 22 par le numéro de votre choix (par exemple 1234).

ssh
Port 1234

Redémarrez ensuite le service SSH pour appliquer les changements :

bash
sudo systemctl restart ssh

Pour vous connecter, vous devrez désormais spécifier le port avec l'option -p :

bash
ssh -p 1234 ubuntu@IP_DE_VOTRE_SERVEUR

b) Activer l'authentification par clé SSH

L'authentification par mot de passe vous expose aux attaques par bruteforce (tentatives rapides et répétées de deviner votre mot de passe). Il est beaucoup plus sûr d'utiliser des clés cryptographiques.

Sur votre serveur, assurez-vous que l'authentification par clé publique est activée dans /etc/ssh/sshd_config. Recherchez l'option PubkeyAuthentication et assurez-vous qu'elle est définie sur yes.

ssh
PubkeyAuthentication yes

(Note : Si la ligne est commentée, cela signifie généralement que l'option est active par défaut).

Sur votre ordinateur local (celui utilisé pour accéder au serveur), générez une nouvelle paire de clés :

bash
ssh-keygen -t ed25519

Il est fortement recommandé de définir une "passphrase" pour protéger votre clé privée. Ainsi, même si votre clé est volée, elle ne pourra pas être utilisée sans le mot de passe.

Une fois générées, vos clés se trouvent généralement dans le dossier .ssh de votre utilisateur:

  • Clé privée (id_ed25519) : À conserver précieusement et à ne jamais partager.
  • Clé publique (id_ed25519.pub) : C'est celle qui doit être copiée sur le serveur.

Pour copier votre clé publique sur le serveur, utilisez la commande suivante :

bash
ssh-copy-id -i /home/ubuntu/.ssh/id_ed25519.pub ubuntu@IP_DE_VOTRE_SERVEUR

(Vous devrez entrer votre mot de passe utilisateur une dernière fois).

Une fois cette étape terminée, vous pouvez vous connecter sans mot de passe serveur, en utilisant votre clé. Si votre clé n'est pas détectée automatiquement, spécifiez-la avec l'option -i:

bash
ssh -i /home/ubuntu/.ssh/id_ed25519 -p 1234 ubuntu@IP_DE_VOTRE_SERVEUR

c) Désactiver l'authentification par mot de passe

Maintenant que l'authentification par clé est fonctionnelle, il est conseillé de désactiver totalement l'authentification par mot de passe pour fermer cette porte aux attaquants.

Éditez à nouveau le fichier de configuration SSH :

bash
sudo vim /etc/ssh/sshd_config

Modifiez ou ajoutez les lignes suivantes pour les mettre sur no et prohibit-password :

ssh
PasswordAuthentication no
KbdInteractiveAuthentication no
PermitRootLogin prohibit-password

Redémarrez le service SSH :

bash
sudo systemctl restart ssh

L'authentification par mot de passe est désormais désactivée et l'accès par clé est obligatoire.

3. Configurer un pare-feu (Firewall)

Un pare-feu est une mesure de sécurité essentielle pour filtrer le trafic entrant. Il permet d'éviter l'exposition accidentelle d'applications internes au réseau public. L'objectif est de n'exposer que les services strictement nécessaires.

Installez UFW (Uncomplicated Firewall) :

bash
sudo apt install ufw

Important : Avant d'activer le pare-feu, vous devez autoriser votre port SSH (celui que vous avez configuré à l'étape 2a), sinon vous serez bloqué hors de votre serveur.

bash
sudo ufw allow 1234/tcp

(Remplacez 1234 par votre port SSH personnalisé).

Autorisez ensuite les ports standards pour Odoo (généralement 80 pour le web et 443 pour le trafic sécurisé TLS).

bash
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

Une fois les règles ajoutées, activez le pare-feu :

bash
sudo ufw enable

Vous pouvez vérifier l'état de vos règles à tout moment avec :

bash
sudo ufw status verbose

4. Activer l'authentification à deux facteurs (2FA) sur Odoo

Un attaquant peut également tenter de compromettre votre ERP via votre compte utilisateur Odoo. Bien que cela ne donne pas accès au serveur lui-même, les conséquences (fuite de données, actions malveillantes) peuvent être désastreuses selon vos droits d'accès.

Il est recommandé d'activer l'authentification à deux facteurs (2FA) en utilisant une application comme Google Authenticator.

  1. Connectez-vous à votre instance Odoo.
  2. Cliquez sur votre profil (en haut à droite), puis sur Préférences.
  3. Allez dans l'onglet Sécurité et activez l'authentification 2FA.
  4. Scannez le QR code affiché avec votre application mobile d'authentification et saisissez le code de vérification.

Désormais, un code 2FA vous sera demandé à chaque connexion. Même si votre mot de passe est volé, l'attaquant ne pourra pas accéder à votre compte sans ce second code.


Vous souhaitez plus de conseils pour sécuriser votre Odoo ? Contactez-nous à contact@tadoo.io !