Stage de 2de année à Philservice

Durant mes deux années de BTS SIO option SISR, j’ai effectué mes 2 stages dans l’entreprise Philservice . Celle-ci à pu m’accompagner et à consolider mes connaissances apprises durant mes deux stages.

Automatisation de la gestion des tâches du système

Dans cette partie, je vous expose mes accomplissements en automatisant les tâches d'administration système, un élément essentiel pour améliorer l'efficacité et la fiabilité des opérations. Pendant mon stage, j'ai créé divers scripts visant à automatiser divers processus, comme :

  • Le script de surveillance du réseau : développé dans le but de surveiller en permanence l'état du réseau et de signaler les problèmes ou les anomalies. Il facilite la détection rapide des pannes et réduit les temps d'arrêt.

  • Le script de sauvegarde automatique : présenté dans la capture d'écran centrale, il a été développé pour automatiser la sauvegarde régulière des données critiques. Cela assure la protection et la disponibilité des données en cas de problème

Ma compréhension de l'administration système et de l'importance des scripts pour gérer efficacement les environnements complexes a été grandement amélirée grâce à ces outils d'automatisation. De plus, ils ont contribué à diminuer le temps alloués aux tâches répétitives et à réduire les risques d'erreurs humaines.

exécution du script , montrant les messages d'alerte dans le terminal

Script de sauvegarde automatique (Bash ou Python)

Script de surveillance du réseau

Automatiser le déploiement avec Docker & Kubernetes

Dans cette partie, je voulais vous montrer comment j'ai travaillé sur l'automatisation des déploiements avec Docker et Kubernetes, deux outils super importants pour mettre en place des applications modernes. En gros, je me suis occupé de tout ce qui est nécessaire pour que les applications soient déployées automatiquement, sans qu'on ait besoin de tout faire à la main.

Pour vous donner une idée, les captures d'écran montrent différentes étapes de ce que j'ai fait :

  • D'abord, j'ai eu quelques soucis avec l'installation de Minikube. C'est un outil qui permet de faire tourner Kubernetes sur son ordinateur La première image montre un peu les galères que j'ai eues, mais c'est comme ça qu'on apprend !

  • Après, j'ai installé Docker et Docker Compose. C'est vraiment la base pour pouvoir mettre les applications dans des "boîtes" (les conteneurs) et les gérer facilement. Vous voyez les écrans avec les lignes de commande, c'est là que j'ai fait tout ça.

  • Ensuite, j'ai réussi à installer Minikube. C'est important pour avoir un environnement où on peut tester comment les applications vont se comporter quand elles sont déployées.

  • Enfin, j'ai installé Grafana. C'est un outil qui permet de voir en temps réel comment les applications et les serveurs se comportent. C'est super utile pour s'assurer que tout fonctionne bien et pour repérer les problèmes. Vous pouvez voir à quoi ressemble l'interface dans les dernières images

Erreur installation minikube

Installation Docker Compose

Installation Docker

Installation Minikube pour Kubernetes

Installer Grafana

Interface Grafana

Mise en place un Load Balancer pour gérer le trafic

Cette section de mon portfolio présente mon travail sur la mise en place d'un équilibreur de charge (Load Balancer) pour optimiser la performance et la fiabilité d'une application web. L'objectif était de répartir le trafic réseau de manière intelligente entre plusieurs serveurs afin d'éviter les surcharges et d'assurer une disponibilité continue.

Pour ce faire, j'ai utilisé Nginx comme Load Balancer, en configurant des règles de répartition de charge et en optimisant les paramètres pour un fonctionnement fluide.

J'ai également mis en place un système de monitoring complet à l'aide de Grafana et Prometheus. Grafana me permet de visualiser en temps réel les performances du Load Balancer (trafic, utilisation des ressources, etc.) grâce à des tableaux de bord personnalisés, tandis que Prometheus collecte les données nécessaires à cette visualisation.

Les captures d'écran suivantes illustrent les différentes étapes de ce processus :

  • Configuration de Nginx en Load Balancer : Vous pouvez voir les lignes de commande utilisées pour configurer Nginx afin de répartir efficacement le trafic.

  • Intégration de Prometheus : Je montre ici comment j'ai connecté Prometheus à Nginx pour récupérer les données de performance.

  • Tableaux de bord Grafana : Enfin, vous pouvez voir les tableaux de bord que j'ai créés dans Grafana pour visualiser les performances du Load Balancer.

Ce projet démontre ma capacité à mettre en œuvre des solutions d'infrastructure complexes et à assurer leur bon fonctionnement grâce à un monitoring efficace. J'ai acquis une solide expérience dans la configuration de Nginx, l'utilisation de Prometheus et la création de tableaux de bord Grafana, des compétences essentielles pour l'administration système et le DevOps

