Skills & Projets Personnels:






Networks & System:



Un projet réseau pour débuter:


Ci-contre vous pouvez observer la topologie d'un projet réseau que j'ai eu à mener au cours de ma premiére année universitaire. Ce projet consistait à consolider les notions sur la configuration des équipements réseaux: routeurs, switch, PC du protocole de routage RIP, l'inter-vlan et la mise en place d'ACL, NAT. Nous avions travaillé par binôme et disposions de 2 routeurs et de 2 switchs reliés aux équipements d'autres binômes pour former une topologie assez grande. Nous avons configuré ces équipements en découpant des segments d'adresses réseau pour configurer des vlans ( administration, production, direction), mettre en place des access-list en autorisant des protocoles ou en interdisant d'autre selon les flux (entrants et sortants) tout en s'assurant de la connectivité à l'extérieur avec la translations des adresses. Pour en savoir plus vous pouvez télécharger un fichier packet tracer ici qui résume assez bien l'ensemble du projet.

Admin Sys WS, Active directory, Vmware:
Concernant l'administration système, j'ai acquis une bonne compréhension sur la configuration des serveurs sur la licence Windows serveur pour configurer des protocoles basiques comme DNS (Zone primaire, secondaire, redirecteur, test nslookup), DHCP, mais également l'administration centralisé d'un parc informatique avec l'annuaire Active Directory pour gérer des groupes, partages, permissions et mise en place de GPO. Tout ces équipements ont été configuré sur une infrastrucutre virtualisé avec Vmware. Puis des compétences sur l'installation d'OS linux ou serveur web comme apache.




Concevoir un réseau multi-site sécurisé

Ci-contre vous pouvez observez les captures d'un projet réseau vaste où il fallait concevoir un réseau sécurisé avec l'installation de plusieurs services. Dans ce projet nous avons configuré le protocole de routage dynamique OSPF sur nos routeurs suivant la topologie donné. Installer deux contrôleurs de domaine Active Directory associé au service DNS pour assurer la redondance de l'infrastructure. Signer les enregistrements avec DNSSEC et établir une GPO pour forcer les utilisateurs à demander ces enregistrements. Mettre en place le rdweb pour l'accès au bureau à distance. Sécuriser le réseau avec radius pour nos points d'accès wifi Ubiquiti. Configurer le dhcp et le ssh. Déployer un site web de test sur un serveur apache avec Debian en https. Mais également la supervision de toute cette infrastructure avec Grafana pour observer les métriques, les logs et autres informations venant des serveurs. Enfin un audit de sécurité sur le LLMNR poissoning dans un domaine AD, pour renforcer le réseau.






Developpement:



Everything is Code:
J'ai pendant longtemps apprécié le développement ainsi que la diversité de cette matière à travers le nombre de langages (Java, C++, python), le nombre de paradigmes (Orientée objet, procédurale, événementielle), le nombre de frameworks (Symfony, Django...), et de bibliothèques. Mais le plus intéressant reste avant tout ce que l'on peut construire avec ces outils, ainsi je suis souvent à la recherches d'idées sur des programmes capables de faciliter la tâche de l'administrateur réseau & sécurité en essayant de concevoir des programmes assez simplistes mais qui apportent grandement à mes compétences de développement. Ci-contre vous pouvez observer une calculatrice d'adresses réseau codé en python qui permet de segmenter un réseau donné en plusieurs sous-réseau à partir des nombres d'hôtes nécessaires. Vous pouvez observer les codes source sur mon github en bas de page.

La conteneurisation:
Docker est un très bon outil pour un admin sys, il permet de deployer rapidement des infrastructures, applications ou serveurs dans des containers afin d'assurer la portabilité et la gestion efficace des dépendances logicielles. En utilisant Docker, un administrateur système peut encapsuler une application et toutes ses dépendances dans un conteneur, assurant ainsi une compatibilité entre les environnements de développement, de test et de production. Cela simplifie le déploiement en garantissant que l'application fonctionne de manière cohérente, quel que soit l'endroit où elle est exécutée. Ainsi pour illustrer tout cela nous avions utilisé docker lors d'un projet, pour monter une infrastrucutre de développement web à l'aide de conteneurs wordpress pour le site et mariadb/phpmyadmin pour la base de donnée. (Voir github)

