Cahier 2017 groupe n°3

De Wiki d'activités IMA
Révision datée du 5 décembre 2017 à 14:53 par Ahuet (discussion | contributions) (séance supplémentaires)

Configuration des points d'accès wifi

présentation

Schéma du réseau:


Schéma du réseau du projet

Notre objectif est de mettre en place une VM sur le serveur Cordouan et d'installer les points d'accès wifi pour les autres groupes. On cherchera à faire un banc de test et de tester la sécurité des chiffrements WEP et WPA.

avancement du travail

séance 1

  • Explication du projet
  • Répartition du travail dans les différents groupes
  • Gestion des adresses ip de chacun

séance 2

  • Exploration des locaux techniques de Polytech
  • Création de la VM Xen sur le serveur Cordouan
  • installation des paquetages nécessaires pour ssh, serveur WEB apache2 et le serveur DNS Bind
  • Achat du domaine :

séance 3

  • Mise en place des 2 premiers points d'accès wifi.
  • Avancement dans la compréhension de l'utilisation de la clef wifi

séance 4

  • Mise en place des 5 derniers points d'accès wifi.
  • Connexion faite entre la machine avec la clef wifi et le point d'accès.
  • Configuration de gandi et de notre serveur dns avec bind9

séances supplémentaires

  • Sécurisation de site web par certificats
  • Sécurisation de site web par dnssec
  • crackage de wlef WEP

Configuration d'un point d'accès

Commencer par se mettre en mode configuration:

 ap>enable
 ap#configure terminal

La configuration pour un point d'accès pour une sécurisation WEP est donc:

 ap(config)#dot11 ssid tomate
 ap(config-ssid)#authentication open
 ap(config-ssid)#vlan 8
 ap(config-ssid)#mbssid guest-mode 
 ap(config-ssid)#exit
 ap(config)#Interface dot11radio0
 ap(config)#ssid tomate
 ap(config-ssid)#no shutdown
 ap(config-ssid)#Encryption vlan 8 mode wep mandatory
 ap(config-ssid)#Encryption vlan 8 key 1 size 128bit 05050505050505050505050505
 ap(config-ssid)#End

Écrire les modifications:

 ap#write memory

Configurer le sous interface pour Dot11 radio 0 et Ethernet.

 ap#configure terminal
 ap(config)#interface Dot11Radio0.8
 ap(config-subif)#encapsulation dot1Q 8
 ap(config-subif)#bridge-group 8
 ap(config-subif)#interface GigabitEthernet0.8
 ap(config-subif)#encapsulation dot1Q 8
 ap(config-subif)#bridge-group 8
 ap(config-subif)#end
 ap#write memory


Crackage du mot de passe du point d'accès (WEP)

Premièrement installer le driver de la clef wifi si il n'est pas installé sur le poste. (Si pas d'interface wifi quand on tape iwconfig)

Par exemple pour une clef netgear on tape :

 lsusb

On récupére le nom entre crochet ([Intersil ISL3887]) On récupère le driver ou la manière de procéder pour ISL3887 dans notre cas grâce à ce site: https://wiki.debian.org/fr/prism54

Pour ISL3887:

 wget https://daemonizer.de/prism54/prism54-fw/fw-usb/2.13.25.0.lm87.arm --no-check-certificate
 mv 2.13.25.0.lm87.arm /lib/firmware/isl3887usb
 modprobe -r p54usb ; modprobe p54usb

Une fois le driver installé, on remarque que la led devient bleu et que une interface wifi apparaît avec iwconfig.

On configure /etc/network/interfaces:

 auto <nom de l'interface (wlx000fb592236a)>
 iface <nom de l'interface> inet static
   address <adresse ip qu'on donne à ce réseau (10.2.0.100)>
   netmask <masque (255.255.0.0)>
   wireless-essid <essid (banane)>
   wireless-key <mot de passe wifi (à regarder dans le doc de la promo)>

Après un ifdown <nom de l'interface> et ifup <nom de l'interface>, on remarque que la connexion est établie.


GroseilleAirodump-ng.png


GroseilleCrackWEPsuccessfull.png

Partie commune

Création de la VM

Pour suivre le thème de la promo qui porte sur les fruits, nous avons crée une machine virtuelle sur le serveur cordouan qui se nomme IMA5-GROSEILLE.

Cette VM hébergera un site web sécurisé qui se nommera www.groseille.space.

Pour cela on utilisera les commandes :

  • xen-create-image pour créer la machine virtuelle
  • lv-create pour que les répertoires /var et /home soient sur les partitions LVM de l'hôte.

Une fois la machine virtuelle crée, on créera la session avec:

 xl create IMA5-GROSEILLE.cfg

dans le repertoire /etc/xen

et :

 xl console IMA5-GROSEILLE

pour accéder à la VM.