Activer du monitoring Grafana

Activer du monitoring Prometheus

Configurer Nginx en Load Balancer

Mise en place un serveur web + hébergement auto-géré

Dans cette partie de mon portfolio, je vous raconte comment j'ai mis en place un serveur web de A à Z. C'était un projet super intéressant qui m'a permis de vraiment comprendre comment tout ça fonctionne, de la configuration du serveur à la sécurisation des accès.

J'ai pas mal galéré au début, mais c'est comme ça qu'on apprend ! Vous pouvez voir sur les captures d'écran toutes les étapes :

  • J'ai commencé par activer le pare-feu (UFW) pour bloquer les tentatives d'intrusion. C'était important de sécuriser le serveur dès le début.

  • Ensuite, j'ai désactivé l'authentification par mot de passe et configuré l'accès par clé SSH. C'est beaucoup plus sûr, même si c'était un peu compliqué à mettre en place.

  • J'ai eu quelques soucis avec les certificats SSL. J'ai dû chercher des solutions et lire pas mal de documentation, mais j'ai fini par y arriver.

  • J'ai aussi dû gérer les erreurs de configuration de Nginx. C'est là qu'on apprend à vraiment comprendre comment le serveur web fonctionne.

  • Pour protéger le serveur contre les attaques par force brute, j'ai installé Fail2ban. C'est un outil super utile pour bloquer automatiquement les adresses IP suspectes.

  • Et bien sûr, j'ai configuré Nginx et Apache2 pour héberger des sites web. J'ai dû apprendre à gérer les configurations de serveur web pour que tout fonctionne correctement.

  • Enfin, j'ai établi une connexion SSH sécurisée à la machine virtuelle. C'est essentiel pour pouvoir administrer le serveur à distance.

Ce projet m'a permis de vraiment consolider mes compétences en administration système et sécurité. J'ai appris à gérer un serveur web de bout en bout, de la configuration initiale à la sécurisation des accès. C'était une expérience super enrichissante !

Activer UFW (pare-feu)

Authentification par mot de passe est désactiver

Certificat ssl echouer

Copie de la clé publique sur le même serveur

Erreur nginx

Fail2ban bloque les attaques

Fonctionne nginx

installation serveur apache 2

