Corrections

This commit is contained in:
Yorick Barbanneau 2021-08-31 00:48:15 +02:00
parent 5135035345
commit ab1b7616f7
7 changed files with 117 additions and 52 deletions

View file

@ -129,7 +129,7 @@ différences apparaisents en fonction de la taille de la structure.
\label{fig:organigrammeSaintPierre}
\end{figure}
\paragraph{} L'organnigramme de la Figure~\ref{fig:organigrammeSaintPierre}
\paragraph{} L'organigramme 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

View file

@ -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) son reliés à un
des postes téléphoniques fixe (postes fixes ou sans-fils) sont 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 switches afin de
pouvoir paramétrer les ports, nous avons un accès administrateur pour la
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
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 dispose d'un second accès à
\paragraph{} Certaines structures de l'association disposent 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{} 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.
\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.
\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 installé sur
\link{https://fusioninventory.org}{Fusioninventory}. Le plugin est 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,7 +162,8 @@ 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.
Cette migration fait l'objet d'un chapitre complet de ce rapport (chapitre
\ref{chap:migration_docker} page \pageref{chap:migration_docker}.
\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

View file

@ -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 (ordinateurs, imprimantes, scanner) en libre service
équipements informatique
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 c'est positionnée sur le projet fin 2019 et a choisie
\paragraph{} L'association s'est positionnée sur le projet fin 2019 et a choisi
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 ce la
\paragraph{} Le service communication a eu en charge l'habillage graphique de 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éfinis trois points
\paragraph{} D'après les objectifs et le public cible, j'ai défini 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
apparuts, mettant sur la touche cette solution~:
apparus, 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{}{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{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.
\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étruite son dossier\footnote{Il se charge aussi de démonter
va se charger de détruire 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é. 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
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
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 peuvent pas servir à aure chose.
nécessaire de s'assurer qu'elles ne puissent pas servir à autre chose.
\subsubsection{Le choix déterminant d'un système GNU/Linux}
\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.
\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.
\subsubsection{Limiter les sites accessibles}
@ -145,11 +145,18 @@ 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.
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}).
\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.
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}}
\end{enumerate}
@ -173,7 +180,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 installes les logiciels
machine. Lancé en \textit{super-utilisateur}, il installe les logiciels
nécéssaires, les scripts, les utilisateurs et les fichiers de
configuration.
@ -193,9 +200,14 @@ 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 ininteressant, bien au contraire. J'ai pu toucher à beaucoup d'aspects
autant inintéressant, 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

View file

@ -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éseux vieillissants ne permettaient plus de travailler convenablement. De
plus il ne permettent pas au intervenants exterieur ou au public de se
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
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 casi-majorité des connexions réseaux se font par ce biais,
aux réseaux Wifi. La quasi-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,6 +50,7 @@ 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
@ -109,14 +110,14 @@ réseau privé et le 101 pour le réseau public.
\label{Fig:vlanwifi}
\end{figure}
\paragraph{} Le réseau Wifi sera diffusé en 2,4Ghz et 5Ghz tandis que le réseau
public seulement en 2Ghz.
\paragraph{} Le réseau Wifi salariés 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
spécifique 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
dédiée 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
@ -124,7 +125,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 fichiier de configuration est
de commande via une connexion SSH. Un exemple de fichiers 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
@ -149,7 +150,12 @@ 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 on casiment disparu pour Bacalan.
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.
\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

View file

@ -1,17 +1,18 @@
\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 de vers des
mon départ prévu début août, nous avons décidé de tout migrer 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'
etait 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'était pas mon cas. Nous avons donc travailler ensemble sur ce point.
\section{Migration de services existants}
@ -33,10 +34,11 @@ 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 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}).
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}).
\begin{figure}[H]
\includegraphics[width=\linewidth]{generated/plan_docker}
@ -45,7 +47,7 @@ installation est disponible figure \ref{Fig:docker} (page \pageref{Fig:docker}).
\label{Fig:docker}
\end{figure}
\section{L'installation}
\section{L'installation en laboratoire}
\subsubsection{La machine hôte}
@ -77,8 +79,47 @@ 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{Finalisation des configuration}
\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}
\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.
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.