Mise en place des services internet

Serveur dns

On installe notre outil de serveur web et de serveur de DNS

 apt-get install apache2
 apt-get install bind9


On se place dans le dossier : /etc/bind et on crée le fichier : db.groseille.space pour notre adresse ip (193.48.57.183)


Db.groseille.space.png


Et on spécifie notre zone dans le fichier named.conf.local


Groseille named.conf.local.png

On redémarre le service pour appliquer les changements:

 service bind9 restart

Et on configure le nom de dns sur le site de gandi. Dans name servers :

 DNS1 : ns.groseille.space
 DNS2 : ns6.gandi.net

Dans Glue records:

Groseille glue records.png

Serveur ssh

Pour installer le service, nous installons tout d'abords le package openssh-server

 apt-get install openssh-server

Notre utilisateur est root. Il nous faut donc autoriser l'accès directement en root.

 vim /etc/ssh/sshd_config

et tapez ou décommentez:

 PermitRootLogin yes

On peut donc maintenant se connecter en ssh à notre machine virtuelle en tapant:

 ssh root@www.groseille.space
Sécurisation de site web par certificats

Après avoir naviguer dans les pages de gandi pour sécuriser notre site web via ssl, gandi nous demande un fichier csr. On le générera comme ceci:

 openssl req -nodes -newkey rsa:2048 -sha1 -keyout groseille.space.key -out groseille.space.csr

On remplira par la suite les informations ci-dessous:

 Country Name (2 letter code) [AU]:FR
 State or Province Name (full name) [Some-State]:Nord
 Locality Name (eg, city) []:Villeneuve d'ascq
 Organization Name (eg, company) [Internet Widgits Pty Ltd]:groseille.space
 Organizational Unit Name (eg, section) []:groseille.space
 Common Name (e.g. server FQDN or YOUR name) []:groseille.space


En choisissant la troisième option, gandi nous demandait de mettre un fichier à la racine.

Gandi 3options.png

Nous avons donc téléchargé le fichier et collé dans :

 var/www/www.groseille.space/.well-known/pki-validation/DE2B588C8156976B90DB59420093DEDC.txt


Seulement, notre site n'était uniquement accessible en www.groseille.space mais pas sans les www. Après recherches, nous avons donc rajouter une ligne au fichier db.groseille.space dans bind:

 @       IN      A       193.48.57.183


Notre demande de certificat est toujours en train d'être exécuté. Cependant, une fois que tout sera validé par gandi, nous nous occuperons des fichier .crt, .pem, .key associés:

 cp groseille.space.key /etc/ssl/private/.
 cp GandiStandardSSLCA2.pem /etc/ssl/certs/. 
 cp groseille.space.crt /etc/ssl/certs/.
 c_rehash /etc/ssl/certs

On modifiera /etc/apache2/sites-available/000-groseille.space-ssl.conf

GroseilleApache.png

On écrira dans ports.conf de apache :

  Listen 80 443
  <IfModule ssl_module>
          Listen 443
  </IfModule>

On activera le module SSL de Apache et notre site avec ces commandes:

  a2enmod ssl
  a2ensite 000-groseille.space-ssl.conf
  service apache2 reload
Sécurisation de site web par dnssec

On cherchera à sécuriser notre serveur DNS en signant la zone correspondant à notre nom de domaine.

Dans le fichier : named.conf.options on ajoutera l'option:

 dnssec-enable yes;

On créera le répertoire groseille.space.dnssec pour y générer les clefs.

Dedans, on créera aussi la clef asymétrique de la zone pour signer les enregistrements.

 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -r /dev/urandom -n ZONE groseille.space
 dnssec-keygen -a RSASHA1 -b 1024 -r /dev/urandom -n ZONE groseille.space

On les renommera pour avoir :

 groseille.space-ksk.key
 groseille.space-ksk.private
 groseille.space-zsk.key
 groseille.space-zsk.private

On modifiera le fichier /etc/bind/db.groseille.space comme ceci :

 $include /etc/bind/groseille.space.dnssec/groseille.space-ksk.key
 $include /etc/bind/groseille.space.dnssec/groseille.space-zsk.key

Signature des enregistrements de zone (dans /etc/bind/groseille.space.dnssec)

 dnssec-signzone -o groseille.space -k groseille.space-ksk ../db.groseille.space groseille.space-zsk

On modifie pour finir le fichier named.conf.local pour avoir db.groseille.space.signed

Après avoir enregistrer le record sur gandi, on attend que gandi prenne en compte les nouvelles configurations. On pourra vérifier les modifications grâce aux commandes:

 grep 217.70.177.40 /var/log/daemon.log
 host -t any groseille.space ns6.gandi.net
 for f in /var/log/apache2/access.log.*gz ; do zcat $f | grep -i well ; done