Developpement web:
Le web est un domaine dans lequel mes connaissances sont encore très basiques mais j'ai pu apprendre par des investigations et recherches la conception d'un site web avec ou sans Framework/CMS en utilisant les langages de front-end (HTML5, CSS, Javascript), ainsi que la gestion des bases de données en backend avec ajout de formulaire en utilisant symfony. Ces connaissances même si elles sont terrataires, m'ont permis de developper des sites simples et concis comme celui-ci.






Developpement Android:

J'ai eu comme projet passionant le développement d'une application Android avec android studio et le langage de programmation JAVA. Cette application utilise les notions de programmation évenementielle mais aussi réseau avec les sockets pour développer une application communicante. En effet en utilisant deux téléphones dont l'un joue le rôle de serveur et l'autre le rôle de client on établit une communication entre les deux soit en TCP, soit en UDP selon l'utilisateur. Les deux peuvent s'envoyer des messages, des fichiers JSON ou encore des objets convertis en format json. J'y ait également ajouté une fonctionnalité de messagerie pour permettre aux clients de communiquer entre eux et comme aspect sécurité la possible de bannir depuis le serveur des clients




Cybersecurity



Cybersécurité:
J'ai découvert la Cybersécurité en passant la certification du mooc de l'ANSSI sur l'hygiène informatique (ici) . Puis j'ai commencé à me lancer dans la technique en découvrant le pentesting afin de savoir comment tester la vulnérabilité d'un système et corriger les failles. Même si mes connaissances sont encore très basiques sur le sujet je suis très investi dans ce domaine et cherche constamment à m'améliorer et à apprendre de nouvelles techniques, pour ce faire j'utilise des sites comme Rootme pour m'exercer (ici) et TryHackme pour apprendre les fondements et les méthodologies. L'un de mes objectifs dans ce domaine consiste à pouvoir comprendre le fonctionnement des programmes et logiciels afin de trouver des failles dans leur conception et partager ces découvertes avec la communauté, mais les compétences requises sont encore assez éloignés des miennes (assembleur, reverse engineering, Hardware). Donc en tant que débutant j'essaye de concevoir des outils de blue team et read team pour monter en compétences. Ci-dessous je vous propose 2 programmes.

Have you been pwned:
Ce programme utilise la bibliothéque Selenium de python pour automatiser la recherche de vulnérabiltités sur une adresse mail. En effet le site "Have you been pwned" permet de vérifier si un mail comporte des branches compromises (après la fuite d'une base de donnée par exemple). Ainsi ce script permet d'automatiser cette tâche et nous fournir les éventuelles branches compromises.

Total Virus:
Sur celui-ci j'utilise l'API de Totalvirus pour verifier la sûreté des fichiers en programmant un CLI capable de recevoir des arguments depuis le terminal pour envoyer les fichiers au site Totalvirus avant de recevoir les résultats sous un format JSON. Sur mon github vous pourrez voir les codes sources ainsi qu'un programme de dechiffrement ou un crackeur des messages chiffrés par subsititution qui s'inspire de l'algorithme de Markov chain Monte Carlo (Lois probabilistes et statistiques lié à la cryptographie)

Sécurité LAN:

Une de mes compétences acquises en cybersécurité consiste en la sécurisation des réseaux LAN. En effet la mauvaise configuration des équipements de couche 2 peut entrainer des failles de sécurité sur le réseau, ainsi il est indispensable de savoir s'en protéger en activant les fonctionnalités du switch qui apportent une touche de sécurisation. Ci-contre vous verrez une présentation de différentes attaques, comment les réaliser et comment les contrer.

Certifications et Accomplissements