Sécurité réseau
Comment SpineOS sécurise les connexions avec les headers CSP, la limitation de débit, TLS et l'authentification WebSocket.
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'endpoint | Limite | Fenêtre |
|---|---|---|
| Requêtes API générales | 120 requêtes | 1 minute |
| Échecs d'auth par clé API | 10 tentatives | 60 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.
Articles connexes
Données et confidentialité
Où SpineOS stocke vos données, ce qui est chiffré au repos et en transit, et qui peut accéder à un bureau une fois qu'il tourne.
Authentification et sessions
Comment SpineOS vous connecte via Google ou GitHub, combien de temps dure une session, et les réglages de cookies qui la sécurisent.