Section
ÉCONOMIE ET GESTION
Option
Informatique et systèmes d'information
Épreuve écrite disciplinaire appliquée
L'épreuve porte sur l'enseignement de sciences de gestion.
Elle a pour but d'évaluer l'aptitude du candidat à concevoir et à organiser une séquence pédagogique sur la thématique proposée en exploitant de façon critique et argumentée un dossier documentaire fourni.
Le sujet de l'épreuve est spécifique à l'option choisie.
Durée : 5 heures
Sont autorisés les matériels suivants :
-Le lexique SQL, sans commentaire ni exemple d'utilisation des instructions.
-La règle à dessiner les symboles informatiques.
L'usage de tout autre ouvrage de référence, de tout dictionnaire et de tout matériel électronique (y compris la calculatrice) est rigoureusement interdit.
Il appartient au candidat de vérifier qu'il a reçu un sujet complet et correspondant à l'épreuve à laquelle il se présente.
Si vous repérez ce qui vous semble être une erreur d'énoncé, vous devez le signaler très lisiblement sur votre copie, en proposer la correction et poursuivre l'épreuve en conséquence. De même, si cela vous conduit à formuler une ou plusieurs hypothèses, vous devez la (ou les) mentionner explicitement.
NB : Conformément au principe d'anonymat, votre copie ne doit comporter aucun signe distinctif, tel que nom, signature, origine, etc. Si le travail qui vous est demandé consiste notamment en la rédaction d'un projet ou d'une note, vous devrez impérativement vous abstenir de la signer ou de l'identifier.
Le fait de rendre une copie blanche est éliminatoire.
INFORMATION AUX CANDIDATS
Vous trouverez ci-après les codes nécessaires vous permettant de compléter les rubriques figurant en en-tête de votre copie. Ces codes doivent être reportés sur chacune des copies que vous remettrez.
CAPET EXTERNE - ÉCONOMIE ET GESTION
Option : Informatique et systèmes d'information
Concours externe du CAPET de l'enseignement public
Concours
Section/optionEpreuve
Matière
E|D|E
S
0
3
1
1|0|2
9
3
1
Concours externe du CAPET de l'enseignement privé
Concours E|D|F
Section/option
8
0
3
1
E
Epreuve Matière
1
0
2
\begin{tabular}{|l|l|l|}
\hline 9 & 3 & 1
\hline
\end{tabular}
Épreuve écrite disciplinaire appliquée
Structure du sujet
La candidate ou le candidat traitera l'un des deux sujets suivants, en indiquant clairement sur sa copie son choix
Sujet A - Exploitation pédagogique
Option « Solutions d'infrastructure, systèmes et réseaux » - SISR
Sujet B - Exploitation pédagogique
Option « Solutions logicielles et applications métier » - SLAM
La documentation est structurée de la façon suivante
Dossier documentaire commun
Document 1 acquis des étudiants en première année de STS SIO
Document 2 extraits du référentiel du BTS SIO
Document 3 contexte organisationnel de la société Gestlmmo
Dossier documentaire spécifique au sujet A
Document A. 1 infrastructure réseau générale de Gestlmmo
Document A. 2 étude d'une solution de collecte et d'analyse des journaux (logs)
Document A. 3 mise en place de la solution Elastic Stack
Document A. 4 traces collectées suite à une attaque
Dossier documentaire spécifique au sujet B
Document B. 1 application de réservation d'une location saisonnière
Document B. 2 représentation des données liées à la réservation d'appartements
Document B. 3 application ExpressJS de recensement des biens à louer
Document B. 4 classes de programmation des statistiques de locations
Contexte GestImmo Gestion d'un réseau d'agences immobilières
Vous enseignez en section de techniciens supérieurs Services informatiques aux organisations (STS SIO). L'équipe pédagogique a choisi un contexte organisationnel qui sera utilisé dans l'enseignement des blocs professionnels. Ce contexte permet de mettre les étudiantes et les étudiants en situation de participer, au sein de l'entreprise Gestlmmo, aux missions d'évolution et de maintenance de l'infrastructure système et réseau ou des solutions applicatives.
Outre des éléments décrivant l'environnement de la classe, le dossier documentaire présente des ressources d'entreprise qui devront être sélectionnées et éventuellement retravaillées avant d'être exploitées dans le cadre d'une séquence pédagogique.
À partir de vos connaissances et des ressources documentaires fournies, vous concevez une séquence pédagogique située au début de deuxième année de STS SIO.
-soit pour l'option « Solutions d'infrastructure, systèmes et réseaux » SISR (sujet A) ;
-soit pour l'option « Solutions logicielles et applications métier » SLAM (sujet B).
Votre travail sera décomposé en deux étapes :
-la première doit permettre de préparer certaines ressources et d'identifier des notions de la séquence pédagogique destinées aux étudiantes et étudiants ;
-la seconde doit permettre de formuler une proposition de séquence pédagogique.
Sujet A - Exploitation pédagogique Option « Solutions d'infrastructure, systèmes et réseaux » - SISR
Dossiers documentaires à exploiter : dossier commun et dossier spécifique au sujet A
En STS Services informatiques aux organisations, vous assurez plus particulièrement l'enseignement du bloc de compétences 3- Cybersécurité des services informatiques pour les étudiantes et étudiants de l'option A « Solutions d'infrastructure, systèmes et réseaux » (SISR).
Dans le cadre de cet enseignement, vous décidez d'exploiter le contexte Gestlmmo pour travailler les compétences et les sous-compétences suivantes :
-B3.4 - Garantir la disponibilité, l'intégrité et de la confidentialité des services informatiques et des données de l'organisation face à des cyberattaques
-Organiser la collecte et la conservation des preuves numériques.
-B3.5A - Assurer la cybersécurité d'une infrastructure réseau, d'un système, d'un service (option A)
-Participer à la vérification des éléments contribuant à la sureté d'une infrastructure informatique.
-Prendre en compte la sécurité dans un projet de mise en œuvre d'une solution d'infrastructure.
-Prévenir les attaques.
-Détecter les actions malveillantes.
-Analyser les incidents de sécurité, proposer et mettre en œuvre des contre-mesures.
Votre séquence portera sur la sécurisation de l'infrastructure système et réseau du siège de l'entreprise Gestlmmo en vous appuyant sur la mise en place d'une solution de centralisation des journaux et sur son exploitation dans l'analyse d'attaques sur les services ou les équipements réseaux.
Étape 1 - Préparation de ressources et identification de notions pour la séquence pédagogique
Travail à faire
1- Exploitation des documents 3 (du dossier commun) et A. 1 (du dossier spécifique au sujet A).
a)Distinguer les éléments de l'infrastructure réseau de l'entreprise Gestlmmo qui contribuent à sa résilience.
b)Proposer une évolution de l'architecture qui permettrait de mieux sécuriser les services actuellement exposés sur une zone démilitarisée unique de l'entreprise Gestlmmo.
2- Exploitation des documents A.2, A.3, A.4.
a)Justifier, au regard des contraintes exprimées par l'entreprise, la pertinence du choix final de la solution Elastic Stack pour la centralisation et l'analyse des journaux (logs).
b)Expliciter la démarche d'analyse qui permet d'identifier le type d'attaque potentiellement subie par le serveur FTPS et son résultat.
c)Proposer au moins deux contre-mesures, au niveau de la configuration du serveur -sans recours à un matériel supplémentaire-, pour améliorer le niveau de protection contre ce type d'attaque.
3- Identification de notions mobilisables dans la séquence.
a)Indiquer les bonnes pratiques nécessaires à la mise en place d'une solution de gestion centralisée des journaux (logs) des équipements et serveurs.
b)Définir les concepts de SOC (Security Operating Center, en français centre opérationnel de sécurité) et de SIEM (Security Information Event Management, en français système de gestion
des événements et des informations de sécurité) et expliquer en quoi la solution Elastic Stack contribue au déploiement de tels systèmes.
Étape 2 - Proposition de séquence pédagogique
Travail à faire
En exploitant les dossiers documentaires, dossier commun et dossier spécifique au sujet A, proposer la séquence pédagogique en précisant les points suivants :
-les objectifs d'apprentissage ;
-le déroulement : prérequis mobilisés, découpage en différentes phases, équipements ou technologies mobilisés ;
-les travaux demandés aux étudiantes et étudiants en indiquant, pour chacune des phases,
○les consignes fournies ou les éléments d'évaluation à traiter par les étudiantes et les étudiants,
○la ou les ressources choisie(s) dans le dossier joint en explicitant les raisons de votre choix. Pour les documents retenus, vous préciserez la transposition didactique nécessaire pour satisfaire les objectifs fixés (extraction d'une partie du document, suppression de certains termes ou informations, adjonction d'indications, etc.),
○les attendus de chaque travail demandé aux étudiantes et aux étudiants.
Sujet B - Exploitation pédagogique Option « Solutions logicielles et applications métier » - SLAM
Dossiers documentaires à exploiter : dossier commun et dossier spécifique au sujet B
En STS Services informatiques aux organisations, vous assurez plus particulièrement l'enseignement du bloc de compétences 2- Conception et développement d'applications pour les étudiantes et étudiants de l'option B « Solutions logicielles et applications métier » (SLAM).
Dans le cadre de cet enseignement, vous décidez d'exploiter le contexte Gestlmmo pour travailler les compétences :
-B2.1B - Concevoir et développer une solution applicative
-Modéliser une solution applicative
-Identifier, développer, utiliser ou adapter des composants logiciels
-Utiliser des composants d'accès aux données
-B2.3B - Gérer les données
-Exploiter des données à l'aide d'un langage de requêtes
-Développer des fonctionnalités applicatives au sein d'un système de gestion de bases de données (relationnel ou non)
-Concevoir ou adapter une base de données
Votre séquence portera sur l'évolution de l'application de réservation des locations d'appartements et des statistiques de locations, en vous appuyant sur les techniques de développement d'application actuelles : cadriciel (framework), programmation orientée objet, ainsi que les techniques de modélisation des données et de leur persistance.
Étape 1 - Préparation de ressources et identification de notions pour la séquence pédagogique
Travail à faire
1- Exploitation des documents B. 1 et B. 2 du dossier spécifique au sujet B.
a)Faire évoluer le schéma entité-association pour gérer les réservations de locations saisonnières.
b)Rédiger les requêtes permettant l'évolution de la base de données.
2- Exploitation du document B.3.
a)Pour le cas d'utilisation « lister les appartements », proposer un diagramme de séquence qui schématise les interactions entre les composants logiciels (selon le patron de conception modèle-vue-contrôleur).
3- Exploitation du document B.4.
a)Expliquer le rôle de la méthode nbSemainesSaison() de la classe Location et le parcours de collection qu'elle réalise.
4- Identification de notions mobilisables dans la séquence
a)Indiquer les précautions et les bonnes pratiques à mettre en œuvre dans le cadre de l'évolution d'une base de données.
b)Définir l'intérêt de structurer le code selon le patron de conception modèle-vue-contrôleur.
Étape 2 - Proposition de séquence pédagogique
Travail à faire
En exploitant les dossiers documentaires, dossier commun et dossier spécifique au sujet B, proposer une séquence pédagogique en précisant les points suivants :
-les objectifs d'apprentissage ;
-le déroulement : prérequis mobilisés, découpage en différentes phases, équipements ou technologies mobilisés ;
-les travaux demandés aux étudiantes et étudiants en indiquant, pour chacune des phases,
○les consignes fournies ou les éléments d'évaluation à traiter par les étudiantes et les étudiants ;
○la ou les ressources choisie(s) dans les dossiers joints en explicitant les raisons de votre choix. Pour les documents retenus, vous préciserez la transposition didactique nécessaire pour satisfaire les objectifs fixés (extraction d'une partie du document, suppression de certains termes ou informations, adjonction d'indications, etc.) ;
○les attendus de chaque travail demandé aux étudiantes et aux étudiants.
Dossier documentaire commun
Document 1 : acquis des étudiants en première année de STS SIO
Ce document rassemble les acquis des étudiantes et étudiants lors de leur première année en section de techniciens supérieurs SIO, en termes de savoirs. Ces acquis sont mobilisables dans les scénarios pédagogiques des sujets A et B.
Les compétences travaillées dans les blocs 1 et 3 ont permis d'aborder les notions suivantes :
-Modèle OSI et TCP/IP, adressage IPv4, protocoles Ethernet (y compris les réseaux sans fil).
-Notions de routage et de segmentation.
-Principaux protocoles et services associés : services d'annuaire (LDAP/Domaine AD), services Web, services d'architecture (DNS/DHCP), services de communication (partage de fichiers, messagerie, outils collaboratifs).
-Bases sur la résolution des incidents : processus de recueil de bonnes pratiques informatiques (ITIL), cycle de vie d'un incident.
-Programmation procédurale, bases de la programmation orientée objet et de la programmation web, langage de macro-commande (script).
-Notions sur le fonctionnement d'une base de données relationnelle et du langage SQL.
-Bases sur la protection des données personnelles et de l'identité numérique de l'organisation.
-Principes de la sécurité : disponibilité, intégrité, confidentialité, preuve.
-Principes et techniques sur la protection, la gestion des droits d'accès et l'archivage des données, le chiffrement, l'authentification et la preuve.
-Typologie des risques et de leurs impacts, initiation à l'analyse de risques.
Les étudiantes et étudiants ont une pratique courante des technologies suivantes :
-Bases de l'administration système sous Windows et Linux : commandes de base, consultation de fichiers, filtres, installation de paquets.
-Bases de l'administration réseau : mise à disposition d'un accès à un réseau.
-Installation, administration et sécurisation du poste de travail.
-Utilisation de l'outil de simulation Cisco Packet Tracer et d'équipements physiques : commutateurs, routeurs, points d'accès sans-fil (sécurisation par WPA2 PSK).
-Pratique d'un outil de gestion de projet (tâches, planification, ressources).
-Pratique d'un outil de gestion des incidents.
-Techniques de mise à disposition de site web (local, nuage -cloud- privé, nuage -cloud- public).
-Étude et modification de site web (langage de macro-commande -script- client HTML, CSS, Javascript).
-Étude et modification de site PHP MySQL (langage de macro-commande -script- serveur et accès aux données).
-Étude et modification de site web (système de gestion de contenus tel que WordPress).
-Interprétation et modification des formats de données structurées (JSON, XML).
-Génération et exploitation de scripts de création de base de données.
-Manipulation des données à l'aide du langage SQL.
Spécifiquement pour l'option SISR :
Les compétences travaillées dans le bloc 2 ont permis d'approfondir les principes et la mise en œuvre des architectures réseau et système : séparation des flux (réseaux virtuels - VLAN-, propagation de VLAN - 802.1q, zone démilitarisée - DMZ-, autres périmètres de sécurité, etc.), adressage IP, routage (avec routage dynamique), translation d'adresses réseau (NAT), accès distant, langage de script, déploiement de postes de travail et d'applications et administration d'un serveur Windows et/ou Linux.
Spécifiquement pour l'option SLAM :
Les compétences travaillées dans le bloc 2 ont permis d'approfondir les principes et la mise en œuvre de la programmation (notamment orientée objet) et des bases de données : modélisation et maquettage d'une solution applicative, architectures applicatives n-tiers, adaptation d'une base de données en réponse à de nouveaux besoins, accès aux données à travers des requêtes du langage de la base de données depuis une application et gestion de versions de code source.
Document 2 : extraits du référentiel du BTS SIO
Option B « Solutions logicielles et applications métiers » - Bloc 2 - Solutions logicielles et applications métiers -
Compétences
Indicateurs de performance
Savoirs associés
B2.1B - Concevoir et développer une solution applicative
-Modéliser une solution applicative
-Identifier, développer, utiliser ou adapter des composants logiciels
-Utiliser des composants d'accès aux données
B2.3B - Gérer les données
-Exploiter des données à l'aide d'un langage de requêtes
-Développer des fonctionnalités applicatives au sein d'un système de gestion de base de données (relationnel ou non)
-Concevoir ou adapter une base de données
La proposition de la solution applicative répond au besoin exprimé dans le cahier des charges [...] :
-la modélisation de l'application est conforme aux besoins ;
-la maquette des éléments applicatifs de la solution respecte les fonctionnalités exprimées ;
Le choix des composants logiciels à utiliser et/ou à développer est pertinent.
Un service Web est exploité pour échanger des données entre applications.
Les données persistantes liées à la solution applicative sont exploitées à travers un langage de requête lié à la base de données qui peut être le langage de requête proposé par les échanges applicatifs des technologies Web, un langage de requête présent dans l'outil de correspondance objet-relationnel ou toute autre solution de persistance.
L'exploitation des données permet de construire l'information attendue.
Les accès aux données sont contrôlés conformément aux habilitations définies par le cahier des charges.
Les données sont modélisées conformément au besoin de la solution applicative.
Méthodes, normes et standards associés au processus de conception et de développement d'une solution applicative.
Architectures applicatives : concepts de base et typologies.
Techniques et outils d'analyse et de rétro-conception.
Concepts de la programmation objet : classe, objet, abstraction, interface, héritage, polymorphisme, annotations, patrons de conception, interface de programmation d'applications.
Persistance et couche d'accès aux données.
Fonctionnalités d'un outil de gestion de projets.
Concepts et techniques de développement agile.
Option A « Solutions d'infrastructure systèmes et réseaux » - Bloc 3 - Cybersécurité des services informatiques
Compétences
Indicateurs de performance
Savoirs associés
B3.4 - Garantir la disponibilité, l'intégrité et de la confidentialité des services informatiques et des données de l'organisation face à des cyberattaques
-Caractériser les risques liés à l'utilisation malveillante d'un service informatique
-Recenser les conséquences d'une perte de disponibilité, d'intégrité ou de confidentialité
-Organiser la collecte et la conservation des preuves numériques.
Les risques associés à l'utilisation malveillante d'un service informatique sont caractérisés.
Les conséquences des actes malveillants sur un service informatique sont identifiées.
Les preuves numériques sont conservées de manière sécurisée et dans le respect de la législation.
Principes de la sécurité : disponibilité, intégrité, confidentialité, preuve.
B3.5A - Assurer la cybersécurité d'une infrastructure réseau, d'un système, d'un service.
-Prendre en compte la sécurité dans un projet de mise en œuvre d'une solution d'infrastructure.
-Prévenir les attaques
-Détecter les actions malveillantes
-Analyser les incidents de sécurité, proposer et mettre en œuvre des contre-mesures
Les bonnes pratiques de sécurité sont prises en compte.
Les éléments de sécurité de l'architecture sont conformes et documentés.
Les dispositifs de détection et de protection des attaques sont opérationnels.
Les processus de résolution d'un incident ou d'un problème sont respectés.
Le compte rendu d'intervention est clair et explicite.
Les contre-mesures mises en place corrigent et préviennent les incidents de sécurité
Les contre-mesures sont documentées de manière à en assurer le suivi.
La communication écrite et orale est adaptée à l'interlocuteur.
Sûreté des infrastructures réseaux : bonnes pratiques, normes et standards.
Cybersécurité : bonnes pratiques, normes et standards.
Technologies et équipements de la sécurité informatique des infrastructures réseau, systèmes et services.
Outils de sécurité : prévention et détection des attaques, gestion d'incidents.
Document 3 : contexte organisationnel de GestImmo
Gestlmmo est une entreprise familiale fondée par monsieur Philippe, elle intervient depuis plus de 30 ans sur le secteur de l'immobilier, elle est l'un des chefs de file français dans l'administration de biens immobiliers à travers son réseau d'agences franchisées réparties dans toute la France : gestion locative, gestion saisonnière, achat/vente, syndic de copropriété.
Le réseau informatique du groupe Gestlmmo est géré en totalité par l'entité GSImmo et compte plus de 6000 utilisateurs répartis sur plus de 500 agences reliées au siège de Gestlmmo par une solution de réseau IP/MPLS d'Orange permettant à l'ensemble des sites du groupe de communiquer ensemble.
GSImmo est composée d'une vingtaine de collaborateurs confirmés, répartis en trois équipes : l'équipe SysRes regroupe les ingénieurs système et réseau et la responsable de la sécurité des systèmes d'information (RSSI), l'équipe Données regroupe les développeurs en charge de la conception et de la gestion des bases de données et l'équipe Code regroupe les développeurs en charge de la conception des applications métier.
GSImmo assure le bon fonctionnement et la cohérence de l'ensemble des systèmes d'information et est responsable :
-du dimensionnement et du déploiement des infrastructures,
-de la disponibilité, de la fiabilité et de l'exploitation des données,
-du développement et de l'adaptation des solutions logicielles,
-du respect des contraintes légales,
-de la cybersécurité,
-de la veille technologique,
-du pilotage et de l'organisation des évolutions du système d'information.
Infrastructure informatique de GestImmo
Gestlmmo possède une infrastructure gérée en interne par l'équipe SysRes de GSImmo. Le groupe a fait le choix d'une solution hors nuage (cloud) en s'équipant de deux sites répliqués gérés par GSImmo. Ces deux sites ont une capacité d'accueil de près de 500 machines virtuelles accueillant des serveurs GNU/Linux et Windows Server 2019 pour une capacité de stockage de près de 1 Po (pétaoctet) de données. Les deux sites sont entièrement redondants, si l'un vient à défaillir, le second prendra le relais dans les plus brefs délais. lls sont équipés de deux onduleurs pouvant alimenter durant 2 heures l'entièreté du site et un générateur qui peut prendre le relais en cas de coupure de courant d'une plus grande durée. La réplication synchrone des baies de stockage permet d'assurer la redondance des données.
Les agences du groupe Gestlmmo sont raccordées au réseau MPLS d'Orange via trois types de liaisons : FTTH ^1, FTTO ^2 et SDSL ^3 allant d'un débit minimum de 4Mb/s dans les zones géographiques les moins développées à des lignes à 1 Gb/s pour les agences reliées via FTTH. Le fournisseur Orange fournit le service téléphonique par IP dans toutes les agences et au siège.
Les sites du groupe Gestlmmo assurent la liaison vers internet des postes utilisateurs et des serveurs via des liens passifs et actifs garantissant la continuité de services.
Applications de GestImmo
Les applications développées par GSImmo s'appuient sur des technologies web, la programmation objet et des bases de données relationnelles.
Les développeurs de GSImmo, responsables du développement et de l'adaptation des solutions logicielles, se voient confier la mission de concevoir et développer une nouvelle version de l'application de gestion des locations d'appartements de vacances.
L'application permet par exemple de rechercher et réserver un logement pour une semaine dans une station de ski.
1 Fiber to the home ou fibre optique jusqu'au domicile.
2 Fiber to the office ou fibre optique jusqu'au bureau qui offre des prestations telles qu'une garantie de débit et un accord de niveau de service (SLA : service level agreement).
3 Symmetric digital subscriber line ou ligne d'abonné numérique à débit symétrique.
Dossier documentaire spécifique au sujet A
Document A. 1 : infrastructure système et réseau de l'entreprise Gestlmmo
L'ensemble des serveurs virtuels utilisés par la société Gestlmmo sont hébergés dans deux centres de données (datacenters), l'un situé sur le site du siège à Rennes et l'autre sur un site de secours loué à un prestataire. Ces deux sites sont éloignés d'une distance de 2000 mètres et reliés par une liaison fibre louée avec un débit de 100 Gb/s, permettant la synchronisation des données entre les 2 sites et passant par des chemins physiques différents pour éviter la coupure des liaisons.
La gestion des utilisateurs et des habilitations est confiée à un domaine Active Directory fonctionnant sous le système Windows Server 2019.
Les applications utilisées sont les suivantes :
-applications génériques : Office365, Outlook, Exchange Server ;
-progiciel de gestion intégré ;
-applications métiers spécifiques développées en interne : gestion des biens immobiliers, gestion des locations, gestion des locations saisonnières, etc.
Le centre de données datacenter1, situé au siège de Rennes, est en mode actif, son routeur internet est actif et celui du second est en mode passif, les routeurs VPN Orange sont tous deux en mode actif. Le fonctionnement est identique pour les pare-feu physiques que les routeurs internet, étant en mode actif sur le centre de données datacenter1 et en mode passif sur le deuxième. Les pare-feu exécutent du filtrage applicatif et gèrent également les différents réseaux VLAN.
L'entreprise Gestlmmo possède un serveur rsyslog qui permet de centraliser le journal (log) de l'ensemble des serveurs Windows et Linux et des équipements réseau.
L'entreprise Gestlmmo dispose d'un serveur d'échange de fichiers FTPS (File Transfer Protocol Secure) en zone démilitarisée (DMZ), accessible par les prestataires et fournisseurs externes, afin d'y déposer les devis et factures des interventions ou commandes. Ces documents sont automatiquement transférés tous les soirs vers un serveur interne et indexés dans le système de gestion électronique de documents (GED).
Concernant les réseaux virtuels (VLAN), ils sont nombreux pour segmenter autant que possible le trafic sur le réseau. On peut par exemple citer les traditionnels réseaux « VLAN services internes » dédiés aux utilisateurs de chaque service interne du siège et « VLAN serveurs » contenant les serveurs d'applications métiers, Active Directory, SGBD, PGI, GED, etc., et celui de la zone démilitarisée (DMZ) contenant les serveurs publics. Un réseau VLAN d'administration « VLAN Admin » permet l'accès distant aux serveurs et ne peut être utilisé exclusivement que par les postes des administrateurs du réseau filtrés par le pare-feu interne.
Schéma simplifié des réseaux privés virtuels de l'infrastructure du réseau de l'entreprise Gestlmmo
Document A. 2 : étude d'une solution de collecte et d'analyse des journaux (logs)
Document A2.1 : expression des besoins de l'entité GSImmo
Problématique
Comment au sein d'une entreprise peut-on assurer que la continuité des services est opérationnelle pour les collaborateurs et les clients ?
Il existe au sein des systèmes informatiques des indicateurs qui permettent d'anticiper les problèmes et les dysfonctionnements en production afin d'éviter les interruptions de service pour les utilisateurs.
En complément de la supervision en temps réel, les ingénieurs système et réseau de l'équipe SysRes doivent régulièrement effectuer le suivi des données obtenues via les différents systèmes de journalisation aussi bien au niveau des actifs réseaux que des serveurs.
L'entité GSImmo souhaite :
-Permettre une meilleure traçabilité des actions réalisées sur les services et des événements associés ;
-Garantir aux utilisateurs une continuité de service en améliorant sa solution de centralisation des fichiers journaux (logs) de ses différents serveurs et équipements réseau.
L'équipe SysRes a en charge l'étude de la solution à mettre en place. Elle doit étudier et tester plusieurs solutions permettant la centralisation et l'analyse des fichiers journaux (logs) et des métriques afin de fournir des éléments de choix à l'entité GSImmo.
Contraintes
La solution proposée devra s'appuyer sur les journaux (logs) déjà collectés sur le serveur rsyslog et ne pas induire de coûts de licences trop importants, une solution open source robuste sera toujours préférable si sa mise en œuvre reste d'une complexité moyenne.
Document A2.2 : tableau comparatif des solutions envisagées
Différentes solutions sont possibles pour assurer la centralisation des journaux (logs), une première réflexion menée au sein de l'équipe SysRes sur les solutions Elastic Stack (ELK), Graylog et Splunk a débouché sur le tableau comparatif ci-après.
Solutions
Installation
Simple d'installation, création de compte et récupération du fichier d'installation sur le site officiel.
Installation relativement simple avec la documentation sur le site ELK. ELK est constitué de trois composantes : Elasticsearch, Logstash et Kibana.
Graylog2 est une solution open-source de gestion de journaux (logs). Chaque message est enregistré dans une base de données Elle intègre Elasticsearch pour gérer et analyser les journaux (logs). Graylog nécessite Java et la base de données MongoDB.
Configuration
Configuration relativement simple réalisable à partir de l'interface. Il faut configurer des ports d'écoute puis ajouter les données.
La configuration est un peu plus complexe car il faut configurer Logstash (export json) pour qu'il puisse récupérer les journaux (logs) issus du serveur rsyslog pour les envoyer à Elasticsearch.
Configuration similaire à Splunk (configurable depuis l'interface web).
Utilisation
Utilisation simple pour une utilisation basique fonctionnement par mots clés Recherches avancées basées sur SPL (Splunk Search Processing Language).
Simple d'utilisation pour un fonctionnement basique, utilisation similaire à Splunk (mot clés). Recherches avancées.
Utilisation similaire à Splunk et ELK. Recherches avancées.
Graphiques
La création de graphiques se fait par rapport à la recherche et aux différents champs récupérés. Ils sont facilement réalisables et complets.
Les graphiques se créent à partir de la recherche des champs récupérés mais cela nécessite une bonne configuration de Logstash pour ne pas avoir de conflit de champ entre les logs envoyés et les champs par défaut de Kibana.
Les graphiques sont facilement réalisables mais ils sont aussi moins complets que ceux de Splunk et ELK.
Tableaux de bord (dashboards)
Les tableaux de bord ne sont pas interactifs. Par défaut, la barre de recherche et le temps ne sont pas disponibles. Il faut rendre les tableaux de bord compatibles avec les visualisations.
Les tableaux de bord sont interactifs par défaut, la barre de recherche et la barre de temps sont toujours disponibles. Les tableaux de bord s'adaptent en fonction des termes de recherches et de la plage de temps sélectionnée.
Graphique non interactif ; la barre de recherche et le temps ne sont pas disponibles.
Coût
La version gratuite de Splunk est limitée à 500 Mo par jour d'indexation.
Xpack est la partie payante de la suite ELK ajoutant des options de gestion d'alerte, de sécurisation, etc. Possibilité d'ajouter des outils libres à la place de Xpack.
Les fonctionnalités sont pour la plupart sans surcoût.
Document A. 3 : mise en place de la solution Elastic Stack
Document A3.1 : extraits de présentation de la suite logicielle Elastic Stack
Source : site officiel elastic.co
Elastic Stack (ELK) est une suite open source réunissant 3 produits intégrés : Elasticsearch, Logstash et Kibana. ELK propose différents modules de collecte de données de supervision et de fichiers journaux (logs). ELK permet de collecter n'importe quel format de données depuis n'importe quelle source, puis d'interroger, d'analyser et de visualiser les données en temps réel ou différé.
Le tableau ci-dessous présente les principaux modules et leur articulation.
Elasticsearch est un logiciel d'indexation de journaux (logs) qui fournit un moteur de recherche et d'analyse RESTful distribué utilisant le format JSON.
Logstash est un collecteur (pipeline) côté serveur, destiné au traitement des données. Sa mission est d'ingérer des données provenant d'une multitude de sources, puis les transformer et les envoyer vers un système de stockage comme Elasticsearch.
Kibana est un générateur d'interfaces graphiques qui permet aux utilisateurs de visualiser des données Elasticsearch avec des tableaux de bord et des graphiques.
Beats est une plateforme qui accueille des agents spécifiques réservés au transfert de données provenant de différents équipements.
Document A3.2 : schéma de l'infrastructure Elastic Stack pour l'entité GSImmo
L'architecture proposée comporte l'ensemble des serveurs GNU/Linux, avec l'application rsyslog (transférant les messages des journaux d'événements sur un réseau) configurée pour les entrées des différentes applications installées (Apache 2, MySQL, etc.). La sortie de rsyslog est configurée vers l'adresse IP du répartiteur de charge (Load Balancer) permettant l'équilibrage de charge vers les deux serveurs Logstash sur le port d'écoute de ces serveurs. Ensuite, les serveurs Logstash redirigent les journaux (logs) entrés dans Logstash vers les serveurs Elasticsearch (six serveurs). Le moteur de recherche Elasticsearch envoie ensuite les données vers Kibana afin de pouvoir visualiser les journaux (logs) et les rendre plus compréhensibles à l'aide de tableaux de bord et de graphiques dynamiques tels que des histogrammes en temps réel, des graphes linéaires, des diagrammes camemberts et des cartes.
Schéma de l'infrastructure Elastic Stack pour l'entité GSImmo
Document A. 4 : traces collectées suite à une attaque
Peu de temps après la mise en production de la suite logicielle Elastic Stack, les informations relevées sur le tableau de bord relatif au serveur d'échange de fichiers alertent la RSSI. Une augmentation très importante du trafic vers ce serveur a été détectée. Ces flux de données anormaux ont été capturés par un équipement TAP ^4 positionné avant le serveur.
Document A4.1 : tableau de bord des informations du serveur d'échange de fichiers
Le tableau de bord ci-dessous issu de l'interface de visualisation et d'analyse Kibana, outil de la suite logicielle Elastic Stack, permet de visualiser pour un hôte donné et une période donnée, l'utilisation du processeur (CPU), de la mémoire, le nombre de processus actifs et le nombre de tentatives de connexion réussies et échouées.
Une augmentation très importante du trafic vers le serveur d'échange de fichiers a été détectée le 05-12-2022 sur la période 18h-20h.
Document A4.2 : extrait d'une capture de trames avec l'application Wireshark
La capture de trames ci-dessous a été réalisée le 05-12-2022 sur la période 18h-20h
4 TAP = Test access point est un équipement réseau passif, offrant sur les interfaces prévues à cet effet une copie du trafic réseau initial, il se comporte comme un port « miroir » d'un commutateur sans les effets de bord (congestion de la bande passante, perte de paquets, etc.).
Document A4.3 : extrait du journal du serveur d'échange de fichiers
L'extrait du journal du serveur d'échange de fichiers réalisé le 05-12-2022 sur la période 18h-20h.
Mon Dec 5 19:58:40 2022 [pid 2536] CONNECT: Client "192.168.134.212"
Mon Dec 5 19:58:40 2022 [pid 2536] DEBUG: Client "192.168.134.212", " "SSL version: TLSv1.3, SSL cipher: TLS_AES_256_GCM_SHA384, not reused, no cert"
Mon Dec 5 19:58:40 2022 [pid 2536] FTP response: Client "192.168.134.212", "220 (vsFTPd 3.0.3)"
Mon Dec 5 19:58:40 2022 [pid 2536] FTP command: Client "192.168.134.212", "USER admin" Mon Dec 5 19:58:40 2022 [pid 2536] [admin] FTP response: Client "192.168.134.212", "331 Please specify the password
Mon Dec 5 19:58:40 2022 [pid 2536] [admin] FTP command: Client "192.168.134.212", "PASS <password>"
Mon Dec 5 19:58:43 2022 [pid 2537] [admin] FAIL LOGIN: Client "192.168.134.212"
Mon Dec 5 19:58:44 2022 [pid 2536] [admin] FTP response: Client "192.168.134.212", "530 Please login with USER and PASS."
Mon Dec 5 19:58:44 2022 [pid 2536] DEBUG: Client "192.168.134.212", "Control connection terminated without SSL shutdown."
Mon Dec 5 19:58:45 2022 [pid 2540] CONNECT: Client "192.168.134.212"
Mon Dec 5 19:58:45 2022 [pid 2540] DEBUG: Client "192.168.134.212", " "SSL version: TLSv1.3, SSL cipher: TLS_AES_256_GCM_SHA384, not reused, no cert"
Mon Dec 5 19:58:45 2022 [pid 2540] FTP response: Client "192.168.134.212", "220 (vsFTPd 3.0.3)"
Mon Dec 5 19:58:45 2022 [pid 2540] FTP command: Client "192.168.134.212", "USER utilisateur"
Mon Dec 5 19:58:45 2022 [pid 2540] [admin] FTP response: Client "192.168.134.212", "331 Please specify the password
Mon Dec 5 19:58:45 2022 [pid 2540] [admin] FTP command: Client "192.168.134.212", "PASS <password>"
Mon Dec 5 19:58:46 2022 [pid 2539] [admin] FAIL LOGIN: Client "192.168.134.212"
Mon Dec 5 19:58:47 2022 [pid 2540] [admin] FTP response: Client "192.168.134.212", "530 Please login with USER and PASS."
Mon Dec 5 19:58:48 2022 [pid 2540] DEBUG: Client "192.168.134.212", "Control connection terminated without SSL shutdown."
Mon Dec 5 19:58:50 2022 [pid 2548] CONNECT: Client "192.168.134.212"
Mon Dec 5 19:58:50 2022 [pid 2548] DEBUG: Client "192.168.134.212", " "SSL version: TLSv1.3, SSL cipher: TLS_AES_256_GCM_SHA384, not reused, no cert"
Mon Dec 5 19:58:50 2022 [pid 2548] FTP response: Client "192.168.134.212", "220 (vsFTPd 3.0.3)"
Mon Dec 5 19:58:50 2022 [pid 2548] FTP command: Client "192.168.134.212", "USER user" Mon Dec 5 19:58:50 2022 [pid 2548] [admin] FTP response: Client "192.168.134.212", "331 Please specify the password
Mon Dec 5 19:58:50 2022 [pid 2548] [admin] FTP command: Client "192.168.134.212", "PASS <password>"
Mon Dec 5 19:58:52 2022 [pid 2547] [admin] FAIL LOGIN: Client "192.168.134.212"
Dossier documentaire spécifique au sujet B
Document B. 1 : application de réservation de locations saisonnières
Document B.1.1 : problématiques liées à l'application
La version actuelle de l'application de réservation de locations saisonnières, outre des bogues à répétition et des fonctionnalités limitées, s'appuie sur des technologies dépassées. Elle devient complexe et coûteuse à maintenir.
Par ailleurs, elle nécessite une mise en conformité avec le Règlement général sur la protection des données (RGPD).
Les développeurs, inspirés des méthodes de développement « agile », lancent la première itération (sprint) du projet de nouvelle version de l'application de gestion des locations d'appartements de vacances.
-l'équipe « données » propose les données nécessaires aux fonctionnalités de l'application.
Si l'approche est classique, avec l'utilisation du formalisme entité association puis la conversion en schéma relationnel, l'équipe réfléchit aussi en termes de programmation objet.
L'approche est nouvelle, avec le choix de développer l'application avec l'environnement de développement (framework) ExpressJS. Ce dernier a été retenu pour sa maturité, la qualité de sa documentation et les performances de son socle d'exécution NodeJS.
La revue d'itération (sprint) doit confronter les expériences des deux équipes.
Document B.1.2 : interface et processus de réservation
L'application de saisie des réservations est une application en environnement web destinée aux demandes de réservation d'appartements.
Pour traiter une demande de réservation, un formulaire permet de saisir les critères de choix du client (date début de la période de la réservation, catégorie d'appartement, durée du séjour).
La liste des appartements disponibles est alors affichée avec, pour chaque appartement, la ville, le nom de l'immeuble, le numéro d'appartement, son descriptif et le prix total du séjour.
Si aucun appartement n'est disponible, l'application retourne un message d'information.
Formulaire de recherche d'appartements disponibles (maquette)
Recherche de locations - Critères de recherche
Date de début □
05/02/2022
Date de fin
Date de fin □
□
Catégorie
Catégorie □
□
STUDIO 2-3 PERS
Rechercher les appartements disponibles
Num
Ville
Immeuble
Superficie
Descriptif
Coüt semaine
223
La Plagne
Le Chamois
20
rdc, terrasse avec acces piste
6406
Choistr cet appartement
209
Val Thorens
La Vanoise
15
rde cabine, terrasse expon nord
7006
Choisir cet appartement
Si le client est intéressé par l'un des appartements proposés, l'hôtesse sélectionne la ligne correspondante. La validation de cette sélection entraîne la saisie de la réservation.
Appartement
Catégorie STUDIO 2-3 PERS
Immeuble Le Gebroula
Appartement 309
3ème ètage 35 m2 cabine et balcon
Réservation
du 05/02/2022 au 19/02/2022 (2 semaines)
prix du séjour 1500€
Coordonnées du client
Nom
Bernardin
Prénom
Camille
Adresse
18 rue du moulin
Code postal
62000
Ville
Lens
Le formulaire rappelle les caractéristiques du séjour choisi. Dans l'exemple, il s'agit de la réservation d'un appartement de 35 m2 situé dans l'immeuble « Le Gebroula », pour une période de 2 semaines du 5 février au 19 février 2022.
Le formulaire nécessite la saisie des coordonnées du client qui effectue la réservation.
La réservation est alors à l'état « option », un reçu de réservation est fourni au client. Ce dernier dispose de 15 jours pour faire parvenir un acompte. La réservation passe alors à l'état « ferme », à défaut elle passe à l'état « annulée ».
Document B. 2 : représentation des données liées à la réservation d'appartements
L'équipe « données » a répertorié les données stables qui concernent les appartements.
Il faut maintenant affiner le schéma pour intégrer les semaines sur lesquelles portent les réservations d'un appartement.
Le schéma proposé sera validé par une implémentation dans une base de données relationnelle.
On distingue 5 saisons : HIVER, PRINTEMPS, ETE, NOËL, BASSE-SAISON.
Les appartements sont classés en catégories : STUDIO 2-3 PERS, APPARTEMENT 3-4 PERS, etc.
Les appartements proposés à la location se louent à la semaine, d'un samedi au samedi suivant.
Une réservation peut porter sur plusieurs semaines.
Le tarif de location est fonction de la catégorie de l'appartement et de la saison.
L'état de la réservation évolue (propriété ÉtatRéserv : option, ferme, annulée, terminée, litige).
Document B. 3 : application ExpressJS de recensement des biens à louer
L'équipe « code » travaille à une implémentation javascript de l'application de location des appartements.
Pour se familiariser avec le cadriciel (framework) ExpressJS et son environnement, l'équipe « code » a développé la gestion des appartements :
-installation des modules NodeJS nécessaires (URL parser, moteur de vues, etc.)
-respect de l'organisation du code selon le patron de conception modèle-vue-contrôleur
-implémentation des cas d'utilisation standards : lister les appartements, créer un nouvel appartement, éditer un appartement, supprimer un appartement
Document B. 4 : classes de programmation des statistiques de locations
L'équipe « données » anticipe les états récapitulatifs des réservations.
Il s'agit notamment de disposer d'informations statistiques de locations des appartements.
Pour l'instant à l'état de réflexion, modélisé en pseudo-langage, un ensemble de classes a été conçu.
Classe Saison
Privé tarif : réel
// le tarif dépend de la saison
Public fonction getTarif ( ) : réel fonction estEgale ( s : Saison ) : booléen Fin Classe
// retourne la valeur du tarif de la saison // compare deux saisons.
Classe Semaine
Privé numSemaine : entier maSaison : Saison
// une semaine appartient à une saison précise
Public fonction getNumSemaine ( ) : entier fonction getMaSaison ( ) : Saison Fin Classe
// retourne le numéro de la semaine // retourne la saison à laquelle appartient la semaine
Pour chaque appartement proposé à la location, la classe Location mémorise les semaines où il a été effectivement loué.
Classe Location
Privé
monAppart : Appartement
// identifie l'appartement proposé à la location
mesSemaines : Collection de <Semaine>
// les semaines de location de l'appartement
Public
Constructeur Location (...)
// construit un objet Location, avec l'appartement en paramètre
// la collection mesSemaines est initialement vide
fonction existeSemaine (n : entier) : booléen
// indique si la semaine dont le numéro est passé en paramètre fait partie des semaines pendant lesquelles l'appartement a été loué.
fonction ajouteSemaine (s : Semaine) : booléen
// ajoute une nouvelle semaine de location. Retourne VRAI si l'insertion a été réalisée.
fonction montantTotal ( ) : réel
// calcule et retourne ce qu'a rapporté l'appartement, montant total correspondant à toutes les semaines pour lesquelles l'appartement a été loué.
fonction nbSemainesSaison (s : Saison ) : entier
var nb : entier
nb = 0
Pour chaque uneSemaine dans mesSemaines faire
Si uneSemaine.getMaSaison( ).estEgale( s ) Alors
nb = nb + 1
FinSi
FinPour
Retourne nb
fin fonction nbSemainesSaison
FinClasse
Classe Collection de <TypeElément>
// TypeElément peut être un type simple ou une classe.
Public
// Constructeur
Collection de <TypeElément> ( ) // Construit une collection d'objets "TypeElement"
...
fonction nbEléments ( ) : entier // Retourne le nombre d'éléments de la collection
fonction getElément ( unlndex : entier ) : TypeElément // Retourne l'objet d'index unlndex
// Le premier élément est à l'index 1.
procedure ajouter ( unObjet : TypeElément ) // Ajoute l'objet unObjet à la collection
Fin Classe Collection
Exemple d'utilisation de la collection :
lesClients : Collection de <Client>
unClient : Client
lesClients = new Collection de <Client> ( )
...
lesClients.ajouter ( unClient )
...
// Parcours de la collection
leClient : Client
Pour chaque leClient dans lesClients faire
Si leClient.getVille ( ) == "Paris" alors
Afficher ("Ce client habite Paris")
FinSi
FinPour