diff --git a/.portfolio/diagrams/Mermaid Chart - Create complex, visual diagrams with text.-2025-11-02-190905.svg b/.portfolio/diagrams/Mermaid Chart - Create complex, visual diagrams with text.-2025-11-02-190905.svg new file mode 100644 index 0000000..a5e0015 --- /dev/null +++ b/.portfolio/diagrams/Mermaid Chart - Create complex, visual diagrams with text.-2025-11-02-190905.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/.portfolio/portfolio.md b/.portfolio/portfolio.md new file mode 100644 index 0000000..c2248a1 --- /dev/null +++ b/.portfolio/portfolio.md @@ -0,0 +1,429 @@ +--- +title: "TP Linux - Personnalisation Bash" +description: "Bash: Automatisation, durcissement SSH/Firewall (UFW) et personnalisation Linux." +date: "2024-10-25" +tags: ["bash","linux","security","cli","automation"] +lang: "fr" + +# Configuration techStack +techStack: + - name: "Bash" + category: "language" + icon: "🖥️" + - name: "Linux / Debian" + category: "infra" + icon: "🐧" + - name: "OpenSSH" + category: "security" + icon: "🔐" + - name: "UFW" + category: "network" + icon: "🔥" + - name: "AIDE / Tripwire" + category: "tool" + icon: "🛡️" + - name: "Vim / Nano" + category: "tool" + icon: "📝" + +# Architecture du projet +architecture: + overview: "Ce projet utilise une architecture modulaire basée sur Bash pour l'automatisation du système. Un script principal orchestre l'ensemble des configurations en sourçant des fonctions dédiées au durcissement de SSH, à la configuration du pare-feu (UFW), et à l'optimisation de l'environnement utilisateur. Cette modularité garantit un déploiement fiable et une séparation claire des responsabilités, le tout visant à transformer une installation Debian brute en un système sécurisé et productif." + components: + - "Script Principal (setup.sh) : Le point de lancement. Il gère l'exécution séquentielle des fonctions, la vérification des droits (root), et la gestion des logs/erreurs." + - "Fonctions de Durcissement SSH : Bloc de code qui automatise la modification de /etc/ssh/sshd_config pour désactiver l'authentification par mot de passe, limiter le root login, et mettre en place une liste blanche IP." + - "Configuration du Pare-feu (UFW) : Bloc de code qui installe, active, et configure UFW (ou iptables) avec une politique par défaut de DENY et une ouverture sélective des ports (SSH, HTTP, HTTPS)." + - "Gestion des Dotfiles (.bashrc, .vimrc) : Bloc de code qui copie les fichiers de personnalisation (alias, fonctions, prompt PS1 avancé) dans le répertoire ~/ de l'utilisateur." + - "Scripts d'Automatisation (Scripts Modulaires) : Fichiers Bash externes au script principal contenant des fonctions spécifiques (ex: mise à jour automatique des paquets de sécurité, synchronisation rsync)." + +# Diagrammes d'architecture (optionnel) +diagrams: + - path: "https://raw.githubusercontent.com/xAMA0x/tp-linux-personalisation-bash/main/.portfolio/diagrams/Mermaid Chart - Create complex, visual diagrams with text.-2025-11-02-190905.svg" + title: "Architecture Bash (Flux de Hardening)" + description: "Flux séquentiel du script d'automatisation pour le durcissement du système." + +# URLs et liens +demo_url: "" +demo_label: "" +github_url: "https://github.com/xAMA0x/tp-linux-personalisation-bash" +--- + +## 🎯 Vue d'ensemble + +
+ Ce TP est une boîte à outils Bash complète pour le durcissement sécuritaire et l'optimisation de Debian. Il automatise les configurations critiques (SSH, UFW, gestion des clés) tout en permettant une personnalisation profonde de l'environnement de travail. Le projet démontre une approche DevOps essentielle pour tout administrateur système, transformant l'installation de base en un hôte fiable et productif. +
+ ++ Réaliser le TP de 3ème année (ESGI) pour valider la maîtrise de l'environnement Linux, de la configuration système, et des outils de sécurité essentiels. +
++ Sécuriser la machine de manière proactive en appliquant des bonnes pratiques critiques (SSH sans mot de passe, désactivation du root login, configuration d'un pare-feu). +
++ Développer un script Bash principal capable de centraliser et d'exécuter l'ensemble des configurations de manière fiable, en utilisant la modularité des fonctions. +
++ Installer et configurer le pare-feu UFW pour appliquer une politique de whitelisting stricte, bloquant tout le trafic entrant par défaut. +
++ Personnaliser l'environnement de travail de l'utilisateur (dotfiles, alias, prompt PS1 avancé) pour améliorer l'efficacité et le confort en ligne de commande. +
++ Intégrer des outils de sécurité avancés (AIDE/Tripwire ou l'automatisation des mises à jour) pour maintenir un haut niveau de sécurité dans le temps. +
+
+ Cette section gère les configurations critiques du service OpenSSH. Le script automatise la modification du fichier /etc/ssh/sshd_config pour imposer des politiques de connexion robustes, et gère les clés d'accès.
+
PasswordAuthentication yes au profit de PubkeyAuthentication yes.~/.ssh/authorized_keys, avec application des permissions 600.PermitRootLogin et restriction des utilisateurs/groupes autorisés (via AllowUsers ou AllowGroups).systemctl restart sshd) après modification pour prendre en compte les nouvelles règles de sécurité.+ Le script automatise l'installation et la configuration du pare-feu UFW (Uncomplicated Firewall) pour établir un périmètre de sécurité strict autour de la machine. L'objectif est d'appliquer le principe du moindre privilège réseau et d'éviter l'exposition inutile des services. +
+ufw et activation immédiate via ufw enable.ufw default deny incoming et ufw default allow outgoing.+ Ce volet du TP se concentre sur l'amélioration de l'expérience utilisateur et la modularité du code. Le script est conçu pour être facilement maintenable et le shell de l'utilisateur est optimisé pour les tâches d'administration et de développement. +
+source pour charger des fonctions spécifiques depuis des fichiers modulaires (ex: ssh_hardening.sh, ufw_config.sh)..bash_aliases pour les commandes fréquentes ou longues (ex: alias ll='ls -lha' ou un alias pour la mise à jour).$PS1..bashrc, .vimrc, .gitconfig).rsync.+ Cette section va au-delà de la configuration initiale et se concentre sur la **maintenance sécuritaire** et la détection d'anomalies, couvrant ainsi les aspects les plus avancés du TP. +
+unattended-upgrades ou un script Cron) pour télécharger et installer automatiquement les correctifs de sécurité.Google Authenticator PAM) pour les connexions SSH.Visualisation complète de l'architecture avec tooltips détaillés pour chaque composant.
+