Infrastructure et présentation de la technologie

Infrastructure et technologie

Préambule

La collaboration et toutes les tâches liées au travail d’équipe, telles que la messagerie de groupe, le partage de documents et leur synchronisation sur le poste de travail des utilisateurs, la gestion des tâches, les calendriers de groupe, vidéo-conférence et partage d’écran sont essentiels à la productivité des équipes. Ces caractéristiques essentielles de travail d’équipe sont offertes dans Wimi avec les plus hautes exigences de fiabilité, de disponibilité et de sécurité. Basé sur des technologies éprouvées, Wimi a développé une architecture hautement disponible, redondante et sécurisée pour répondre à ces exigences.

Clause de non-responsabilité
Cette documentation est fournie uniquement à des fins de référence. Malgré les efforts fournis pour vérifier l’exhaustivité et l’exactitude des informations contenues dans cette documentation, cette documentation est fournie « telle quelle » sans aucune garantie quelle qu’elle soit et dans la limite permise. Dans l’intérêt du développement continu des produits, Wimi se réserve le droit d’apporter des améliorations à ce document et aux produits qu’il décrit à tout moment sans préavis ni obligation.

1. Vue d’ensemble

Wimi permet une collaboration facilitée et efficace sur des projets en fournissant un outil unique et simple pour communiquer efficacement, partager et synchroniser les documents, affecter et réaliser des tâches, synchroniser des calendriers et monitorer les activités. C’est également un outil idéal pour la collaboration sur des projets au-delà des frontières de l’entreprise. Disponible en mode SaaS, Wimi permet d’accéder depuis n’importe où, n’importe quand, à l’ensemble des contenus et outils nécessaires aux travaux d’équipe. Fiabilité, disponibilité et sécurité sont essentiels pour gagner la confiance des entreprises qui s’appuient sur elle.

Wimi a conçu et déployé une infrastructure et des applications qui optimisent les performances, la résilience et la sécurité. Wimi fonctionne avec des centres de données situés en France qui sont conformes aux normes internationales et assurent la disponibilité et une sécurité maximale.

L’hébergement de Wimi est actuellement réalisé par la société Scaleway SAS (Groupe Iliad) sur une infrastructure dédiée dont l’architecture a été conçue intégralement par Wimi. Wimi dispose du contrôle plein et entier sur les machines physiques qui composent l’infrastructure.

2. Fiabilité

L’infrastructure de Wimi a été conçue en mettant l’accent sur la résilience. Chaque composant matériel (à partir de l’ordinateur vers le bloc d’alimentation, y compris la connexion réseau) au sein du système est redondant et peut être échangé en cas de panne. Chaque groupe logique de serveurs physiques ou de VMs est organisé en clusters afin de permettre la continuité de service en cas de panne d’une machine, en accueillant temporairement la charge supplémentaire sur les machines disponibles.

2.1 Haute disponiblité

La haute disponibilité de l’infrastructure Wimi est basée sur la redondance de tous les composants. La redondance assure la disponibilité du système en cas de défaillance d’un composant. Chaque composant possède au moins un composant de sauvegarde indépendant.

Trois niveaux d’équilibreurs de charge redondants sont actuellement en place :

  • Premièrement, au niveau d’entrée du datacenter, le trafic est équilibré vers les Load Balancer HA Proxy
  • Deuxièmement, les Load Balancer HA Proxy vont eux même équilibrer la charge en direction des serveurs applicatifs
  • Troisièmement, les applications vont équilibrer la charge entre les différents nœuds des serveurs de base de données.

2.2 Composants principaux de l’infrastructure

