Bonjour à tous,
Je me permets un post un peu technique pour ceux qui s'amusent avec openclaw sur un VPS et qui, comme moi, n'avaient pas pensé à le sécuriser. Je suis tombée sur un post anglophone traitant de ce sujet et ça m'a ouvert les yeux : si tu es sur un VPS avec openclaw pré-installé, sache que c'est une passoire et que tôt ou tard, tu seras attaqué par brute force.
L'idée ici est de rendre invisible la machine sur internet, et de remplacer l'utilisateur root par un autre. On va bloquer tout trafic entrant excepté celui de ton réseau privé. Le trafic sortant reste autorisé, si bien qu'il est toujours possible de communiquer avec ses agents par Télégram, et ceux-ci peuvent toujours accéder au web.
Les choses à faire absolument :
- ✅ Utilisateur xxx avec sudo créé (pour remplacer le root)
- ✅ Login root désactivé
- ✅ UFW activé — tout le trafic entrant bloqué
- ✅ Tailscale installé — SSH uniquement via réseau privé
- ✅ Dashboard port fermé
- ✅ Double authentification Tailscale activée
Pas obligatoire (mais recommandé si vos agents font des opérations sensibles : exécution de scritps, accès à vos mails, accès à des moyens de paiements...) : faire tourner chaque agent dans un conteneur Docker. Perso j'ai pas fait donc je ne saurais vous en dire plus.
Comment j'ai fait ? J'ai suivi une vidéo trouvée sur Youtube de @developedbyed (je sais pas si j'ai le droit de la partager ici), je l'ai regardé quand même et puis j'ai pris sa transcription que j'ai copié-collé dans Claude. Je lui ai demandé d'en résumer les étapes et puis de me guider pas-à-pas. La procédure a pris environ 90min.
Pour ceux que ça intéresse, je vous mets le résumé de Claude (désolée pour le manque de présentation, y'a aucun outil wysiwyg) :
Étape 1 — Créer un utilisateur non-root
adduser xxx
usermod -aG sudo xxx
mkdir /home/xxx/.ssh
cp /root/.ssh/authorized_keys /home/xxx/.ssh/authorized_keys
chown xxx:xxx/home/xxx/.ssh/authorized_keys
chmod 600 /home/xxx/.ssh/authorized_keys
Étape 2 — Désactiver root et authentification par mot de passe :
Modifier /etc/ssh/sshd_config :
PermitRootLogin no
PasswordAuthentication no
Étape 3 — Activer UFW (pare-feu) :
sudo apt install ufw -y
sudo ufw allow 22/tcp
sudo ufw enable
Étape 4 — Installer Tailscale (pour créer un réseau privé, seul moyen d'accéder au vps) :
sudo tailscale up
Installer Tailscale sur le PC Windows → se connecter
Puis basculer SSH sur Tailscale uniquement :
sudo ufw allow in on tailscale0 to any port 22
sudo ufw delete allow 22/tcp
Se connecter désormais via :
Étape 5 — Fermer le dashboard OpenClaw
sudo ufw deny in to any port 12345
Pour accéder au dashboard quand nécessaire, tunnel SSH :
Étape 6 — Double authentification
Activer la validation en deux étapes votre compte Tailscale
Happy coding !