diff --git a/annexes/annexe_openwrt.tex b/annexes/annexe_4.tex similarity index 100% rename from annexes/annexe_openwrt.tex rename to annexes/annexe_4.tex diff --git a/chapitres/chapitre_1.tex b/chapitres/chapitre_1.tex index f281b0d..b91b33a 100644 --- a/chapitres/chapitre_1.tex +++ b/chapitres/chapitre_1.tex @@ -129,7 +129,7 @@ différences apparaisents en fonction de la taille de la structure. \label{fig:organigrammeSaintPierre} \end{figure} -\paragraph{} L'organigramme de la Figure~\ref{fig:organigrammeSaintPierre} +\paragraph{} L'organnigramme de la Figure~\ref{fig:organigrammeSaintPierre} reprend l'exemple du centre d'animation Saint-Pierre, structure de taille moyenne. La conseillère ESF \footnote{Conseillère en économie sociale et familliale} et changé de la coordination et l'animation tournée vers les adultes diff --git a/chapitres/chapitre_2.tex b/chapitres/chapitre_2.tex index c5e64b9..032a9ed 100644 --- a/chapitres/chapitre_2.tex +++ b/chapitres/chapitre_2.tex @@ -56,21 +56,21 @@ Chacune des structures est réliée aux autres via un plan d'adressage privé définis lors de la mise en service de l'offre. \paragraph{} L'offre comprend aussi la téléphonie fixe sur IP. Ainsi l'ensemble -des postes téléphoniques fixe (postes fixes ou sans-fils) sont reliés à un +des postes téléphoniques fixe (postes fixes ou sans-fils) son reliés à un standard virtuel et est accessible via un numéro interne (et parfois un numéro géographique). \paragraph{} Le réseau est divisé en deux VLAN: un pour la voix et un pour les -données. Nous avons un accès complets au paramétrages des commutateurs afin de -pouvoir paramétrer les ports, nous aussi avons un accès administrateur pour la +données. Nous avons un accès complets au paramétrages des switches afin de +pouvoir paramétrer les ports, nous avons un accès administrateur pour la configuration du serveur de téléphonie. \paragraph{} La sortie vers Internet est assurée par une \textit{PIS} --- pour passerelle Internet sécurisée --- globale pour l'ensemble des structures. -\subsection{Les connexions "public et partenaires"} +\subsection{Les connexions public et partenaires} -\paragraph{} Certaines structures de l'association disposent d'un second accès à +\paragraph{} Certaines structures de l'association dispose d'un second accès à Internet utilisé par le public acceuilli et les partenaires. Cette connexion est le plus souvent filtrée via un serveur \link{https://opnsense.org}{OPNSEnse}. @@ -89,10 +89,10 @@ distance au serveur applicatif. \subsubsection{TrueNAS} -\paragraph{} \link{https://truenas.com}{TrueNAS} est un système d'exploitation -utilisé pour créer des serveur de stockage. Basé sur FreeBSD et open-source -(licence \textit{BSD}). Il "motorise" le serveur de sauvegarde du siège de -l'association et les serveurs de fichiers disponibles dans les centres. +\paragraph{} C'est un système d'exploitation utilisé pour créer des serveur de +stockage. Basé sur FreeBSD et open-source (licence \textit{BSD}). Il "motorise" +le serveur de sauvegarde du siège de l'association et les serveur de fichiers +disponibles dans les centres. \subsubsection{OpenWRT} @@ -122,7 +122,7 @@ utilisons aussi l'outils de gestion des tickets afin de gérer les différents incidents et demandes remontés par les utilisateurs. \paragraph{} Nous utilisons aussi -\link{https://fusioninventory.org}{Fusioninventory}. Le plugin est installé sur +\link{https://fusioninventory.org}{Fusioninventory}. Le plugin installé sur GLPI et l'agent sur l'ensemble des ordinateurs utilisateurs du parc afin de remonter automatiquement les configuration dans la base de données. @@ -162,8 +162,7 @@ sont en cours de test afin d'être intégré au fonctionnement du service. \paragraph{} Leurs intégrations est prévue dans le cadre de la migration de l'hébergement de nos outils de \textbf{Jails FreeBSD} vers \textbf{Docker}. -Cette migration fait l'objet d'un chapitre complet de ce rapport (chapitre -\ref{chap:migration_docker} page \pageref{chap:migration_docker}. +Cette migration fait l'objet d'un chapitre complet de ce rapport. \paragraph{} Je peux citer le gestionnaire de mots de passe en ligne Vaultwarden et l'outils de prise de contôle à distance Meshcentral. Nous avons aussi en test diff --git a/chapitres/chapitre_3.tex b/chapitres/chapitre_3.tex index 5e5db24..926ce64 100644 --- a/chapitres/chapitre_3.tex +++ b/chapitres/chapitre_3.tex @@ -9,14 +9,14 @@ constat que la Caisse d'Allocation Familliale de la Gironde a lancé le projet \normalsize \paragraph{} Il est question d'installer dans les structures sociales des -équipements informatique +équipements informatique (ordinateurs, imprimantes, scanner) en libre service afin de permettre aux usagers de se connecter à leurs espaces en ligne. Pour accompagner les populations les plus en difficultés, un \textit{facilitateur numérique} assure une permanence. \section{La réponse de l'association} -\paragraph{} L'association s'est positionnée sur le projet fin 2019 et a choisi +\paragraph{} L'association c'est positionnée sur le projet fin 2019 et a choisie 8 structures pour accueillir le dispositif\footnote{Argonne, Benauge, Bordeaux Sud, Monséjour, Saint-Michel, Saint-Pierre, Bordeaux-Sud et Bordeaux-Lac}. Un facilitateur numérique a été recruté début 2020 afin d'assurer une demi-journée @@ -26,12 +26,12 @@ de permanence dans chacune d'elles. métal contenant les éléments nécessaires (unité centrale, écran tactile, clavier, touchpad, imprimante et scanner); le tout sécurisé et durci. -\paragraph{} Le service communication a eu en charge l'habillage graphique de la +\paragraph{} Le service communication a eu en charge l'habillage graphique ce la borne et le service informatique la mise en place de l'ensemble logiciel. \section{Concevoir un système sécurisé et simple} -\paragraph{} D'après les objectifs et le public cible, j'ai défini trois points +\paragraph{} D'après les objectifs et le public cible, j'ai définis trois points importants~: \begin{itemize} @@ -60,7 +60,7 @@ l'accès à Internet via le DNS et de rendre le profil utilisateur temporaire. \paragraph{} J'ai d'abord essayer d'utiliser \textit{Ubuntu}, cette distribution offre de base un \textbf{compte invité}, très pratique pour assurer la non persitance des données d'un utilisateur à l'autre. Mais deux problèmes sont -apparus, mettant sur la touche cette solution~: +apparuts, mettant sur la touche cette solution~: \begin{itemize} @@ -88,9 +88,9 @@ et d'une suite bureautique (\link{https://libreoffice.org}{LibreOffice}). \paragraph{} Le second objectif est d'assurer la confidentialité des données des personnes utilisant la borne. J'ai utilisé les fonctionnalité offertes par -\link{https://github.com/canonical/lightdm}{Lightdm} d'exécuter de scripts -personnalisés à l'ouverture et fermeture d'une session utilisateur. Ces scripts -me permettent de mettre en place la volatilité des données. +\link{}{Lightdm} d'exécuter de scripts personnalisés à l'ouverture et fermeture +d'une session utilisateur. Ces scripts me permettent de mettre en place la +volatilité des données. \subsubsection{Le gestionnaire de session} @@ -101,26 +101,26 @@ créer son répertoire personnel en RAM, utilisant un système de fichier de typ \paragraph{} Lorsque l'utilisateur a fini d'utiliser la borne, il dispose d'une icône pour se déconnecter. Le gestionnaire de session lance alors un script qui -va se charger de détruire son dossier\footnote{Il se charge aussi de démonter +va se charger de détruite son dossier\footnote{Il se charge aussi de démonter proprement les périphériques de stockages montés le cas échéant}. \subsubsection{La mise en veille} \paragraph{} Au bout de 10 minutes d'inactivité, un économieur d'écran est -lancé. Une simple image s'affiche avec un message demandant d'appuyer sur la -touche \textit{Entrée}. Lorsque l'usager le fait, un script se lance afin de +lancé. Il se affiche une simple image demandant d'appuyer sur la touche +\textit{Entrée}. Lorsque l'usager le fait, un script se lance afin de détruire la session en cours et d'en lancer une nouvelle. \subsection{Empêcher d'en détourner l'usage} \paragraph{} Ces bornes doivent être accessible en libre service, il est donc -nécessaire de s'assurer qu'elles ne puissent pas servir à autre chose. +nécessaire de s'assurer qu'elles ne peuvent pas servir à aure chose. \subsubsection{Le choix déterminant d'un système GNU/Linux} -\paragraph{} Installer Debian a d'abord permis d'adapter la partie logicielle -au plus près des besoins Mais ce système permet aussi de limiter l'installation -de logiciels par les tiers. +\paragraph{} Installer Debian m'a d'abord permis d'adapter la partrie logicielle +au plus près des besoin. Mais il permet aussi de limiter l'installation de +logiciels par les tiers. \subsubsection{Limiter les sites accessibles} @@ -145,18 +145,11 @@ navigation sur le Web : \item \textbf{La mise en place d'un pare-feu local} permettant de limiter les flux réseaux au strict nécessaire. J'ai utilisé \link{https://www.nftables.org}{nftables} pour mettre en place ces - règles. Seul les flux en HTTP, HTTPS sont autorisés en TCP et - l'intérogation DNS en UDP\footnote{L'ouverture du porty 53 est - obligatoire pour le fonctionnement d'Unbound, mais la modidication des - serveurs utilisés par l'utilisateur est verrouillée.} Le fichier de - confifuration est disponible annexe \ref{chap:nftables} (page - \pageref{chap:nftables}). + règles. \item \textbf{Une configuration fine du navigateur} via un fichier de configuration au niveau du système. J'ai pu ainsi désactiver - l'installation d'extentions ou le DNS over HTTPS\footnote{le - navigateur contacte des serveurs de noms via HTTPS, passant outre les - restrictions mise avec \textit{Unbound}} + l'installation d'extentions. \end{enumerate} @@ -180,7 +173,7 @@ pour fonctionner. documentation} du projet Debian} \item \textbf{L'exécution du script d'installation} afin de paramétrer la - machine. Lancé en \textit{super-utilisateur}, il installe les logiciels + machine lancé en \textit{super-utilisateur}. Il installes les logiciels nécéssaires, les scripts, les utilisateurs et les fichiers de configuration. @@ -200,14 +193,9 @@ l'ajout de sites supplémentaires dans la liste de ceux autorisés. \paragraph{} Les 3 objectifs définis initialement pour la mise en place de l'ensemble logiciels de ces bornes \textbf{ont tous été atteints}. Cependant le travail de recherche a été long et parfois fastidieux. Ce n'en était pas pour -autant inintéressant, bien au contraire. J'ai pu toucher à beaucoup d'aspects +autant ininteressant, bien au contraire. J'ai pu toucher à beaucoup d'aspects autour de l'environnement GNU/Linux de type \textit{"Bureau"}. -\paragraph{} Il m'a fallut batailler avec le bureau XFCE qui ne -voulait pas se lancer avec la session utilisateur en mémoire. J'ai donc écrit un -script spécifique pour lancer la session graphique, il est disponible en annexe -\ref{chap:startx_bornes} (page \pageref{chap:startx_bornes}). - \paragraph{} Cependant beaucoup de points seraient à améliorer~: une installation simplifiée, la mise en place d'une session non limitée pour le facilitateur numérique et surtout \textbf{Un diffusion sous licence open-source diff --git a/chapitres/chapitre_4.tex b/chapitres/chapitre_4.tex index a9f9c15..f9a9d2c 100644 --- a/chapitres/chapitre_4.tex +++ b/chapitres/chapitre_4.tex @@ -3,15 +3,15 @@ \large \paragraph{} Comme je le disais dans le premier chapitre, toutes les structures possèdent au moins un réseau Wifi utilisable par les salariés de l'association. -Ces réseaux vieillissants ne permettaient plus de travailler convenablement. De -plus il ne permettent pas non plus au intervenants exterieur ou au public de se +Ces réseux vieillissants ne permettaient plus de travailler convenablement. De +plus il ne permettent pas au intervenants exterieur ou au public de se connecter. \normalsize \section{Définition des besoins} \paragraph{} Beaucoup de nos collègues nous remontaient les problématique liées -aux réseaux Wifi. La quasi-majorité des connexions réseaux se font par ce biais, +aux réseaux Wifi. La casi-majorité des connexions réseaux se font par ce biais, il est donc primordial de pouvoir y remédier. D'après les retours nous avons identifiés les points les plus importants à prendre en compte, ces points sont détaillés tableau \ref{Table:wifidiag} (page \pageref{Table:wifidiag}). @@ -50,7 +50,6 @@ détaillés tableau \ref{Table:wifidiag} (page \pageref{Table:wifidiag}). l'association avec les réseaux Wifi.} \label{Table:wifidiag} \end{table} - \subsection{Connexions pour les personnes extérieures} \paragraph{} De plus en plus de structures expriment le besoin d'un réseaux @@ -110,14 +109,14 @@ réseau privé et le 101 pour le réseau public. \label{Fig:vlanwifi} \end{figure} -\paragraph{} Le réseau Wifi salariés sera diffusé en 2,4Ghz et 5Ghz tandis que -le réseau public seulement en 2Ghz. +\paragraph{} Le réseau Wifi sera diffusé en 2,4Ghz et 5Ghz tandis que le réseau +public seulement en 2Ghz. \subsubsection{Configuration des éléments} \paragraph{} Un réseau spécifique servant juste à l'administration est -paramétré sur l'ensemble des éléments, il n'est accessible seulement via un prise -dédiée sur le commutateur ou en se connectant sur un des points d'accès en +paramétrésur l'ensemble des éléments, il n'est accessible seulement via un prise +spécifique sur le commutateur ou en se connectant sur un des points d'accès en SSH. \paragraph{} La configuration du commutateur s'est faire directement via son @@ -125,7 +124,7 @@ interface web. \paragraph{} Pour les point d'accès, j'ai d'abord installé OpenWRT sans interface web, nous avons fait le choix d'une configuration uniquement en ligne -de commande via une connexion SSH. Un exemple de fichiers de configuration est +de commande via une connexion SSH. Un exemple de fichiier de configuration est fourni Annexe \ref{chap:openwrt} (page \pageref{chap:openwrt}). \paragraph{} La structure étant étendue, nous avons placés 3 points d'accès de @@ -150,12 +149,7 @@ du service informatique et formé mes deux collègues. satisfation aussi bien pour le personnel du centre qu'aux intervenants. Celle-ci nous a permi d'augmemter non seulement \textbf{la couverture et les débits}, mais aussi \textbf{la stabilité} des points d'accès. Les tickets ouverts pour -des problèmes liés aux réseaux ont quasiment disparu pour Bacalan. - -\paragraph{} \textbf{Les cours et travaux pratiques réseaux} en licence et mes -\textbf{connaissances du système \textit{OpenWRT}} m'ont permis de mener à bien -ce projet sans grade difficultés. Seul la prise en main de l'onterface -d'administration du concentrateur manageable m'a donné un peu de fil à retordre. +des problèmes liés aux réseaux on casiment disparu pour Bacalan. \paragraph{} Suite à cette expérimentation réussie, nous avons migré la Direction Générale et les centres d'animation Bastide-Benauge, Monséjour, et diff --git a/chapitres/chapitre_5.tex b/chapitres/chapitre_5.tex index f4011bf..dd3a77c 100644 --- a/chapitres/chapitre_5.tex +++ b/chapitres/chapitre_5.tex @@ -1,18 +1,17 @@ \chapter{Migration des services de jails FreeBSD vers docker} -\label{chap:migration_docker} \large \paragraph{} L'intégralité des services utilisé par le service informatique fonctionnaient dans des \textit{jails FreeBSD}\footnote{Système de conteneur propre aux système BSD. La première version est sortie en mars 2000 avec FreeBSD 4}. Étant la seule personne au service informatique a avoir des compétences dans l'administration de serveur FreeBSD, at afin d'anticiper -mon départ prévu début août, nous avons décidé de tout migrer vers des +mon départ prévu début août, nous avons décidé de tout migrer de vers des conteneurs \textit{Docker}. \normalsize \paragraph{} \textit{Docker} a l'avantage d'être une solution beaucoup plus -répandue et accessible. Notre alternant Lucas la maitrisait déjà, ce qui -n'était pas mon cas. Nous avons donc travailler ensemble sur ce point. +répandue et accessible. Notre alternant Lucas la maitrisait déjà, ce qui n' +etait pas mon cas. Nous avons donc travailler ensemble sur ce point. \section{Migration de services existants} @@ -34,11 +33,10 @@ Tous les conteneurs fonctionnaient sur une seule machine physique, il y en avait \subsection{Défintion de la nouvelle architecture} \paragraph{} Nous sommes partis du principe d'un conteneur par service, et ce -même pour les base de données attachées. En frontal, -\link{https://taefik.io}{Træfik} a été retenu pour son intégration poussée avec -Docker. Il fera office de reverse-proxy et de chiffrer le traffic. Un schéma du -fonctionnement attendu de la nouvelle installation est disponible figure -\ref{Fig:docker} (page \pageref{Fig:docker}). +même pour les base de données attachees. En frontal, Træfik a été retenu pour +son intégration poussée avec Docker. Il fera office de reverse-proxy et de +chiffrer le traffic. Un schéma du fonctionnement attendu de la nouvelle +installation est disponible figure \ref{Fig:docker} (page \pageref{Fig:docker}). \begin{figure}[H] \includegraphics[width=\linewidth]{generated/plan_docker} @@ -47,7 +45,7 @@ fonctionnement attendu de la nouvelle installation est disponible figure \label{Fig:docker} \end{figure} -\section{L'installation en laboratoire} +\section{L'installation} \subsubsection{La machine hôte} @@ -79,47 +77,8 @@ base. Je suis intervenu ensuite pour intégrer le plugin \textit{Fusion inventory}, le point d'entrée des agents et des tâches \textit{cron}\footnote{système de planification des tâches}. -\subsubsection{Le cas Gitea} - -\paragraph{} La migration de cette application impliquait aussi la migratoion de -sa base de données de \textit{SQLite} vers \textit{MariaDB}. J'ai passé deux -jours complets afin de \textbf{tester plusieurs système de migration} mais rien -n'a fonctionné correctement~: - -\begin{itemize} - - \item utilisation de la fonction d'export de Gitea dans un format compatible - MariaDB - - \item écriture d'un script transformant l'export SQLite en fichier SQL - compatible MariaDB. - -\end{itemize} - -\paragraph{} Comme les données des dépôts pouvaient être \textbf{facilement -restaurées} avec l'export réalisé depuis la \textit{Jail}, j'ai décidé de -repartir de zéro du côté de la base de données. J'ai donc recréé les comptes -uilisateurs et chacun a replacé sa clef SSH\footnote{nous n'utilisions aucune -fonctionnalité liées à la base de données à part l'authentification}; évitant de -perdre davantage de temps. - -\section{Le passage en production} +\subsubsection{Finalisation des configuration} \paragraph{} Une fois l'écriture du \textit{Docker-Compose} par Lucas finalisée, je suis intervenu sur la correction de certains problèmes et le peaufinage des -configurations. Nous avons ensuite plannifié le passage en production. - -\paragraph{} Pour le passage en production, il nous a fallu réutiliser le -serveur FreeBSD. Les services à migrer étant exclusivement utilisés par le -service informatique, nous avons défini une demi-journée de coupure de -l'ensemble des services pour la migration. - -\paragraph{} Comme nous avions passé beaucoup de temps à tester --- que se soit -la mise en place du système hôte ou les conteneurs --- la mise en production -s'est \textbf{globalement bien passée}. - -\section{En conclusion} - -\paragraph{} Ce projet a sûrement été \textbf{le plus intéressant de ces -derniers mois}. Travailler de concert avec Lucas a été source de motivations et -de plaisir. J'ai d'ailleurs beaucoup appris à ses côtés. +configurations. diff --git a/includes/preambule.tex b/includes/preambule.tex index 08f5f37..864495a 100644 --- a/includes/preambule.tex +++ b/includes/preambule.tex @@ -75,10 +75,7 @@ xrightmargin=5pt, frame=single, framesep=5pt, - rulecolor=\color{UltraLightGrey}, - keywordstyle=\color[rgb]{0,0,1}, - commentstyle=\color[rgb]{0.133,0.545,0.133}, - stringstyle=\color[rgb]{0.627,0.126,0.941}, + rulecolor=\color{UltraLightGrey} } % Hyperlink \usepackage[hidelinks]{hyperref} diff --git a/rapport.tex b/rapport.tex index 8c64ba0..7a3c8a2 100644 --- a/rapport.tex +++ b/rapport.tex @@ -16,7 +16,5 @@ \input{chapitres/chapitre_4} \input{chapitres/chapitre_5} \appendix -\input{annexes/annexe_startx_bornes} -\input{annexes/annexe_nftables.tex} -\input{annexes/annexe_openwrt.tex} +\input{annexes/annexe_4} \end{document}