L’infrastructure se compose des groupes principaux suivants :

  • Load Balancer HA Proxy – répartition de la charge entrante
  • Cluster de serveurs applicatifs nodejs
    • Gestion de la communication temps réel serveur->client
    • Génération des prévisualisations de fichiers
    • Génération dynamique des archives pour téléchargements multiples
  • Cluster de serveurs applicatifs « web / api » : traitement des appels à l’api Wimi
  • Cluster de serveurs applicatifs « filer / api » : traitement des appels à l’api Wimi concernant les fichiers et traitement des arbres de synchronisation WimiDrive
  • Cluster de base de données SQL (PostgreSQL) maître/esclave – partage et réplique les données de services nécessaires pour répondre aux performances et haute disponibilité.
  • Cluster de base de données maître/esclave No SQL (MongoDB) utilisé pour la gestion de données non structurées (ex. activités d’un compte)
  • Cluster de serveurs de stockage de fichiers utilisateurs et des métadonnées associées
  • Sauvegardes de bases de données dans des serveurs sécurisés situés dans un second centre de données. Les sauvegardes se font toutes les 3 heures.
  • Sauvegardes des fichiers utilisateurs dans un second data center (toutes les nuits)

Les exigences de sécurité et de fiabilité ont conduit à la conception de l’infrastructure réseau sous-jacente de Wimi.

Les centres de données sont protégés par des pare-feux qui filtrent strictement tout le trafic entrant en ne laissant passer que les flux autorisés. Il s’agit d’une solution de prévention active qui protège notamment des attaques par déni de service en analysant le trafic et le compare à des signatures d’attaques. Si la comparaison est positive, les services de protection sont activés en quelques secondes.

Wimi implémente une redondance et un équilibrage de la charge garantissant une redondance maximale et la disponibilité de notre produit. Tous les liens sont, au moins, doublés à chaque point de routage et le trafic entrant est alloué aux différentes applications et serveurs web. La fonctionnalité équilibrage de charge matériel redondant peut gérer instantanément toute panne de serveur.

2.3 Sécurité du transport des données

Notre serveur frontal chiffre toutes les connexions externes avec un mécanisme de politique de sécurité web (HTTP Strict Transport Security aka HSTS). Cela protège nos services contre les attaques de réseau actif et passif (écoute). Un attaquant « man-in-the-middle » a une capacité très réduite à intercepter les requêtes et les réponses entre un utilisateur et nos serveurs d’applications web.

Par ailleurs, Wimi bénéficie d’une isolation réseau. L’isolation réseau signifie que tous les serveurs de notre infrastructure sont isolés à l’intérieur du centre de données et reliés par des réseaux privés dédiés.

2.4 Résilience de stockage

Tous les fichiers placés sur Wimi (avec un historique des versions jusqu’à 15 par défaut) sont stockés sur des serveurs NFS Raid6 qui utilisent des SSD pro et dont les contrôleurs contiennent des alimentations de secours BBU de manière à éliminer toute écriture partielle pouvant entrainer une corruption de données. Chaque serveur utilise 12 disques de stockage de données SSD. Les données liées aux fichiers sont répliquées sur ces 12 disques SSD de manière à supporter la perte de 2 de ces disques.

2.5 Sauvegarde des données et la redondance de Datacenter

La stratégie de gestion des données et des sauvegardes a été mise en place de manière à permettre une récupération des données rapide en cas d’incidents mineurs, tout en limitant notre exposition aux incidents majeurs.

Par exemple, en cas d’incidents mineurs (e.g. suppression définitive, par erreur, de données par un utilisateur, …) nous sommes en mesure de restaurer ces données en quelques heures. De plus, nous nous protégeons contre les incidents majeurs, en faisant en sorte de sauver 100% des données clients (fichiers, historiques des BDD), ainsi que les VMs et configurations nécessaires à la remise en place d’une infrastructure parallèle dans un second centre de données.

De cette manière, nous pouvons assurer la reprise après sinistre en cas de panne majeure.

Les bases de données sont sauvées toutes les 3 heures alors que les fichiers clients sont répliqués toutes les nuits.

Les serveurs de sauvegardes sont sécurisés, isolés et accessibles uniquement par les applications de sauvegardes.

2.6 Évolutivité du système et la gestion de la croissance

La conception de l’infrastructure Wimi permet d’ajouter des serveurs ou machines virtuelles de manière à assurer sa croissance quand un point de congestion est détecté. Pour cela, Wimi utilise un système de détection de capacité basé sur une surveillance continue et d’analyse des performances de l’infrastructure. L’outil de contrôle recueille et analyse, en temps réel, les données techniques de l’infrastructure et notifie les équipes quand certains niveaux prédéfinis de charge sont atteints. De plus, un tableau de bord permet d’analyser les données de l’infrastructure dans la durée et donc d’anticiper les congestions à venir.

