Commencer
Aperçu
Sova transforme un serveur VPS Ubuntu en hub du réseau de l'entreprise. Chaque agence exploite un routeur MikroTik (RouterOS 7) qui se connecte au hub — ainsi, les agences derrière NAT, CGNAT ou un modem 4G fonctionnent sans IP publique — et chaque employé distant se connecte au même hub. Tout peut alors atteindre tout le reste par son adresse réelle, comme si tous les bureaux étaient dans un même bâtiment.
| Pièce | Ce qu'il fait |
| Hub (votre VPS) | Termine chaque tunnel, route entre sites avec OSPF, applique les politiques, répond au DNS interne, gère le panneau. |
| Site | Un routeur d'agence. Obtient son propre bloc d'adresses, un tunnel WireGuard et un tunnel de secours L2TP/IPsec vers le hub. |
| Type de réseau | Un but — serveurs, utilisateurs, imprimantes, caméras… — qui se situe au même troisième octet sur chaque site. |
| Utilisateur distant | Un appareil employé via WireGuard ou L2TP/IPsec natif, avec un accès limité aux sites et réseaux de votre choix. |
| Gestionnaire | Santé et contrôle de l'agence MikroTik via les tunnels : mises à jour, temps, DNS, filtre d'application, actions en masse. |
Vous n'écrivez jamais la configuration du routeur à la main : Sova génère un script prêt à être collé par agence, et ajouter une nouvelle agence plus tard ne nécessite pas de modifier les existantes.
Commencer
Comment fonctionne Sova
- Le hub possède le forfait. Chaque adresse de la flotte est dérivée d'un numéro de site et d'un type de réseau,
donc rien n'est tapé deux fois et deux sites ne peuvent jamais se chevaucher.
- Les agences effectuent des appels sortants. Chaque routeur d'agence ouvre un tunnel WireGuard vers le hub (UDP, son propre
port par site) et, en secours, un tunnel L2TP/IPsec. Les connexions sortantes passent tout NAT.
- OSPF partage les routes. Chaque agence annonce ses propres réseaux ; le hub les apprend et les annonce à l'ensemble de la flotte. Une nouvelle agence est apprise automatiquement par chaque autre agence.
- Le hub est le point de contrôle. Tout le trafic site-à-site et distant passe par le hub, donc
les politiques, l'accès des utilisateurs distants et la validation des routes sont appliqués en un seul endroit — une agence ne peut pas élargir ses propres
accès ou revendiquer les adresses d'une autre agence.
- L'internet local reste local. Seule le trafic de l'entreprise traverse les tunnels. Les agences continuent d'utiliser leur propre internet ; les utilisateurs distants choisissent entre un tunnel divisé ou complet.
Commencer
Exigences
Hub
- Un VPS avec Ubuntu 24.04 ou 26.04 (amd64), fraîchement installé, accès root.
- Une adresse IPv4 publique sur le VPS (non derrière NAT) — les branches et les utilisateurs l'appellent.
- 1 vCPU / 1 Go de RAM pour jusqu'à ~10 sites ; 2 vCPU / 2 Go pour des dizaines de sites et d'utilisateurs ; 10 Go de disque.
- Si votre fournisseur a un pare-feu externe, autorisez le trafic entrant : TCP
80 (panneau),
UDP 51001–51254 (le site N utilise 51000+N), UDP 51820 (utilisateurs distants),
UDP 500, 4500 (IPsec) et votre port SSH. Sova configure le pare-feu du VPS lui-même.
Agences
- MikroTik avec RouterOS 7 (n'importe quel modèle, CHR inclus) et une connexion Internet fonctionnelle.
- Un port gratuit pour chaque réseau que vous souhaitez que Sova construise (voir Création de sites).
- L'agence ne doit pas déjà utiliser d'adresses à l'intérieur de son futur bloc
10.N.0.0/16 ou 172.31.0.0/16.
Utilisateurs distants
- L'application WireGuard (Windows, macOS, Linux, Android, iOS), ou le client L2TP/IPsec intégré dans Windows, macOS, iOS et Android.
Commencer
Installation
Sur le nouveau VPS, en tant que root :
curl -fsSL https://sova.securytik.com/install.sh | sudo bash
Si github.com est bloqué dans votre pays, utilisez le miroir hébergé par Cloudflare — même installateur, rien n'est récupéré depuis GitHub. (La commande standard ci-dessus détecte également un GitHub bloqué et bascule vers ce miroir automatiquement.)
curl -fsSL https://dl.securytik.com/sova-install.sh | sudo bash
Le démarrage télécharge la dernière version signée depuis GitHub (github.com/mhdhaidarah/sova) —
ou depuis le miroir dl.securytik.com lorsqu'GitHub est bloqué — vérifie son hachage et exécute l'installateur à l'intérieur. L'installateur :
- installe WireGuard, FRR (OSPF), strongSwan + xl2tpd (L2TP/IPsec), nftables, Unbound (DNS), PostgreSQL et nginx.
- crée la base de données et le
sova compte de service, ainsi que les services Sova ;
- détecte l'adresse IP publique et sert le panneau dessus (
http://<server-ip>/admin/);
- affiche l'adresse du panneau et un mot de passe aléatoire initial.
Réexécuter la même commande sur un hub existant le met à jour en place tout en conservant tous les paramètres et sites.
Le journal complet se trouve dans /var/log/sova-install.log.
Services installés
| Service | Rôle |
sova-api | Le panneau web (derrière nginx). |
sova-agent | Applique la configuration du hub (tunnels, OSPF, pare-feu, DNS) chaque fois qu'un changement est effectué. |
sova-monitor | Mesure les tunnels, les routes, les utilisateurs distants et les appareils ; génère des alertes ; envoie des webhooks. |
sova-health-watch (compteur) | Redémarre n'importe quel service Sova ou réseau qui s'est arrêté ou qui ne fonctionne plus. |
sova-updater, sova-license-enforcer (chronomètres) | Vérification quotidienne de mise à jour, vérification de licence horaire. |
Commencer
Première connexion
Panelhttp://<server-ip>/admin/
·
Usernameadmin
·
Passwordprinted by the installer
Le premier mot de passe est également stocké dans /etc/sova/first-admin-password (accès root uniquement). Pour HTTPS sur votre propre domaine, utilisez
Le tunnel Cloudflare. Après connexion :
- Modifiez le mot de passe dans Profil (en haut à droite) et ajoutez votre adresse e-mail pour le récupération du mot de passe.
- vérifiez Système → Paramètres → Hub — l'adresse publique doit être celle que les agences peuvent atteindre ;
- Activer l'installation avec votre compte SecuryTik sous Système → Licence — jusqu'alors, seule cette page s'ouvre.
Commencer
Paramètres du hub
Système → Paramètres :
| Paramètre | Sens |
| Adresse publique | Nommez les agences et les utilisateurs distants par leur adresse IP ou DNS. Tout changement nécessite de réinsérer les scripts d'agence et d'envoyer à nouveau les profils utilisateur. |
| Zone DNS interne | La zone pour laquelle le hub répond, par exemple corp ou office.local (voir DNS interne). |
| DNS de secours | Un second serveur DNS distribué par l'agence DHCP, utilisé si le tunnel est hors ligne. |
| Fuseau horaire | Onglet Général : la zone horaire dans laquelle le panneau affiche les heures. |
| Canaux d'alerte | Déplacé vers Système → Notifications (Telegram, e-mail, WhatsApp), avec des règles par événement et une boîte de sortie. |
La page affiche également la clé publique WireGuard du hub, le plan de port et le résultat de la dernière application de configuration.
Construire le réseau
Plan d'adresse
| Portée | Utilisez |
10.N.0.0/16 | Site N (1–254). |
10.N.T.0/24 | Type de réseau T au site N ; le routeur est 10.N.T.1. |
10.255.0.0/17 | Utilisateurs distants — Profil d'entreprise (une adresse fixe par utilisateur). |
10.255.128.0/17 | Utilisateurs distants — Profil de transit complet. |
172.31.0.1 | Le hub lui-même : DNS interne et ID de routeur OSPF. |
172.31.N.0/30, 172.31.N.6 | Adresses de tunnel WireGuard et L2TP du site N. |
Exemple : avec les types Serveurs = 1 et Imprimantes = 3, le serveur de fichiers de l'agence 2 se trouve dans 10.2.1.0/24 et les imprimantes de l'agence 5 dans 10.5.3.0/24. La portée de l'infrastructure du hub est délibérément en dehors de 10.0.0.0/8 car de nombreux fournisseurs d'accès à Internet et routeurs domestiques utilisent 10.0.x.x du côté WAN.
Les LANs existants des agences sont réadressés vers le bloc du site. Si une agence doit conserver un ancien LAN pendant un certain temps,
laissez-le sur son port et laissez Sova construire les nouveaux réseaux sur d'autres ports ; déplacez les appareils, puis retirez l'ancien LAN.
Construire le réseau
Types de réseau
Réseau → Types de réseau. Un type fixe le troisième octet pour l'ensemble de la flotte. Sova est livrée avec des serveurs (1), des utilisateurs (2), des imprimantes (3), des caméras (4), des services vocaux (5) et des invités (6) ; ajoutez les vôtres (1-254) avec un nom, un surnom (utilisé dans les noms DNS) et une couleur.
Parce qu'un type signifie le même octet partout, une politique ou une règle d'utilisateur distant peut dire « imprimantes sur chaque site » au lieu de lister les adresses. Un type utilisé par un site ne peut pas être supprimé.
Construire le réseau
Créer des sites
- Réseau → Sites → + Site. Entrez le nom, conservez ou modifiez le numéro de site (il devient le deuxième octet), le port de gestion (le port depuis lequel vous gérez le routeur — Sova ne construit jamais de réseau dessus), et choisissez d'ajouter le secours L2TP/IPsec et de laisser le Gestionnaire contrôler le routeur.
- On the site page, add networks: pick a type, the physical port (e.g.
ether2)
and the DHCP range. One port per network — no VLANs needed. The port is taken out of any bridge.
- Copiez le script RouterOS ou appuyez sur Créer un lien d'installation en une ligne et collez la ligne de commande dans le routeur (voir Le script de l'agence).
La page du site affiche l'état en direct : les connexions WireGuard et L2TP montées/débranchées, le chemin utilisé par OSPF, la latence, la perte,
les routes annoncées par l'agence (et celles rejetées par le hub) ainsi qu'un graphique de latence sur 24 heures.
Rotation des clés génère une nouvelle clé WireGuard et un nouveau mot de passe L2TP (l'agence se déconnecte jusqu'à ce que le nouveau script soit collé). Suppression du site ferme ses tunnels et supprime ses routes partout.
Changer un site plus tard
Sur la page du site : Modifier le site (nom, activé, sauvegarde L2TP, géré, notes), + Réseau,
et le menu ⋮ / clic droit sur chaque réseau pour modifier son port ou sa plage DHCP ou le supprimer. La liste des sites elle-même offre la sélection de lignes avec l'activation/désactivation/suppression en masse, un choix de colonnes, une recherche, des filtres et une exportation.
Construire le réseau
Le script de l'agence
Chaque site affiche une commande. Collez-la dans le terminal du routeur (WinBox → Nouveau Terminal, ou SSH) :
/tool fetch url="http://<hub>/s/<token>.rsc" dst-path=sova.rsc; :delay 2s; /import sova.rsc; /file remove sova.rsc
Le lien fonctionne une fois, pendant 24 heures, et uniquement pour ce site ; un nouveau lien sur la page du site en crée un autre. Le script :
- vérifie d'abord — il s'arrête sans modifier quoi que ce soit si le routeur utilise déjà le blocage du site ou
172.31.0.0/16, et avertit des autres adresses 10.x;
- construit les réseaux (adresse, pool, serveur DHCP avec le hub comme DNS);
- crée l'interface et le pair WireGuard, le client L2TP/IPsec, OSPF avec des filtres d'importation/d'exportation ;
- ajoute des règles de pare-feu acceptant le trafic de flotte pour le blocage de ce site et saute le NAT pour celui-ci ;
- ajoute le login du gestionnaire (utilisable uniquement depuis le hub) lorsque le site est géré ;
- active le client NTP (time.cloudflare.com, pool.ntp.org), afin que l'horloge du routeur soit correcte ;
- ne touche jamais le WAN, la route par défaut ou tout ce qui n'est pas étiqueté
SOVA.
Collez-le à nouveau à tout moment — après avoir ajouté un réseau, tourné les clés ou changé l'adresse du hub. Il supprime ses propres entrées SOVA et les recrée. Pour retirer Sova d'un routeur, supprimez les objets dont le commentaire commence par SOVA.
Appliquer au routeur
Pour un site géré, l'application Appliquer au routeur sur la page du site envoie le script actuel via le
tunnel : le routeur le télécharge depuis le hub et l'importe en arrière-plan. Le tunnel clignote pendant quelques secondes.
Collez manuellement le script une première fois, afin que la connexion de gestionnaire existe.
Construire le réseau
Routage & basculement
- OSPF fonctionne sur chaque tunnel (salutation toutes les 5 secondes, mort après 20 secondes). WireGuard coûte 10, L2TP coûte 100, donc WireGuard est toujours préféré.
- Basculement: si WireGuard s'arrête (blocage UDP, problème d'ISP), le trafic est redirigé vers L2TP/IPsec en environ 20 secondes et revient automatiquement. Le tableau de bord et les alertes indiquent quand un site est sur le chemin de secours.
- Vérifications de route : le hub n'installe les routes d'une agence que si elles se situent dans le bloc propre à cette agence et arrivent via ses propres tunnels. Tout autre chose est rejetée et génère une alerte publicité de routes étrangères — une agence mal configurée ne peut pas intercepter le trafic d'une autre agence.
- Le hub affiche des résumés de l'ensemble de la flotte, de sorte que chaque agence envoie toujours le trafic de l'entreprise vers le hub.
Réseau → Routes (sous Aperçu) liste ce que chaque site annonce, ce qui a été rejeté et les voisins OSPF du hub.
Réseaux créés sur le routeur
Chaque site a des réseaux Partagés configurés sur l'interrupteur du routeur (activé par défaut).
Sur : toute interface ajoutée manuellement par l'administrateur de l'agence à l'intérieur du bloc du site est annoncée à tous les sites.
Off : seuls les réseaux créés par Sova sont partagés. Les réseaux en dehors du bloc du site ne sont jamais partagés — ils pourraient entrer en conflit entre agences ; attribuez plutôt une adresse dans le bloc du site à une telle interface.
Construire le réseau
Utilisateurs distants
Accès à distance → Utilisateurs distants → + Utilisateur distant.
| Champ | Sens |
| Profil | Entreprise : seuls les réseaux d'entreprise passent par le VPN. Passage complet : tout le trafic sort via le hub (l'utilisateur navigue avec l'IP du hub). |
| Protocoles | WireGuard, L2TP/IPsec ou les deux. |
| Expire | L'utilisateur est déconnecté automatiquement à cette date. |
| Accès | Ce que l'utilisateur peut atteindre : l'ensemble de la flotte, un entier site, un type de réseau partout, ou un réseau unique sur un site. Sans règle, l'utilisateur se connecte mais n'atteint rien. |
New key & password invalidates the old profile. Disabling or deleting a user disconnects them immediately.
Groupes (Ventes, Informatique, Entrepreneurs…) regroupent les utilisateurs distants afin qu'une seule politique les couvre tous : créez-les sous Utilisateurs distants → Groupes, cochez les utilisateurs et choisissez Définir le groupe. Une politique peut également désigner un seul utilisateur distant.
Construire le réseau
Connexion des clients
WireGuard (recommandé)
Installez l'application WireGuard officielle, puis scannez le code QR sur la page de l'utilisateur (téléphones) ou importez le fichier téléchargé .conf (ordinateurs). Fonctionne depuis n'importe quel réseau, y compris derrière d'autres NAT.
L2TP/IPsec (intégré)
- Serveur : l'adresse publique du hub · Type : L2TP/IPsec avec clé pré-partagée · la clé, le nom d'utilisateur et le mot de passe depuis la page de l'utilisateur.
- Windows derrière NAT nécessite, une fois, la valeur de registre
HKLM\SYSTEM\CurrentControlSet\Services\PolicyAgent\AssumeUDPEncapsulationContextOnSendRule = 2 (DWORD) et un redémarrage.
- Profil d'entreprise sur Windows : décochez « Utiliser la passerelle par défaut sur le réseau distant » et ajoutez des routes vers
10.0.0.0/8 et 172.31.0.0/16 via le VPN.
- Deux utilisateurs L2TP/IPsec derrière la même adresse IP publique se gênent mutuellement — donnez-leur WireGuard.
Les utilisateurs distants obtiennent le hub (172.31.0.1) comme DNS, donc les noms internes fonctionnent.
Distribuer les paramètres
À partir de la liste des utilisateurs distants (⋮ ou clic droit) ou de la page de l'utilisateur : Copier la configuration WireGuard,
Exporter WireGuard (.conf), Copier les détails L2TP, Exporter les détails L2TP (.txt).
Construire le réseau
Politiques
Par défaut, chaque site accède à chaque autre site. Réseau → Politiques ajoute des règles d'autorisation/refus entre
tous les réseaux de la flotte, appliquées sur le hub :
- De / Vers : n'importe quel réseau au sein de la flotte — un bloc de site, un réseau, tous les utilisateurs distants (
10.255.0.0/16)…
- Protocole et port (par exemple, TCP 445), ainsi que de savoir si la règle s'applique dans les deux sens.
- L'ordre : les règles sont vérifiées du haut vers le bas ; la première correspondance gagne. Un refus coupe également les connexions déjà ouvertes.
Exemple : refuser 10.0.0.0/8 → caméras 10.1.4.0/24, puis autoriser le bureau de sécurité 10.2.2.0/24 → caméras au-dessus. Les utilisateurs distants sont régis par leurs propres règles d'accès ; les politiques s'appliquent par-dessus.
Plusieurs sources et destinations
Dans la fenêtre contextuelle des règles, sélectionnez un type (flotte entière, site, réseau de sites, utilisateurs distants, IP/réseau), puis
Ajouter à la liste pour regrouper plusieurs d'entre eux du même côté d'une règle.
Blocage des applications et des sites web
Choose App / website as the destination and tick the apps (TikTok, Instagram, games, streaming…).
Branch internet does not pass through the hub, so these rules are pushed to the source sites' routers —
managed sites only. Sova switches the apps on in each router's Website & app filter and adds drop rules tagged
SovaPolicy:. The same blocks can be made from a router's Websites & Apps tab in the Manager
(Blocked for networks). Use Push app rules to routers after re-pasting a script or adding a site.
Construire le réseau
DNS interne
Le hub répond pour la zone interne (172.31.0.1) et achemine tout le reste vers les DNS publics. Les agences DHCP et les utilisateurs distants l'utilisent automatiquement. Noms créés pour vous :
| Nom | Points à vérifier |
hub.<zone> | le hub |
router.<site>.<zone> | l'adresse du tunnel du routeur d'agence |
gw-<type>.<site>.<zone> | la passerelle de chaque réseau |
Ajoutez votre propre sous Réseau → DNS, par exemple erp.hq → 10.1.1.10 devient erp.hq.corp.
Fonctionnement
Tableau de bord
Le tableau de bord est composé de blocs que vous disposez : faites glisser un bloc par son en-tête, ajustez sa taille dans le coin, supprimez-le
avec ×, ajoutez-en plus avec Ajouter un bloc et enregistrez la disposition — ou enregistrez plusieurs tableaux de bord nommés, qui
apparaissent sous Tableau de bord dans le menu. La rangée supérieure par défaut est un graphique des sites connectés et des utilisateurs d'accès à distance
en ligne au fil du temps, à côté de Santé du système (version, CPU et RAM avec historique, disque, temps de fonctionnement,
services, dernier passage de surveillance, licence, dernière application sur le hub). Autres blocs : alertes ouvertes, perte de latence du tunnel &,
trafic du tunnel, sites, routes, utilisateurs distants, appareils gérés, santé de l'appareil et dernières actions de l'administrateur. Les graphiques
sélectionnent leurs sites et fenêtre temporelle à partir de leur propre en-tête.
Fonctionnement
Carte du réseau et outils
Réseau → Carte réseau représente la flotte telle qu'elle est actuellement : Internet, le hub, chaque site avec son tunnel actif (WireGuard, L2TP en secours ou déconnecté), ses adresses de transit et réseaux, et l'accès à distance.
Déplacez les cases pour les organiser — la disposition est mémorisée — et enregistrez les dispositions en signets. Les couches basculent entre interfaces, adresses IP, réseaux, CPU et le flux de trafic. Cliquez droit sur un site pour l'ouvrir, le pinger ou tracerouter, ou gérer son routeur.
Outils → Réseau exécute des commandes ping, traceroute et recherche DNS sur le hub ou sur n'importe quel routeur géré de l'agence.
Un cible qui répond au hub mais pas à une agence pointe vers le chemin de cette agence.
Fonctionnement
Surveillance des alertes &
Chaque 30 secondes, le hub vérifie chaque tunnel (serre-main, voisin OSPF, ping), chaque utilisateur distant et chaque appareil géré, et conserve 30 jours d'historique (Vue d'ensemble → Surveillance).
| Alerte | Lorsque |
| Site hors ligne (critique) | Aucun tunnel ne transporte de trafic pendant 1,5 minute. |
| Sur le chemin de sauvegarde (avertissement) | WireGuard est hors service et le site fonctionne via L2TP/IPsec. |
| Affiche les routes étrangères (avertissement) | Une agence annonce des adresses en dehors de son bloc. |
| Appareil déconnecté | Un routeur géré cesse de répondre. |
| Application de la configuration du hub échouée | Une modification ne pouvait pas être appliquée au hub. |
Les alertes se résolvent automatiquement et sont envoyées (ouvertes et résolues) vers Telegram, par e-mail et WhatsApp, comme configuré dans les Paramètres. La cloche en haut de chaque page indique ce qui nécessite une attention.
Gérer les alertes
Vue d'ensemble → Alertes : les alertes ouvertes sont sous À traiter. Je m'en occupe les déplace vers
En cours (toujours ouvertes, mais plus comptées dans l'icône de notification); Silencieux 1h / Silencieux 24h les cachent pendant un certain temps. L'historique ci-dessous est recherchable et exportable.
Centre de notification
Système → Notifications : configurez les API Cloud de Telegram, e-mail et WhatsApp sous Canaux,
choisissez quels événements sont envoyés où sous Alertes d'administration, et visualisez tous les messages envoyés ou échoués dans l'
Boîte de sortie.
Fonctionnement
Gérer les routeurs d'agence
Chaque page de site dispose de deux onglets : Site (adresses, tunnels, script) et Gérer
(le routeur lui-même, contrôlé via le tunnel). Pour un site que Sova ne gère pas encore, l'onglet Gérer offre
Gérer ce routeur : coller la commande d'installation une fois, et par la suite les modifications se déploient
via le tunnel. Sites → Tous les routeurs liste tous les routeurs en une seule fois pour des actions en bloc,
et les routeurs ajoutés par adresse. Pour chaque routeur :
- Vue d'ensemble : modèle, version RouterOS, CPU, mémoire, temps de fonctionnement, interfaces avec trafic, historique de santé.
- Général : identité, fuseau horaire, serveurs NTP et DNS, redémarrage.
- Site Web & filtre d'application : bloquer les sites Web et applications par catégorie (voir le sujet suivant).
- Mise à jour : vérifiez, téléchargez et installez les mises à jour de RouterOS.
- Outils : ping et traceroute depuis le routeur, ping depuis le hub.
Actions en masse : sélectionnez plusieurs appareils et définissez la zone horaire, les serveurs NTP ou DNS, vérifiez ou installez les mises à jour, effectuez une sauvegarde, redémarrez ou exécutez un ping — avec un résultat par appareil.
Le script de connexion du routeur de l'agence (sova-mgr) n'accepte les connexions que depuis la plage de tunnels du hub.
Historique du trafic
L'onglet Aperçu du routeur affiche le trafic d'interface (téléchargement / téléchargement par interface) et
le trafic des applications (par application et site web, avec des totaux) pour les fenêtres de 10 minutes à 7 jours. Des échantillons sont
pris toutes les minutes et conservés 30 jours. Le trafic des applications compte les applications actives dans les & Applications et sites web.
Modifications en direct. Sur un routeur géré, enregistrer un réseau (port, DHCP, plage), une politique ou les serveurs DNS du hub met à jour le routeur immédiatement, enregistrement par enregistrement via son API : le script n'est pas réimporté et le tunnel ne tombe jamais. Les politiques entre deux réseaux du même site — trafic qui ne atteint jamais le hub — sont appliquées sur le routeur du site, dans l'ordre du panneau. La page du site affiche le dernier synchronisation du routeur et un bouton Synchroniser maintenant, et le hub vérifie à nouveau chaque routeur géré toutes les 10 minutes.
Fonctionnement
Filtre d'application & du site web
On a device's Website & app filter tab, tick the apps and categories to block (social networks, video, games, messaging…). Sova pushes DNS-based blocking to the router from SecuryTik's maintained catalogue and keeps it updated when you press Update . Its rules are tagged separately, so re-pasting the branch script does not remove them; Remove takes them all off.
Fonctionnement
Rechercher, filtres & exporter
Les sites, les utilisateurs distants, les appareils, les alertes et le journal d'audit partagent les mêmes outils de liste : saisissez pour rechercher, ajoutez des filtres depuis le menu, groupe par n'importe quel champ, créez des règles personnalisées (par exemple, latence supérieure à 80 ms), triez par clic sur une colonne, enregistrez une recherche comme favori (privé ou partagé) et exportez vers CSV ou Excel. Le bouton de recherche en haut de chaque page (Ctrl K) trouve des sites, des utilisateurs, des noms DNS et des pages.
Fonctionnement
Les administrateurs & rôles
Système → Admins ajoute des administrateurs. Un rôle définit, par domaine (sites, accès à distance, politiques,
DNS, surveillance, Gestionnaire, paramètres…), si l'administrateur ne peut pas le voir, le consulter ou le modifier. Sova est livrée avec
Super Administrateur (toutes les permissions), Gestionnaire (gère le réseau) et Surveillant (lecture seule) ;
vous pouvez en créer vos propres. Seul un Super Administrateur gère les administrateurs, les rôles et les jetons API.
Agences. Les administrateurs sont organisés en un arbre. Une agence possède ses sites et ses utilisateurs distants : ses administrateurs voient et gèrent uniquement ceux-ci (et les agences inférieures), tandis que les administrateurs ayant un rôle de vision globale voient l'ensemble du hub et choisissent l'agence lors de la création ou de la modification d'un site ou d'un utilisateur distant.
Mot de passe oublié : la page de connexion envoie un code unique à l'adresse e-mail de l'administrateur (configurez le SMTP dans /etc/sova/smtp.env).
Chaque administrateur choisit sa propre langue et son thème de panneau dans Profil. Un superadministrateur peut modifier n'importe quelle traduction dans Système → Traductions (appliquée en direct), ajouter une langue ou exporter une langue vers Excel et la réimporter.
Fonctionnement
Réinitialiser le mot de passe administrateur
Vous êtes déverrouillé et ne pouvez pas récupérer votre e-mail ? Exécutez l'outil de réinitialisation autonome sur le hub en tant qu'administrateur racine. Il définit un nouveau mot de passe pour un compte Super Admin directement dans la base de données et réactive le compte — aucune connexion fonctionnelle requise, et aucune donnée de site, de tunnel ou d'utilisateur n'est modifiée.
curl -fsSL -o sova-reset-admin-password.sh \
https://raw.githubusercontent.com/mhdhaidarah/sova/main/tools/sova-reset-admin-password.sh
sudo bash sova-reset-admin-password.sh --list # list the superadmin accounts
sudo bash sova-reset-admin-password.sh # reset (asks for the new password twice)
Avec plusieurs Super Administrateurs, choisissez-en un avec --user NAME. Le mot de passe est tapé en mode caché,
jamais sur la ligne de commande, et stocké haché exactement comme le panneau. L'outil est également inclus
dans chaque installation à /opt/sova/tools/.
Fonctionnement
Journal d'audit
Système → Journal d'audit enregistre chaque modification avec qui l'a effectuée, quand, depuis quelle adresse et
ce qui a changé — depuis le panneau et depuis l'API — ainsi que les connexions réussies et les tentatives de connexion échouées.
Fonctionnement
Sauvegarde & restaurer
Outils → & Restaurer effectue une sauvegarde complète de la base de données de Sova (sites, clés, utilisateurs,
politiques, paramètres, administrateurs), planifie une sauvegarde automatique quotidienne avec conservation, télécharge et télécharge des sauvegardes,
et restaure une sauvegarde. Après un restauration, le hub réapplique les paramètres en quelques secondes.
Déménagement vers un nouveau VPS : installez Sova sur le nouveau serveur, copiez /etc/sova/secret.key
de l'ancien (les clés dans la sauvegarde sont chiffrées avec celui-ci), téléchargez et restaurez la sauvegarde, puis attribuez l'adresse publique (Paramètres) au nouveau serveur et ré-insérez les scripts d'agence.
Fonctionnement
Mises à jour
Sova vérifie quotidiennement une nouvelle version. Système → Mettre à jour affiche la version installée, les nouveautés et l'historique des versions ; Appliquer la mise à jour télécharge la version, vérifie la signature et le contrôle de somme de SecuryTik, sauvegarde la version actuelle, installe, migre la base de données et redémarre les services. Les tunnels restent actifs pendant une mise à jour. Les versions non signées ou altérées sont refusées.
Fonctionnement
Licences & forfaits
Chaque installation est licenciée individuellement, en fonction du nombre de sites et d'utilisateurs distants.
| Forfait | Sites | Utilisateurs distants | Prix |
| Gratuit | 2 | 1 | gratuit |
| Lite | 5 | 3 | 30 USDT par mois |
| Pro | 10 | 6 | 50 USDT par mois |
| Max | 20 | 12 | 100 USDT par mois |
| Unlimited | illimité | illimité | 175 USDT par mois |
La facturation annuelle est 10 fois le prix mensuel (Forfait illimité : 2 000 USDT par an). Système → Licence : connectez-vous avec votre compte SecuryTik ou
cliquez sur Lier cet appareil et validez le code sur votre tableau de bord. Demandez
un forfait depuis la même page — chaque demande de forfait est approuvée pour un mois gratuit — puis payez en
USDT ou USDC sur le tableau de bord. La licence est signée et vérifiée hors ligne : le hub continue de fonctionner en cas de coupure internet,
avertit avant l'expiration d'un forfait et offre une période de grâce avant de limiter les nouveaux sites et utilisateurs.
Une fois la période de grâce écoulée sans renouvellement, le hub se verrouille et ses tunnels s'arrêtent jusqu'au renouvellement de la licence.
L’activation est obligatoire. Un nouveau hub n’ouvre que System → License tant qu’il n’est pas enregistré avec un compte SecuryTik ; le plan Free démarre à l’enregistrement.
Fonctionnement
Tunnel Cloudflare
Pour accéder au panneau sur votre propre domaine (par exemple, vpn.company.com) :
- Dans Cloudflare Zero Trust → Réseaux → Tunnels, créez un tunnel et copiez son jeton.
- Dans Sova, Système → Tunnel Cloudflare : collez le jeton et enregistrez — Sova installe et exécute le connecteur.
- Sur Cloudflare, ajoutez un nom d'hôte public sur le tunnel pointant vers
http://localhost:80.
Seul le panneau passe par Cloudflare ; les tunnels VPN se connectent toujours directement à l'adresse publique du hub.
Référence
API REST
Système → API → Nouveau jeton (Super Administrateur). Sélectionnez les étendues dont le jeton a besoin — sites,
ra, policies, dns, stats, devices, audit,
chaque lecture ou écriture — une expiration optionnelle et une limite de taux. Le secret est affiché une seule fois.
curl -H "Authorization: Bearer sova_…" http://<hub>/api/v1/sites
| Point de terminaison | Objectif |
GET /api/v1/me | Les étendues et limites du jeton. |
GET/POST /sites : GET/PATCH/DELETE /sites/{id} | Sites avec état de tunnel actif. |
PUT/DELETE /sites/{id}/networks → Connectez-vous | Ajouter, modifier, supprimer des réseaux. |
GET /sites/{id}/script : POST /sites/{id}/install-link | Le script de l'agence ou une ligne de commande 24h. |
GET/POST /ra : PATCH/DELETE /ra/{id} et PUT /ra/{id}/access | Utilisateurs distants et ce qu'ils peuvent atteindre. |
GET /ra/{id}/wireguard.conf : /ra/{id}/l2tp et /ra/{id}/accounting | Profils et temps de connexion/trafic quotidien. |
/policies : Connexion
/dns : Paramètres
/network-types : Statut | Politiques, enregistrements DNS, types de réseau. |
/stats/overview — Paramètres
/stats/tunnels — Réseau
/alerts — Sécurité
/audit — Avancé
/devices — Aide | Données de surveillance. |
La référence interactive avec chaque champ se trouve à http://<hub>/api/v1/docs. Chaque écriture est
enregistrée dans le journal d'audit ; les écritures sont refusées tant que la licence est verrouillée.
Référence
Webhooks
Système → API → Webhooks : ajoutez une URL HTTPS et les événements à envoyer —
site.created, site.updated, site.deleted, ra.created,
ra.updated, ra.deleted, alert.opened, alert.resolved.
Chaque envoi est un POST JSON signé avec le secret du point de terminaison :
X-Sova-Event: alert.opened
X-Sova-Signature: sha256=<HMAC-SHA256 of the raw body>
Les livraisons échouées sont réessayées avec un délai croissant ; un point de terminaison qui continue de échouer est désactivé. Utilisez le bouton de test pour essayer un point de terminaison.
Référence
Modèle de sécurité
- Le pare-feu du hub n'autorise que les ports du panneau, SSH et VPN ; tout le trafic entre sites passe par la chaîne de politique du hub.
- Les clés privées et les mots de passe sont chiffrés au repos avec la clé propre à l'installation (
/etc/sova/secret.key); un dump de base de données ne révèle rien à lui seul.
- Le processus du panneau n'a aucun privilège réseau ; un agent racine séparé applique la configuration validée.
- Les scripts d'agence contiennent les clés de l'agence — les liens d'installation expirent après 24 heures ; faites tourner les clés si un script fuit.
- Les mises à jour et les licences sont signées par SecuryTik et vérifiées hors ligne.
Référence
Dépannage
| Symptôme | Vérifier |
| Le site ne se connecte jamais | Sur le routeur : /interface wireguard peers print — dernier serrement de main. UDP 51000+N autorisé par le pare-feu du fournisseur de VPS ? L'adresse publique dans les paramètres est-elle correcte ? |
| Le script s'arrête avec « conflit d'adresse » | Le routeur utilise déjà le bloc d'adresse du site ou 172.31.0.0/16. Réadressez ce LAN ou choisissez un autre numéro de site. |
| Créer des tunnels mais sans routes | /routing ospf neighbor print sur le routeur ; Page des routes sur le hub. Les routes rejetées signifient que l'agence annonce des adresses étrangères. |
| L2TP ne s'affiche jamais | Le trafic UDP 500/4500 est bloqué, ou un autre client L2TP utilise la même adresse IP publique. |
| L'utilisateur distant se connecte mais n'atteint rien | Donnez à l'utilisateur des règles d'accès sur leur page ; vérifiez les politiques. |
| Les noms internes ne résolvent pas | Le client doit utiliser 172.31.0.1 comme DNS (l'agence DHCP et les profils le font). |
| Panneau inaccessible | systemctl status sova-api nginx ; le service de surveillance de la santé redémarre les services échoués toutes les minutes. |
Journal : journalctl -u sova-agent -u sova-monitor -u sova-api. Dernière configuration appliquée : Système → Paramètres.
Référence
Foire aux questions
Les agences ont-elles besoin d'une adresse IP publique ?
Les agences (branches) se connectent au hub, seul ce dernier a besoin d'une adresse IP publique.
L'internet de l'agence passe-t-il par le hub ?
Seul le trafic de l'entreprise traverse les tunnels. Les utilisateurs distants en mode Full passthrough sont les seuls dont l'internet passe par le hub.
Puis-je ajouter une agence plus tard ?
Oui — créez le site et collez son script. Les autres agences l'apprennent automatiquement.
Quels routeurs sont pris en charge ?
MikroTik RouterOS 7 pour agences. Utilisateurs distants sur n'importe quel appareil avec WireGuard ou L2TP/IPsec.
Que se passe-t-il si le hub tombe en panne ?
Les agences conservent leurs réseaux locaux et leur accès Internet ; le trafic site-à-site reprend lorsque le hub est de retour. Conservez les sauvegardes hors du VPS pour une reconstruction rapide.
Avez-vous besoin d'une aide supplémentaire ?
Envoyez un e-mail à [email protected].