La connexion à la VM en SSH (ssh utilisateur@10.0.2.15

Mise en place un VPN sur ta VM Ubuntu

Dans cette partie de mon portfolio, je vous montre comment j'ai mis en place un VPN WireGuard sur une machine virtuelle Ubuntu. L'objectif principal était de sécuriser les communications réseau, en particulier lors de l'accès à distance, et de mieux comprendre le fonctionnement des VPN.

WireGuard est un protocole VPN récent et très performant. J'ai été impressionné par sa rapidité et sa simplicité de configuration. Les captures d'écran suivantes illustrent les différentes étapes de mon travail :

  • Configuration du client WireGuard : Ici, vous pouvez voir les lignes de commande que j'ai utilisées pour configurer le client WireGuard sur la machine virtuelle Ubuntu. J'ai dû générer des clés publiques et privées, configurer les adresses IP et définir les paramètres de connexion.

  • Installation de WireGuard : Cette capture montre l'installation des paquets nécessaires pour faire fonctionner WireGuard sur Ubuntu. Il a fallu s'assurer que toutes les dépendances étaient correctement installées.

  • Configuration des règles UFW : Pour sécuriser davantage le VPN, j'ai configuré le pare-feu UFW afin d'autoriser uniquement le trafic WireGuard. Cette capture montre les règles que j'ai ajoutées.

  • Vérification de l'état de WireGuard : Enfin, j'ai vérifié que WireGuard était bien actif et fonctionnel. Cette dernière capture confirme que le VPN est opérationnel.

Ce projet m'a permis d'acquérir une expérience pratique dans la configuration d'un VPN WireGuard, un outil de sécurité essentiel pour protéger les communications réseau. J'ai appris à gérer les clés de cryptage, à configurer les règles de pare-feu et à vérifier l'état du VPN. C'était une expérience très enrichissante qui a renforcé mes compétences en sécurité réseau

Configuration du client WireGuard

Installation WireGuard

UFW régles actives

WireGuard est actif

Monitoring & Supervision d’un Réseau

Dans cette partie de mon portfolio, je vous emmène dans le monde du monitoring réseau. C'est un peu comme avoir un tableau de bord de voiture, mais pour un réseau informatique ! L'idée, c'est de pouvoir surveiller en temps réel comment se comporte le réseau, pour repérer les problèmes avant qu'ils ne deviennent critiques.

Pour ce projet, j'ai mis en place un système de monitoring en utilisant Grafana et Prometheus. Grafana, c'est l'outil qui permet de créer des jolis graphiques et tableaux de bord pour visualiser les données. Prometheus, lui, s'occupe de collecter toutes les informations importantes sur le réseau.

Voici ce que vous pouvez voir sur les captures d'écran :

  • Installation de Grafana : Vous pouvez voir les étapes de l'installation de Grafana. C'est là que j'ai mis en place l'outil pour créer nos tableaux de bord.

  • Installation de Prometheus : Ici, ce sont les lignes de commande pour installer Prometheus. C'est lui qui va chercher toutes les données du réseau.

  • Echec de l'installation de Node Exporter : Bien sûr, tout n'a pas été simple. Vous pouvez voir ici un échec lors de l'installation de Node Exporter, un outil pour récupérer des infos sur les serveurs. Mais pas de panique, j'ai fini par trouver la solution !

  • Statuts : Les autres captures montrent les statuts de Grafana, Prometheus et Node Exporter. C'est important de vérifier que tout fonctionne correctement.

Ce projet m'a permis de vraiment comprendre l'importance du monitoring dans la gestion d'un réseau. J'ai appris à installer et configurer Grafana et Prometheus, à récupérer des données et à créer des tableaux de bord pertinents. C'est une compétence essentielle pour tout administrateur système

Echec de installation de Node Exporter

Installation de Grafana

Installation de Prometheus

Statut Grafana

Statut Node Exporter

Statut prometheus

Simuler des attaques et sécuriser le site pour qu’il soit plus résistant aux hackers

Dans cette partie de mon portfolio, je vous montre comment j'ai abordé la sécurité d'un site web à la fois de manière offensive et défensive. L'idée, c'est de comprendre comment les hackers attaquent pour mieux se défendre. J'ai simulé des attaques pour trouver les failles et ensuite mis en place des protections pour les corriger.

Les captures d'écran montrent les étapes principales :

  • Scanner le site avec Nmap : Ici, vous voyez comment j'ai utilisé Nmap pour explorer le site et trouver les ports ouverts. C'est un peu comme faire une reconnaissance du terrain avant une bataille.

  • Bloquer les IP suspectes avec un pare-feu (UFW/IPTables) : Ensuite, j'ai mis en place des règles de pare-feu pour bloquer les adresses IP suspectes. C'est un peu comme ériger des murs pour se protéger des assaillants.

Ce projet m'a vraiment permis de comprendre l'importance d'une approche proactive de la sécurité. J'ai appris à utiliser des outils comme Nmap pour identifier les vulnérabilités et à mettre en place des protections efficaces avec des pare-feu

Bloquer les IP suspectes avec un pare-feu UFW , IPTables

Scanne le site avec Nmap pour voir les ports ouverts

Sécurisation du Réseau

Dans cette partie de mon portfolio, je vous montre comment j'ai travaillé à renforcer la sécurité d'un réseau. L'idée, c'était de mettre en place un système capable de surveiller le trafic, de détecter les activités suspectes et de prévenir les intrusions. En gros, c'est comme installer un système d'alarme pour protéger une maison !

Pour cela, j'ai utilisé Suricata, un outil de détection d'intrusions (IDS) très puissant. Il permet d'analyser le trafic réseau en temps réel et de déclencher des alertes en cas de comportement anormal.

Les captures d'écran suivantes illustrent les étapes principales de ce projet :

  • Configuration de Suricata : Ici, vous pouvez voir le fichier de configuration de Suricata. C'est là qu'on définit les règles de détection et les actions à prendre en cas d'alerte. C'est un peu le cerveau du système.

  • Liste des sources de règles : Suricata fonctionne grâce à des règles qui définissent les comportements suspects. Cette capture montre les sources de règles que j'ai utilisées pour mettre à jour et personnaliser les détections.

  • Démarrage de Suricata : On voit ici le démarrage de Suricata. C'est l'étape où le système se met en marche et commence à surveiller le trafic.

  • Captures de trafic : Enfin, vous pouvez voir deux captures de trafic : HTTP et ICMP. Ce sont des exemples de trafic réseau que Suricata analyse pour détecter les menaces.

Ce projet m'a permis de vraiment comprendre comment fonctionne un système de détection d'intrusions. J'ai appris à configurer Suricata, à utiliser des règles de détection et à analyser le trafic réseau

Capture de trafic HTTP

Capture de trafic ICMP

Liste des sources de règles

Fichier de configuration Suricata

Démarrage de Suricata