Cahier groupe n°10 : Différence entre versions

De Wiki de Projets IMA
(Partie commune)
(Sécurisation par DNSSEC)
Ligne 111 : Ligne 111 :
  
 
Pour finir on a donné la partie publique de la clé à gandi.net. Nous avons alors pu tester la sécurisation de notre DNS et nous avons constaté que [https://www.zonemaster.fr/test/cf7bf6023a001b3d cela fonctionne bien].
 
Pour finir on a donné la partie publique de la clé à gandi.net. Nous avons alors pu tester la sécurisation de notre DNS et nous avons constaté que [https://www.zonemaster.fr/test/cf7bf6023a001b3d cela fonctionne bien].
 +
 +
== Tests d'intrusion ==

Version du 5 novembre 2015 à 14:04

Introduction

Le but du projet de PRA est dans un premier temps de réaliser une tâche particulière différente pour chaque groupe, puis dans un deuxième temps de traiter une partie commune. Notre tâche consiste à mettre en place un "atelier" permettant d'essayer de craquer des réseaux wifi.

Crack Wifi

Objectif

Le but de cette tâche est d'installer dans un premier temps Debian sur un ordinateur portable dont l'écran ne s'allume plus, puis dans un deuxième temps de le configurer de manière à pouvoir brancher 8 cartes wifi en USB et les connecter à des SSID différents diffusés par une borne.

Réalisation

Dans un premier temps nous avons fait des recherches pour savoir quelles méthodes on pouvait utiliser pour installer un PC sans avoir besoin de l'écran, et les deux principales sont :

  • Sortir le disque dur du PC portable et le mettre sur une Zabeth, installer Debian sur ce disque, puis le remettre dans l'ordinateur
  • Pré-seed une ISO de Debian

Après avoir ouvert l'ordinateur portable, on s'est aperçu que le disque était en réalité un SSD conecté en mSATA. Comme nous ne disposons pas d'adaptateur mSATA vers SATA et que les cartes mères des Zabteh n'ont pas de ports adaptés, nous n'avons pas pu procéder de cette manière.

Pré-seed une ISO consiste à y ajouter un fichier de configuration qui permet d'activer par défaut le SSH et à communiquer tous les choix demandé à l'utilisateur lors de l'installation du système d'exploitation via le réseau.

Cependant, avant d'essayer cette deuxième méthode, nous voulions dans un premier temps essayer de démonter le PC et de retirer la carte graphique dédiée. En effet, la génération de processeur dont est équipé cet ordinateur dispose d'un chipset graphique intégré. Ainsi, en retirant la carte graphique dédié nous espérions que le chipset intégré prenne le relais et ainsi récupérer l'affichage.

Nous avons alors démonté l'ordinateur pour pouvoir retirer la carte graphique. Nous nous somme alors aperçu que le chipset Intel intégré prenait bien le relais. Nous avons alors remonté l'ordinateur et ainsi pu procéder à l'installation de Debian Jessie.

Installation d'une nouvelle carte graphique

Comme une nouvelle carte graphique a été reçue (une Nvidia Quadro M1000), nous avons re-démonté le PC afin de l'installer. Nous avons alors refixé les caloducs et changé la pâte thermique du processeur et de la carte graphique.
Une fois le PC remonté, nous avons téléchargé le pilote Nvidia officiel, puis nous l'avons installé. Après un reboot de la machine, nous avons pu constaté que la carte graphique était bien fonctionnelle.

Services internet

Création de la machine virtuelle

Nous avons tout d'abord créé une machine virtuelle sur le dom0 du serveur cordouan.insecserv.deule.net. Pour delà nous nous somme connecté en ssh :

ssh root@cordouan.insecserv.deule.net

Puis nous avons créé la VM avec les paramètres suivants :

xen-create-image --hostname=DELIRIUM --dist=jessie --dir=/usr/local/xen --gateway=193.48.57.174 --ip=193.48.57.170

Nous avons ensuite modifié le fichier DELIRIUM.cfg de manière à augmenter la mémoire de notre machine virtuelle à 512MB puis lancé la VM avec la commande suivante :

xl create /etc/xen/DELIRIUM.cfg

Une fois la machine virtuelle démarré nous avons pu nous y connecter grâce à la commande :

xl console DELIRIUM

Préparation de la machine

Pour réaliser le TP nous avions besoin d'installer les paquets ssh, apache2 et bind9.

Après avoir modifier le fichier /etc/ssh/sshd_config de manière à pouvoir se connecter directement en tant que root via le ssh nous avons lancé apache de manière à ce qu'il fasse tourner un site internet basique. A cette étape, le site était alors accessible via son adresse ip : 193.48.57.170

Création du serveur DNS

Nous sommes tout d'abord allés sur gandi.net et nous avons choisi le nom de domaine delirium.lol, qui incluait également un certificat ssl. Une fois le nom de domaine livré, nous sommes allés sur la page de configuration et avons choisi notre serveur comme DNS principal. Nous avons également modifié les glue records afin que ns.delirium.lol soit associé à l'adresse 193.48.57.170.
Une fois cette étape faite, nous avons configurer bind de manière à rendre notre serveur fonctionnel. Nous avons tout d'abord modifié le fichier named.conf.local de manière à y ajouter notre zone :

zone "delirium.lol" {
type master;
file "/etc/bind/zones/delirium.lol.db";
};

Puis dans le fichier resolv.conf nous avons ajouté l'adresse de notre serveur DNS, ainsi que celle du DNS secondaire appartenant à Gandi :

search delirium.lol
nameserver 193.48.57.170
nameserver 217.70.177.40

Nous avons alors créé notre fichier de zone /etc/bind/zones/delirium.lol.db de manière à ce que toutes les redirection se fassent correctement. Ainsi que notre fichier de reverse DNS /etc/bind/zones/rev.193.48.57.in-addr.arpa. Une fois ces opérations effectuées nous avons redémarré notre serveur DNS :

/etc/init.d/bind9 restart

DNS.png

Sécurisation du site par certificat

La première étape a été de générer les fichiers delirium.lol.csr et delirium.lol.key avec la commande :

openssl req -new -newkey rsa:2048 -sha256 -nodes -out delirium.lol.csr -keyout delirium.lol.key -subj '/C=FR/CN=delirium.lol'

Une fois ces fichiers générés, nous avons attendu de recevoir le certificat delirium.lol.crt à l'adresse admin@delirium.lol précédemment créée. Nous avons également récupéré le certificat intrmédiaire GandiStandardSSLCA2.pem sur le site gandi.net. Une fois tous les certificats récupérés sur notre serveur, nous avons pu commencer la sécurisation d'apache.

Dans un premier temps nous avons modifié le fichier /etc/apache2/ports.conf pour y ajouter la ligne Listen 443. Cela permet à apache d'écouter les connexions sur le port 443 utilisé par le https. Nous avons ensuite copié les certificats .crt et .pem dans le dossier /etc/ssl/certs/ et la clé .key dans /etc/ssl/private/.

Nous avons ensuite rehash la structure à l'aide de la commande :

c_rehash /etc/ssl/certs

Nous avons alors pu créé un site dédié /etc/apache2/sites-available/000-delirium.lol-ssl et nous l'avons configuré pour qu'il utilise les certificats précédemment obtenus. Nous avons alors activé le site sécurisé avec la commande :

a2ensite 000-domain.tld-ssl

On a alors redémarré apache pour que ces configurations soient prises en compte. Nous avons alors pu constater que nous accédions bien à notre site à l'adresse https://delirium.lol

Sécurisation par DNSSEC

Nous avons tout d'abord ajouté l'option dnssec-enable yes; dans le fichier named.conf.options puis nous avons généré les clés KSK et ZSK de zones avec les commandes :

dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE delirium.lol
dnssec-keygen -a RSASHA1 -b 1024 -n ZONE delirium.lol

Nous avons alors renommé les clés en delirium.lol-ksk.key et delirium.lol-zsk.key pour les publiques ainsi qu'en delirium.lol-ksk.private et delirium.lol-zsk.private pour les privées. nous les avons alors placé dans le dossier /etc/bind/delirium.lol.dnssec/

On a ensuite inclut nos clés publiques dans notre fichier de zone en rajoutant les lignes :

$include /etc/bind/delirium.lol.dnssec/delirium.lol-ksk.key
$include /etc/bind/delirium.lol.dnssec/delirium.lol-zsk.key

On a alors pu signer les enregistrement de la zone :

dnssec-signzone -o delirium.lol.db -k delirium.lol-ksk ../zones/delirium.lol.db delirium.lol-zskdnssec-signzone -o delirium.lol.db -k delirium.lol-ksk ../zones/delirium.lol.db delirium.lol-zsk

Nous avons alors modifié le fichier named.conf.local pour utiliser la zone signée delirium.lol.db.signed.

Pour finir on a donné la partie publique de la clé à gandi.net. Nous avons alors pu tester la sécurisation de notre DNS et nous avons constaté que cela fonctionne bien.

Tests d'intrusion