Ajout derniere slide parfe feu
This commit is contained in:
parent
97863bda8f
commit
281a58ef81
|
@ -1,3 +1,5 @@
|
||||||
|
|
||||||
|
|
||||||
# Anti virus
|
# Anti virus
|
||||||
|
|
||||||
## Présentation
|
## Présentation
|
||||||
|
@ -511,16 +513,84 @@ Trois types de pare feu :
|
||||||
|
|
||||||
## Gestion des paquets
|
## Gestion des paquets
|
||||||
|
|
||||||
|
### La définition de paquet (réseaux)
|
||||||
|
|
||||||
Paquet : données envoyées sur le réseaux découpées en pitits morcaux
|
Paquet : données envoyées sur le réseaux découpées en pitits morcaux
|
||||||
|
|
||||||
|
- Afin de transmettre un message d'une machine à une autre sur un réseau, celui-ci est découpé en plusieurs paquets transmis séparément.
|
||||||
|
- Un paquet inclut un en-tête (en anglais, header), comprenant les informations nécessaires pour acheminer et reconstituer le message, et encapsule une partie des données.
|
||||||
|
Exemple : le paquet IP.
|
||||||
|
|
||||||
|
### La définition de socket
|
||||||
|
|
||||||
Socket : Permet au développeur de manier les outils réseaux. Un socket contient ce qu'il faut pour les protocoles de la couche.
|
Socket : Permet au développeur de manier les outils réseaux. Un socket contient ce qu'il faut pour les protocoles de la couche.
|
||||||
|
|
||||||
Communication peu être en TCP ou UDP (connecté / non connecté)
|
- est une interface de connexion
|
||||||
|
- permet la communication entre processus
|
||||||
|
- peut fonctionner en interne
|
||||||
|
- Peut fonctionner à travers le réseau
|
||||||
|
- En réseau : est lié au port
|
||||||
|
|
||||||
|
Les sockets se situent juste au-dessus de la couche transport du modèle OSI (protocoles UDP ou TCP),
|
||||||
|
elle-même utilisant les services de la couche réseau (protocole IP / ARP).
|
||||||
|
|
||||||
|
### Déroulement d’une communication
|
||||||
|
|
||||||
|
La communication par socket utilise un descripteur pour désigner la connexion sur laquelle on envoie ou reçoit les données
|
||||||
|
|
||||||
|
Deux étapes :
|
||||||
|
|
||||||
|
- La création d’un socket et de son descripteur par la fonction socket()
|
||||||
|
- Spécifier le type de communication associé au socket (TCP ou UDP) par la fonction bind()
|
||||||
|
|
||||||
|
Deux états :
|
||||||
|
|
||||||
|
- Connecté (TCP) :
|
||||||
|
- Une connexion durable est établie entre les deux processus.
|
||||||
|
- L’adresse de destination n’est pas nécessaire à chaque envoi de données
|
||||||
|
- Non Connecté (UDP) :
|
||||||
|
- Nécessite l’adresse de destination à chaque envoi
|
||||||
|
- Le destinataire reçoit le message petit à petit et de façon désordonnée.
|
||||||
|
|
||||||
|
Connecté :
|
||||||
|
|
||||||
|
1. Création d’un socket et de son descripteur avec socket()
|
||||||
|
2. Spécifier le type de communication avec bind()
|
||||||
|
3. Le socket est en mode passif par la fonction listen() (écoute des messages)
|
||||||
|
4. Permet d’accepter la connexion grâce à la fonction accept()
|
||||||
|
5. Réception des données par la fonction recv()
|
||||||
|
|
||||||
|
Non connecté :
|
||||||
|
|
||||||
|
1. Création d’un socket et de son descripteur avec socket()
|
||||||
|
2. Spécifier le type de communication avec bind()
|
||||||
|
3. Le serveur reçoit les données grâce à la fonction recvfrom()."
|
||||||
|
|
||||||
|
Communication peut être en TCP ou UDP (connecté / non connecté)
|
||||||
TCP : socket, bind, listen, accept, recv, send
|
TCP : socket, bind, listen, accept, recv, send
|
||||||
UDP : socket, bind, recvfrom
|
UDP : socket, bind, recvfrom
|
||||||
|
|
||||||
|
### Parcours du paquet
|
||||||
|
|
||||||
|
- Arrivée paquet
|
||||||
|
- Mise en tampon ou rejet
|
||||||
|
- Génération interruption
|
||||||
|
- Allocation SK_Buffer
|
||||||
|
- Appel de fonction
|
||||||
|
- File d’attente CPU
|
||||||
|
- Traitement
|
||||||
|
- Pare-feu
|
||||||
|
- Rejet ou distribution
|
||||||
|
|
||||||
Lorsque le paquet arrivé, il est mis en tampon, ou rejeté. Puis il y a génération ou interruption, on lui alloue le SK_buffer, appelle la fonction et on le met en file d'attente du CPU. Il est ensuite traité au niveau processeur, t c'est ici que le pare feu intervient pour filtrer les paquets : il peut lire ce qui se passe dans le processeur, et en fonction de ses règles il l'accepte ou le rejette.
|
Lorsque le paquet arrivé, il est mis en tampon, ou rejeté. Puis il y a génération ou interruption, on lui alloue le SK_buffer, appelle la fonction et on le met en file d'attente du CPU. Il est ensuite traité au niveau processeur, t c'est ici que le pare feu intervient pour filtrer les paquets : il peut lire ce qui se passe dans le processeur, et en fonction de ses règles il l'accepte ou le rejette.
|
||||||
|
|
||||||
|
### La définition de sk_buffer
|
||||||
|
|
||||||
|
- Le sk_buff conserve toutes les informations nécessaires sur un paquet.
|
||||||
|
- Par sa structure, nous avons accès aux informations d’un paquet, y compris les pointeurs sur le paquet et les variables qui décrivent celui-ci.
|
||||||
|
- Chaque fois qu’il y a un pointeur qui s’appelle skb, il doit pointer vers une instance de cette structure.
|
||||||
|
- Liste des pointeurs nécessaire au buffer : <https://www.kernel.org/doc/htmldocs/networking/ch01s02.html>
|
||||||
|
|
||||||
SK_buffer conserve les données sur les paquets. c'est un objet qui permet à l'OS de se "représenter" le paquet : toutes les données (dont entête, tout ça) qui sont inscrite dedans.
|
SK_buffer conserve les données sur les paquets. c'est un objet qui permet à l'OS de se "représenter" le paquet : toutes les données (dont entête, tout ça) qui sont inscrite dedans.
|
||||||
|
|
||||||
## Netfilter
|
## Netfilter
|
||||||
|
|
Loading…
Reference in a new issue