From 87b2e5b09d662566e486551c82b995f4fee6714b Mon Sep 17 00:00:00 2001 From: Etienne Ischer Date: Sun, 9 Sep 2018 19:59:43 +0200 Subject: [PATCH] avance reseau --- chapitres/introduction/network.tex | 65 +++++++++++++++++++++++++++-- chapitres/model/classes.tex | 10 +++-- chapitres/model/methodes.tex | 5 ++- images/OSI_Model_v1.png | Bin 0 -> 56827 bytes 4 files changed, 72 insertions(+), 8 deletions(-) create mode 100644 images/OSI_Model_v1.png diff --git a/chapitres/introduction/network.tex b/chapitres/introduction/network.tex index 63f3a58..4de2512 100644 --- a/chapitres/introduction/network.tex +++ b/chapitres/introduction/network.tex @@ -1,11 +1,70 @@ \chapter{Les réseaux informatiques} -\section{Définiton} +\section{Définition} Pour être en mesure de comprendre le fonctionnement de l'analyse des règles de sécurité des réseaux informatiques, il est d'abords nécessaire de définir ce que sont ces derniers. Les classes et objets du code utilisent les terminologies réseaux expliquées ici. -Le but d'un réseau informatique et d'acheminer des données sous forme de paquets \acrshort{ip} d'un noeud A vers un ou plusieurs autres noeuds. Ces réseaux sont composés de plusieurs sortes d'équipements différents comme des routers, switches (commutateurs en français) mais aussi des équipements plus orienté sur la sécurité tels que des firewalls ou proxy. Tous ces équipements sont reliés ensemble via du cablages cuivre (citation) ou bien par du réseau optique. Ils forment ensemble le réseau physique sur lequel des réseaux logiques seront configurés. Pour comprendre cela, il est essentiel de connaître le modèle réseau OSI(citation). +Le but d'un réseau informatique et d'acheminer des données sous forme de paquets \acrshort{ip} d'un noeud A vers un ou plusieurs autres noeuds. Ces réseaux sont composés de plusieurs sortes d'équipements différents comme des routers, switches (commutateurs en français) mais aussi des équipements plus orienté sur la sécurité tels que des firewalls ou proxy. Tous ces équipements sont reliés ensemble via du câblages cuivre (citation) ou bien par du réseau optique. Ils forment ensemble le réseau physique sur lequel des réseaux logiques seront configurés. Pour comprendre cela, il est essentiel de connaître le modèle réseau OSI(citation). +\newpage \section{Le modèle OSI} -Le modèle \gls{osi} est un découpage en sept couches, représentant les différents acteurs nécessaires à l'échange et la compréhension de l'information. +Le modèle \gls{osi} est un découpage en sept couches, représentant les différents acteurs nécessaires à l'échange et la compréhension de l'information. + +\begin{figure}[ht] + \centering + \includegraphics[width=100mm]{OSI_Model_v1.png} + \caption{Le modèle OSI} + \end{figure} + +Ce qui va particulièrement nous intéresser ici sont les couches trois et quatres. La couche trois, réseau, décrit l'adressage logique des noeuds du réseau et la façon dont ils vont communiquer. C'est à ce niveau qu'est définit le protocole IPv4 est avec lui son système d'adressage et de routage qui sont essentiels pour comprendre le fonctionnement de certains objets (\lstinline{Address}, \lstinline{Route}). + +\section{Couche 3 - les réseaux IP} + +\subsection{IPv4} + +Un noeud dans un réseau IPv4 est définit par une adresse réseau ainsi qu'un masque. Ensemble, ils vont définir l'identifiant de la machine ainsi que le sous-réseau dans lequel il appartient. Ces deux propriétés sont représentées sous la forme de 4 blocs de 8 bits au format décimal, séparé par des points (exemple: 192.168.0.10). Le masque lui, représente des valeurs binaires continues (par exemple 255.255.128.0). En appliquant un AND logique des deux valeurs, on obtient l'identifiant du sous-réseau dans lequel l'adresse IP fait partie. Dans le cadre de l'application, un noeud réseau est représenté par la classe \refname{sec:classe:address} (section \ref{sec:classe:address}). + +Exemple tableau binaires et tout. + +\subsection{CIDR} +\label{subsec:network:ip:cidr} + +La notation CIDR est beaucoup utilisée dans cette application, il s'agit d'une manière + +\subsection{Le routage} + +Pour qu'un noeud d'un sous réseau soit capable de communiquer avec un noeud se trouvant dans un autre, il faut que le paquet soit \emph{routé} du sous réseau source vers celui de destination. Cette action est effectuée par des équipements qui s'appellent "router" et qui utilisent pour cela les tables de routage. + +schéma du labo avec les ip + +Image d'une table de routage. + +Chaque entrée dans une table de routage indique un réseau (au format \refname{subsec:network:ip:cidr}) et quel est le noeud suivant à qui envoyer le paquet afin de s'y rendre. En plus de cela, il existe des données supplémentaires qui permettent de déterminer quel est le meilleur chemin possible lorsque plusieurs route sont possibles. Dans le contexte de cette application, la table de routage correspond à la classe \lstinline{RoutingTable} (section \ref{sec:classe:routingtable}) et une route à la classe \lstinline{Route} (section \ref{sec:classe:route}). + +Dans les réseaux informatiques, les routers ont très souvent plusieurs liens vers d'autres routeurs afin d'assurer de la redondance en cas de perte de liens. Pour être capable de définir quel est le meilleur chemin possible, le router commence par déterminer quel est la route la plus précise. Admettons que l'on souhaite envoyer un paquet vers l'adresse 192.168.0.10, si on reprend la table de routage précédente, on peut voir qu'il existe une route vers le réseau 192.168.0.0/16 via le router 10.0.0.1 et une autre route pour le réseau 192.168.0.0/24 via le router 10.0.1.1. Ces deux routes sont valables pour l'adresse 192.168.0.10, mais la seconde route est plus précise dans le sens où le réseau de la route est plus petit. Au niveau du code, l'algorithme du choix de la route est fait avec la méthode \lstinline{choosed\_route}. + +Les routes peuvent avoir plusieurs types qui définissent une caractéristiques propre aux routes qui s'appelle l'\emph{Administrative Distance}. Cet attribut définit la priorité d'un protocole sur un autre. Plus la valeur est basse, plus le type est prioritaire. Une route directement connectées (par exemple une adresse IP définie sur une interface du router), sera forcément prioritaire sur une route apprise par un quelconque protocole. Les routes moins prioritaires ne se voient pas dans la table de routage et il n'y a donc pas besoin de gérer cette partie là. + +La dernière caractéristique importante d'une route est son interface de sortie. C'est le port que le paquet va utiliser pour rejoindre le prochain router. Cette information est notamment utilisée par la méthode \lstinline{crossed?} (section \ref{sec:methodes:crossed}) afin de savoir si un flux va traverser le router. La logique utilisée dans ce cas découle directement de cet attribut, car un flux est définit par un réseau source et destination. Si l'interface de sortie pour ces deux réseaux est la même, cela signifie que l'équipement réseau ne sera jamais traversé par ce flux. + +figure des AD standards. + +schéma bloc de comment choisir une route. + +\section{couche 4 - Transport} + +\subsection{TCP \& UDP} + +Si la couche trois définit l'adressage logique qui fournit les outils pour acheminer les paquets dans un réseau, la couche quatre va permettre de définir comment ces communications sont gérées par les noeuds. Il existe plusieurs protocoles de transport différent mais en pratique, TCP et UDP sont ceux qui sont le plus utilisé dans les réseaux internes d'entreprise. Ces deux protocoles ont comme point commun le fait d'utiliser un numéro de port pour identifier leurs communications. De la même façon qu'il y a une adresse IP source et destination, il y a aussi un port source et destination. Le port de destination est utilisé par le noeud de destination pour savoir quel processus doit traiter cette requête. Le numéro de port est codé sur 16bits et bien que n'importe quel programme peut utiliser un port, les 1024 premiers sont considérés comme "well-known" et sont identifiés. Par exemple, le protocol HTTP utilisé pour les applications web utilisent le port 80 et sa version chiffrée, le HTTPS, le 443. Ces éléments s'appellent des services et correspondent dans cette application à la classe \lstinline{Service} (section \ref{sec:classe:service}) qui sont composés d'une liste de port TCP et UDP qui sont représentés par la classe \lstinline{PortRange} + +tableau avec les well-known port + +Lorsqu'un noeud "client" ouvre une connexion vers un noeud "seveur", il va utiliser un port source aléatoire géré par le système d'exploitation et le port de destination est définis par le programme utilisé. + +schéma ouverture de connexion. + +\subsection{Firewall} + +Les firewall sont des routers qui sont également capable de gérer les éléments de la couche quatre. Ils sont utilisés pour filtrer les communications entre les réseaux en filtrant les échanges basé sur les ports destinations. Ces équipements de sécurité permettent donc de n'autoriser que les paquets à destination d'un noeud spécifique et sur un ou plusieurs ports. + diff --git a/chapitres/model/classes.tex b/chapitres/model/classes.tex index 28ffeac..154fb49 100644 --- a/chapitres/model/classes.tex +++ b/chapitres/model/classes.tex @@ -24,7 +24,7 @@ Cette classe est utilisée pour sauvegarder les informations d'identifications p \section{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 addresse 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 addresse 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é (\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. \begin{lstlisting}[language=Ruby, title="app/model/address.rb"] # Exemples: @@ -56,10 +56,12 @@ Il fournit également la méthode 'match?' qui va retourner 'true' si l'ensemble Un groupe de service est simplement un objet dont l'attribut 'addresses' contient le nom de toutes les \lstinline{Address} qu'il contient. \section{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 notament 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. (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}). \section{RoutingTable} +\label{sec:classe:routingtable} La table de routage est un élément des équipement réseau et est composé de routes. @@ -71,8 +73,8 @@ Une policy représente un règle de sécurité dans un équipement réseau. Elle 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. -Le dernier attribut d'une règle de sécurité est l'action à faire lorsqu'un flux correspond aux critiè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. +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. \section{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é. diff --git a/chapitres/model/methodes.tex b/chapitres/model/methodes.tex index 16f3bc4..8dc70a6 100644 --- a/chapitres/model/methodes.tex +++ b/chapitres/model/methodes.tex @@ -34,4 +34,7 @@ La méthode "crossed?" est un élément essentiel pour l'analyse des règles de return false unless route1 && route2 route1.interface != route2.interface end -\end{lstlisting} \ No newline at end of file +\end{lstlisting} + +\section{matched\_policies} +\label{sec:methodes:matched_policies} diff --git a/images/OSI_Model_v1.png b/images/OSI_Model_v1.png new file mode 100644 index 0000000000000000000000000000000000000000..5d7ca40885e71bdcce478d5ddcb3f4b06430f3cc GIT binary patch literal 56827 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 J>X3KLe*h6yG1dS8 literal 0 HcmV?d00001