CAW1 2019 Projet d'Anaël MOISSIARD et William SCHMITT : Différence entre versions

De Ensiwiki
Aller à : navigation, rechercher
(Backend)
Ligne 15 : Ligne 15 :
 
=== Backend ===
 
=== Backend ===
  
* Node.js + Express.js (TypeScript)
+
* Node.js + Express.js
 
* MongoDB
 
* MongoDB
 
* Mongoose
 
* Mongoose

Version du 2 juin 2019 à 11:08

Project schedule.png
Titre du projet Winnie
Cadre Projet Web (2AA)
Page principale CAW1_Demonstration_Realisation

Équipe Anaël Moissiard, William Schmitt
Encadrants Sébastien Viardot


Description

Winnie aime le miel. Winnie est un gestionnaire de honeypots, ces serveurs volontairement laissés ouverts sur internet avec peu ou pas de moyens de sécurité. Ce service web permet de gérer des honeypots à distance, d'agréger leurs logs afin, par exemple, d'identifier les tendances dans les attaques du moment.

Technologies utilisées

Backend

  • Node.js + Express.js
  • MongoDB
  • Mongoose

Front end

  • Angular 7
  • Bootstrap

Choix techniques

Architecture des noeuds Winnie

Winnie se compose de 3 parties à proprement parler :

  • Un serveur principal pour la centralisation des données retournées par les honeypots, l'API et le service de la partie client
  • Une application angular pour les interactions utilisateur
  • Un serveur léger permettant de retourner les données de différents honeypots vers le serveur principal

API

L'API a été décrite dans un fichier yaml selon les modèles d'OpenAPI, de façon à pouvoir générer de la documentation à l'aide de swagger.

Autres ?

Permissions

Winnie permet une gestion de groupes d'utilisateurs, de façon à pouvoir partager les données remontées par un serveur léger, mais également de différencier les utilisateurs lambda des administrateurs. Un utilisateur appartient et est administrateur du groupe portant son nom, et peut créer des groupes supplémentaires.

Cas d'utilisation

Invité

  • Inscription
  • Consultation de données partielles

Utilisateur

  • Création d'un honeypot selon les services associés
  • Consultation des honeypots attachés à un groupe
  • Changement d'informations personnelles

Créateur/administrateur d'un groupe

  • Toutes les fonctionnalités d'un utilisateur
  • Gestion des membres du groupe administré (ajout/suppression/modification de privilèges)
  • Ajout/suppression/modification de honeypots pour le groupe administré

Administrateur général

  • Toutes les fonctionnalités d'un créateur/administrateur de groupe
  • Ajout/suppression/modification d'utilisateurs
  • Ajout/suppression/modification de honeypots
  • Consultation de profils d'utilisateurs
  • Consultation des logs de tous les honeypots

Honeypot

  • Insère des données (logs par exemple) dans l'entrée correspondant à son identifiant