m1/Cours Audit & Sécurité réseau/Sécurité des réseaux - A.Hocine.md

6.9 KiB

11/06/18 - Cours 6

Rappels sur OSI

On va travailer essentiellement sur le modèle OSI :
Couches logicielles :
7 - Transport
6 - Présentation
5 - Session

Couche charnière :
4 - Transport

Couches matérielles :
3 - Réseau
2 - Liaison
1 - Physique

  1. Physique, signal, des 0 et des 1
  2. Trames ethernet suivant la norme IEEE802.3 :
P+D @mac dest @mac src Type Data CRC
7+1 octets 6 octets 6 octets 2 octets Data CRC
Code indiquant protocole qui va prendre la suite de l'opération Datagramme IP : il devrait nous fournir le schéma (au pire ça se trouve sur le web) CRC

Le datagramme IP (codé sur 32 bits) comporte un important entête composé de plusieurs parties. Dans la DATA du datagramme IP on retrouve le segment TCP (codé sur 32 bits). Il a aussi un entête puis la DATA.

  1. C'est le datagramme IP
  2. TCP ou UDP, regarde port src et port dst

Exercice

Consignes : voir ressources cours 1

1- Adresses mac :
src : 00 80 C8 7A 0A D8
dst : 00 D0 59 82 2B 86
2- Entête datagramme :
45 00 00 40
8B 12 40 00
40 06 57 17
AC 10 00 64 = IP source : 172.16.0.100
AC 10 00 0A = IP dest : 172.16.0.10
3 - Version : ipdv4 (premier octet du datagramme)
4- Longueur d'entête : 5 (IHL : deuxième octet datagramme) 5- 5 * 4 octets : 20 octets 6- 06 : TCP
7- 0800
8- Port source : 110E : 4341 Port destination : 0015 : 21
9- 6+6+2 = 14 (on compte en général pas P+D)

L'entête TCP

Établissement de la connexion : mode consistant à n'autoriser à entrer sur un réseau uniquement le traffic internet répondant aux requêtes émises depuis le réseau local. Le routeur firewall se charge de bloquer/autoriser le traffic.

C'est l'échange connu avec les flags en TCP pour établir une connexion :

  • SYN (avec un n° de séquence : codé sur 32 bits)
  • ACK-SYN (répond + démande synchro), (numéro d'acquittement = numéro de séquence+1, nouveau numéro de séquence)
  • ACK (numéro de séquence +1, numéro d'acquittement = nouveau numéro de séquence +1 )

Il faut donc que le paquet ait un numéro de séquence+1 pour entrer dans le réseau

Exercice

Trames capturées par moniteur réseau. Il a ajouté des éléments qui ne nous intéressent pas (propres au moniteur)

L22 : adresse mac source
L26 : Type
... On entre dans datagramme IP
L42 : Protocole
L46 et 47 : IP sources et destination
L54 : 0 pour les 4 premiers bits puis 0010 indiquent la levée de drapeau (SYN)

Autre trame :
L 90 : addresses
..
L124 125 : Les numéros d'acquittance et de séquence

La RFC1918

Request For Command
Elle détermine pour l'IPv4 les adresses IP publiques et celles privées. Il ya un système de classes. Les privées :

Classe ip/masque plage
A 10.0.0.0/8 10.0.0.1 à 10.255.255.255
B 172.16.0.0/12 172.16.0.1 à 172.31.255.255
C 192.168.0.0/16 192.168.0.1 à 192.168.255.255

Si y a des adresses privées, c'est donc qu'on a de la NAT pour pouvoir permettre de communiquer avec Internet.

Attention, SNAT en Cisco = Static NAT, ic c'est Source NAT.
DNAT n'est pas Dymanic NAT comme en Cisco mais Destination NAT.

Construction d'une table NAT/PAT:

  • IPlocale:port de base
  • IP:port de destination
  • IPpublique:port personnalisée
  • IP:port destination

Exercice (4)

1.1 Parce que c'est un réseau privé

2.1 Parce que le 80 est utilisé pis faut différentier autre serveur http
2.2 Au lieu de laisser par défaut 80 ils vont sélectioner le 4500

3.1


13/06/18 - Cours 7

IPTables

NetFilter

Pre-routing : Agit sur paquet avant routage, pour permettre à un client extérieur d'accéder à un membre du réseau (change adresse IP de destination) . Post-routing : Agit sur paquet après routage, pour permettre à un membre du réseau local d'accéder à Internet (change adresse IP source).

TP

iptables -t nat -A POSTROUTING -O eth1 -j MASQUERADE
-t table
-o : sortie
-j cible
Masquerade masque les adresses privées du local. Un peu plus gourmande que commande suivante car elle va chercher l'IP sur internet

iptable -t nat -A POSTROUTING -O eth1 -j SNAT --tosource XX.XX.XX.XX
SNAT précise l'adresse IP source qu'on a côté Internet

La config réseau du TP est pas claire - abandon du TP après deux heures à essayer de comprendre comment configurer le réseau des VM.

Il est conseillé de se faire un bloc-note avec les commandes. Pour l'exam ?

Statégie par défaut : ACCEPT

Options

  • -t pour préciser une table
  • -N Créer une chaîne
  • -F vide une chaine ou toute la table si pas de chaine spécifiée. On peut préciser INPUT ou OUTPUT pour filtrer les chaines à vider. La chaine continuera d'exister mais sera vide
  • -X Supprime une chaine. Elle doit être vide (donc -F avant pour virer les règles)
  • -L liste les règles d'une chaine ou toutes si aucune chaine spécifiée
  • -A ajoute une règle; -D la supprime. On précise la chaine (PREROUTING, OUTPUT, INPUT, POSTROUTING...) au début de l'ajout/suppression de la règle. si on précise un numéro avec D on indique la ligne

Paramètres pour ajout de règles

  • -p protocole (tcp, udp, icmp, esp...)

  • -j jump : l'action a effectuer si le paquet correpond à la règle (par exemple une autre chaine)

    • SNAT : Nat source
    • DNAT : Nat destination
    • LOG : journalise tous les paquets (dans /var/log/messages par défaut)
    • MASQUERADE : Camouflage (cas particulier de nat source)
  • -o interface de sortie

  • -m spécifie une correspondance à détecter sur le paquet (lié à une extension conntrack ?). peut utiliser les inversions si suivi de !

    • state pour checker un état ( --state NEW, ou ESTABLISHED, RELATED, INVALID)
    • limit pour spécifier des limites de temps et de connexions : --limit 2/minute, --limit-burst 5)
    • multiport pour spécifier plusiuers ports (jusqu'à 15) : --source-port 22,53,80
    • mac pour filtrer à partir adresse MAC (niveau 2). Cette correspondance ne s'applique qu'aux interfaces ethernet et n'est valide que dans les chaines PREROUTING, FORWARD et INPUT : --mac-source 00:00:00:01
  • --icmp-type précise si le paquet est entrant ou sortant dans le cadre du protocole icmp

  • --log-level info avec log indique le niveau de journalisation (de 0 à 8)

  • --log-prefix puis un texte pour préfixer nos journaux.