From 651b4f8fc328927357949e05b5572f35ff274e48 Mon Sep 17 00:00:00 2001 From: Etienne Ischer Date: Wed, 19 Sep 2018 16:28:43 +0200 Subject: [PATCH] relecture et finition partie 1 et 2 --- .DS_Store | Bin 10244 -> 10244 bytes annexes/glossary.tex | 5 ++ bibli.bib | 23 ++++++ chapitres/introduction/network.tex | 4 +- chapitres/model/application.tex | 121 +++++++++++++++++++++++++++++ chapitres/model/classes.tex | 88 ++++++++++++++++----- chapitres/model/diagram.tex | 6 +- chapitres/model/methodes.tex | 107 +++++++++++++++++++++---- chapitres/model/validation.tex | 10 +-- chapitres/requis/technique.tex | 1 + images/comparaison_binaire.png | Bin 47006 -> 46941 bytes images/gui_policies_collapsed.png | Bin 0 -> 15784 bytes images/gui_policy.png | Bin 0 -> 36657 bytes images/gui_search_form.png | Bin 0 -> 29580 bytes index.tex | 9 ++- 15 files changed, 330 insertions(+), 44 deletions(-) create mode 100644 chapitres/model/application.tex create mode 100644 images/gui_policies_collapsed.png create mode 100644 images/gui_policy.png create mode 100644 images/gui_search_form.png diff --git a/.DS_Store b/.DS_Store index a728f333708da6f537fb81bed23a2359bd33cb60..be450bc14cec40c0bf973576dca26662af3032ef 100644 GIT binary patch delta 35 gcmZn(XbISGQH;afz*I-U*uZr2O|c*R$UJRE0MP9U#{d8T delta 29 dcmZn(XbISGQEc*B0d_{q%{Rq<@WYwfi~zDN3fTYv diff --git a/annexes/glossary.tex b/annexes/glossary.tex index c0596fd..f67a8b9 100644 --- a/annexes/glossary.tex +++ b/annexes/glossary.tex @@ -53,4 +53,9 @@ \newglossaryentry{sprint}{ name=sprint, description={Dans l'application des méthodologies Agile, le cadre de travail "Scrum" découpe le projet en période de temps fixe itérative qui s'appellent des sprints. Ils commencent par une planification et se termine par une revue avec le client.} +} + +\newglossaryentry{crud}{ + name=CRUD, + description={Les actions CRUD (pour Create, Read, Update, Delete) sont les actions de base qui permettent de gérer des objets dans une API. Chaque action est liée à une méthode HTTP qui lui est propre (POST, GET, PATCH/PUT, DELETE).} } \ No newline at end of file diff --git a/bibli.bib b/bibli.bib index e86b8c7..771a181 100644 --- a/bibli.bib +++ b/bibli.bib @@ -190,3 +190,26 @@ note = {URL: "\url{https://fr.wikipedia.org/wiki/Mod%C3%A8le_OSI}"} } +@misc{symmetricencryption, + author = {RocketJob}, + title = {Symmetric Encryption for Ruby Projects using OpenSSL}, + note = {URL: "\url{https://rocketjob.github.io/symmetric-encryption/}"} +} + +@misc{sidekiq, + author = {Sidekiq}, + title = {Simple, efficient background processing for Ruby}, + note = {URL: "\url{https://sidekiq.org/}"} +} + +@misc{redis, + author = {Redis}, + title = {Redis is an open source (BSD licensed), in-memory data structure store}, + note = {URL: "\url{https://redis.io/}"} +} + +@misc{stackanyin, + author = {Stack overflow}, + title = {Mongoid: array contains any values of another array}, + note = {URL: "\url{https://stackoverflow.com/questions/51658302/mongoid-array-contains-any-values-of-another-array}"} +} diff --git a/chapitres/introduction/network.tex b/chapitres/introduction/network.tex index 64ccf90..aeea9ff 100644 --- a/chapitres/introduction/network.tex +++ b/chapitres/introduction/network.tex @@ -55,8 +55,8 @@ La longueur du masque va définir la taille du réseau et donc le nombre d'adres \hline & & \multicolumn{3}{c|}{\textbf{Adresses IPv4}} \\ \cline{3-5} \multirow{-2}{*}{\textbf{Réseau}} & \multirow{-2}{*}{\textbf{Masque}} & Première & Dernière & Disponible \\ \hline - 10.0.0.0 & 255.0.0.0 & 10.0.0.1 & 10.255.255.254 & $2^24 - 2 = 16777214$ \\ \hline - 172.16.0.0 & 255.255.0.0 & 172.16.0.1 & 172.16.255.254 & $2^16 - 2 = 65534$ \\ \hline + 10.0.0.0 & 255.0.0.0 & 10.0.0.1 & 10.255.255.254 & $2^{24} - 2 = 16777214$ \\ \hline + 172.16.0.0 & 255.255.0.0 & 172.16.0.1 & 172.16.255.254 & $2^{16} - 2 = 65534$ \\ \hline 192.168.1.0 & 255.255.255.0 & 192.168.1.1 & 192.168.1.254 & $2^8 - 2 = 254$ \\ \hline 10.0.1.0 & 255.255.255.224 & 10.0.1.1 & 10.0.1.30 & $2^5 - 2 = 30$ \\ \hline \end{tabular} diff --git a/chapitres/model/application.tex b/chapitres/model/application.tex new file mode 100644 index 0000000..c693853 --- /dev/null +++ b/chapitres/model/application.tex @@ -0,0 +1,121 @@ +\chapter{Analyses applicatives} + +\section{Backend API} + +L'\acrshort{api} de l'application permet d'intéragir avec les différents composants de l'application. Il permet notamment d'ajouter et de gérer les équipements (\Colorbox{light-gray}{\lstinline|Device|}), les identifiants (\Colorbox{light-gray}{\lstinline|Credential|}), les taches de récupération (\Colorbox{light-gray}{\lstinline|Task|}) ainsi que les recherches. Les détails de ces requêtes sont documentées ci-après. + +\subsection{Credential} + +L'ensemble des actions \gls{crud} sont disponibles pour l'objet \Colorbox{light-gray}{\lstinline|Credential|}. + +\vspace{3mm} +\begin{table}[H] + \centering + \caption{Actions possibles pour l'objet Credential} + \label{api-credential-crud} + \begin{tabular}{|l|l|l|} + \hline + \textbf{Opération} & \textbf{Méthode HTTP} & \textbf{URI} \\ \hline + Création & POST & /api/credentials \\ \hline + Récupération (Toute la collection) & GET & /api/credentials \\ \hline + Récupération (Unique) & GET & /api/credentials/\textit{credential\_id} \\ \hline + Modification & PATCH/PUT & /api/credentials/\textit{credential\_id} \\ \hline + Suppression & DELETE & /api/credentials/\textit{credential\_id} \\ \hline + \end{tabular} +\end{table} +\vspace{3mm} + +\subsection{Device} + +L'ensemble des actions \gls{crud} sont disponibles pour l'objet \Colorbox{light-gray}{\lstinline|Device|}. + +\vspace{3mm} +\begin{table}[H] + \centering + \caption{Actions possibles pour l'objet Device} + \label{api-device-crud} + \begin{tabular}{|l|l|l|} + \hline + \textbf{Opération} & \textbf{Méthode HTTP} & \textbf{URI} \\ \hline + Création & POST & /api/devices \\ \hline + Récupération (Toute la collection) & GET & /api/devices \\ \hline + Récupération (Unique) & GET & /api/devices/\textit{device\_id} \\ \hline + Modification & PATCH/PUT & /api/devices/\textit{device\_id} \\ \hline + Suppression & DELETE & /api/devices/\textit{device\_id} \\ \hline + \end{tabular} +\end{table} +\vspace{3mm} + +\subsection{Task} + +La version actuelle de l'API permet uniquement de créer une nouvelle tache de récupération en précisant l'identifiant du \Colorbox{light-gray}{\lstinline|Device|} voulu. + +\vspace{3mm} +\begin{table}[H] + \centering + \caption{Actions possibles pour l'objet Task} + \label{api-task-crud} + \begin{tabular}{|l|l|l|} + \hline + \textbf{Opération} & \textbf{Méthode HTTP} & \textbf{URI} \\ \hline + Création & POST & /api/devices/\textit{device\_id}/tasks \\ \hline + \end{tabular} +\end{table} +\vspace{3mm} + +\subsection{Search} + +Les actions de recherches sont gérées pas le controller 'search'. La seule fonctions disponible est la recherches de règles de sécurité (\Colorbox{light-gray}{\lstinline|Policy|}). Les filtres de la requêtes sont passées en paramètre de la requête. + +\vspace{3mm} +\begin{table}[H] + \centering + \caption{Actions de recherches possibles} + \label{api-search-crud} + \begin{tabular}{|l|l|l|} + \hline + \textbf{Opération} & \textbf{Méthode HTTP} & \textbf{URI} \\ \hline + Recherche de règles & GET & /api/search/policies \\ \hline + \end{tabular} +\end{table} +\vspace{3mm} + +\noindent +Exemple de requête de recherche (le caractère '/' est remplacé dans l'URL par '\%2F', car c'est un caractère spécial HTTP): + +\noindent +\Colorbox{light-gray}{\small{http://backend/api/search/policies?destination\=10.0.1.0\%2F24\&port\=3389\&protocol\=tcp\&source\=10.0.2.0\%2F24}} + +\newpage +\section{Interface utilisateur} + +L'interface utilisateur se présente sous la forme d'une application WEB qui permet à l'utilisateur de faire des recherches via un formulaire et qui va mettre en forme les résultats obtenus. Les champs 'Source' et 'Destination' s'attendent à recevoir une adresse réseau au format \acrshort{cidr}, le champs 'Protocol' est une liste déroulante qui propose à choix 'TCP', 'UDP' ou 'ICMP'. Pour finir, le numéro de port doit être une valeur numérique comprise entre 1 et 65535. + +\vspace{3mm} +\begin{figure}[H] + \centering + \includegraphics[width=160mm]{gui_search_form} + \caption{Formulaire de recherche WEB} +\end{figure} +\vspace{3mm} + +Les réponses sont sous la forme de blocs dépliants dont la couleur indique si la règle autorise ou bloque le flux, le vert signale une règle d'ouverture (accept) et le rouge une règle de fermeture ('deny'). Chaque bloc représente un équipement de sécurité différent, si un seul de ces blocs est rouge, c'est que le flux n'est pas autorisé de bout en bout. + +\vspace{3mm} +\begin{figure}[H] + \centering + \includegraphics[width=160mm]{gui_policies_collapsed} + \caption{Résultat visuel d'une recherche de règle} +\end{figure} +\vspace{5mm} + +En cliquant sur le bloc, on peut lire les détails de la règle en question. En cliquant à nouveau dessus, le bloc se referme. + +\vspace{3mm} +\begin{figure}[H] + \centering + \includegraphics[width=160mm]{gui_policy} + \caption{Détail d'une règle} +\end{figure} +\vspace{3mm} + diff --git a/chapitres/model/classes.tex b/chapitres/model/classes.tex index 6b0df5a..f66b645 100644 --- a/chapitres/model/classes.tex +++ b/chapitres/model/classes.tex @@ -2,15 +2,17 @@ \section{Diagramme de classe} -Les modèles décrit dans la section suivante sont liées à des collections dans la base de données MongoDB. C'est le module mongoid\cite{mongoid} qui va s'occuper de faire la corrélation entre ce qui est décrit dans la classe en ruby et le schéma de la base dans MongoDB. Dans une structure non-relationnelle comme c'est le cas ici, un objet peut en contenir un autre. C'est notamment le cas pour le modèle \lstinline{Device}, qui va contenir tous les objets qui lui sont propre. Cette architecture a pour avantage de pouvoir plus facilement décrire les contraintes sur certains objets. Typiquement, l'attribut "name" d'un objet \lstinline{Address} doit être unique, mais uniquement dans le contexte de l'équipement auquel il est attaché. Si on utilise un outil pour afficher le contenu de la base, on constate bien que chaque objet \lstinline{Device} contient les autres objets qui lui sont associés. +Les modèles décrit dans la section suivante sont liées à des collections dans la base de données MongoDB. C'est le module mongoid\cite{mongoid} qui va s'occuper de faire la corrélation entre ce qui est décrit dans la classe en ruby et le schéma de la base dans MongoDB. Dans une structure non-relationnelle comme c'est le cas ici, un objet peut en contenir un autre. C'est notamment le cas pour le modèle \Colorbox{light-gray}{\lstinline|Device|}, qui va contenir tous les objets qui lui sont propre. Cette architecture a pour avantage de pouvoir plus facilement décrire les contraintes sur certains objets. Typiquement, l'attribut "name" d'un objet \Colorbox{light-gray}{\lstinline|Address|} doit être unique, mais uniquement dans le contexte de l'équipement auquel il est attaché. Si on utilise un outil pour afficher le contenu de la base, on constate bien que chaque objet \lstinline|Device| contient les autres objets qui lui sont associés. +\vspace{3mm} \begin{figure}[h] \centering \includegraphics[width=80mm]{mongodb_device} \caption{Extrait de la collection Device} \end{figure} +\vspace{3mm} -Cette structure est possible pour les objets qui n'ont de sens que dans le contexte d'un équipement spécifique, ce qui n'est pas le cas de tous. C'est notamment le cas de la classe \lstinline{Credential}, qui sauvegarde dans la base les identifiants nécessaires pour authentifier les requêtes sur les API des équipements. Ces informations peuvent être liées à plusieurs équipements différents et doivent donc être stockées dans une collection séparée. +Cette structure est possible pour les objets qui n'ont de sens que dans le contexte d'un équipement spécifique, ce qui n'est pas le cas de tous. C'est notamment le cas de la classe \Colorbox{light-gray}{\lstinline|Credential|}, qui sauvegarde dans la base les identifiants nécessaires pour authentifier les requêtes sur les API des équipements. Ces informations peuvent être liées à plusieurs équipements différents et doivent donc être stockées dans une collection séparée. \begin{figure}[H] \centering @@ -24,6 +26,7 @@ Cette structure est possible pour les objets qui n'ont de sens que dans le conte Cette classe est utilisée pour sauvegarder les informations d'identifications pour accéder aux équipements et est identifiable par un nom unique. Le mot de passe est enregistré dans la base de donnée de façon chiffrée, mais avec un chiffrement symétrique, car il est nécessaire de pouvoir le réutiliser pour s'authentifier par la suite sur les équipements. Les fonctions pour chiffrer et déchiffrer le mot de passe sont fournit par l'attribut "password". +\vspace{3mm} \begin{lstlisting}[language=Ruby, title="app/model/credential.rb"] # Returns the decrypted value of the 'encrypted_password' field def password @@ -39,61 +42,104 @@ Cette classe est utilisée pour sauvegarder les informations d'identifications p self.encrypted_password = @password end \end{lstlisting} +\vspace{3mm} +Les méthodes pour chiffrer et déchiffrer les mots de passe sont fournit par le module "Symmetric\-Encryption"\cite{symmetricencryption}. Ce dernier utilise un système de clés pour cela qui sont définies dans le fichier "backend/config/symmetric-encryption.yml". Ce fichier est volontairement exclu de Git afin que les clés ne se retrouve pas dans le dépot. Lors du premier développement, il faut générer un jeu de clés avec la commande précisée dans le "README.md" du projet. En production, le fichier doit être généré sur le serveur et utilise des mécanismes plus avancés pour assurer un meilleur niveau de chiffrement. + +\newpage \subsection{Address} \label{sec:classe:address} -Il s'agit d'un élément d'une règle de sécurité (\lstinline{Policy}) qui décrit un objet réseau caractérisé par un réseau IPv4 au format \acrshort{cidr}. De ce réseau nous allons pouvoir en déduire la première et dernière adresse IP. Ces addresses seront ensuite converties en décimal pour pouvoir être indexé par la base de donnée. Ainsi \lstinline{start_ip} est la représentation numérique de la première adresse IP de ce réseau, et \lstinline{end_ip} la dernière. Dans le cas où le réseau ne contient qu'une seule adresse IP (masque réseau de 32 bits (cité la doc réseau au début)), ces deux valeurs seront identiques. Ces dernières sont calculées à chaque modifications de l'attribut network. +Il s'agit d'un élément d'une règle de sécurité (\Colorbox{light-gray}{\lstinline|Policy|}) qui décrit un objet réseau caractérisé par un réseau IPv4 au format \acrshort{cidr}. De ce réseau nous allons pouvoir en déduire la première et dernière adresse IP. Ces addresses seront ensuite converties en décimal pour pouvoir être indexé par la base de donnée. Ainsi \Colorbox{light-gray}{\lstinline|start_ip|} est la représentation numérique de la première adresse IP de ce réseau, et \Colorbox{light-gray}{\lstinline|end_ip|} la dernière. Dans le cas où le réseau ne contient qu'une seule adresse IP (masque réseau de 32 bits (cité la doc réseau au début)), ces deux valeurs seront identiques. Ces dernières sont calculées à chaque modifications de l'attribut network. +\vspace{3mm} \begin{lstlisting}[language=Ruby, title="app/model/address.rb"] - # Exemples: + # Exemples: # - # address = Address.new - # address.name = 'unique name' # => true - # address.network = '192.168.0.0/24' # => true - # address.start_ip # => 3232235520 - # address.end_ip # => 3232235775 + address = Address.new + address.name = 'unique name' # => true + address.network = '192.168.0.0/24' # => true + address.start_ip # => 3232235520 + address.end_ip # => 3232235775 +\end{lstlisting} +\vspace{3mm} + +Cette classe fournit également la méthode match? (section ) qui permet de savoir si un réseau exprimé au format \acrshort{cidr} est contenu dans l'objet en question. Pour cela, il suffit de vérifier que les adresses limites du réseau en paramètre soient comprises dans l'objet en question. + +\vspace{3mm} +\begin{lstlisting}[language=Ruby, title="app/model/address.rb"] + def match?(network) + ip = IPAddr.new network + start_ip = ip.to_range.first.to_i + end_ip = ip.to_range.last.to_i + + ((start_ip >= self.start_ip) && (end_ip <= self.end_ip)) + end \end{lstlisting} \subsection{AddressGroup} -Un groupe d'adresse est simplement un objet dont l'attribut 'addresses' contient le nom de toutes les \lstinline{Address} qu'il contient. +Un groupe d'adresse est simplement un objet dont l'attribut 'addresses' contient le nom de toutes les \Colorbox{light-gray}{\lstinline|Address|} qu'il contient. \subsection{PortRange} -Un \lstinline{PortRange}, représente une plage de numéro de port et le protocol qui leur est associé. Il peut en plus également gérer une combinaison de code et type pour les communications ICMP. Il est contenu dans un \lstinline{Service}. +Un \Colorbox{light-gray}{\lstinline|PortRange|}, représente une plage de numéro de port et le protocol qui leur est associé. Il peut en plus également gérer une combinaison de code et type pour les communications ICMP. Il est contenu dans un \Colorbox{light-gray}{\lstinline|Service|}. \subsection{Service} \label{sec:classe:service} -Un service est un élément d'une règle de sécurité (\lstinline{Policy}) qui est composé d'un ensemble de port/protocol nécessaire au fonctionnement d'une application. Par exemple, un service qui autoriserait les flux web (HTTP/HTTPS) va autoriser les ports TCP 80 et 443. Pour cela, il aura donc deux \lstinline{PortRange} liés. +Un service est un élément d'une règle de sécurité (\Colorbox{light-gray}{\lstinline|Policy|}) qui est composé d'un ensemble de port/protocol nécessaire au fonctionnement d'une application. Par exemple, un service qui autoriserait les flux web (HTTP/HTTPS) va autoriser les ports TCP 80 et 443. Pour cela, il aura donc deux \Colorbox{light-gray}{\lstinline|PortRange|} liés. -Il fournit également la méthode 'match?' qui va retourner 'true' si l'ensemble port/protocol en paramètre est inclus dans les \lstinline{PortRange} liés. +Il fournit également la méthode 'match?' qui va retourner 'true' si l'ensemble port/protocol en paramètre est inclus dans les \Colorbox{light-gray}{\lstinline|PortRange|} liés. + +\vspace{3mm} +\begin{lstlisting}[language=Ruby, title="app/model/service.rb"] + def match?(protocol, port) + match = false + + port_ranges.each do |port_range| + match = true if (protocol == port_range.protocol) && + (port >= port_range.start_port) && + (port <= port_range.end_port) + end + + match + end +\end{lstlisting} \subsection{ServiceGroup} -Un groupe de service est simplement un objet dont l'attribut 'addresses' contient le nom de toutes les \lstinline{Address} qu'il contient. +Un groupe de service est simplement un objet dont l'attribut 'addresses' contient le nom de toutes les \Colorbox{light-gray}{\lstinline|Address|} qu'il contient. + +\subsection{Zone} + +Une zone représente un groupe d'interfaces réseaux dans un équipement. C'est surtout utilisé dans les règles de sécurité pour faciliter l'écriture de celle-ci. \subsection{Route} \label{sec:classe:route} -Correspond à une route dans une table de routage d'un équipement réseau. (pti cf qui va bien). Elle est notamment caractérisée par le réseau de destination, lui aussi donné avec une notation \acrshort{cidr}. Comme pour les adresses réseaux (\lstinline{Address}), la première et la dernière adresse IP du réseau sont converties en décimal pour être indexées dans la base de donnée. Chaque \lstinline{Route} est reliée a une table de routage (\lstinline{RoutingTable}). +Correspond à une route dans une table de routage d'un équipement réseau (comme décrit à la section \ref{subsec:network:ip:routing}). Elle est notamment caractérisée par le réseau de destination, lui aussi donné avec une notation \acrshort{cidr}. Comme pour les adresses réseaux (\Colorbox{light-gray}{\lstinline|Address|}), la première et la dernière adresse IP du réseau sont converties en décimal pour être indexées dans la base de donnée. Chaque \Colorbox{light-gray}{\lstinline|Route|} est reliée a une table de routage (\Colorbox{light-gray}{\lstinline|RoutingTable|}). \subsection{RoutingTable} \label{sec:classe:routingtable} -La table de routage est un élément des équipement réseau et est composé de routes. - -Elle fournit la méthode 'crossed?' (\nameref{sec:methodes:crossed}) qui permet de savoir si un équipement (\lstinline{Device}) est traversé par un flux définit par un réseau source et de destination. +La table de routage est un élément des équipement réseaux et est composée de routes. Elle fournit la méthode 'crossed?' (section \ref{sec:methodes:crossed}) qui permet de savoir si un équipement (\Colorbox{light-gray}{\lstinline|Device|}) est traversé par un flux définit par un réseau source et de destination. +\newpage \subsection{Policy} -Une policy représente un règle de sécurité dans un équipement réseau. Elle décrit comme ce dernier doit se comporter lorsqu'il est traversé par des flux réseaux. En fonction de la source et de la destination du paquet (représenté sous forme d'adresses (section \ref{sec:classe:address}-\nameref{sec:classe:address}) ainsi que du protocol et de son numéro de port utilisé (représenté par le service (section \ref{sec:classe:service}-\nameref{sec:classe:service})), la règle va définir si la communication est autorisée où si elle doit être bloquée. +Une \Colorbox{light-gray}{\lstinline|Policy|} représente un règle de sécurité dans un équipement réseau. Elle décrit comment ce dernier doit se comporter lorsqu'il est traversé par des flux réseaux. En fonction de la source et de la destination du paquet (représenté sous forme d'\Colorbox{light-gray}{\lstinline|Address|} (section \ref{sec:classe:address}) ainsi que du protocol et de son numéro de port utilisé (représenté par le \Colorbox{light-gray}{\lstinline|Service|} (section \ref{sec:classe:service})), la règle va définir si la communication est autorisée où si elle doit être bloquée. -La source et la destination sont deux champs qui peuvent contenir un ou plusieurs nom de \lstinline{Address} et/ou \lstinline{AddressGroup}. Le champ service peut être composé de un ou plusieurs nom de \lstinline{Service} et/ou \lstinline{ServiceGroup}. En plus de cela, la règle de sécurité peut contenir le ou les interfaces source et destination. Il s'agit de l'interface par lequel le flux doit arriver pour que la règle soit évaluée. Il se peut qu'une interface face partie d'un groupe d'interface qui s'appelle dans ce cas là, une zone. +La source et la destination sont deux champs qui peuvent contenir un ou plusieurs nom de \Colorbox{light-gray}{\lstinline|Address|} et/ou \Colorbox{light-gray}{\lstinline|AddressGroup|}. Le champ service peut être composé de un ou plusieurs nom de \Colorbox{light-gray}{\lstinline|Service|} et/ou \Colorbox{light-gray}{\lstinline|ServiceGroup|}. En plus de cela, la règle de sécurité peut contenir le ou les interfaces source et destination. Il s'agit de l'interface par lequel le flux doit arriver pour que la règle soit évaluée. Il se peut qu'une interface face partie d'un groupe d'interfaces qui s'appelle dans ce cas là, une \Colorbox{light-gray}{\lstinline|Zone|}. Le dernier attribut d'une règle de sécurité est l'action à faire lorsqu'un flux correspond aux critères de la règle. Les deux seuls actions possibles sont "accept" ou "deny", qui vont respectivement laisser passer le flux, ou bien le bloquer. \subsection{Device} -Les équipements de sécurité gérés dans l'application sont des objets de type \lstinline{Devices}. Il s'agit de la classe principale de l'application étant donné que la plupart des autres objets dépendent directement d'un équipement. Il fournit la méthode \nameref{sec:methodes:matched_policies} qui permet de mettre en place la feature principale de l'application, soit la recherche de règles de sécurité. +Les équipements de sécurité gérés dans l'application sont des objets de type \Colorbox{light-gray}{\lstinline|Device|}. Il s'agit de la classe principale de l'application étant donné que la plupart des autres objets dépendent directement d'un équipement. Il fournit la méthode \nameref{sec:methodes:matched_policies} qui permet de mettre en place la feature principale de l'application, soit la recherche de règles de sécurité. + +\subsection{Task} + +Afin que les informations de configurations des équipements puissent être récupérées régulièrement, cela se fait sous forme de tâche qui vont être exécuter de façon asynchrone par le module Sidekiq\cite{sidekiq}. Une fois une tache valide créée, l'application va l'ajouter en file d'attente pour qu'elle soit ensuite traitée par le programme d'exécution qui tourne en parallèle. Les différents files sont gérées avec le système de base de donnée en mémoire Redis\cite{redis}. + +Il existe deux taches différentes, la \Colorbox{light-gray}{\lstinline|PolicyRetrievalJob|} et \Colorbox{light-gray}{\lstinline|RoutingTableRetrievalJob|}. La première va s'occuper de récupérer sur les équipements les polices de sécurité ainsi que les objets qui les composent. La seconde va obtenir l'état actuel de la table de routage de l'équipement pour mettre à la base. Ces deux tâches sont séparées afin de pouvoir les exécuter indépendament l'une de l'autre. En pratique, la table de routage d'un équipement peut évoluer sans intervention humaine, on souhaite donc pouvoir la mettre à jour plus fréquement que pour les règles de sécurité qui elles ne changent que lorsqu'une modification est faite. diff --git a/chapitres/model/diagram.tex b/chapitres/model/diagram.tex index dba86d1..be5812a 100644 --- a/chapitres/model/diagram.tex +++ b/chapitres/model/diagram.tex @@ -2,8 +2,12 @@ \section{Diagramme de séquence} +Le besoin initial de ce projet vient du fait que lorsqu'un flux n'est pas fonctionnel, l'exploitant doit parcourir à la main tous les équipements de sécurité pour découvrir si ce flux est autorisé. La mise en place de ce processus de recherche inclus un algorithme assez complexe qui va utiliser plusieurs classes différentes pour être capable de rendre une réponse proprement formattée. + +Le diagramme de séquence suivant décrit donc le processus de recherche depuis la requête HTTP gérée par le controller jusqu'à la réponse. Les paramètres de la requête sont passés en attribut de la requête GET. + \begin{figure}[ht] \centering \includegraphics[width=145mm,height=\textheight,keepaspectratio]{tb_search_policies} - \caption{Diagram de séquence pour la recherche de règle} + \caption{Diagramme de séquence pour la recherche de règle} \end{figure} \ No newline at end of file diff --git a/chapitres/model/methodes.tex b/chapitres/model/methodes.tex index c204d50..135a255 100644 --- a/chapitres/model/methodes.tex +++ b/chapitres/model/methodes.tex @@ -2,9 +2,10 @@ \subsection{route} -La méthode "route" retourne la route (\lstinline{Route}), utilisée par l'équipement (\lstinline{Device}) pour atteindre le réseau spécifié. +La méthode "route" retourne la route (\Colorbox{light-gray}{\lstinline|Route|}), utilisée par l'équipement (\Colorbox{light-gray}{\lstinline|Device|}) pour atteindre le réseau spécifié. C'est une mise en application de ce qui est expliqué dans la section \ref{subsec:network:ip:routing}. Pour y arriver, il faut donc obtenir ceux dont les adresses limites du réseau comprennent celle du réseau voulu. -\begin{lstlisting}[language=Ruby] +\vspace{3mm} +\begin{lstlisting}[language=Ruby, title="app/model/routing\_table.rb"] # Params: # * network: an IPv4 network to test def route(network) @@ -16,25 +17,103 @@ La méthode "route" retourne la route (\lstinline{Route}), utilisée par l'équi choosed_route(candidate_routes) end \end{lstlisting} +\vspace{3mm} + +Une fois les routes possibles obtenues, il faut encore isolé celle qui est la plus précise. Pour cela, il suffit de calculer le nombre d'adresses maximum disponibles dans le réseau et de choisir celui qui en a le moins. + +\vspace{3mm} +\begin{lstlisting}[language=Ruby, title="app/model/routing\_table.rb"] + # Params: + # * candidate_routes: a list of Route + def choosed_route(candidate_routes) + network_length = 4_294_967_296 + choose_route = nil + + candidate_routes.each do |candidate| + network = IPAddr.new candidate.network + network_size = network.to_range.last.to_i - network.to_range.first.to_i + if network_size < network_length + network_length = network_size + choose_route = candidate + end + end + + choose_route + end +\end{lstlisting} +\vspace{3mm} \subsection{crossed?} \label{sec:methodes:crossed} -La méthode "crossed?" est un élément essentiel pour l'analyse des règles de sécurité (\lstinline{Policy}). Elle permet de déterminer sur un équipement (\lstinline{Device}) est traversé par un flux définit par deux réseaux. Pour cela, il faut utiliser la méthode "route" de la table de routage (\lstinline{RoutingTable}) de l'équipement en question et comparer l'interface de sortie des deux routes (Route) retourné. Si elles sont différentes, cela signifique que le flux traverse ce firewall. +La méthode "crossed?" est un élément essentiel pour l'analyse des règles de sécurité (\Colorbox{light-gray}{\lstinline|Policy|}). Elle permet de déterminer sur un équipement (\Colorbox{light-gray}{\lstinline|Device|}) est traversé par un flux définit par deux réseaux. Pour cela, il faut utiliser la méthode "route" de la table de routage (\Colorbox{light-gray}{\lstinline|RoutingTable|}) de l'équipement en question et comparer l'interface de sortie des deux routes obtenues. Si elles sont différentes, cela signifique que le flux traverse ce firewall. -\begin{lstlisting}[language=Ruby] - # Params: - # * network1: the *source* network - # * network2: the *destination* network - def crossed?(network1, network2) - return false unless routing_table - route1 = routing_table.route(network1) - route2 = routing_table.route(network2) +\begin{lstlisting}[language=Ruby, title="app/model/device.rb"] + # Params: + # * network1: the *source* network + # * network2: the *destination* network + def crossed?(network1, network2) + return false unless routing_table + route1 = routing_table.route(network1) + route2 = routing_table.route(network2) - return false unless route1 && route2 - route1.interface != route2.interface - end + return false unless route1 && route2 + route1.interface != route2.interface + end \end{lstlisting} \subsection{matched\_policies} \label{sec:methodes:matched_policies} + +Cette méthode permet de gérer la fonctionnalité principale de l'application, soit de rechercher une règle spécifique en précisant une réseau source et distination, un protocole et un numéro de port. + +\begin{lstlisting}[language=Ruby, title="app/model/device.rb"] + # Params: + # * request: the PolicyRequest with all the required informations + def matched_policies(request) + policies = [] + policies_found = find_policies(request) + + if !policies_found.empty? && request.include_all + policies += policies_found + elsif !policies_found.empty? + policies << policies_found.first + else + policies << implicit_policy + end + + policies + end +\end{lstlisting} + +Le but ici est de faire la requête de recherche et de retourner toutes les règles de sécurité obtenues ou bien uniquement la première en fonction de ce qui a été demandé dans la requête. Si aucune règle de sécurité n'est trouvée, la méthode va retourner une règle qui correspond à une règle implicite de blocage (par défaut sur firewall, ce qui n'est pas explicitement autorisé est bloqué). + +\begin{lstlisting}[language=Ruby, title="app/model/device.rb"] + # Params: + # * request: the PolicyRequest with all the required informations + def find_policies(request) + source = matched_addresses(request.source) + source += matched_address_groups(source) + destination = matched_addresses(request.destination) + destination += matched_address_groups(destination) + service = matched_services(request.protocol, request.port) + service += matched_service_groups(service) + source_interface = zone_name( + routing_table.route(request.source).interface + ) + destination_interface = zone_name( + routing_table.route(request.destination).interface + ) + + policies.where( + source_interface: source_interface, + destination_interface: destination_interface + ).any_in( + source: source, + destination: destination, + service: service + ) + end +\end{lstlisting} + +La requête sur la base de donnée qui permet d'obtenir les règles de sécurité voulues est définie dans la fonction ci-dessous. Pour cela, il faut commencer par isoler les adresses source et destination ainsi que les services. On cherche ici à comparer des tableaux de String entre eux et à savoir si au moins un des éléments de ce tableau se retrouvent dans l'autre tableau. La méthode utilisée pour cela est "any\_in"\cite{stackanyin} en lui précisant les paramètres. \ No newline at end of file diff --git a/chapitres/model/validation.tex b/chapitres/model/validation.tex index 0d46bc6..ed0a554 100644 --- a/chapitres/model/validation.tex +++ b/chapitres/model/validation.tex @@ -1,7 +1,7 @@ \chapter{Tests et validations} \label{ch:tests} -Pour valider le bon fonctionnement de l'application et mettre en place l'intégration continue, différents modules sont utiliser pour tester les objets et méthodes ainsi que pour valider la syntaxe et l'indentation du code. +Pour valider le bon fonctionnement de l'application et mettre en place le \gls{tdd}, différents modules sont utilisés pour tester les objets et méthodes ainsi que pour valider la syntaxe et la forme du code. \section{Javascript} @@ -19,7 +19,7 @@ ESLint\cite{eslint} est un analyseur de code JavaScript qui permet d'appliquer l RSpec\cite{rspec} est une solution qui propose un ensemble d'outils pour tester les applications Ruby et notamment celles créées avec Rails. Il va permettre de créer des objets et de vérifier leur validité ainsi que de tester le bon fonctionnement des méthodes. Cet outil est utilisé dans le backend mais également pour valider les deux modules d'accès aux équipements (paltogem et fortigem). Les fichiers qui concernent les tests RSpec se trouvent dans le dossier \Colorbox{light-gray}{\lstinline|spec/|} à la racine du projet. -Les tests se lancent avec la commande Colorbox{light-gray}{\lstinline|bundle exec rspec spec/|} depuis la racine du projet. Il est aussi possible de ne lancer que certains tests en précisant le fichier de test dans la commande. +Les tests se lancent avec la commande \Colorbox{light-gray}{\lstinline|bundle exec rspec spec/|} depuis la racine du projet. Il est aussi possible de ne lancer que certains tests en précisant le fichier de test dans la commande. \begin{figure}[H] \centering @@ -29,9 +29,9 @@ Les tests se lancent avec la commande Colorbox{light-gray}{\lstinline|bundle exe \subsection{Rubocop} -RuboCop\cite{rubocop} est un analyseur de code et de syntaxe basé sur le \emph{A community-driven Ruby coding style guide}\cite{rubystyleguide}. Il permet de s'assurer que la syntaxe est utilisée de façon uniforme dans le projet, de remonter l'utilisation de méthodes dépréciées, de vérifier les indentations. Tous les tests effectués par le programme peuvent être personnalisés au besoin et sont tous documentés avec des exemples\cite{rubocopdoc}. RuboCop propose également des tests supplémentaires pour les projets utilisant Rails, en se basant sur le \emph{A community-driven Ruby on Rails coding style guide}\cite{railsstyleguide}. +RuboCop\cite{rubocop} est un analyseur de code et de syntaxe basé sur le \emph{"A community-driven Ruby coding style guide"}\cite{rubystyleguide}. Il permet de s'assurer que la syntaxe est utilisée de façon uniforme dans le projet, de remonter l'utilisation de méthodes dépréciées, de vérifier les indentations. Tous les tests effectués par le programme peuvent être personnalisés au besoin et sont tous documentés avec des exemples\cite{rubocopdoc}. RuboCop propose également des tests supplémentaires pour les projets utilisant Rails, en se basant sur le \emph{"A community-driven Ruby on Rails coding style guide"}\cite{railsstyleguide}. -Les tests se lancent avec la commande Colorbox{light-gray}{\lstinline|bundle exec rubocop|} depuis la racine du projet. +Les tests se lancent avec la commande \Colorbox{light-gray}{\lstinline|bundle exec rubocop|} depuis la racine du projet. \begin{figure}[H] \centering @@ -41,4 +41,4 @@ Les tests se lancent avec la commande Colorbox{light-gray}{\lstinline|bundle exe \subsection{Brakeman} -Brakeman\cite{brakeman} est également un analyseur de code mais qui va plutôt chercher des vulnérabilités et des problèmes de sécurité dans le code. Les tests se lancent avec la commande Colorbox{light-gray}{\lstinline|bundle exec brakeman|} depuis la racine du projet. +Brakeman\cite{brakeman} est également un analyseur de code mais qui va plutôt chercher des vulnérabilités et des problèmes de sécurité dans le code. Les tests se lancent avec la commande \Colorbox{light-gray}{\lstinline|bundle exec brakeman|} depuis la racine du projet. diff --git a/chapitres/requis/technique.tex b/chapitres/requis/technique.tex index ae6ccfd..2817dc0 100644 --- a/chapitres/requis/technique.tex +++ b/chapitres/requis/technique.tex @@ -52,3 +52,4 @@ Les dépendances précises se trouvent dans des fichiers différents en fonction \section{Hébergement} +Pour pouvoir fonctionner correctement l'application doit pouvoir effectué des requêtes sur l'API des équipements gérés. Pour y parvenir, la machine sur laquelle l'application est hebergée doit pouvoir atteindre les ports TCP 80 et 443 de ces équipements. \ No newline at end of file diff --git a/images/comparaison_binaire.png b/images/comparaison_binaire.png index 0bdd6d784b4ecf7c5ba24af038b824df8c68f8e1..dbe6b11da75e86e57810f5c02633f2fdb977744a 100755 GIT binary patch literal 46941 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 literal 47006 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 literal 0 HcmV?d00001 diff --git a/images/gui_policy.png b/images/gui_policy.png new file mode 100644 index 0000000000000000000000000000000000000000..71c444efb2c8df6f49af9533c028a23d732efeb9 GIT binary patch literal 36657 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 Dii2bJ literal 0 HcmV?d00001 diff --git a/images/gui_search_form.png b/images/gui_search_form.png new file mode 100644 index 0000000000000000000000000000000000000000..698432319eeb7910c61b352d73aab7bfb6f1b67d GIT binary patch literal 29580 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