3. Sécurité

Wimi bénéficie de plusieurs niveaux de sécurité assurant un niveau de sécurité élevé. Regardons les règles et les mesures liées à la sécurité mises en place :

3.1 Évolutivité du système et la gestion de la croissance

Pour accéder à l’application, l’utilisateur doit préalablement avoir été autorisé à y accéder par un des administrateurs du compte Wimi concerné. Wimi permet de faire collaborer des personnes internes à l’entreprise utilisatrices (profils présents dans l’annuaire d’entreprise) mais aussi à des personnes externes (ex. clients, partenaires, fournisseurs). Pour le cas des personnes internes, Wimi propose une authentification sécurisée via Security Assertion Markup Language 2.0 (SAML 2.0) au travers du protocole TLS. Pour le cas des personnes externes, un identifiant (email), un mot de passe et, sur option, un troisième facteur d’authentification seront utilisés.

3.2 Politique de mots de passe forts

Wimi propose une politique de mot de passe avancée qui inclut les paramètres suivants :

  • Longueur (au moins 8 caractères par défaut)
  • Format (une minuscule et une majuscule, un chiffre ou un symbole par défaut)
  • Expiration
  • Renouvellement (ne pas avoir déjà été utilisé auparavant)
  • Durée de session (12 heures par défaut)

3.3 Protection des mots de passe

Les mots de passe des utilisateurs ne sont jamais sauvés dans des formes déchiffrables. Dans les bases de données, Wimi sauve des versions cryptées des mots de passe. Les technologies utilisées rendent les mots de passes indéchiffrables.

Au moment où l’utilisateur soumet une nouvelle fois son mot de passe, celui-ci est crypté et comparé à la version cryptée que nous avons dans nos bases de données.

De la même manière les différentes applications qui se connectent automatiquement à votre compte Wimi utilisent une version dérivée du mot passe crypté pour se connecter.

De cette manière, Wimi ne sauve jamais vos mots de passe en clair.

3.4 Single Sign-On

Wimi propose du Single Sign-On (SSO) via le protocole SAML V2 qui permet d’utiliser des profils d’utilisateurs existants sur l’annuaire de l’entreprise.

3.5  Accès mobile

Les utilisateurs mobiles peuvent accéder aux applications mobiles de Wimi depuis divers appareils (iPhones, iPads, les téléphones Android et tablettes) disponibles sur l’AppleStore et le GooglePlay. La politique de sécurité est étendue aux périphériques mobiles.

Toutes les données transmises entre l’infrastructure Wimi et le mobile sont chiffrées à l’aide de la sécurité de niveau élevée (protocoles TLS).

3.6  Télécharger/Transit

Une fois connectés en toute sécurité dans l’application, les utilisateurs peuvent afficher, télécharger ou déposer un fichier (à condition que le droit d’accès correspondant ait été accordé), soit par le biais de l’interface utilisateur du navigateur web ou à l’aide de l’outil de synchronisation (Wimi Drive).

Toutes les données transmises entre l’infrastructure Wimi et les applications clientes sont transférées dans un tunnel HTTPS (TLS) protégé par du AES-256-GCM (Advanced Encryption Standard 256 bits in Galois/Counter Mode). Le certificat TLS est signé avec une clé RSA 2048.

3.7  Contrôle d’accès au niveau de l’application

Wimi propose une gestion des droits d’accès fine et complète à chaque espace de travail. Elle permet de définir, pour chaque participant à l’espace de travail, quels sont les modules auxquels il aura accès et dans quelles conditions (lecture seule, lecture + écriture). En complément, il existe aussi une gestion des droits d’accès au niveau des dossiers et sous-dossiers d’un espace de travail.

3.8  Conservation des données

