Skip to content

Sécurité réseau

Comment SpineOS sécurise les connexions avec les headers CSP, la limitation de débit, TLS et l'authentification WebSocket.

3 min de lecture

Présentation

SpineOS applique plusieurs couches de sécurité réseau. Toutes les connexions sont chiffrées, toutes les requêtes sont validées, et tous les endpoints sont protégés contre les attaques web courantes.

Content Security Policy (CSP)

SpineOS utilise une Content Security Policy basée sur des nonces pour prévenir les attaques de type cross-site scripting (XSS).

  • Chaque requête de page génère un nonce cryptographique unique.
  • Seuls les scripts incluant ce nonce sont autorisés à s'exécuter.
  • La politique utilise strict-dynamic : les scripts de confiance peuvent charger des scripts supplémentaires, mais aucun code inline ne s'exécute sans le nonce.
  • L'évaluation dynamique de code (eval) est bloquée en production.

Même si un attaquant parvient à injecter du HTML dans une page, il ne peut pas exécuter de JavaScript arbitraire.

Limitation de débit

Des limites de débit protègent contre les abus :

Type d'endpointLimiteFenêtre
Requêtes API générales120 requêtes1 minute
Échecs d'auth par clé API10 tentatives60 secondes par IP

Lorsque vous dépassez la limite générale, les requêtes retournent HTTP 429 (Too Many Requests). Attendez un instant et réessayez.

Pour l'authentification par clé API, après 10 tentatives échouées depuis la même adresse IP en 60 secondes, cette IP est temporairement bloquée. Ce mécanisme bloque les attaques par force brute contre les clés API.

Chiffrement TLS

Tout le trafic entre votre navigateur et SpineOS est chiffré avec TLS. Cela s'applique à :

  • HTTPS -- toutes les pages web et requêtes API
  • WebSocket (WSS) -- connexions terminal et VNC
  • Appels API -- chaque endpoint REST

Il n'y a pas d'endpoints HTTP. Toutes les connexions passent par HTTPS.

En interne, les connexions entre nos propres serveurs utilisent des configurations TLS dédiées. Cela n'affecte pas les connexions utilisateur.

Sécurité WebSocket

Le terminal et le viewer VNC utilisent des connexions WebSocket pour la communication en temps réel. Chaque connexion WebSocket nécessite une session valide ; les connexions non authentifiées sont rejetées immédiatement. Tout le trafic WebSocket est chiffré via TLS (WSS). Le serveur vérifie également l'en-tête d'origine pour empêcher le détournement de WebSocket cross-site.

Sécurité VNC

Les connexions VNC à votre bureau sont relayées par notre serveur, votre navigateur ne se connecte donc jamais directement à la VM. Le port VNC n'est pas exposé sur Internet. Tout le trafic VNC passe par un canal authentifié et chiffré, et seul le propriétaire du bureau peut se connecter à l'affichage de sa VM.

Protection IP et hôte

SpineOS n'expose pas les adresses IP internes, les noms d'hôtes des serveurs ou les détails d'infrastructure dans les réponses HTTP. Le header X-Powered-By est désactivé. Les messages d'erreur ne divulguent pas les traces de pile ni les chemins internes.

Notes pratiques

  • Toutes vos connexions sont chiffrées. Vous n'avez pas besoin d'un VPN.
  • Les limites de débit s'appliquent de manière égale à tous les utilisateurs. Si vous construisez une intégration, concevez-la pour gérer les réponses 429 correctement.
  • Le CSP peut bloquer les scripts inline si vous intégrez du contenu SpineOS. Contactez-nous si vous avez un cas d'utilisation d'intégration nécessitant des ajustements de politique.