Middlewares on messages
1
6.4/10
Middlewares On Messages (MOM)
ARCHITECTURE LOGICIELLE / 2 juin 2017

Le terme « middlewares on messages » (MOM) désigne une architecture logicielle basée sur des composants (les middlewares). Ces middlewares permettent l’échange de messages entre applications réparties sur un réseau. Globalement, un middleware n’est autre qu’une couche informatique intermédiaire au sein d’un système client serveur multi-tiers. Le middleware assure donc la standardisation des échanges de services entre les fournisseurs et les consommateurs. Ainsi, d’un point de vue purement théorique, il est possible de représenter la couche middleware comme un bus d’échanges inter-applications. Plus précisément, il existe deux principes de fonctionnement : le middleware objet et le middleware à messages. Et concrètement pour les “middlewares on messages” ? Avec les « middlewares on messages » (MOM), la relation est asynchrone et organisée autour de 2 types de composants : Le « provider » ou « broker » : il s’agit du composant central du middleware, dont le rôle est de router les messages entre les applications. Les clients : les applications qui échangent les messages (une application cliente peut jouer successivement le rôle d’émetteur et celui de récepteur des messages). Le client envoie un message pour solliciter un service. Puis, ce message est acheminé par un service de messagerie vers le serveur. Une fois la requête demandée exécutée, le…

Infrastructures de communication sécurisée : SSH et VPN
1
7.1/10
Communication sécurisée : SSH & VPN
RÉSEAUX / 31 mai 2017

Ce mémoire aborde les principes de base des infrastructures de communication sécurisée dans un contexte où les besoins en sécurité augmentent. Puis il s’attache à définir les technologies SSH et VPN, et à montrer leurs principes de fonctionnement par des applications concrètes. Présentation et fonctionnement du protocole SSH Le protocole Secure Shell (SSH) est un protocole de communication sécurisé. Il permet à un utilisateur d’accéder à une machine distante grâce à une communication chiffrée (appelée tunnel). L’établissement de cette liaison passe par deux étapes successives. Tout d’abord, le client établit un tunnel sécurisé avec le serveur à l’aide d’un couple de clés privée/publique. De cette manière, le serveur possède une clé privée qui ne sera modifiée que si on réinstalle entièrement la machine. Quant aux clients, ceux-ci disposent d’une copie de la clé publique. Ils utilisent cette clé publique pour chiffrer une clé symétrique dite de session. Dans un second temps, cette clé de session est utilisée pour chiffrer tout le reste des communications. L’authentification de l’utilisateur peut être établie sans que le mot de passe soit transmis en clair sur le réseau. Suite à cela, tous les segments TCP sont authentifiés et chiffrés. Il sera donc impossible à un…

Vagrant
1
7.7/10
Vagrant
GÉNIE LOGICIEL / 27 mai 2017

Vagrant est un logiciel libre et open-source pour la création et la configuration d’environnements virtualisés. En effet, il permet de créer des machines virtuelles qui seront utilisées pendant la phase de développement d’une application. Elles permettent d’obtenir l’environnement souhaité sans pour autant changer la configuration de la machine du développeur. De plus, la configuration de la machine virtuelle sera simple à exporter ou à importer. En effet, le logiciel va stocker la description complète de l’environnement de développement dans un fichier écrit en Ruby. Développé par Mitchell Hashimoto et John Bender depuis début 2010, le groupe HashiCorp a été créé afin d’assurer le développement du logiciel à temps plein. Ce logiciel s’avère être un outil qui simplifie la création ainsi que la gestion d’environnements virtualisés. Vagrant permet de travailler dans un environnement reproductible avec les mêmes versions quelles que soient les dépendances. Il s’avère d’ailleurs compatible avec la majorité des systèmes d’exploitation actuels, puisqu’il utilise le principe de virtualisation. Ainsi, un développeur travaillant sous Mac aura accès au même environnement qu’un développeur travaillant sous Windows ou , et ceci en conservant son IDE favori. Comment Vagrant fonctionne-t-il ? Vagrant est une surcouche développée sur des solutions de virtualisation telles que…

Google App Engine
1
6.5/10
Google App Engine
GÉNIE LOGICIEL / 24 mai 2017

Une “Platform as a Service”, ou PaaS, est une catégorie de services de Cloud computing qui fournit la plateforme et l’environnement informatique nécessaire aux développeurs pour mettre en place leurs différents services et applications sur Internet. Google App Engine est la solution de PaaS (Platform as a Service) fournie par Google. Le but principal d’App Engine est d’offrir la mise à l’échelle automatique des applications. Ceci peut se faire en allouant les ressources en fonction de la fluctuation du trafic. App Engine fournit un environnement de développement Java basé sur la technologie standard Servlet. Google App engin fournit également une solution de persistance non relationnelle adaptée aux applications “dans le cloud”. Les nombreux services App Engine (Mail, Memcache, Tasks, Users…) offrent ainsi un écosystème riche. C’est cet écosystème qui facilite l’hébergement et le développement d’applications en bénéficiant de l’infrastructure de Google. Google App Engine constitue une alternative rationnelle à des besoins de plus en plus courants : haute disponibilité, réplication, pics de fréquentation saisonniers. Google App Engine est gratuit jusqu’à un certain niveau de ressources consommées. Actualités récentes de Google App Engine En mars 2017, Google a annoncé qu’une nouvelle version révisée d’App Engine était disponible. L’annonce a eu lieu…

Solutions et protocoles de log
1
7.8/10
Solutions et protocoles de log
PROTOCOLES / 5 mai 2017

Les solutions et protocoles de log permettent la mise en place de journaux d’événements. Ces journaux d’événements constituent une brique technique indispensable à la gestion de la sécurité des systèmes d’information. Les journaux sont une source d’information riche qui peut être utilisée a priori pour détecter des incidents de sécurité. Dans ce cas, les événements constituant les journaux sont consultés et analysés en temps réel. Les journaux peuvent également être employés a posteriori pour retrouver les traces d’un incident de sécurité. L’analyse des journaux d’un ensemble de composants peut alors permettre de comprendre le cheminement d’une attaque et d’évaluer son impact. Il faut donc garder à l’esprit que l’activité de journalisation est un moyen de détection et d’analyse. Elle ne se substitue pas aux mécanismes de protection du système d’information. Mais, elle doit être employée de façon complémentaire. L’utilité des solutions et protocoles de log dépend de leur génération et de leur récupération. Une architecture de journalisation doit donc suivre l’évolution du système d’information concerné (prise en compte des nouveaux équipements, des nouveaux usages, etc.). Plan du mémoire “Solutions et protocoles de log” Ce mémoire s’attache tout d’abord à définir la notion de log et à présenter les différentes utilisations…