« SE2a5 système/réseau » : différence entre les versions
(20 versions intermédiaires par le même utilisateur non affichées) | |||
Ligne 8 : | Ligne 8 : | ||
== Création des machines virtuelles == | == Création des machines virtuelles == | ||
[[File:2023_Architecture_MV.png|thumb|right|400px]] | |||
Comme hyperviseur pour la gestion des machines virtuelles nous utilisons le système Xen. Chaque élève configure sa propre machine virtuelle pour installer ses services. | Comme hyperviseur pour la gestion des machines virtuelles nous utilisons le système Xen. Chaque élève configure sa propre machine virtuelle pour installer ses services. | ||
Ligne 101 : | Ligne 103 : | ||
Pour interconnecter votre routeur, en ce qui concerne IPv6 cette fois, vous utiliserez RIPv6. Pour vous donner une base de départ voici la configuration RIPv6 du routeur de la plateforme concernant votre réseau de travaux pratiques : | Pour interconnecter votre routeur, en ce qui concerne IPv6 cette fois, vous utiliserez RIPv6. Pour vous donner une base de départ voici la configuration RIPv6 du routeur de la plateforme concernant votre réseau de travaux pratiques : | ||
ipv6 router rip | ipv6 router rip tpse5 | ||
redistribute connected metric 1 | redistribute connected metric 1 | ||
redistribute rip 1 metric 1 | redistribute rip 1 metric 1 | ||
Ligne 107 : | Ligne 109 : | ||
! | ! | ||
Il existe le même bloc avec le nom tpse2a5. | |||
N’oubliez pas d’activer le protocole RIPv6 sur l’interface interconnexion avec une commande du style <code>ipv6 rip | N’oubliez pas d’activer le protocole RIPv6 sur l’interface interconnexion avec une commande du style <code>ipv6 rip tpse5 enable</code>. | ||
Testez votre connectivité IPv6 en utilisant google. | Testez votre connectivité IPv6 en utilisant google. | ||
Ligne 125 : | Ligne 127 : | ||
== Serveur DNS == | == Serveur DNS == | ||
Vous allez réserver un nom de domaine pour associer un nom DNS à chacune de vos adresses IP (les zones inverses devraient, elles aussi, être gérées mais nous n'avons pas la délégation pour ce faire). Il est suggéré d’utiliser le registrar Gandi [http://www.gandi.net}. Une fois le nom de domaine reservé, configurez bind (paquetage <code>bind9</code>) sur votre serveur virtuel de services pour donner les adresses IPv4 et IPv6 correspondant à vos noms de machines. Utilisez l’interface web de votre | Vous allez réserver un nom de domaine pour associer un nom DNS à chacune de vos adresses IP (les zones inverses devraient, elles aussi, être gérées mais nous n'avons pas la délégation pour ce faire). Il est suggéré d’utiliser le registrar Gandi [http://www.gandi.net}. Une fois le nom de domaine reservé, configurez bind (paquetage <code>bind9</code>) sur votre serveur virtuel de services pour donner les adresses IPv4 et IPv6 correspondant à vos noms de machines. Utilisez l’interface web de votre registrar pour paramétrer votre machine comme serveur DNS principal. Utilisez le serveur DNS de votre binôme comme serveur DNS secondaire. | ||
Comme votre serveur DNS ne peut pas être contacté en IPv4 vous allez configurer la machine mandataire pour servir votre zone en tant que serveur DNS secondaire. Le serveur mandataire se met à jour via le réseau privé du mandataire. | Comme votre serveur DNS ne peut pas être contacté en IPv4 vous allez configurer la machine mandataire pour servir votre zone en tant que serveur DNS secondaire. Le serveur mandataire se met à jour via le réseau privé du mandataire. Du coup au niveau du registrar vous déclarerez un "glue record" avec l'adresse IPv4 du mandataire et l'adresse IPv6 de la machine de services. | ||
== Sécurisation de site Web par certificat == | == Sécurisation de site Web par certificat == | ||
Ligne 145 : | Ligne 147 : | ||
=== Gestion manuelle des clefs === | === Gestion manuelle des clefs === | ||
Vous pouvez vous appuyer sur le document [http://www.bortzmeyer.org/jres-dnssec-2009.html] pour réaliser la sécurisation. Testez votre configuration avec | Vous pouvez vous appuyer sur le document [http://www.bortzmeyer.org/jres-dnssec-2009.html] pour réaliser la sécurisation. Testez votre configuration avec l’outil [https://dnsviz.net]. | ||
Pour entrer dans les détails, vous allez devoir effectuer les opération suivantes. | Pour entrer dans les détails, vous allez devoir effectuer les opération suivantes. | ||
Ligne 169 : | Ligne 171 : | ||
key-directory "/etc/bind/keys"; | key-directory "/etc/bind/keys"; | ||
dnssec-policy "dnspol"; | |||
inline-signing yes; | inline-signing yes; | ||
La ligne <code>dnssec-policy "dnspol";</code> fait référence au bloc global ci-dessous. | |||
dnssec-policy "dnspol" { | |||
keys { | |||
ksk key-directory lifetime unlimited algorithm 13; | |||
zsk key-directory lifetime unlimited algorithm 13; | |||
}; | |||
nsec3param; | |||
}; | |||
Vous avez aussi à communiquer la partie publique de la KSK à votre registrar comme pour la gestion manuelle. | Vous avez aussi à communiquer la partie publique de la KSK à votre registrar comme pour la gestion manuelle. | ||
Ligne 260 : | Ligne 272 : | ||
Pour IPv6, l’idée est d’insérer sur les routeurs principaux, avec le mécanisme SLA, une route pour les adresses IPv6 RENATER vers l’ISR4331 et de mettre en place un vrai NAT sur l’ISR4331 entre le préfixe IPv6 RENATER et le le préfixe IPv6 orange. L’ISR4331 doit aussi mettre en place un routage statique vers le routeur orange. | Pour IPv6, l’idée est d’insérer sur les routeurs principaux, avec le mécanisme SLA, une route pour les adresses IPv6 RENATER vers l’ISR4331 et de mettre en place un vrai NAT sur l’ISR4331 entre le préfixe IPv6 RENATER et le le préfixe IPv6 orange. L’ISR4331 doit aussi mettre en place un routage statique vers le routeur orange. | ||
= Effraction WiFi = | |||
Vous allez testez dans cette section les méthodes de sécurisation du WiFi. | |||
== Cassage de clef WEP d’un point d’accès WiFi == | |||
Repérez le nom du réseau sans fil <code>cracotte</code> correspondant à votre binôme (réseau diffusé par le point d’accès Cisco présent dans la salle). Installez le paquetage <code>aircrack-ng</code> et utilisez-le pour trouver la clef WEP associée à votre réseau. Il faudra commencer par trouver le point d’accès (canal, nom des réseaux) puis écouter les trames WiFi avec <code>airodump-ng</code> (la carte WiFi étant passée en mode écoute à l’aide de l’utilitaire <code>airmon-ng</code>). Une fois suffisament de trames échangées, lancez l’algorithme de craquage de la clef WEP (<code>aircrack-ng</code>). | |||
== Cassage de mot de passe WPA-PSK par force brute == | |||
Utilisez les outils du paquetage <code>aircrack-ng</code> pour lancer une recherche sur le mot de passe de l’identification par WPA-PSK. Repérez le nom du réseau sans fil <code>kracotte</code> correspondant à votre binôme (réseau diffusé par le point d’accès Cisco présent dans la salle). Capturez des dialogues d’identification WPA avec <code>airodump-ng</code>. Attention pour capturer ces paquets d’identification vous devez être à bonne distance du point d’accès du banc d’essai. L’utilitaire indique en haut de son affichage si de telles trames sont capturées. Une fois chose faite, lancez <code>aircrack-ng</code> pour tenter de craquer la clef WPA. Le craquage doit se faire avec l’aide d’un dictionnaire. On va donc supposer que la clef WPA est un nombre sur 8 chiffres. En conséquence, créez un dictionnaire de toutes les clefs de ce format et lancez <code>aircrack-ng</code>. | |||
= Sécurisations = | |||
Dans cette dernière section vous devez sécuriser, au sens sécurité contre les instrusions, des mécanismes système ou réseau. | |||
== Chiffrement de données == | |||
Sur votre machine virtuelle ajoutez une partition de quelques Go. Sécurisez la partition en utilisant l’utilitaire <code>cryptsetup</code> (choisissez le type <code>plain</code>), créez un système de fichiers au dessus de la partition sécurisée (faite un tour dans le répertoire <code>/dev/mapper</code> pour trouver le périphérique correspondant) et montez-le à la main. Ajoutez des données sur ce système de fichiers. Rebootez votre machine virtuelle, tentez à nouveau de lire les données. Essayez d'automatiser le montage de la partition chiffrée. | |||
== Sécurisation WiFi par WPA2-EAP == | |||
Le but est de faire en sorte que l’accès à la borne WiFi soit controlé par WPA2-EAP. L’identification va se faire en utilisant un serveur <code>FreeRadius</code>. | |||
En résumé vous effectuer les actions décrites ci-dessous. | |||
* Ajouter un VLAN par élève de numéro <code>200+N</code> sur votre réseau de promotion, <code>N</code> étant votre numéro de cahier dans le TP. Associez à votre VLAN le réseau IPv4 <code>10.0.200+N.0/24</code> et routez ce réseau. | |||
* Relier le routeur de promotion avec <code>capbreton</code> par une liaison Trunk. | |||
* Configurer une interface pour votre VLAN sur <code>capbreton</code> dans le fichier adapté du répertoire <code>/etc/network/interfaces.d</code>. Il faut aussi créer un commutateur virtuel avec comme port initial l'interface VLAN juste créée. Vous pouvez enfin ajouter une interface à votre machine de services donnant sur votre VLAN, n'oubliez pas de la configurer avec une adresse IPv4. | |||
* Ajouter à la configuration du point d’accès WiFi un SSID, de même nom que votre machine de services, protégé par la méthode WPA2-EAP. Des exemples de configurations pour point d'accès WiFi sont donnés dans la suite de la section. | |||
* Configurer, sur votre machine de services, un serveur FreeRadius en PEAP-MSCHAPv2, autoriser le point d'accès WiFi à utiliser le serveur d'identification et créer un utilisateur. | |||
* Implanter un serveur DHCP, pour les adresses d'octet de poids faible <code>100</code> à <code>200</code> de votre réseau IP, sur le routeur principal de promotion. Donner l'adresse de votre machine de services comme routeur par défaut et comme serveur DNS. | |||
* Implanter une mascarade sur votre machine de services pour toutes les machines de votre VLAN via votre machine mandataire | |||
Vous pouvez tester la visibilité de votre SSID, l'identification WiFi, le serveur DHCP et enfin l'accès à Internet en utilisant votre téléphone portable ou la carte WiFi des Zabeth. | |||
Exemple de configuration d'un point d'accès WiFi Cisco sous IOS pour les élèves <code>N</code> et <code>M</code> partageant le même mandataire (proxy en patoi) : | |||
... | |||
aaa new-model | |||
aaa authentication login eap_studentN group radius_studentN | |||
radius-server host <ip_VM_SERVICES_N> auth-port 1812 acct-port 1813 key secret_studentN | |||
aaa group server radius radius_studentN | |||
server <ip_VM_SERVICES_N> auth-port 1812 acct-port 1813 | |||
! | |||
... | |||
dot11 ssid VM_SERVICES_N | |||
vlan 200+N | |||
authentication open eap eap_studentN | |||
authentication network-eap eap_studentN | |||
authentication key-management wpa | |||
mbssid guest-mode | |||
! | |||
... | |||
interface Dot11Radio0 | |||
encryption vlan 200+N mode ciphers aes-ccm | |||
... | |||
! | |||
... | |||
interface Dot11Radio0.200+N | |||
encapsulation dot1Q 200+N | |||
bridge-group 200+N | |||
! | |||
interface GigabitEthernet0.200+N | |||
encapsulation dot1Q 200+N | |||
bridge-group 200+N | |||
! | |||
... | |||
Exemple de configuration d'un point d'accès WiFi Cisco sous WLC : | |||
(Cisco Controller) config sysname WLC1 | |||
(Cisco Controller) config prompt WLC1 | |||
(WLC1) config interface create vlang1 101 | |||
(WLC1) config interface port vlang1 1 | |||
(WLC1) config interface address dynamic-interface vlang1 10.60.1.10 255.255.255.0 10.60.1.1 | |||
(WLC1) config wlan create 1 "SSID G1" SSID_G1 | |||
(WLC1) config wlan interface 1 vlang1 | |||
(WLC1) show wlan summary | |||
(WLC1) config radius auth add 1 193.48.57.164 1812 ascii <secret_group1> | |||
(WLC1) config wlan radius_server auth add 1 1 | |||
(WLC1) config wlan aaa-override enable 1 | |||
(WLC1) config wlan security wpa enable 1 | |||
(WLC1) config wlan security wpa wpa2 enable 1 | |||
(WLC1) config wlan security wpa wpa1 disable 1 | |||
(WLC1) config wlan security wpa wpa2 ciphers aes enable 1 | |||
(WLC1) config wlan security wpa wpa2 ciphers tkip disable 1 | |||
(WLC1) config wlan security wpa akm 802.1x enable 1 | |||
(WLC1) config wlan broadcast-ssid enable 1 | |||
(WLC1) config wlan enable 1 | |||
(WLC1) save config | |||
= Annexes = | |||
Fichier source schéma architecture machines virtuelles : [[Media:2023_Architecture_MV.svg]] |
Version actuelle datée du 16 janvier 2024 à 14:58
Description de l'atelier système et réseau
Cet atelier consiste en la réalisation d’une maquette de réseau permettant de manipuler les protocoles de routage dynamique, de redondance réseau ainsi que le protocole réseau IPv6. D’un point de vue système vous aurez à installer une machine virtuelle et à y configurer des services. Enfin la mise en place d’un serveur DNS sécurisé, d'un site Web sécurisé et d'un réseau WiFi sécurisé permet de mettre en pratique vos connaissances sur la sécurité réseau.
Installation des systèmes d’exploitation
Vous devez installer le système d'exploitation de vos machines virtuelles. Eventuellement il peut être nécessaire de réinstaller le système d'exploitation des machines de projet ou des ordinateurs portables utilisés en clients WiFi.
Création des machines virtuelles
Comme hyperviseur pour la gestion des machines virtuelles nous utilisons le système Xen. Chaque élève configure sa propre machine virtuelle pour installer ses services.
Du au nombre limité d'adresses IPv4 disponibles pour l'atelier, il est nécessaire de créer des machines virtuelles mandataires gérant une adresse IPv4 pour plusieurs machines virtuelles. Faites en sorte de minimiser le nombre des machines mandataires.
Les machines de services peuvent contacter Internet et être contactées directement d'Internet via leurs adresses IPv6. Pour contacter Internet en IPv4 les machines de service passent par une mascarade installée sur leur machine mandataire. Pour être contactée d'Internet en IPv4 les machines de services se reposent sur leur machine mandataire qui reçoit les requêtes et qui les redirigent vers la bonne machine de services par des mécanismes dépendant du service accédé (e.g. mécanisme de mandaire inverse pour un service Web).
La connexion IPv4 entre machine de services et machine mandataire se fait par un réseau privé. Chaque type de machine possède donc deux interfaces réseau, une interface dans le réseau routé de la promotion et une interface dans le réseau privé de la machine mandataire. Lisez bien, il doit y avoir un réseau privé par machine mandataire.
Les machines virtuelles sont créées sur le Dom0 capbreton.plil.info
(mot de passe administrateur habituel). Pour la création de la machine virtuelle utilisez la commande xen-create-image
. Il vous faut préciser à cet utilitaire le nom de votre machine (choisissez un thème commun), une méthode de configuration IP (prenez DHCP dans un premier temps, vous configurerez le fichier /etc/network/interfaces
ensuite), le commutateur virtuel sur lesquel accrocher l'interface réseau et le répertoire où les disques virtuels doivent être créés (imposez /usr/local/xen). Il n'est pas inutile de préciser la taille du disque virtuel (autour de 10G) et le mot de passe.
Configuration de la machine de services
Dans un second temps, créez deux partitions LVM de 10G pour votre machine virtuelle (rappelez le nom de la machine dans le nom des partitions) et modifiez le fichier de configuration de la machine virtuelle de services pour faire en sorte que les répertoires /var
et /home
de la machine virtuelle soient implantés sur ces partitions LVM.
Modifiez le fichier de configuration /etc/network/interfaces
pour faire en sorte que votre machine de services obtienne automatiquement une adresse IPv6 routée et pour fixer une adresse IPv4 sur le réseau privé de la machine mandataire.
Installez les paquetages nécessaires pour ssh
, le serveur Web apache2
et le serveur DNS bind
(voir la partie services).
Configuration de la machine mandataire
Modifiez le fichier de configuration /etc/network/interfaces
pour faire en sorte que votre machine de services obtienne automatiquement une adresse IPv6 routée et pour fixer une adresse IPv4 dans le réseau routé de la promotion.
Installez les paquetages nécessaires pour ssh
, le serveur Web apache2
et le serveur DNS bind
pour pouvoir mettre en place les mécanismes de redirection évoqués plus haut.
Mettez en place la mascarade et les redirections de ports.
Architecture réseau, première approche
Cette section détaille la maquette du réseau que vous devez réaliser rapidement pour que les machines virtuelles puissent être connectées à Internet.
Architecture de base
Vous construirez votre première maquette de réseau autour du routeur C9200. Ce route doit rester le routeur principal. Pour les apprentis ce routeur se trouve en E304 alors que l'hyperviseur est situé en E306.
Un premier réseau virtuel
Nous disposons d'un réseau IPv4 routé et ouvert : 193.48.57.160/27
(dans le VLAN 110 de l’école soit TP-NET1
). Vous allez découper ce réseau en deux sous-réseaux. Un pour les machines virtuelles des SE5 par apprentissage, un pour les machines virtuelles des SE5 IS sous statut étudiant.
Le routage de site (IPv4)
Routez votre VLAN sur votre routeur. Comme vous le savez, la configuration des routeurs doit initialement se faire via leurs ports série ; utilisez minicom sur un ordinateur Linux pour y accéder.
Le routage de site (IPv6)
Configurez votre routeur pour permettre à vos machines de se construire des adresses IPv6. Utilisez les préfixes IPv6 de Polytech’Lille prévus à cet effet (2001:660:4401:60a0::/60
pour une promotion et 2001:660:4401:60b0::/60
pour l’autre). Pour vous aider, voici un extrait de configuration IPv6 sur une interface du routeur de la plateforme maths/info :
interface ... ... ipv6 enable ipv6 address 2001:660:4401:60A0::/64 eui-64 ipv6 nd prefix 2001:660:4401:60A0::/64 1000 900 ipv6 nd router-preference high ... !
En ce qui concerne la configuration globale un simple
ipv6 unicast-routing
va faire l’affaire.
Interconnexion avec Internet (IPv4)
Interconnectez votre routeur de site avec celui de la plateforme. Vous utiliserez comme VLAN d’interconnexion, le VLAN 530 (INTERCO-4A
) associé au réseau IPv4 192.168.222.64/29 ou le VLAN 531 (INTERCO-5A
) associé au réseau IPv4 192.168.222.72/29. Choisissez suivant votre promotion. Le routeur de la plateforme utilise la première adresse disponible.
Faites en sorte que les deux routeurs s’échangent leurs routes par le protocole de routage OSPF. Pour vous donner une base de départ voici la configuration OSPF du routeur de la plateforme :
router ospf 1 router-id 192.168.222.4 summary-address 192.168.0.0 255.255.0.0 summary-address 193.48.57.160 255.255.255.224 redistribute connected subnets ! subnets allowed redistribute static subnets route-map ospf ! subnets allowed network 192.168.222.64 0.0.0.7 area 10 network 192.168.222.72 0.0.0.7 area 20 default-information originate !
Attention vos réseaux locaux ne doivent pas sortir par OSPF, rajoutez donc un filtre dans le bloc OSPF, par exemple :
router ospf 1 ... summary-address 10.0.0.0 255.0.0.0 not-advertise ... !
Interconnexion avec Internet (IPv6)
Les VLAN d’interconnexion pour IPv6 sont les mêmes que pour IPv4. Les réseaux IPv6 utilisés sur INTERCO-4A
et INTERCO-5A
sont le réseau local IPv6 standard FE80::0/10. Le routeur de la plateforme utilise la première adresse disponible.
Pour interconnecter votre routeur, en ce qui concerne IPv6 cette fois, vous utiliserez RIPv6. Pour vous donner une base de départ voici la configuration RIPv6 du routeur de la plateforme concernant votre réseau de travaux pratiques :
ipv6 router rip tpse5 redistribute connected metric 1 redistribute rip 1 metric 1 redistribute static metric 1 !
Il existe le même bloc avec le nom tpse2a5.
N’oubliez pas d’activer le protocole RIPv6 sur l’interface interconnexion avec une commande du style ipv6 rip tpse5 enable
.
Testez votre connectivité IPv6 en utilisant google.
Services Internet
Le but est ici de configurer sur votre machine des services fonctionnels et sécurisés. Les accès IPv6 doivent être directement gérés par la machine virtuelle de service. Les accès IPv4 doivent être gérés par la machine mandataire.
Serveur SSH
Votre machine virtuelle Xen de services doit être accessible par SSH. Autorisez les accès par l'utilisateur root
via le fichier de configuration /etc/ssh/sshd_config
et l'option PermitRootLogin
.
Pour l'accès avec l'adresse IPv4, il n'y a rien de particulier à faire sur la machine mandataire, mis à part installer le paquetage ssh
. La connexion IPv4 sur votre machine se fera par rebond avec l'option -J
de l'utilitaire ssh
.
Serveur DNS
Vous allez réserver un nom de domaine pour associer un nom DNS à chacune de vos adresses IP (les zones inverses devraient, elles aussi, être gérées mais nous n'avons pas la délégation pour ce faire). Il est suggéré d’utiliser le registrar Gandi [http://www.gandi.net}. Une fois le nom de domaine reservé, configurez bind (paquetage bind9
) sur votre serveur virtuel de services pour donner les adresses IPv4 et IPv6 correspondant à vos noms de machines. Utilisez l’interface web de votre registrar pour paramétrer votre machine comme serveur DNS principal. Utilisez le serveur DNS de votre binôme comme serveur DNS secondaire.
Comme votre serveur DNS ne peut pas être contacté en IPv4 vous allez configurer la machine mandataire pour servir votre zone en tant que serveur DNS secondaire. Le serveur mandataire se met à jour via le réseau privé du mandataire. Du coup au niveau du registrar vous déclarerez un "glue record" avec l'adresse IPv4 du mandataire et l'adresse IPv6 de la machine de services.
Sécurisation de site Web par certificat
Sur la machine virtuelle de services , configurez apache2
(paquetage du même nom) en mode sécurisé à l’aide d’une clef asymétrique et d’un certificat signé par une autorité de certification (CA). Comme CA, il est conseillé d’utiliser aussi Gandi. Le CA signe un CSR (Certificate Signing Request), vous allez créer vos clefs et le CSR en utilisant l'utilitaire openssl
(vous pouvez vous aider du Wiki de Gandi). Une fois le CSR signé par le CA et donc transformé en un certificat vous pourrez configurer apache2
pour gérer du HTTPS sur le port 443. Dans la définition du serveur virtuel pour ce port, il faut insérer la ligne de configuration SSLEngine on
. Il faut aussi préciser où se trouve la clef privée du serveur via le mot clef SSLCertificateKeyFile
et où se trouve le certificat via le mot clef SSLCertificateFile
. Il faut aussi définir la chaîne de certification avec SSLCertificateChainFile
.
Faites très attention à la clef privée générée avec openssl
si vous la perdez, votre certificat devient inutile. Il est conseillé de la stocker de façon pérenne dans votre machine de services.
Là encore seuls les accès IPv6 peuvent se faire en direct sur votre machine de services. Pour IPv4 vous devez configurer apache2
comme mandataire inverse pour votre site. Pour la fonction mandataire inverse, activez les modules Apache proxy
et proxy_http
. Dans le fichier de configuration du site vous devez ajouter les directives SSLProxyEngine
, ProxyPass
et ProxyPassReverse
(utilisez l'adresse IPv4 privée de la machine de service dans les deux dernières directives).
Sécurisation de serveur DNS par DNSSEC
Sécurisez votre serveur DNS en signant la zone correspondant à votre nom de domaine.
Deux méthodes sont disponibles : la gestion manuelle des clefs de chiffrement ou la gestion automatique de ces clefs par bind.
Gestion manuelle des clefs
Vous pouvez vous appuyer sur le document [1] pour réaliser la sécurisation. Testez votre configuration avec l’outil [2].
Pour entrer dans les détails, vous allez devoir effectuer les opération suivantes.
- ajoutez l’option dnssec-enable yes; dans le fichier named.conf.options ;
- il est conseillé de créer un répertoire de nom
<nom_de_zone>.dnssec
pour y générer les clefs ; - créez la clef asymétrique de signature de clefs de zone (pour accélerer la génération sur un système de test vous pouvez utiliser l’option
-r /dev/urandom
) ;
dnssec-keygen -a RSASHA256 -b 2048 -f KSK -n ZONE <nom_de_zone>
- créez la clef asymétrique de la zone pour signer les enregistrements (pour accélerer la génération sur un système de test vous pouvez utiliser l’option
-r /dev/urandom
) ;
dnssec-keygen -a RSASHA256 -b 1024 -n ZONE <nom_de_zone>
- renommez les deux paires de clefs obtenues en utilisant le nom de la zone comme préfixe puis en suffixant d’abord par la destination de la clef (
-ksk
pour la KSK ou-zsk
pour la ZSK) puis par le type de clef (.key
pour la clef publique ou.private
pour la clef privée) ; - incluez les clefs publiques dans votre fichier de zone, incrémentez le numéro de version de la zone ;
$include /etc/bind/<nom_de_zone>.dnssec/<nom_de_zone>-ksk.key $include /etc/bind/<nom_de_zone>.dnssec/<nom_de_zone>-zsk.key
- signez les enregistrements de la zone ;
dnssec-signzone -o <nom_de_zone> -k <nom_de_zone>-ksk ../<nom_de_zone> <nom_de_zone>-zsk
- modifiez le fichier
named.conf.local
pour utiliser la zone signée de suffixe.signed
; - il ne reste plus qu’à communiquer la partie publique de la KSK (présente dans le fichier
<nom_de_zone>-ksk.key
) à votre registrar (par exemple Gandi, regardez à "Manage DNSSEC" dans la section "DNS servers").
Gestion automatique des clefs
Rajoutez le bloc suivant dans la définition de vos zones :
key-directory "/etc/bind/keys"; dnssec-policy "dnspol"; inline-signing yes;
La ligne dnssec-policy "dnspol";
fait référence au bloc global ci-dessous.
dnssec-policy "dnspol" { keys { ksk key-directory lifetime unlimited algorithm 13; zsk key-directory lifetime unlimited algorithm 13; }; nsec3param; };
Vous avez aussi à communiquer la partie publique de la KSK à votre registrar comme pour la gestion manuelle.
Filtrage des services
Vérifiez dans les fichiers de contrôle de vos machine virtuelle que le port ssh est bien sujet à des attaques par force brute.
Installez un système pour bannir les machines sources des attaques les plus patentes (avec l’utilitaire fail2ban
par exemple).
Traitez aussi les attaques sur votre serveur DNS (via le protocole TCP uniquement).
Architecture réseau, finalisation
L’architecture complète
Votre réseau doit être redondant. Pour cela vous utiliserez trois routeurs/commutateurs et deux points d’accès WiFi. Les deux premiers routeurs implantent le réseau local et permettent d’accèder au fournisseur d’accès à Internet principal. Le troisième routeur permet d’accèder au fournisseur d’accès à Internet secondaire. Les points d’accès WiFi sont connectés sur les deux premiers routeurs. Sur ces deux routeurs, l’un est présent pour assurer la continuation de service si le premier tombe.
Le serveur de virtualisation doit être connecté aux deux premiers commutateurs.
Les réseaux virtuels
Vous devez ajouter un réseau IPv4 non routé, par exemple 10.60.0.0/16
). Chaque élève doit recevoir un sous-réseau de ce réseau privé dans lesquels il pourra connecter son client WiFi. Il est demandé d’établir un tableau listant tous les VLAN de votre réseau avec les adresses IPv4 et IPv6 utilisées par les routeurs dans chaque VLAN.
Le routage de site (IPv4)
Ajoutez le routage IPv4 pour vos VLAN privés sur le C9200. Configurez le routeur de secours C6509E comme le C9200.
Utilisez le Cisco ISR 4331 pour accèder au fournisseur d’accès secondaire (voyez plus bas).
Le routage de site (IPv6)
Faites de même que pour IPv4.
Interconnexion avec Internet (IPv4)
Configurez le C6509E sur le réseau d'interconnexion avec le protocole OSPF comme pour le C9200.
Jouez sur l’option metric
de la commande redistribute
pour faire en sorte que le C9200 soit l’élément IPv4 prioritaire de votre réseau.
Interconnexion avec Internet (IPv6)
Configurez le C6509E sur le réseau d'interconnexion avec le protocole RIPv6 comme pour le C9200.
Jouez sur l’option metric
de la commande redistribute
pour faire en sorte que le C9200 soit l’élément IPv4 prioritaire de votre réseau.
Sécurisation du réseau
Pour rendre votre réseau plus robuste, faites en sorte que les machines utilisent un routeur actif en implantant le protocole VRRP sur vos routeurs. Pour vous donner une idée de départ voici une configuration VRRP typique :
RTR-A(config)# int fa0/1 RTR-A(config-if)# ip address 10.10.10.1 255.255.255.0 RTR-A(config-if)# vrrp 1 ip 10.10.10.3 RTR-A(config-if)# vrrp 1 preempt RTR-A(config-if)# vrrp 1 priority 110
RTR-B(config)# int fa0/1 RTR-B(config-if)# ip address 10.10.10.2 255.255.255.0 RTR-B(config-if)# vrrp 1 ip 10.10.10.3 RTR-B(config-if)# vrrp 1 preempt RTR-B(config-if)# vrrp 1 priority 100
Sous IOS XE, la syntaxe diffère en ce qu’il existe un mode de configuration VRRP et que le mot clef ip
devient address
mais vous devez pouvoir vous adapter.
Comment le routeur de la plateforme connaitra le routeur à utiliser pour contacter vos machines ?
Pour certains matériels cisco les commandes ci-dessous peuvent aider :
license boot level network-advantage fhrp version vrrp v3
Interconnexion Internet de secours (IPv4)
Proposez un schéma pour que le flux IPv4 puisse passer par la liaison fibre orange.
Le réseau virtuel de la liaison fibre orange se trouve sur le VLAN 510. Le réseau IPv4 de ce VLAN est 195.101.204.144/28
. Le routeur orange utilise l'adresse la plus haute disponible. Vous pouvez utiliser une adresse IPv4 à partir de 195.101.204.150
.
Si vous n’avez pas d’inspiration, une méthode est suggérée mais il en existe certainement d’autres :
- ajouter l’ISR4331 dans le groupe des serveurs redondants HSRP ou VRRP en tant que routeur le moins prioritaire ;
- utiliser le mécanisme SLA sur les deux routeurs principaux pour décrémenter la priorité HSRP ou VRRP en cas d’incident via RENATER ;
- implanter une mascarade sur l’ISR4331 vers le routeur orange en utilisant l'adresse IPv4 orange routée de votre promotion ;
- implanter une redirection de ports sur l’ISR4331 pour que vos machines mandataires puissent être contactables d'Internet en IPv4.
Interconnexion Internet de secours (IPv6)
Proposez un schéma pour que le flux IPv6 puisse passer par la liaison SDSL de secours.
Le reseau IPv6 sur le VLAN 510 est 2a01:c916:2047:C800::/64
. Le routeur orange utilise l'adresse la plus basse disponible.
Pour IPv6, l’idée est d’insérer sur les routeurs principaux, avec le mécanisme SLA, une route pour les adresses IPv6 RENATER vers l’ISR4331 et de mettre en place un vrai NAT sur l’ISR4331 entre le préfixe IPv6 RENATER et le le préfixe IPv6 orange. L’ISR4331 doit aussi mettre en place un routage statique vers le routeur orange.
Effraction WiFi
Vous allez testez dans cette section les méthodes de sécurisation du WiFi.
Cassage de clef WEP d’un point d’accès WiFi
Repérez le nom du réseau sans fil cracotte
correspondant à votre binôme (réseau diffusé par le point d’accès Cisco présent dans la salle). Installez le paquetage aircrack-ng
et utilisez-le pour trouver la clef WEP associée à votre réseau. Il faudra commencer par trouver le point d’accès (canal, nom des réseaux) puis écouter les trames WiFi avec airodump-ng
(la carte WiFi étant passée en mode écoute à l’aide de l’utilitaire airmon-ng
). Une fois suffisament de trames échangées, lancez l’algorithme de craquage de la clef WEP (aircrack-ng
).
Cassage de mot de passe WPA-PSK par force brute
Utilisez les outils du paquetage aircrack-ng
pour lancer une recherche sur le mot de passe de l’identification par WPA-PSK. Repérez le nom du réseau sans fil kracotte
correspondant à votre binôme (réseau diffusé par le point d’accès Cisco présent dans la salle). Capturez des dialogues d’identification WPA avec airodump-ng
. Attention pour capturer ces paquets d’identification vous devez être à bonne distance du point d’accès du banc d’essai. L’utilitaire indique en haut de son affichage si de telles trames sont capturées. Une fois chose faite, lancez aircrack-ng
pour tenter de craquer la clef WPA. Le craquage doit se faire avec l’aide d’un dictionnaire. On va donc supposer que la clef WPA est un nombre sur 8 chiffres. En conséquence, créez un dictionnaire de toutes les clefs de ce format et lancez aircrack-ng
.
Sécurisations
Dans cette dernière section vous devez sécuriser, au sens sécurité contre les instrusions, des mécanismes système ou réseau.
Chiffrement de données
Sur votre machine virtuelle ajoutez une partition de quelques Go. Sécurisez la partition en utilisant l’utilitaire cryptsetup
(choisissez le type plain
), créez un système de fichiers au dessus de la partition sécurisée (faite un tour dans le répertoire /dev/mapper
pour trouver le périphérique correspondant) et montez-le à la main. Ajoutez des données sur ce système de fichiers. Rebootez votre machine virtuelle, tentez à nouveau de lire les données. Essayez d'automatiser le montage de la partition chiffrée.
Sécurisation WiFi par WPA2-EAP
Le but est de faire en sorte que l’accès à la borne WiFi soit controlé par WPA2-EAP. L’identification va se faire en utilisant un serveur FreeRadius
.
En résumé vous effectuer les actions décrites ci-dessous.
- Ajouter un VLAN par élève de numéro
200+N
sur votre réseau de promotion,N
étant votre numéro de cahier dans le TP. Associez à votre VLAN le réseau IPv410.0.200+N.0/24
et routez ce réseau. - Relier le routeur de promotion avec
capbreton
par une liaison Trunk. - Configurer une interface pour votre VLAN sur
capbreton
dans le fichier adapté du répertoire/etc/network/interfaces.d
. Il faut aussi créer un commutateur virtuel avec comme port initial l'interface VLAN juste créée. Vous pouvez enfin ajouter une interface à votre machine de services donnant sur votre VLAN, n'oubliez pas de la configurer avec une adresse IPv4. - Ajouter à la configuration du point d’accès WiFi un SSID, de même nom que votre machine de services, protégé par la méthode WPA2-EAP. Des exemples de configurations pour point d'accès WiFi sont donnés dans la suite de la section.
- Configurer, sur votre machine de services, un serveur FreeRadius en PEAP-MSCHAPv2, autoriser le point d'accès WiFi à utiliser le serveur d'identification et créer un utilisateur.
- Implanter un serveur DHCP, pour les adresses d'octet de poids faible
100
à200
de votre réseau IP, sur le routeur principal de promotion. Donner l'adresse de votre machine de services comme routeur par défaut et comme serveur DNS. - Implanter une mascarade sur votre machine de services pour toutes les machines de votre VLAN via votre machine mandataire
Vous pouvez tester la visibilité de votre SSID, l'identification WiFi, le serveur DHCP et enfin l'accès à Internet en utilisant votre téléphone portable ou la carte WiFi des Zabeth.
Exemple de configuration d'un point d'accès WiFi Cisco sous IOS pour les élèves N
et M
partageant le même mandataire (proxy en patoi) :
... aaa new-model aaa authentication login eap_studentN group radius_studentN radius-server host <ip_VM_SERVICES_N> auth-port 1812 acct-port 1813 key secret_studentN aaa group server radius radius_studentN server <ip_VM_SERVICES_N> auth-port 1812 acct-port 1813 ! ... dot11 ssid VM_SERVICES_N vlan 200+N authentication open eap eap_studentN authentication network-eap eap_studentN authentication key-management wpa mbssid guest-mode ! ... interface Dot11Radio0 encryption vlan 200+N mode ciphers aes-ccm ... ! ... interface Dot11Radio0.200+N encapsulation dot1Q 200+N bridge-group 200+N ! interface GigabitEthernet0.200+N encapsulation dot1Q 200+N bridge-group 200+N ! ...
Exemple de configuration d'un point d'accès WiFi Cisco sous WLC :
(Cisco Controller) config sysname WLC1 (Cisco Controller) config prompt WLC1 (WLC1) config interface create vlang1 101 (WLC1) config interface port vlang1 1 (WLC1) config interface address dynamic-interface vlang1 10.60.1.10 255.255.255.0 10.60.1.1 (WLC1) config wlan create 1 "SSID G1" SSID_G1 (WLC1) config wlan interface 1 vlang1 (WLC1) show wlan summary (WLC1) config radius auth add 1 193.48.57.164 1812 ascii <secret_group1> (WLC1) config wlan radius_server auth add 1 1 (WLC1) config wlan aaa-override enable 1 (WLC1) config wlan security wpa enable 1 (WLC1) config wlan security wpa wpa2 enable 1 (WLC1) config wlan security wpa wpa1 disable 1 (WLC1) config wlan security wpa wpa2 ciphers aes enable 1 (WLC1) config wlan security wpa wpa2 ciphers tkip disable 1 (WLC1) config wlan security wpa akm 802.1x enable 1 (WLC1) config wlan broadcast-ssid enable 1 (WLC1) config wlan enable 1 (WLC1) save config
Annexes
Fichier source schéma architecture machines virtuelles : Media:2023_Architecture_MV.svg