Lorsqu’un utilisateur supprime un fichier, celui-ci est déplacé dans la corbeille de l’espace de travail. Depuis la corbeille, le fichier peut être restauré (pendant 90 jours par défaut) par n’importe quel utilisateur ayant accès à l’espace de travail correspondant. Lorsqu’un fichier a été supprimé de la corbeille, sa durée de conservation dans la sauvegarde est de 30 jours.

4. Disponibilité et sécurité du centre de données

Wimi est exploité dans des centres de données d’un fournisseur situé en France (actuellement Scaleway SAS).

Les informations concernant la disponibilité et la sécurité des centres de données que nous utilisons se trouvent sur les documents suivants :

Centre de données de production : Scaleway DC3

Centre de données de sauvegardes : Scaleway DC5

4.1  Compliance

Les centres de données ont reçu les certifications ISO 50001, HADS, ISO 27001. Ces normes certifient que les mesures de sécurité nécessaires et les procédures de gestion sont en place. Le centre de données de production est également certifié Tiers III design by Uptime Institute (2014).

4.2  Disponibilité

Chaque pièce du centre de données est dotée d’une détection incendie et système d’extinction, ainsi que des portes coupe-feu. Le centre de données dispose d’une source électrique doublée. En cas de coupure électrique, des générateurs peuvent assurer une autonomie initiale de 72h. Plusieurs mesures de sécurité ont été mises en place pour éliminer tout risque de défaillance.

Une présence humaine dans les centres de données 24 heures sur 24, 365 jours par an, garantit que les serveurs soient constamment maintenus. Dans le cas d’un incident technique, l’équipe peut réagir immédiatement pour s’assurer que le serveur soit réparé aussi rapidement que possible.

4.3  Sécurité

Les centres de données utilisés par Wimi ont une sécurité physique maximale. Tous les accès aux locaux sont strictement contrôlés. Pour se prémunir contre les intrusions et les dangers, les centres de données sont sécurisés avec des clôtures barbelées. Des systèmes de détection de mouvement et de la surveillance vidéo sont également en fonctionnement continu. L’activité dans les centres de données et à l’extérieur des bâtiments est contrôlée et enregistrée sur les serveurs sécurisés, et l’équipe de surveillance est sur place 24/7.

4.4  Accès et politique employé

Le nombre d’employés de Wimi ayant accès à l’infrastructure est extrêmement limité. Ces personnes sont tenues par un engagement de confidentialité spécifique et par une clause de confidentialité sur leur contrat de travail.

Tous les accès à l’infrastructure Wimi sont strictement contrôlés, monitorés et se font via VPN – seules certaines Ips prédéfinies sont autorisées à établir un tunnel (liste blanche d’adresses Ips) à l’aide d’une clé RSA 4096.

Ce tunnel de communication est alors chiffré en AES-256-CBC et haché en SHA-512.

Les administrateurs doivent alors s’authentifier en SSH à l’aide d’une clé privée (ED25519 ou ECDSA) protégée par passphrase.

5. Caractéristiques du produit

5.1 Fonctionnalités de gestion administrative

Wimi offre aux entreprises un contrôle centralisé des comptes d’utilisateur (création, désactivation ou suppression); et chaque mot de passe utilisateur peut être réinitialisé par un administrateur de Wimi. Au niveau de l’application, les administrateurs peuvent accéder, gérer, supprimer n’importe quel espace de travail ainsi que les droits d’accès associés.

5.2 Fonctionnalités de gestion d’utilisateur

Wimi permet le contrôle d’accès complet de chaque espace de travail grâce à un schéma d’autorisation flexible.

Au niveau de l’espace de travail, le contrôle d’accès se fait par module fonctionnel (channel, documents, tâches, calendrier, activités et rapports) et par participant avec 3 niveaux (lecture/modification, lecture seule et accès refusé).

Au niveau des dossiers et sous-dossiers, une gestion des accès complémentaire permet de limiter l’accès à certains dossiers et sous-dossiers à certains participants de l’espace de travail.

Au niveau des fichiers, un contrôle de version permet aux utilisateurs de récupérer des versions anciennes de chaque fichier (15 dernières versions par défaut).

6. Vie privée

Wimi respecte scrupuleusement le cadre juridique et réglementaire liés à la protection des données personnelles de ses utilisateurs.