TP sysres IMA2a5 2021/2022 G5 : Différence entre versions
(→Exploitation des failles du systèmes) |
(→Configuration de l'accès WIFI N°1) |
||
(35 révisions intermédiaires par le même utilisateur non affichées) | |||
Ligne 14 : | Ligne 14 : | ||
|- | |- | ||
| Groupe 5 | | Groupe 5 | ||
− | | | + | | animal-crossing.site |
| AnimalCrossing | | AnimalCrossing | ||
| Debian 10 Buster | | Debian 10 Buster | ||
Ligne 137 : | Ligne 137 : | ||
On va devoir se connecter et le login sera '''root''' | On va devoir se connecter et le login sera '''root''' | ||
− | == ''' | + | == '''Services Internet''' == |
− | === | + | === Serveur SSH === |
+ | Pour configurer le serveur SSH sur notre machine virtuelle, on commencera par se connecter à cap breton : | ||
+ | |||
+ | ssh -4 capbreton.plil.info | ||
+ | |||
+ | Ensuite, on démarrera notre machine virtuelle | ||
+ | |||
+ | xen create /etc/xen/AnimalCrossing.cfg | ||
+ | xen console AnimalCrossing | ||
+ | |||
+ | On se connecte à notre machine en utilisant l'identifiant root et en entrant le mot de passe que nous avions précédemment. | ||
+ | |||
+ | On installera SSH sur notre machine virtuelle : | ||
+ | |||
+ | apt install openssh-server | ||
+ | |||
+ | Puis on effectuera des modifications dans le fichier suivant : | ||
+ | |||
+ | vi /etc/network/interfaces | ||
+ | |||
+ | Les modifications à faire sont les suivantes : | ||
+ | |||
+ | On met : | ||
+ | # The primary network interface | ||
+ | auto eth0 | ||
+ | iface eth0 inet6 auto | ||
+ | |||
+ | iface eth0 inet static | ||
+ | address 10.60.100.165/24 | ||
+ | up ip address add dev eth0 193.48.57.165/32 ; ip route add default via 10.60.100.254 src 193.48.57.165 | ||
+ | down ip address del dev eth0 193.48.57.165/32 ; ip route del default via 10.60.100.254 src 193.48.57.165 | ||
+ | |||
+ | On dé-commentera la ligne : | ||
+ | |||
+ | PermitRootLogin yes | ||
+ | |||
+ | On fera ensuite : | ||
+ | |||
+ | ifdown eth0 | ||
+ | ifup eth0 | ||
+ | |||
+ | On ouvrir un autre terminal et on fera un ping sur notre machine virtuelle pour vérifier que nous avons bien une réponse : | ||
+ | |||
+ | ping 193.48.57.165 | ||
+ | |||
+ | On a bien une réponse : | ||
+ | |||
+ | PING 193.48.57.165 (193.48.57.165) 56(84) bytes of data. | ||
+ | 64 bytes from 193.48.57.165: icmp_seq=1 ttl=61 time=0.527 ms | ||
+ | 64 bytes from 193.48.57.165: icmp_seq=2 ttl=61 time=0.554 ms | ||
+ | 64 bytes from 193.48.57.165: icmp_seq=3 ttl=61 time=0.513 ms | ||
+ | |||
+ | On se connectera en SSH de la manière suivante : | ||
+ | |||
+ | ssh root@193.48.57.165 | ||
+ | |||
+ | === Serveur DNS === | ||
+ | |||
+ | Le DNS va nous permettre d'établir l'association de notre nom de domaine à une adresse IP où il est hébergé sur le réseau internet.Pour commencer, nous devons vérifier si le nom de notre domaine est disponible sur gandi.net. Une fois, que cela est fait, nous pouvons acheter ce nom de domaine, ici : animal-crossing.net. On y associera ensuite un hostname dans les paramètres "Glue Reccords" à notre adresse IP, ici 193.48.57.165. De plus, nous ajouterons dans "Nameservers" notre host name : "ns.animal-crossing.site" puis "ns6.gandi.net" comme serveur secondaire. Un fois ces premières modifications réalisées, nous allons configurer notre DNS. | ||
+ | |||
+ | ''''' Fichiers de configuration ''''' | ||
+ | |||
+ | On commencera par se connecter en SSH à notre machine virtuelle : | ||
+ | |||
+ | ssh root@193.48.57.165 | ||
+ | |||
+ | Puis, si ce n'est pas déjà fait, on installera bind9 avec la commande : | ||
+ | |||
+ | apt install bind9 | ||
+ | |||
+ | On se rendra ensuite dans le fichier : | ||
+ | |||
+ | /etc/bind/name.conf.options | ||
+ | |||
+ | Et on y ajoutera le code suivant : | ||
+ | |||
+ | options { | ||
+ | directory "/var/cache/bind"; | ||
+ | forwarders { | ||
+ | 0.0.0.0; | ||
+ | }; | ||
+ | dnssec-validation auto; | ||
+ | listen-on-v6 { any; }; | ||
+ | allow-transfer { "allowed_to_transfer"; }; | ||
+ | }; | ||
+ | acl "allowed_to_transfer" { | ||
+ | 217.70.177.40/32; | ||
+ | }; | ||
+ | |||
+ | On définiera par la suite notre zone dans le fichier suivant : | ||
+ | |||
+ | /etc/bind/named.conf.local | ||
+ | |||
+ | On y ajoutera le code suivant : | ||
+ | |||
+ | zone "animal-crossing.site" { | ||
+ | type master; | ||
+ | file "/etc/bind/db.animal-crossing.site"; | ||
+ | }; | ||
+ | |||
+ | |||
+ | Enfin on configurer le fichier de zone qui nous permer de configurer le domaine. on créer alors le fichier : | ||
+ | |||
+ | /etc/bind/db.animal-crossing.site | ||
+ | |||
+ | |||
+ | Puis on entre la configuration suivante : | ||
+ | |||
+ | $TTL 3600 | ||
+ | @ IN SOA ns.animal-crossing.site. postmaster.animal-crossing.site. ( | ||
+ | 1 ; Version | ||
+ | 1800 ; Refresh (30m) | ||
+ | 600 ; Retry (10m) | ||
+ | 3600 ; Expire (1h) | ||
+ | 3600 ) ; Minimum TTL (1h) | ||
+ | IN NS ns.animal-crossing.site. | ||
+ | IN NS ns6.gandi.net. | ||
+ | ns IN A 193.48.57.165 | ||
+ | |||
+ | '''''Vérification du fonctionnement''''' | ||
+ | |||
+ | Afin de vérifier si nous avons correctement modifiés les fichiers de configuration, nous allons entrer la commande suivante : | ||
+ | |||
+ | named-checkzone animal-crossing.site /etc/bind/db.animal-crossing.site | ||
+ | |||
+ | Si cette commande nous renvoie '''OK''' c'est que la configuration que nous avons faite ne contient pas d'erreur | ||
+ | |||
+ | === Sécurisation de site web par certificat === | ||
+ | |||
+ | On commencera par installer le paquetage apache2 et nous le configuerons en mode sécurisé à l'aide d'une clé asymétrique et d'un certificat signé par une autorité de certification. | ||
+ | |||
+ | apt install apache2 | ||
+ | |||
+ | On installera également openssl : | ||
+ | |||
+ | apt install openssl | ||
+ | |||
+ | On va créer un certificat TSL : | ||
+ | |||
+ | openssl req -nodes -newkey rsa:2048 -sha256 -keyout animal-site.site.key -out animal-crossing.site.csr | ||
+ | |||
+ | On remplira les informations suivantes : | ||
+ | |||
+ | Country Name (2 letter code) [AU]:'''FR''' | ||
+ | State or Province Name (full name) [Some-State]:'''Nord''' | ||
+ | Locality Name (eg, city) []:'''Lille''' | ||
+ | Organization Name (eg, company) [Internet Widgits Pty Ltd]:'''PolytechLille''' | ||
+ | Organizational Unit Name (eg, section) []:'''SE2A5''' | ||
+ | Common Name (e.g. server FQDN or YOUR name) []: '''animal-crossing.site''' | ||
+ | Email Address []:'''lea.viciot@polytech-lille.net''' | ||
+ | Please enter the following 'extra' attributes | ||
+ | to be sent with your certificate request | ||
+ | A challenge password []: | ||
+ | An optional company name []: | ||
+ | |||
+ | On va déplacer les fichiers : | ||
+ | |||
+ | mv animal-crossing.site.key /etc/ssl/private | ||
+ | mv animal-crossing.site.csr /etc/ssl/certs | ||
+ | |||
+ | Nous allons ensuite aller sur Gandi, dans la rubrique "SSL Certificates" et on viendra en "Acheter" un. On viendra copier la clé générée sur le site web. Pour afficher le certificat .csr, on fera la commande : | ||
+ | |||
+ | cat animal-crossing.site.csr | ||
+ | |||
+ | Cela nous génerera notre certificat : | ||
+ | |||
+ | -----BEGIN CERTIFICATE REQUEST----- | ||
+ | MIIC5zCCAc8CAQAwgaExCzAJBgNVBAYTAkZSMQ0wCwYDVQQIDAROb3JkMQ4wDAYD | ||
+ | VQQHDAVMaWxsZTEWMBQGA1UECgwNUG9seXRlY2hMaWxsZTEOMAwGA1UECwwFU0Uy | ||
+ | QTUxHTAbBgNVBAMMFGFuaW1hbC1jcm9zc2luZy5zaXRlMSwwKgYJKoZIhvcNAQkB | ||
+ | Fh1sZWEudmljaW90QHBvbHl0ZWNoLWxpbGxlLm5ldDCCASIwDQYJKoZIhvcNAQEB | ||
+ | BQADggEPADCCAQoCggEBALgDBoEGCiDyHg0Rs4k+2iJ2roxNGZX2qYWviDW4bpDz | ||
+ | VQ+nAjDBjTIc7PPouL4JbG6V/5HxJe5lNRtu8oRLSCZmS6Dj5WQxa+KxaDi9avFJ | ||
+ | OjZpySV4TDIT6AUrLPFJXULF+jP4ceEG+KeDQZlRL9DpxyBhWqRD1Yxx+wcvjAdS | ||
+ | 7/v9higgs5xjx2DdjIclCzig7jumI2ol1Cu7EfnwCvAxeq/Chkxp2sPe0a9m9eOa | ||
+ | R7KjWs8HlygrdR+WbcZzc1i53DVGJczXfEIyLghyGVpKKbR5Li5rwcScScM1MJyD | ||
+ | e9GmeBteHFgZpHK1zIt7ovEno0CuMSkH8D5oUQGw0YMCAwEAAaAAMA0GCSqGSIb3 | ||
+ | DQEBCwUAA4IBAQCG/zIfiPfkWv1cJKNsnMClPNyvLRVO5osKOpAjUZtK0JCkyRum | ||
+ | T+7n+IH+IUD9zIs3hs2Xu6rB5qDF3e/rBLSrxO0pYRm3+uYPzsztmJMw7scaISwT | ||
+ | uaTByPQGfx7TOyEzcuKsDGEhSUNH0PblT8hilTHHnNnVG4S0cWgHh1F+c+RkfiUF | ||
+ | V7YbEyV0YEsyPAsCFB0VADyCZN+10yNqlDT8hepZxq1zcQ5yY80U0t99sKnfhdJj | ||
+ | zqWFBM3drsq+RXVe30rtahSLCV++aSiiGZelGmkTD56YbQk4+baYdt5aABvrAIh/ | ||
+ | TR1jdKWqj5dkYjHd7FtctBn7C7I0nN2FQH3N | ||
+ | -----END CERTIFICATE REQUEST----- | ||
+ | |||
+ | En attendant que le certificat soit généré, on peut modifier l'apparence de son site avec la commande : | ||
+ | |||
+ | vim /var/www/html/index.html | ||
+ | |||
+ | On télécharge nos certificats une fois qu'ils sont validés. On télécharge le certificat "animal-crossing.site.crt" ainsi que le certificat "GandiStandardSSLCA2.pem" | ||
+ | |||
+ | On ouvrira un autre terminal de commande pour copier les certificats sur la VM : | ||
+ | |||
+ | scp -r -p /home/pifou/Downloads/animal-crossing.site.crt root@193.48.57.165:/etc/ssl/certs | ||
+ | scp -r -p /home/pifou/Downloads/GandiStandardSSLCA2.pem root@193.48.57.165:/etc/ssl/certs | ||
+ | |||
+ | On va activer le module SSL : | ||
+ | |||
+ | a2enmod ssl | ||
+ | |||
+ | On modifie le fichier /etc/apache2/ports.conf | ||
+ | |||
+ | Listen 80 | ||
+ | |||
+ | <IfModule mod_ssl.c> | ||
+ | Listen 443 | ||
+ | </IfModule> | ||
+ | <IfModule mod_gnutls.c> | ||
+ | Listen 443 | ||
+ | </IfModule> | ||
+ | |||
+ | On viendra créer le fichier : | ||
+ | |||
+ | /etc/apache2/sites-available/000-animal-crossing.site-ssl.conf | ||
+ | |||
+ | On y entrera les caractéristiques : | ||
+ | |||
+ | <IfModule mod_ssl.c> | ||
+ | <VirtualHost 193.48.57.165:443> | ||
+ | ServerName animal-crossing.site | ||
+ | ServerAlias ns.animal-crossing.site | ||
+ | DocumentRoot /var/www/animal-crossing.site/ | ||
+ | CustomLog /var/log/apache2/secure_access.log combined | ||
+ | SSLEngine on | ||
+ | SSLCertificateFile /etc/ssl/certs/animal-crossing.site.crt | ||
+ | SSLCertificateKeyFile /etc/ssl/private/animal-crossing.site.key | ||
+ | SSLCACertificateFile /etc/ssl/certs/GandiStandardSSLCA2.pem | ||
+ | SSLVerifyClient None | ||
+ | </VirtualHost> | ||
+ | </IfModule> | ||
+ | |||
+ | On viendra activer notre site : | ||
+ | |||
+ | a2ensite 000-animal-crossing.site-ssl | ||
+ | |||
+ | On ajoute au début du fichier : nano /etc/apache2/apache2.conf | ||
+ | |||
+ | ServerName animal-crossing.site | ||
+ | |||
+ | On ajoute dans le fichier : nano /etc/apache2/sites-available/000-default.conf | ||
+ | |||
+ | Redirect permanent / https://www.animal-crossing.site/ | ||
+ | |||
+ | On redémarre le service apache2 : | ||
+ | |||
+ | service apache2 restart | ||
+ | |||
+ | === Sécurisation de serveur DNS par DNSSEC === | ||
+ | |||
+ | Puis le fichier /etc/bind/named.conf.options on ajoute dnssec-enable yes. Nous allons créer un dossier dans lequel nous allons générer les clés : | ||
+ | |||
+ | cd /etc/bind | ||
+ | mkdir animal-crossing.site.dnssec | ||
+ | |||
+ | On génèrera les clés : | ||
+ | |||
+ | dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE animal-crossing.site | ||
+ | dnssec-keygen -a RSASHA1 -b 1024 -n ZONE animal-crossing.site | ||
+ | |||
+ | Ensuite, je renomme les deux paires de clés obtenues : | ||
+ | |||
+ | mv Kanimal-crossing.site.+005+38625.key animal-crossing.site-ksk.key | ||
+ | mv Kanimal-crossing.site.+005+38625.private animal-crossing.site-ksk.private | ||
+ | |||
+ | mv Kanimal-crossing.site.+005+42451.key animal-crossing.site-zsk.key | ||
+ | mv Kanimal-crossing.site.+005+42451.private animal-crossing.site-zsk.private | ||
+ | |||
+ | On modifiera le fichier : | ||
+ | |||
+ | /etc/bind/db.animal-crossing.site | ||
+ | |||
+ | Et on y ajoutera : | ||
+ | |||
+ | $include /etc/bind/animal-crossing.site.dnssec/animal-crossing.site-ksk.key | ||
+ | $include /etc/bind/animal-crossing.site.dnssec/animal-crossing.site-zsk.key | ||
+ | |||
+ | On signera les enregistrements : | ||
+ | |||
+ | dnssec-signzone -o animal-crossing.site -k animal-crossing.site-ksk ../db.animal-crossing.site animal-crossing.site-zsk | ||
+ | |||
+ | On obtient la réponse suivante : | ||
+ | |||
+ | Zone fully signed: | ||
+ | Algorithm: RSASHA1: KSKs: 1 active, 0 stand-by, 0 revoked | ||
+ | ZSKs: 1 active, 0 stand-by, 0 revoked | ||
+ | ../db.animal-crossing.site.signed | ||
+ | |||
+ | |||
+ | On modifie le fichier /etc/bind/named.conf.local | ||
+ | |||
+ | zone "animal-crossing.site" { | ||
+ | type master; | ||
+ | file "/etc/bind/db.animal-crossing.site.signed"; | ||
+ | }; | ||
+ | |||
+ | On communiquera par la suite, la partie publique de la KSK à notre registrar "gandi.net". On trouvera la clé avec la commande suivante : | ||
+ | |||
+ | cat /etc/bind/animal-crossing.site.dnssec/animal-crossing.site-ksk.key | ||
+ | |||
+ | Puis on copie la clé suivante : | ||
+ | |||
+ | AwEAAbl32XNbEmVc3mhSJ/ZFfbipY0O0zz0lDTKC6fLQpyTwSAE3XrZt Y5v+Yr4R7lPnNAy5Zn8MrYyZXt9KD347k2AJ1WsjHo8mm8kJYhwwm9Xg N0E4XXkV7GJQJ+krtVDkmY2Kvk3Mj5lWPDBP/2nrDklR0WuvG0lg0F+T idarFsRYSunLpu2eYqS51cbq6gqTMOodslG6mK3qGAtH3e75zME6J8Gh OP6gxam3gxv2MnAHlG1+PpsmxlcH9YJ7lBZ3CwBN9/vcxPprNKVNMyrO LgCuTyWkgEI+eSCXw6JR8A3GviAe4N9c0Pz28P6ao6tKlsekcYOagM69 lNExD0IADtM= | ||
+ | |||
+ | Dans la partie DNSSEC, avec l'algorithme 5 (RSA/SHA-1) | ||
+ | |||
+ | Pour vérifier que notre site fait la redirection on ferra : | ||
+ | |||
+ | nslookup animal-crossing.site | ||
+ | |||
+ | On obtient : | ||
+ | |||
+ | Server: 193.48.57.165 | ||
+ | Address: 193.48.57.165#53 | ||
+ | |||
+ | WWW.animal-crossing.site canonical name = NS.animal-crossing.site. | ||
+ | Name: NS.animal-crossing.site | ||
+ | Address: 193.48.57.165 | ||
=='''Configuration des routeurs''' == | =='''Configuration des routeurs''' == | ||
Ligne 197 : | Ligne 513 : | ||
SE2A5-AP2(config)#banner motd #Restricted Access# | SE2A5-AP2(config)#banner motd #Restricted Access# | ||
− | Configuration l'accès au VLAN | + | Configuration l'accès au VLAN 165 : |
SE2A5-AP2(config)#aaa authentication login EAP_ANIMALCROSSING group RADIUS_ANIMALCROSSING | SE2A5-AP2(config)#aaa authentication login EAP_ANIMALCROSSING group RADIUS_ANIMALCROSSING | ||
Ligne 211 : | Ligne 527 : | ||
SE2A5-AP2(config-ssid)#authentication key-management wpa | SE2A5-AP2(config-ssid)#authentication key-management wpa | ||
SE2A5-AP2(config-ssid)#exit | SE2A5-AP2(config-ssid)#exit | ||
− | SE2A5-AP2(config)#interface dot11radio0. | + | SE2A5-AP2(config)#interface dot11radio0.165 |
− | SE2A5-AP2(config-subif)#encapsulation dot1q | + | SE2A5-AP2(config-subif)#encapsulation dot1q 165 |
− | SE2A5-AP2(config-subif)#bridge-group | + | SE2A5-AP2(config-subif)#bridge-group 65 |
SE2A5-AP2(config-subif)#exit | SE2A5-AP2(config-subif)#exit | ||
− | SE2A5-AP2(config)#interface g0. | + | SE2A5-AP2(config)#interface g0.165 |
− | SE2A5-AP2(config-subif)#encapsulation dot1q | + | SE2A5-AP2(config-subif)#encapsulation dot1q 165 |
− | SE2A5-AP2(config-subif)#bridge-group | + | SE2A5-AP2(config-subif)#bridge-group 65 |
SE2A5-AP2(config-subif)#exit | SE2A5-AP2(config-subif)#exit | ||
SE2A5-AP2(config)#interface dot11radio 0 | SE2A5-AP2(config)#interface dot11radio 0 | ||
SE2A5-AP2(config-if)#no shutdown | SE2A5-AP2(config-if)#no shutdown | ||
− | SE2A5-AP2(config-if)#encryption vlan | + | SE2A5-AP2(config-if)#encryption vlan 165 mode ciphers aes-ccm tkip |
SE2A5-AP2(config-if)#mbssid | SE2A5-AP2(config-if)#mbssid | ||
SE2A5-AP2(config-if)#ssid ANIMALCROSSING2 | SE2A5-AP2(config-if)#ssid ANIMALCROSSING2 | ||
Ligne 257 : | Ligne 573 : | ||
Un autre groupe ayant réaliser la configuration du point d'accès N°1, nous allons juste configurer notre VLAN : | Un autre groupe ayant réaliser la configuration du point d'accès N°1, nous allons juste configurer notre VLAN : | ||
− | Configuration l'accès au VLAN | + | Configuration l'accès au VLAN 165 : |
SE2A5-AP1(config)#aaa authentication login EAP_ANIMALCROSSING group RADIUS_ANIMALCROSSING | SE2A5-AP1(config)#aaa authentication login EAP_ANIMALCROSSING group RADIUS_ANIMALCROSSING | ||
Ligne 266 : | Ligne 582 : | ||
SE2A5-AP2(config)#dot11 ssid ANIMALCROSSING2 | SE2A5-AP2(config)#dot11 ssid ANIMALCROSSING2 | ||
SE2A5-AP2(config-ssid)#mbssid guest-mode | SE2A5-AP2(config-ssid)#mbssid guest-mode | ||
− | SE2A5-AP2(config-ssid)#vlan | + | SE2A5-AP2(config-ssid)#vlan 165 |
SE2A5-AP2(config-ssid)#authentication open eap EAP_ANIMALCROSSING | SE2A5-AP2(config-ssid)#authentication open eap EAP_ANIMALCROSSING | ||
SE2A5-AP2(config-ssid)#authentication network-eap EAP_ANIMALCROSSING | SE2A5-AP2(config-ssid)#authentication network-eap EAP_ANIMALCROSSING | ||
SE2A5-AP2(config-ssid)#authentication key-management wpa | SE2A5-AP2(config-ssid)#authentication key-management wpa | ||
SE2A5-AP2(config-ssid)#exit | SE2A5-AP2(config-ssid)#exit | ||
− | SE2A5-AP2(config)#interface dot11radio0. | + | SE2A5-AP2(config)#interface dot11radio0.165 |
− | SE2A5-AP2(config-subif)#encapsulation dot1q | + | SE2A5-AP2(config-subif)#encapsulation dot1q 165 |
− | SE2A5-AP2(config-subif)#bridge-group | + | SE2A5-AP2(config-subif)#bridge-group 65 |
SE2A5-AP2(config-subif)#exit | SE2A5-AP2(config-subif)#exit | ||
− | SE2A5-AP2(config)#interface g0. | + | SE2A5-AP2(config)#interface g0.165 |
− | SE2A5-AP2(config-subif)#encapsulation dot1q | + | SE2A5-AP2(config-subif)#encapsulation dot1q 165 |
− | SE2A5-AP2(config-subif)#bridge-group | + | SE2A5-AP2(config-subif)#bridge-group 65 |
SE2A5-AP2(config-subif)#exit | SE2A5-AP2(config-subif)#exit | ||
SE2A5-AP2(config)#interface dot11radio 0 | SE2A5-AP2(config)#interface dot11radio 0 | ||
SE2A5-AP2(config-if)#no shutdown | SE2A5-AP2(config-if)#no shutdown | ||
− | SE2A5-AP2(config-if)#encryption vlan | + | SE2A5-AP2(config-if)#encryption vlan 165 mode ciphers aes-ccm tkip |
SE2A5-AP2(config-if)#mbssid | SE2A5-AP2(config-if)#mbssid | ||
SE2A5-AP2(config-if)#ssid ANIMALCROSSING2 | SE2A5-AP2(config-if)#ssid ANIMALCROSSING2 | ||
SE2A5-AP2(config-if)#exit | SE2A5-AP2(config-if)#exit | ||
+ | |||
+ | =='''Configuration du point d'accès WPA-EAP''' == | ||
+ | |||
+ | On commence par installer freeradius | ||
+ | |||
+ | apt install freeradius | ||
+ | |||
+ | On modifiera le fichier /etc/freeradius/clients.conf | ||
+ | |||
+ | client PA1 { | ||
+ | ipaddr = 10.60.101.1 | ||
+ | secret = glopglop | ||
+ | } | ||
+ | |||
+ | client PA2 { | ||
+ | ipaddr = 10.60.101.2 | ||
+ | secret = glopglop | ||
+ | } | ||
+ | |||
+ | Puis on modifie le fichier : /etc/freeradius/3.0/users | ||
+ | |||
+ | pifou Cleartext-Password := "pasglop" | ||
+ | |||
+ | Ainsi que : /etc/freeradius/3.0/mods-enabled/eap | ||
+ | |||
+ | eap | ||
+ | { | ||
+ | default_eap_type = peap | ||
+ | } | ||
+ | |||
+ | On va démarrer freeradius : | ||
+ | |||
+ | freeradius -X | ||
+ | |||
+ | Puis je vais tenter de me connecter sur la Wifi : ANIMALCROSSING1 | ||
+ | |||
+ | Id : pifou | ||
+ | Mp : glopglop | ||
+ | |||
+ | Et on remarque bien la connexion à la Wifi fonctionne d'une part sur le téléphone puis dans le terminal. | ||
+ | |||
+ | On redémarre freeradius : | ||
+ | |||
+ | service freeradius start | ||
+ | |||
+ | =='''Configuration du VLAN 165''' == | ||
+ | |||
+ | '''''Cisco 6509-E''''' | ||
+ | |||
+ | On commencera par se connecter en SSH : | ||
+ | |||
+ | ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 -c aes128-cbc admin@10.60.100.1 | ||
+ | |||
+ | Mot de passe : glopglop | ||
+ | |||
+ | Puis on réalisera les commandes suivantes : | ||
+ | |||
+ | SE2A5-R1>en | ||
+ | SE2A5-R1#conf t | ||
+ | SE2A5-R1(config)#vlan 165 | ||
+ | SE2A5-R1(config-vlan)#name ANIMALCROSSING1 | ||
+ | SE2A5-R1(config-vlan)#exit | ||
+ | SE2A5-R1(config)#interface vlan 165 | ||
+ | SE2A5-R1(config-if)#description ANIMALCROSSING1 | ||
+ | SE2A5-R1(config-if)#ip address 10.60.165.1 255.255.255.0 | ||
+ | SE2A5-R1(config-if)#ipv6 address 2001:660:4401:60a5::/64 eui-64 | ||
+ | SE2A5-R1(config-if)#ipv6 nd prefix 2001:660:4401:60a5::/64 1000 900 | ||
+ | SE2A5-R1(config-if)#ipv6 nd router-preference high | ||
+ | SE2A5-R1(config-if)#ipv6 enable | ||
+ | SE2A5-R1(config-if)#no shutdown | ||
+ | SE2A5-R1(config-if)#vrrp 65 ip 10.60.165.254 | ||
+ | SE2A5-R1(config-if)#vrrp 65 preempt | ||
+ | SE2A5-R1(config-if)#vrrp 65 priority 110 | ||
+ | SE2A5-R1(config-if)#vrrp 65 track 1 decrement 50 | ||
+ | SE2A5-R1(config-if)#exit | ||
+ | SE2A5-R1(config)#interface t5/4 | ||
+ | SE2A5-R1(config-if)#switchport trunk allowed vlan add 165 | ||
+ | SE2A5-R1(config-if)#exit | ||
+ | SE2A5-R1(config)#interface g3/1 | ||
+ | SE2A5-R1(config-if)#switchport trunk allowed vlan add 165 | ||
+ | SE2A5-R1(config-if)#exit | ||
+ | |||
+ | |||
+ | '''''Catalyst 9200 ''''' | ||
+ | |||
+ | On se connecte en SSH au routeur 2 : | ||
+ | |||
+ | ssh admin@10.60.100.2 | ||
+ | Mot de passe : glopglop | ||
+ | |||
+ | Puis on exécute les commandes suivantes : | ||
+ | |||
+ | SE2A5-R2(config)#vlan 165 | ||
+ | SE2A5-R2(config-vlan)#name ANIMALCROSSING2 | ||
+ | SE2A5-R2(config-vlan)#exit | ||
+ | SE2A5-R2(config)#interface vlan 165 | ||
+ | SE2A5-R2(config-if)#description ANIMALCROSSING2 | ||
+ | SE2A5-R2(config-if)#ip address 10.60.165.2 255.255.255.0 | ||
+ | SE2A5-R2(config-if)#ipv6 address 2001:660:4401:60a5::/64 eui-64 | ||
+ | SE2A5-R2(config-if)#ipv6 nd prefix 2001:660:4401:60a5::/64 1000 900 | ||
+ | SE2A5-R2(config-if)#ipv6 nd router-preference high | ||
+ | SE2A5-R2(config-if)#ipv6 enable | ||
+ | SE2A5-R2(config-if)#no shutdown | ||
+ | SE2A5-R2(config-if)#vrrp 65 address-family ipv4 | ||
+ | SE2A5-R2(config-if-vrrp)#address 10.60.165.254 | ||
+ | SE2A5-R2(config-if-vrrp)#priority 100 | ||
+ | SE2A5-R2(config-if-vrrp)#preempt | ||
+ | SE2A5-R2(config-if-vrrp)#exit | ||
+ | SE2A5-R2(config-if)#exit | ||
+ | SE2A5-R2(config)#interface t1/1/2 | ||
+ | SE2A5-R2(config-if)#switchport trunk allowed vlan add 165 | ||
+ | SE2A5-R2(config-if)#exit | ||
+ | SE2A5-R2(config)#interface g1/0/3 | ||
+ | SE2A5-R2(config-if)#switchport trunk allowed vlan add 165 | ||
+ | SE2A5-R2(config-if)#exit | ||
=='''Exploitation des failles du systèmes''' == | =='''Exploitation des failles du systèmes''' == | ||
Ligne 293 : | Ligne 724 : | ||
su - | su - | ||
− | apt install aircrack -ng | + | apt install aircrack-ng |
On prendra une clé USB Wifi et on listera les différentes interfaces de notre ordinateur : | On prendra une clé USB Wifi et on listera les différentes interfaces de notre ordinateur : | ||
Ligne 317 : | Ligne 748 : | ||
On obtient alors les informations suivantes : | On obtient alors les informations suivantes : | ||
− | BSSID | + | BSSID PWR Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID |
− | 04:DA:D2:9C:50:50 -40 | + | 04:DA:D2:9C:50:50 -40 2 3 4 3 54e WEP WEP cracotte01 |
On filtre notre interface : | On filtre notre interface : | ||
BSSID PWR RXQ Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID | BSSID PWR RXQ Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID | ||
− | 04:DA:D2:9C:50:50 -42 10 | + | 04:DA:D2:9C:50:50 -42 10 30 19 4 3 54e WEP WEP cracotte01 |
On lance l'interface dans ce terminal avec la commande suivante : | On lance l'interface dans ce terminal avec la commande suivante : | ||
Ligne 343 : | Ligne 774 : | ||
− | === Cassage de clef | + | === Cassage de clef WPA-PSK === |
+ | |||
+ | On vérifiera que notre utilitaire aircrack soit bien installé, si ce n'est pas le cas,on refera la commande : | ||
+ | |||
+ | apt-get install aircrack-ng | ||
+ | |||
+ | Puis on listera les interfaces Wifi : | ||
+ | |||
+ | airmon-ng | ||
+ | |||
+ | On obtiendra : | ||
+ | |||
+ | PHY Interface Driver Chipset | ||
+ | phy0 wlx40a5ef01370a rt2800usb Ralink Technology, Corp. RT5370 | ||
+ | |||
+ | On passera la carte Wifi en monitor : | ||
+ | |||
+ | airmon-ng start wlx40a5ef01370a | ||
+ | |||
+ | On aura alors rennomé notre interface wlx40a5ef01370a par wlan0mon | ||
+ | |||
+ | PHY Interface Driver Chipset | ||
+ | phy0 wlan0mon rt2800usb Ralink Technology, Corp. RT5370 | ||
+ | |||
+ | Une fois le handshake récupéré, nous avons créé notre propre dictionnaire contenant l'ensemble des mots de passes potentiels.Nous avons alors utilisé la commande suivante : | ||
+ | |||
+ | crunch 8 8 0123456789 >> /home/pifou/Desktop/Dico_Kracotte01.txt | ||
+ | |||
+ | Afin de casse la clé WPA, nous allons utiliser la commande suivante : | ||
+ | |||
+ | aircrack-ng -w xaa kracotte01.txt-01.cap | ||
+ | |||
+ | On obtient le résultat suivant : | ||
+ | |||
+ | |||
+ | Aircrack-ng 1.5.2 | ||
+ | |||
+ | [08:04:01] 66637843/102795810 keys tested (958.44 k/s) | ||
+ | |||
+ | Time left: 10 hours, 29 minutes, 3 seconds 64.83% | ||
+ | |||
+ | KEY FOUND! [ 66601666 ] | ||
+ | |||
+ | Master Key : 43 33 CD 6B EA 53 29 36 F9 53 21 00 33 0A 1A 45 | ||
+ | 18 E3 D5 1D DD 1C 37 29 B9 6B 49 32 24 80 02 E5 | ||
+ | |||
+ | Transient Key : 77 A3 E9 BF CE FD D1 2B D9 62 3B 15 3C D5 2C 20 | ||
+ | 59 59 19 3E AF 62 8F C9 1A 48 9C 1B 4B A4 89 70 | ||
+ | B3 4C 79 2A 0A FB C9 71 1F 10 01 BE A5 FA 96 41 | ||
+ | 18 04 12 0E 01 91 DD EA B2 96 17 F3 69 AC 7C F5 | ||
+ | |||
+ | EAPOL HMAC : DA 48 8D 5E B4 0E F9 78 63 C7 8E 01 56 40 82 10 | ||
+ | |||
+ | =='''Chiffrement de données''' == | ||
+ | |||
+ | A faire |
Version actuelle datée du 3 décembre 2021 à 10:08
Sommaire
- 1 TP Protocoles Avancés - SE2A5 - Groupe 5
- 1.1 Généralités
- 1.2 Architecture réseaux
- 1.3 Câblage
- 1.4 Création d'une machine virtuelle
- 1.5 Services Internet
- 1.6 Configuration des routeurs
- 1.7 Configuration de l'accès WIFI N°2
- 1.8 Configuration de l'accès WIFI N°1
- 1.9 Configuration du point d'accès WPA-EAP
- 1.10 Configuration du VLAN 165
- 1.11 Exploitation des failles du systèmes
- 1.12 Chiffrement de données
TP Protocoles Avancés - SE2A5 - Groupe 5
Généralités
Le tableau ci-dessous récapitule l'ensemble des informations qui seront utilisées lors du TP de Réseau sur les Protocoles Avancées.
Groupe | Domaine | Nom VM | Distribution | IPv4 routée | VLAN privé | Réseau local IPv4 | Réseau IPv6 | Réseau IPv6 de secours | Cisco 6509-E | Cisco 9200 | SSID |
---|---|---|---|---|---|---|---|---|---|---|---|
Groupe 5 | animal-crossing.site | AnimalCrossing | Debian 10 Buster | 193.48.57.165 | 164 (NET-GP4) | 10.60.165.0/24 | 2001:660:4401:60A5::/64 | 2001:7A8:116E:60A5::/64 | 10.60.165.254 | 10.60.165.253 | SE2A5_GP5 |
Architecture réseaux
Câblage
Création d'une machine virtuelle
Création de la machine virtuelle
Commençons par la création de la machine virtuelle. Nous allons commencer par nous connecter en ssh sur le serveur Capbreton situé dans la baie en salle E304, nous utiliserons la commande suivante :
ssh -4 capbreton.plil.info
Nous nous connectons ensuite en superuser sur la machine :
su -
Nous allons exporter
export http_proxy=http://proxy.plil.fr:3128 export https_proxy=http://proxy.plil.fr:3128
La commande de création est la suivante :
xen-create-image --force --hostname=AnimalCrossing --ip=193.48.57.165 --gateway=193.48.57.174 --dir=/usr/local/xen --dist=buster
On vérifie que notre machine est correctement installée en ouvrant un second terminal et en nous reconnectant à Capbreton. On utilisera la commande suivante:
tail -f /var/log/xen-tools/AnimalCrossing.log
Suite à cela nous aurons un récapitulatif des informations de notre machine virtuelle ainsi que son mot de passe (Conseil : Bien noté le mot de passe !)
Création des disques
Nous allons désormais créer les disques pour notre machine virtuelle, nous allons réaliser un RAID 5, soit 4 disques :
lvcreate -L1G -n AnimalCrossing1 virtual lvcreate -L1G -n AnimalCrossing2 virtual lvcreate -L1G -n AnimalCrossing3 virtual lvcreate -L1G -n AnimalCrossing4 virtual
On augmente ensuite la taille des disques afin de les passer de 1Go à 10Go :
lvextend -L +9G /dev/virtual/AnimalCrossing1 lvextend -L +9G /dev/virtual/AnimalCrossing2 lvextend -L +9G /dev/virtual/AnimalCrossing3 lvextend -L +9G /dev/virtual/AnimalCrossing4
On vérifie l'installation de nos disques avec :
lvdisplay
On obtient le récap suivant :
--- Logical volume --- LV Path /dev/virtual/AnimalCrossing1 LV Name AnimalCrossing1 VG Name virtual LV UUID 8J2E0b-3Np8-Kdb8-h2jR-jCaR-fQlU-a9wklC LV Write Access read/write LV Creation host, time capbreton, 2021-09-23 10:35:45 +0200 LV Status available # open 0 LV Size 10.00 GiB Current LE 2560 Segments 2 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 254:30
Enfin on va formater nos disques :
mke2fs /dev/virtual/AnimalCrossing1 mke2fs /dev/virtual/AnimalCrossing2 mke2fs /dev/virtual/AnimalCrossing3 mke2fs /dev/virtual/AnimalCrossing4
Démarrage
On démarre la machine une première fois afin de pouvoir accéder au fichier vim :
xen create /etc/xen/AnimalCrossing.cfg
Après avoir fait ça, nous faisons la commande suivante :
vi /etc/xen/AnimalCrossing.cfg
Dans le fichier nous allons :
1 - Dans la rubrique "Networking" : Supprimer l'adresse IP, 2 - Toujours dans la rubrique "Networking" : On ajoutera "bridge=IMA2a5" on obtiendra la commande suivante
vif = [ 'mac=00:16:3E:73:B0:3C, bridge=IMA2a5' ]
3 - Dans la rubrique "Disks" : On ajoute le code suivant :
'phy:/dev/virtual/AnimalCrossing1, xvda3, w', 'phy:/dev/virtual/AnimalCrossing2, xvda4, w', 'phy:/dev/virtual/AnimalCrossing3, xvda5, w', 'phy:/dev/virtual/AnimalCrossing4, xvda6, w',
On referme le fichier VIM et on relance notre machine virtuelle :
xen create /etc/xen/AnimalCrossing.cfg xen console AnimalCrossing
On va devoir se connecter et le login sera root
Services Internet
Serveur SSH
Pour configurer le serveur SSH sur notre machine virtuelle, on commencera par se connecter à cap breton :
ssh -4 capbreton.plil.info
Ensuite, on démarrera notre machine virtuelle
xen create /etc/xen/AnimalCrossing.cfg xen console AnimalCrossing
On se connecte à notre machine en utilisant l'identifiant root et en entrant le mot de passe que nous avions précédemment.
On installera SSH sur notre machine virtuelle :
apt install openssh-server
Puis on effectuera des modifications dans le fichier suivant :
vi /etc/network/interfaces
Les modifications à faire sont les suivantes :
On met : # The primary network interface auto eth0 iface eth0 inet6 auto iface eth0 inet static address 10.60.100.165/24 up ip address add dev eth0 193.48.57.165/32 ; ip route add default via 10.60.100.254 src 193.48.57.165 down ip address del dev eth0 193.48.57.165/32 ; ip route del default via 10.60.100.254 src 193.48.57.165
On dé-commentera la ligne :
PermitRootLogin yes
On fera ensuite :
ifdown eth0 ifup eth0
On ouvrir un autre terminal et on fera un ping sur notre machine virtuelle pour vérifier que nous avons bien une réponse :
ping 193.48.57.165
On a bien une réponse :
PING 193.48.57.165 (193.48.57.165) 56(84) bytes of data. 64 bytes from 193.48.57.165: icmp_seq=1 ttl=61 time=0.527 ms 64 bytes from 193.48.57.165: icmp_seq=2 ttl=61 time=0.554 ms 64 bytes from 193.48.57.165: icmp_seq=3 ttl=61 time=0.513 ms
On se connectera en SSH de la manière suivante :
ssh root@193.48.57.165
Serveur DNS
Le DNS va nous permettre d'établir l'association de notre nom de domaine à une adresse IP où il est hébergé sur le réseau internet.Pour commencer, nous devons vérifier si le nom de notre domaine est disponible sur gandi.net. Une fois, que cela est fait, nous pouvons acheter ce nom de domaine, ici : animal-crossing.net. On y associera ensuite un hostname dans les paramètres "Glue Reccords" à notre adresse IP, ici 193.48.57.165. De plus, nous ajouterons dans "Nameservers" notre host name : "ns.animal-crossing.site" puis "ns6.gandi.net" comme serveur secondaire. Un fois ces premières modifications réalisées, nous allons configurer notre DNS.
Fichiers de configuration
On commencera par se connecter en SSH à notre machine virtuelle :
ssh root@193.48.57.165
Puis, si ce n'est pas déjà fait, on installera bind9 avec la commande :
apt install bind9
On se rendra ensuite dans le fichier :
/etc/bind/name.conf.options
Et on y ajoutera le code suivant :
options { directory "/var/cache/bind"; forwarders { 0.0.0.0; }; dnssec-validation auto; listen-on-v6 { any; }; allow-transfer { "allowed_to_transfer"; }; }; acl "allowed_to_transfer" { 217.70.177.40/32; };
On définiera par la suite notre zone dans le fichier suivant :
/etc/bind/named.conf.local
On y ajoutera le code suivant :
zone "animal-crossing.site" { type master; file "/etc/bind/db.animal-crossing.site"; };
Enfin on configurer le fichier de zone qui nous permer de configurer le domaine. on créer alors le fichier :
/etc/bind/db.animal-crossing.site
Puis on entre la configuration suivante :
$TTL 3600 @ IN SOA ns.animal-crossing.site. postmaster.animal-crossing.site. ( 1 ; Version 1800 ; Refresh (30m) 600 ; Retry (10m) 3600 ; Expire (1h) 3600 ) ; Minimum TTL (1h) IN NS ns.animal-crossing.site. IN NS ns6.gandi.net. ns IN A 193.48.57.165
Vérification du fonctionnement
Afin de vérifier si nous avons correctement modifiés les fichiers de configuration, nous allons entrer la commande suivante :
named-checkzone animal-crossing.site /etc/bind/db.animal-crossing.site
Si cette commande nous renvoie OK c'est que la configuration que nous avons faite ne contient pas d'erreur
Sécurisation de site web par certificat
On commencera par installer le paquetage apache2 et nous le configuerons en mode sécurisé à l'aide d'une clé asymétrique et d'un certificat signé par une autorité de certification.
apt install apache2
On installera également openssl :
apt install openssl
On va créer un certificat TSL :
openssl req -nodes -newkey rsa:2048 -sha256 -keyout animal-site.site.key -out animal-crossing.site.csr
On remplira les informations suivantes :
Country Name (2 letter code) [AU]:FR State or Province Name (full name) [Some-State]:Nord Locality Name (eg, city) []:Lille Organization Name (eg, company) [Internet Widgits Pty Ltd]:PolytechLille Organizational Unit Name (eg, section) []:SE2A5 Common Name (e.g. server FQDN or YOUR name) []: animal-crossing.site Email Address []:lea.viciot@polytech-lille.net Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: An optional company name []:
On va déplacer les fichiers :
mv animal-crossing.site.key /etc/ssl/private mv animal-crossing.site.csr /etc/ssl/certs
Nous allons ensuite aller sur Gandi, dans la rubrique "SSL Certificates" et on viendra en "Acheter" un. On viendra copier la clé générée sur le site web. Pour afficher le certificat .csr, on fera la commande :
cat animal-crossing.site.csr
Cela nous génerera notre certificat :
-----BEGIN CERTIFICATE REQUEST----- MIIC5zCCAc8CAQAwgaExCzAJBgNVBAYTAkZSMQ0wCwYDVQQIDAROb3JkMQ4wDAYD VQQHDAVMaWxsZTEWMBQGA1UECgwNUG9seXRlY2hMaWxsZTEOMAwGA1UECwwFU0Uy QTUxHTAbBgNVBAMMFGFuaW1hbC1jcm9zc2luZy5zaXRlMSwwKgYJKoZIhvcNAQkB Fh1sZWEudmljaW90QHBvbHl0ZWNoLWxpbGxlLm5ldDCCASIwDQYJKoZIhvcNAQEB BQADggEPADCCAQoCggEBALgDBoEGCiDyHg0Rs4k+2iJ2roxNGZX2qYWviDW4bpDz VQ+nAjDBjTIc7PPouL4JbG6V/5HxJe5lNRtu8oRLSCZmS6Dj5WQxa+KxaDi9avFJ OjZpySV4TDIT6AUrLPFJXULF+jP4ceEG+KeDQZlRL9DpxyBhWqRD1Yxx+wcvjAdS 7/v9higgs5xjx2DdjIclCzig7jumI2ol1Cu7EfnwCvAxeq/Chkxp2sPe0a9m9eOa R7KjWs8HlygrdR+WbcZzc1i53DVGJczXfEIyLghyGVpKKbR5Li5rwcScScM1MJyD e9GmeBteHFgZpHK1zIt7ovEno0CuMSkH8D5oUQGw0YMCAwEAAaAAMA0GCSqGSIb3 DQEBCwUAA4IBAQCG/zIfiPfkWv1cJKNsnMClPNyvLRVO5osKOpAjUZtK0JCkyRum T+7n+IH+IUD9zIs3hs2Xu6rB5qDF3e/rBLSrxO0pYRm3+uYPzsztmJMw7scaISwT uaTByPQGfx7TOyEzcuKsDGEhSUNH0PblT8hilTHHnNnVG4S0cWgHh1F+c+RkfiUF V7YbEyV0YEsyPAsCFB0VADyCZN+10yNqlDT8hepZxq1zcQ5yY80U0t99sKnfhdJj zqWFBM3drsq+RXVe30rtahSLCV++aSiiGZelGmkTD56YbQk4+baYdt5aABvrAIh/ TR1jdKWqj5dkYjHd7FtctBn7C7I0nN2FQH3N -----END CERTIFICATE REQUEST-----
En attendant que le certificat soit généré, on peut modifier l'apparence de son site avec la commande :
vim /var/www/html/index.html
On télécharge nos certificats une fois qu'ils sont validés. On télécharge le certificat "animal-crossing.site.crt" ainsi que le certificat "GandiStandardSSLCA2.pem"
On ouvrira un autre terminal de commande pour copier les certificats sur la VM :
scp -r -p /home/pifou/Downloads/animal-crossing.site.crt root@193.48.57.165:/etc/ssl/certs scp -r -p /home/pifou/Downloads/GandiStandardSSLCA2.pem root@193.48.57.165:/etc/ssl/certs
On va activer le module SSL :
a2enmod ssl
On modifie le fichier /etc/apache2/ports.conf
Listen 80
<IfModule mod_ssl.c> Listen 443 </IfModule> <IfModule mod_gnutls.c> Listen 443 </IfModule>
On viendra créer le fichier :
/etc/apache2/sites-available/000-animal-crossing.site-ssl.conf
On y entrera les caractéristiques :
<IfModule mod_ssl.c> <VirtualHost 193.48.57.165:443> ServerName animal-crossing.site ServerAlias ns.animal-crossing.site DocumentRoot /var/www/animal-crossing.site/ CustomLog /var/log/apache2/secure_access.log combined SSLEngine on SSLCertificateFile /etc/ssl/certs/animal-crossing.site.crt SSLCertificateKeyFile /etc/ssl/private/animal-crossing.site.key SSLCACertificateFile /etc/ssl/certs/GandiStandardSSLCA2.pem SSLVerifyClient None </VirtualHost> </IfModule>
On viendra activer notre site :
a2ensite 000-animal-crossing.site-ssl
On ajoute au début du fichier : nano /etc/apache2/apache2.conf
ServerName animal-crossing.site
On ajoute dans le fichier : nano /etc/apache2/sites-available/000-default.conf
Redirect permanent / https://www.animal-crossing.site/
On redémarre le service apache2 :
service apache2 restart
Sécurisation de serveur DNS par DNSSEC
Puis le fichier /etc/bind/named.conf.options on ajoute dnssec-enable yes. Nous allons créer un dossier dans lequel nous allons générer les clés :
cd /etc/bind mkdir animal-crossing.site.dnssec
On génèrera les clés :
dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE animal-crossing.site dnssec-keygen -a RSASHA1 -b 1024 -n ZONE animal-crossing.site
Ensuite, je renomme les deux paires de clés obtenues :
mv Kanimal-crossing.site.+005+38625.key animal-crossing.site-ksk.key mv Kanimal-crossing.site.+005+38625.private animal-crossing.site-ksk.private
mv Kanimal-crossing.site.+005+42451.key animal-crossing.site-zsk.key mv Kanimal-crossing.site.+005+42451.private animal-crossing.site-zsk.private
On modifiera le fichier :
/etc/bind/db.animal-crossing.site
Et on y ajoutera :
$include /etc/bind/animal-crossing.site.dnssec/animal-crossing.site-ksk.key $include /etc/bind/animal-crossing.site.dnssec/animal-crossing.site-zsk.key
On signera les enregistrements :
dnssec-signzone -o animal-crossing.site -k animal-crossing.site-ksk ../db.animal-crossing.site animal-crossing.site-zsk
On obtient la réponse suivante :
Zone fully signed: Algorithm: RSASHA1: KSKs: 1 active, 0 stand-by, 0 revoked ZSKs: 1 active, 0 stand-by, 0 revoked ../db.animal-crossing.site.signed
On modifie le fichier /etc/bind/named.conf.local
zone "animal-crossing.site" { type master; file "/etc/bind/db.animal-crossing.site.signed"; };
On communiquera par la suite, la partie publique de la KSK à notre registrar "gandi.net". On trouvera la clé avec la commande suivante :
cat /etc/bind/animal-crossing.site.dnssec/animal-crossing.site-ksk.key
Puis on copie la clé suivante :
AwEAAbl32XNbEmVc3mhSJ/ZFfbipY0O0zz0lDTKC6fLQpyTwSAE3XrZt Y5v+Yr4R7lPnNAy5Zn8MrYyZXt9KD347k2AJ1WsjHo8mm8kJYhwwm9Xg N0E4XXkV7GJQJ+krtVDkmY2Kvk3Mj5lWPDBP/2nrDklR0WuvG0lg0F+T idarFsRYSunLpu2eYqS51cbq6gqTMOodslG6mK3qGAtH3e75zME6J8Gh OP6gxam3gxv2MnAHlG1+PpsmxlcH9YJ7lBZ3CwBN9/vcxPprNKVNMyrO LgCuTyWkgEI+eSCXw6JR8A3GviAe4N9c0Pz28P6ao6tKlsekcYOagM69 lNExD0IADtM=
Dans la partie DNSSEC, avec l'algorithme 5 (RSA/SHA-1)
Pour vérifier que notre site fait la redirection on ferra :
nslookup animal-crossing.site
On obtient :
Server: 193.48.57.165 Address: 193.48.57.165#53
WWW.animal-crossing.site canonical name = NS.animal-crossing.site. Name: NS.animal-crossing.site Address: 193.48.57.165
Configuration des routeurs
La configuration des routeurs doit être faite pour les deux routeurs de la salle E304 : 9200 et le ISR4331 ainsi que dans la salle E306 pour le routeur 6509. Pour se faire, plusieurs personnes de la classe ont travaillé dessus. Dans un premier temps Kevin, Quentin et Valentin ont configuré le 9200. Benoit et Belange ont quand à eux configuré le 6509. Pour ma part, j'ai configuré une petite partie de routeur ISR4331.
- DEVELOPER COMMANDES -
Configuration de l'accès WIFI N°2
Commençons par une configuration générale :
ap>enable ap#configure terminal
On se connecte au minicom grâce à la commande :
minicom -s
Puis on changera dans les paramètres la connexion au port USB0 en indiquant :
/dev/ttyUSB0
Ensuite intéressons nous à la configuration du nom de l'hôte :
ap(config)#hostname SE2A5-AP2
Puis de l'accès en SSH :
SE2A5-AP2(config)#aaa new-model SE2A5-AP2(config)#username admin privilege 15 secret glopglop SE2A5-AP2(config)#ip domain-name plil.info SE2A5-AP2(config)#crypto key generate rsa general-keys modulus 2048 SE2A5-AP2(config)#ip ssh version 2 SE2A5-AP2(config)#line vty 0 15 SE2A5-AP2(config-line)#transport input ssh SE2A5-AP2(config-line)#exit
L'accès à la console :
SE2A5-AP2(config)#line console 0 SE2A5-AP2(config-line)#password glopglop SE2A5-AP2(config-line)#exit SE2A5-AP2(config)#aaa new-model SE2A5-AP2(config)#aaa authentication login default local SE2A5-AP2(config)#line con 0 SE2A5-AP2(config)#login authen default SE2A5-AP2(config)#exit
On va sécuriser l'accès :
SE2A5-AP2(config)#service password-encryption SE2A5-AP2(config)#enable secret glopglop SE2A5-AP2(config)#banner motd #Restricted Access#
Configuration l'accès au VLAN 165 :
SE2A5-AP2(config)#aaa authentication login EAP_ANIMALCROSSING group RADIUS_ANIMALCROSSING SE2A5-AP2(config)#radius-server host 193.48.57.165 auth-port 1812 acct-port 1813 key glopglop SE2A5-AP2(config)#aaa group server radius RADIUS_ANIMALCROSSING SE2A5-AP2(config-server)#server 193.48.57.165 auth-port 1812 acct-port 1813 SE2A5-AP2(config-server)#exit SE2A5-AP2(config)#dot11 ssid ANIMALCROSSING2 SE2A5-AP2(config-ssid)#mbssid guest-mode SE2A5-AP2(config-ssid)#vlan 164 SE2A5-AP2(config-ssid)#authentication open eap EAP_ANIMALCROSSING SE2A5-AP2(config-ssid)#authentication network-eap EAP_ANIMALCROSSING SE2A5-AP2(config-ssid)#authentication key-management wpa SE2A5-AP2(config-ssid)#exit SE2A5-AP2(config)#interface dot11radio0.165 SE2A5-AP2(config-subif)#encapsulation dot1q 165 SE2A5-AP2(config-subif)#bridge-group 65 SE2A5-AP2(config-subif)#exit SE2A5-AP2(config)#interface g0.165 SE2A5-AP2(config-subif)#encapsulation dot1q 165 SE2A5-AP2(config-subif)#bridge-group 65 SE2A5-AP2(config-subif)#exit SE2A5-AP2(config)#interface dot11radio 0 SE2A5-AP2(config-if)#no shutdown SE2A5-AP2(config-if)#encryption vlan 165 mode ciphers aes-ccm tkip SE2A5-AP2(config-if)#mbssid SE2A5-AP2(config-if)#ssid ANIMALCROSSING2 SE2A5-AP2(config-if)#exit
Afin de vérifier si notre SSID fonctionne, on va effectuer les commandes suivantes :
SE2A5-AP2#show dot11 bssid
On obtient :
Interface BSSID Guest SSID Dot141Radio0 ecc8.8243.cd40 No ANIMALCROSSING2
On souhaite passer notre Guest de No à Yes pour se faire :
conf t interface do0 no shut exit
On refait la commande :
SE2A5-AP2#show dot11 bssid
On obtient :
Interface BSSID Guest SSID Dot141Radio0 ecc8.8243.cd40 Yes ANIMALCROSSING2
Notre SSID est bien configuré pour le point Wifi N°2.
Configuration de l'accès WIFI N°1
Un autre groupe ayant réaliser la configuration du point d'accès N°1, nous allons juste configurer notre VLAN :
Configuration l'accès au VLAN 165 :
SE2A5-AP1(config)#aaa authentication login EAP_ANIMALCROSSING group RADIUS_ANIMALCROSSING SE2A5-AP1(config)#radius-server host 193.48.57.165 auth-port 1812 acct-port 1813 key glopglop SE2A5-AP1(config)#aaa group server radius RADIUS_ANIMALCROSSING SE2A5-AP1(config-server)#server 193.48.57.165 auth-port 1812 acct-port 1813 SE2A5-AP1(config-server)#exit SE2A5-AP2(config)#dot11 ssid ANIMALCROSSING2 SE2A5-AP2(config-ssid)#mbssid guest-mode SE2A5-AP2(config-ssid)#vlan 165 SE2A5-AP2(config-ssid)#authentication open eap EAP_ANIMALCROSSING SE2A5-AP2(config-ssid)#authentication network-eap EAP_ANIMALCROSSING SE2A5-AP2(config-ssid)#authentication key-management wpa SE2A5-AP2(config-ssid)#exit SE2A5-AP2(config)#interface dot11radio0.165 SE2A5-AP2(config-subif)#encapsulation dot1q 165 SE2A5-AP2(config-subif)#bridge-group 65 SE2A5-AP2(config-subif)#exit SE2A5-AP2(config)#interface g0.165 SE2A5-AP2(config-subif)#encapsulation dot1q 165 SE2A5-AP2(config-subif)#bridge-group 65 SE2A5-AP2(config-subif)#exit SE2A5-AP2(config)#interface dot11radio 0 SE2A5-AP2(config-if)#no shutdown SE2A5-AP2(config-if)#encryption vlan 165 mode ciphers aes-ccm tkip SE2A5-AP2(config-if)#mbssid SE2A5-AP2(config-if)#ssid ANIMALCROSSING2 SE2A5-AP2(config-if)#exit
Configuration du point d'accès WPA-EAP
On commence par installer freeradius
apt install freeradius
On modifiera le fichier /etc/freeradius/clients.conf
client PA1 {
ipaddr = 10.60.101.1 secret = glopglop
}
client PA2 {
ipaddr = 10.60.101.2 secret = glopglop
}
Puis on modifie le fichier : /etc/freeradius/3.0/users
pifou Cleartext-Password := "pasglop"
Ainsi que : /etc/freeradius/3.0/mods-enabled/eap
eap { default_eap_type = peap }
On va démarrer freeradius :
freeradius -X
Puis je vais tenter de me connecter sur la Wifi : ANIMALCROSSING1
Id : pifou Mp : glopglop
Et on remarque bien la connexion à la Wifi fonctionne d'une part sur le téléphone puis dans le terminal.
On redémarre freeradius :
service freeradius start
Configuration du VLAN 165
Cisco 6509-E
On commencera par se connecter en SSH :
ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 -c aes128-cbc admin@10.60.100.1
Mot de passe : glopglop
Puis on réalisera les commandes suivantes :
SE2A5-R1>en SE2A5-R1#conf t SE2A5-R1(config)#vlan 165 SE2A5-R1(config-vlan)#name ANIMALCROSSING1 SE2A5-R1(config-vlan)#exit SE2A5-R1(config)#interface vlan 165 SE2A5-R1(config-if)#description ANIMALCROSSING1 SE2A5-R1(config-if)#ip address 10.60.165.1 255.255.255.0 SE2A5-R1(config-if)#ipv6 address 2001:660:4401:60a5::/64 eui-64 SE2A5-R1(config-if)#ipv6 nd prefix 2001:660:4401:60a5::/64 1000 900 SE2A5-R1(config-if)#ipv6 nd router-preference high SE2A5-R1(config-if)#ipv6 enable SE2A5-R1(config-if)#no shutdown SE2A5-R1(config-if)#vrrp 65 ip 10.60.165.254 SE2A5-R1(config-if)#vrrp 65 preempt SE2A5-R1(config-if)#vrrp 65 priority 110 SE2A5-R1(config-if)#vrrp 65 track 1 decrement 50 SE2A5-R1(config-if)#exit SE2A5-R1(config)#interface t5/4 SE2A5-R1(config-if)#switchport trunk allowed vlan add 165 SE2A5-R1(config-if)#exit SE2A5-R1(config)#interface g3/1 SE2A5-R1(config-if)#switchport trunk allowed vlan add 165 SE2A5-R1(config-if)#exit
Catalyst 9200
On se connecte en SSH au routeur 2 :
ssh admin@10.60.100.2 Mot de passe : glopglop
Puis on exécute les commandes suivantes :
SE2A5-R2(config)#vlan 165 SE2A5-R2(config-vlan)#name ANIMALCROSSING2 SE2A5-R2(config-vlan)#exit SE2A5-R2(config)#interface vlan 165 SE2A5-R2(config-if)#description ANIMALCROSSING2 SE2A5-R2(config-if)#ip address 10.60.165.2 255.255.255.0 SE2A5-R2(config-if)#ipv6 address 2001:660:4401:60a5::/64 eui-64 SE2A5-R2(config-if)#ipv6 nd prefix 2001:660:4401:60a5::/64 1000 900 SE2A5-R2(config-if)#ipv6 nd router-preference high SE2A5-R2(config-if)#ipv6 enable SE2A5-R2(config-if)#no shutdown SE2A5-R2(config-if)#vrrp 65 address-family ipv4 SE2A5-R2(config-if-vrrp)#address 10.60.165.254 SE2A5-R2(config-if-vrrp)#priority 100 SE2A5-R2(config-if-vrrp)#preempt SE2A5-R2(config-if-vrrp)#exit SE2A5-R2(config-if)#exit SE2A5-R2(config)#interface t1/1/2 SE2A5-R2(config-if)#switchport trunk allowed vlan add 165 SE2A5-R2(config-if)#exit SE2A5-R2(config)#interface g1/0/3 SE2A5-R2(config-if)#switchport trunk allowed vlan add 165 SE2A5-R2(config-if)#exit
Exploitation des failles du systèmes
Cassage de clef WEP
Pour cette partie, nous avons cassé la clé WEP qui se nomme "Cracotte 01". Nous commençons par installer l'utilitaire aircrack
su - apt install aircrack-ng
On prendra une clé USB Wifi et on listera les différentes interfaces de notre ordinateur :
lsusb
PHOTO
On réalise les commandes suivants :
airmon -ng
PHOTO
On va renommer l'interface en wlan0, nous allons utiliser la commande suivante pour passer la carte Wifi en monitor :
airmon -ng start wlx40a5ef059e47
On va ensuite faire cette commande afin d'écouter les trames Wifi de la clé USB:
airodump -ng wlan0
On obtient alors les informations suivantes :
BSSID PWR Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID 04:DA:D2:9C:50:50 -40 2 3 4 3 54e WEP WEP cracotte01
On filtre notre interface :
BSSID PWR RXQ Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID 04:DA:D2:9C:50:50 -42 10 30 19 4 3 54e WEP WEP cracotte01
On lance l'interface dans ce terminal avec la commande suivante :
airodump -ng -c 3 --bssid 04:DA:D2:9C:50:50 wlan0
On va ouvrir un autre terminal et on lancera le cassage de la clé :
airodump -ng /tmp/cracotte01-01.cap
On obtient :
# BSSID ESSID Encryption 1 04:DA:D2:9C:50:50 cracotte01 WEP (0 IVs)
Après 5-10min, on obtient le code de la clé Wifi :
PHOTO
Cassage de clef WPA-PSK
On vérifiera que notre utilitaire aircrack soit bien installé, si ce n'est pas le cas,on refera la commande :
apt-get install aircrack-ng
Puis on listera les interfaces Wifi :
airmon-ng
On obtiendra :
PHY Interface Driver Chipset phy0 wlx40a5ef01370a rt2800usb Ralink Technology, Corp. RT5370
On passera la carte Wifi en monitor :
airmon-ng start wlx40a5ef01370a
On aura alors rennomé notre interface wlx40a5ef01370a par wlan0mon
PHY Interface Driver Chipset phy0 wlan0mon rt2800usb Ralink Technology, Corp. RT5370
Une fois le handshake récupéré, nous avons créé notre propre dictionnaire contenant l'ensemble des mots de passes potentiels.Nous avons alors utilisé la commande suivante :
crunch 8 8 0123456789 >> /home/pifou/Desktop/Dico_Kracotte01.txt
Afin de casse la clé WPA, nous allons utiliser la commande suivante :
aircrack-ng -w xaa kracotte01.txt-01.cap
On obtient le résultat suivant :
Aircrack-ng 1.5.2
[08:04:01] 66637843/102795810 keys tested (958.44 k/s)
Time left: 10 hours, 29 minutes, 3 seconds 64.83%
KEY FOUND! [ 66601666 ]
Master Key : 43 33 CD 6B EA 53 29 36 F9 53 21 00 33 0A 1A 45 18 E3 D5 1D DD 1C 37 29 B9 6B 49 32 24 80 02 E5
Transient Key : 77 A3 E9 BF CE FD D1 2B D9 62 3B 15 3C D5 2C 20 59 59 19 3E AF 62 8F C9 1A 48 9C 1B 4B A4 89 70 B3 4C 79 2A 0A FB C9 71 1F 10 01 BE A5 FA 96 41 18 04 12 0E 01 91 DD EA B2 96 17 F3 69 AC 7C F5
EAPOL HMAC : DA 48 8D 5E B4 0E F9 78 63 C7 8E 01 56 40 82 10
Chiffrement de données
A faire