Corrections
This commit is contained in:
parent
5135035345
commit
ab1b7616f7
7 changed files with 117 additions and 52 deletions
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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.
|
||||
|
|
Reference in a new issue