Cahier 2016 groupe n°2 : Différence entre versions
(→Sécurisation Wifi par WPA2-EAP) |
(Annulation des modifications 46348 de Hdelatte (discussion)) |
||
(22 révisions intermédiaires par 3 utilisateurs non affichées) | |||
Ligne 46 : | Ligne 46 : | ||
</pre> | </pre> | ||
+ | Commandes de base pour démarrer la VM proprement: | ||
+ | <pre> | ||
+ | ssh root@cordouan.insecserv.deule.net | ||
+ | xl create /etc/xen/GreenArrow.cfg | ||
+ | ssh username@weppes | ||
+ | ssh root@193.48.57.162 | ||
+ | </pre> | ||
* Achat du nom de domaine [http://jjlddelamuerto.space] sur Gandi pour 1.19€ TTC | * Achat du nom de domaine [http://jjlddelamuerto.space] sur Gandi pour 1.19€ TTC | ||
Ligne 789 : | Ligne 796 : | ||
</pre> | </pre> | ||
− | ==== | + | ==== Serveur DCHP ==== |
+ | |||
+ | Pour cette partie, nous avons d'abord installer le paquet isc-dhcp-server. | ||
+ | Ensuite, nous avons modifier le fichier dhcpd.conf : | ||
+ | <pre> | ||
+ | option domain-name "jjlddelamuerto.space"; | ||
+ | option domain-name-servers 193.48.57.162; | ||
+ | |||
+ | subnet 10.60.3.0 netmask 255.255.255.0 { | ||
+ | range 10.60.3.10 10.60.3.40; | ||
+ | option routers 10.60.3.1; | ||
+ | } | ||
+ | </pre> | ||
+ | |||
+ | Nous modifions ensuite isc-dhcp-server pour rajouter l'interface wlan0 : | ||
+ | <pre> | ||
+ | INTERFACES="wlan0" | ||
+ | </pre> | ||
+ | |||
+ | Nous pouvons maintenant nous connecter sur le reseau Wifi via smartphone, le serveur DHCP fonctionne correctement. | ||
+ | [[Fichier:Connexioniphone.JPG|thumb|center|Connexion via smartphone]] | ||
+ | |||
+ | ==== Configuration et utilisation du PCBX ==== | ||
+ | |||
+ | Nous avons modifiés le fichier sip.conf :<br /> | ||
+ | <pre>[general] | ||
+ | hasvoicemail=yes | ||
+ | hassip=yes | ||
+ | hasiax=yes | ||
+ | callwaiting=yes | ||
+ | threewaycalling=yes | ||
+ | callwaitingcallerid=yes | ||
+ | transfer=yes | ||
+ | canpark=yes | ||
+ | cancallforward=yes | ||
+ | callreturn=yes | ||
+ | callgroup=1 | ||
+ | pickupgroup=1 | ||
+ | nat=yes | ||
+ | |||
+ | [6001] | ||
+ | type=friend | ||
+ | host=dynamic | ||
+ | dtmfmode=rfc2833 | ||
+ | disallow=all | ||
+ | allow=ulaw | ||
+ | fullname=JulienJoignaux | ||
+ | username=jjoignaux | ||
+ | secret=secret | ||
+ | context=work | ||
+ | |||
+ | [6002] | ||
+ | type=friend | ||
+ | host=dynamic | ||
+ | dtmfmode=rfc2833 | ||
+ | disallow=all | ||
+ | allow=ulaw | ||
+ | fullname=LoicDelecroix | ||
+ | username=ldelecro | ||
+ | secret=secret | ||
+ | context=work</pre> | ||
+ | <br /> | ||
+ | |||
+ | Puis nous modifions le fichier extensions.conf | ||
+ | <pre>[work] | ||
+ | exten=>_6XXX,1,Dial(SIP/${EXTEN},20) | ||
+ | exten => _6XXX,2,Hangup() | ||
+ | </pre> | ||
+ | |||
+ | [[Fichier:voipjjld.jpg|thumb|center|Appel entre 2 smartphones]] | ||
+ | |||
+ | == Références == | ||
+ | |||
+ | * Crackage de la clef WEP : [http://wiki.backtrack-fr.net/index.php/Casser_une_cl%C3%A9_wep/wpa_avec_la_suite_Aircrack-ng] | ||
+ | * Cassage de mot de passe WPA-PSK : [http://www.crack-wifi.com/tutoriel-crack-wpa.php] | ||
+ | * Cryptage de données : [https://doc.ubuntu-fr.org/cryptsetup] | ||
+ | * DHCP : [https://doc.ubuntu-fr.org/isc-dhcp-server] | ||
+ | * Asterisk : [http://denisrosenkranz.com/tuto-installer-et-configurer-asterisk-sous-debian-6-et-ubuntu/] |
Version actuelle datée du 17 novembre 2017 à 13:58
Sommaire
Tâche particulière
Câblage de la fibre:
Prise de connaissance du sujet de PRA et le choix des tâches particulières. Nous avons également commencer à essayer d'identifier les câbles de fibres déjà existants.
Toujours sur la tâche particulière. Identification de tous les câbles déjà tirés. Test de link de chaque câble. Nous avons également commencé à passer les câbles restants.
Tous les câbles nécessaires ont été tirés entre les deux salles, tous les link sont up. Nous avons identifié chaque câble par un scotch de couleur différente. Nous avons également percé la gouttière de la E304 pour laisser passer un raccord de fibre proprement.
- Nous avons pu identifier les câbles déjà présents. Il y a donc 2 câbles déjà tirés entre les 2 piles, 2 câbles qui partent de la E306 jusqu'au boîtier ainsi qu'un câble par salle quid descend dans le local technique.
- Nous allons donc prolonger les 2 câbles s'arrêtant dans le boîtier et tirer 2 nouveaux câbles entre les deux piles: nous aurons donc 6 fils au total.
- 2 Grands câbles de 30m ~ -> Estimation de 26m entre les 2 piles.
- 2 petits câbles de 15m ~ -> Estimation de 13m du boîtier à la pile
- Retirer le câble ethernet qui était tiré entre les 2 piles.
- 7 heures passées au total sur la tâche particulière
Travail commun
- Installation de la machine virtuelle XEN
xen-create-image --hostname=GreenArrow --ip=193.48.57.162 --netmask=255.255.255.240 --gateway=193.48.57.172 --dir=/usr/local/xen --mirror=http://debian.polytech-lille.fr/debian/ --dist=jessie
Modification du fichier de configuration de la machine virtuelle pour faire en sorte que les répertoires var et home de la machine virtuelle soient sur des partitions LVM de l'hôte:
lvcreate -L 10G -n /dev/virtual/ima5-GreenArrow-home -v lvcreate -L 10G -n /dev/virtual/ima5-GreenArrow-var -v
disk = [ 'file:/usr/local/xen/domains/GreenArrow/disk.img,xvda2,w', 'file:/usr/local/xen/domains/GreenArrow/swap.img,xvda1,w', 'phy:/dev/virtual/ima5-GreenArrow-home,xvdc,w', 'phy:/dev/virtual/ima5-GreenArrow-var,xvdb,w', ]
Commandes de base pour démarrer la VM proprement:
ssh root@cordouan.insecserv.deule.net xl create /etc/xen/GreenArrow.cfg ssh username@weppes ssh root@193.48.57.162
- Achat du nom de domaine [1] sur Gandi pour 1.19€ TTC
Services Internet
Serveur SSH
Sur notre machine virtuelle nous avons configuré le fichier sshd_config (changement de la ligne PubkeyAuthentication) :
root@GreenArrow:~# vim /etc/ssh/sshd_config RSAAuthentication yes PubkeyAuthentication yes #AuthorizedKeysFile %h/.ssh/authorized_keys root@GreenArrow:~# service ssh restart
Nous avons ensuite réussi à nous connecter en SSH sur notre VM:
jjoignau@weppes:~$ ssh root@193.48.57.162 root@193.48.57.162's password: The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. Last login: Mon Nov 7 10:06:49 2016 root@GreenArrow:~# exit
Serveur DNS
Tout d'abord, nous modifions le fichier named.conf.local pour créer les zones nécessaires :
root@GreenArrow:/etc/bind# vim /etc/bind/named.conf.local zone "jjlddelamuerto.space" IN { type master; file "/etc/bind/db.jjlddelamuerto.space"; }; zone "57.48.193.in-addr.arpa" IN { type master; file "/etc/bind/db.57.48.193.in-addr.arpa"; };
Nous créons ensuite les fichiers db.jjlddelamuerto.space et db.57.48.193.in-addr.arpa :
$TTL 604800 @ IN SOA ns.jjlddelamuerto.space. root.jjlddelamuerto.space. ( 2016113007 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS ns.jjlddelamuerto.space. @ IN NS ns6.gandi.net. ns IN A 193.48.57.162 www IN A 193.48.57.162 @ IN A 193.48.57.162 ns IN AAAA 2001:660:4401:60ba:216:3eff:fe80:efa8 www IN AAAA 2001:660:4401:60ba:216:3eff:fe80:efa8 @ IN AAAA 2001:660:4401:60ba:216:3eff:fe80:efa8
$TTL 604800 @ IN SOA jjlddelamuerto.space. root.jjlddelamuerto.space. ( 2016113007 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; 57.48.193.in-addr.arpa. IN NS ns.jjlddelamuerto.space. 57.48.193.in-addr.arpa. IN NS ns2.gandi.net. 162 IN PTR jjlddelamuerto.space.
Nous modifions ensuite le fichier /etc/resolv.conf afin de passer par notre serveur :
root@GreenArrow:/etc/bind# vim /etc/resolv.conf search jjlddelamuerto.space nameserver 193.48.57.162
Enfin, nous vérifions notre configuration :
root@GreenArrow:/etc/bind# host www.jjlddelamuerto.space www.jjlddelamuerto.space has address 193.48.57.162 www.jjlddelamuerto.space has IPv6 address 2001:660:4401:60ba:216:3eff:fe80:efa8 root@GreenArrow:/etc/bind# host -tany jjlddelamuerto.space jjlddelamuerto.space has IPv6 address 2001:660:4401:60ba:216:3eff:fe80:efa8 jjlddelamuerto.space has address 193.48.57.162 jjlddelamuerto.space has SOA record ns.jjlddelamuerto.space. root.jjlddelamuerto.space. 2016113007 604800 86400 2419200 604800 jjlddelamuerto.space name server ns6.gandi.net. jjlddelamuerto.space name server ns.jjlddelamuerto.space.
Sécurisation de site web par certificat
Premièrement, sur Gandi nous lançons l'étape d'achat d'un certificat SSL. Puis, sur la VM nous générons le CSR grâce à cette commande:
root@GreenArrow:/etc/apache2/sites-available/clef# openssl req -nodes -newkey rsa:2048 -sha256 -keyout GreenArrow.key -out GreenArrow.csr Generating a 2048 bit RSA private key If you enter '.', the field will be left blank. ----- 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) []:IMA Common Name (e.g. server FQDN or YOUR name) []:jjlddelamuerto.space Email Address []: A challenge password []: An optional company name []: root@GreenArrow:/etc/apache2/sites-available/clef# ls GreenArrow.csr GreenArrow.key root@GreenArrow:/etc/apache2/sites-available/clef# cat GreenArrow.csr -----BEGIN CERTIFICATE REQUEST----- <CSR à renseigner sur Gandi lors de l'achat du certificat> -----END CERTIFICATE REQUEST-----
Nous continuons donc la procédure pour obtenir le certificat, et attendons donc sa mise en place.
Pour recevoir le mail contenant le lien pour activer le certificat, nous installons les packages suivants :
root@GreenArrow:~# apt-get install postfix mailx
Une fois le certificat récupéré, nous les copions tous dans le bon répertoire, puis nous hashons le tout :
root@GreenArrow:/etc/bind# cp certificat.crt /etc/ssl/certs/jjlddelamuerto.space.crt root@GreenArrow:/etc/bind# cp serveur.key /etc/ssl/private/jjlddelamuerto.space.key root@GreenArrow:/etc/bind# cp GandiStandardSSLCA2.pem /etc/ssl/certs/GandiStandardSSLCA2.pem root@GreenArrow:/etc/bind# c_rehash /etc/ssl/certs
Enfin, la dernière étape consiste en la modification des fichiers 000-jjlddelamuerto.space-ssl.conf et ports.conf :
root@GreenArrow:/etc/apache2/sites-available# cat 000-jjlddelamuerto.space-ssl.conf <VirtualHost *:443> ServerName www.jjlddelamuerto.space ServerAlias jjlddelamuerto.space DocumentRoot /var/www/ CustomLog /var/log/apache2/secure_access.log combined SSLEngine on SSLCertificateFile /etc/ssl/certs/jjlddelamuerto.space.crt SSLCertificateKeyFile /etc/ssl/private/jjlddelamuerto.space.key SSLCertificateChainFile /etc/ssl/certs/GandiStandardSSLCA2.pem SSLVerifyClient None </VirtualHost> root@GreenArrow:/etc/apache2# cat ports.conf Listen 80 <IfModule ssl_module> Listen 443 </IfModule> <IfModule mod_gnutls.c> Listen 443 </IfModule>
Un redémarrage du service apache2 est maintenant nécessaire :
root@GreenArrow:/etc/apache2# service apache2 stop root@GreenArrow:/etc/apache2# service apache2 start root@GreenArrow:/etc/apache2# service apache2 reload
Nous pouvons voir que notre site [2] est maintenant sécurisé, un cadenas vert est bien présent.
Sécurisation de serveur DNS par DNSSEC
Génération des clefs asymétriques:
dnssec-keygen -a RSASHA1 -b 2048 -r /dev/urandom -f KSK -n ZONE jjlddelamuerto.space dnssec-keygen -a RSASHA1 -b 1024 -r /dev/urandom -n ZONE jjlddelamuerto.space
On modifie le nom des clefs:
root@GreenArrow:/etc/bind/jjlddelamuerto.space.dnssec# ls dsset-jjlddelamuerto.space. jjlddelamuerto.space-zsk.key jjlddelamuerto.space-ksk.key jjlddelamuerto.space-zsk.private jjlddelamuerto.space-ksk.private
Ensuite nous signons les zones:
root@GreenArrow:/etc/bind/jjlddelamuerto.space.dnssec# dnssec-signzone -o jjlddelamuerto.space -k jjlddelamuerto.space-ksk ../db.jjlddelamuerto.space jjlddelamuerto.space-zsk Verifying the zone using the following algorithms: RSASHA1. Zone fully signed: Algorithm: RSASHA1: KSKs: 1 active, 0 stand-by, 0 revoked ZSKs: 1 active, 0 stand-by, 0 revoked ../db.jjlddelamuerto.space.signed
Pour finir nous ajoutons la clef KSK sur Gandi avec l'algorithme RSA/SHA1.
Tests d'intrusion
Intrusion par changement d'adresse MAC
Tout d'abord nous modifions le fichier /etc/network/interfaces:
root@zebrasoma:/home/pifou# vim /etc/network/interfaces auto wlan5 iface wlan5 inet static address 172.26.79.21 netmask 255.255.240.0 gateway 172.26.79.254 wireless mode-managed wireless-essid Wolverine wireless-key 0123456789
Nous vérifions ensuite que nous sommes associés à Wolverine:
root@zebrasoma:/home/pifou# iwconfig wlan5 IEEE 802.11abg ESSID:"Wolverine" Mode:Managed Frequency:2.462 GHz Access Point: 44:AD:D9:5F:87:00 Bit Rate=54 Mb/s Tx-Power=200 dBm Retry short limit:7 RTS thr:off Fragment thr:off Encryption key:0123-4567-89 Power Management:off Link Quality=50/70 Signal level=-60 dBm Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:0 Missed beacon:0
Nous changeons ensuite l'@ MAC:
root@zebrasoma:/home/pifou# ip link set wlan5 address 00:1a:56:a4:4b:ff
root@zebrasoma:/home/pifou# ip a 3: wlan5: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000 link/ether 00:1a:56:a4:4b:ff brd ff:ff:ff:ff:ff:ff inet 172.26.79.21/20 brd 172.26.79.255 scope global wlan5 valid_lft forever preferred_lft forever
Après le changement d'@ MAC, l'association est bien impossible:
root@zebrasoma:/home/pifou# ifconfig wlan5 up root@zebrasoma:/home/pifou# iwconfig wlan5 IEEE 802.11bgn ESSID:"Wolverine" Mode:Managed Access Point: Not-Associated Tx-Power=20 dBm Retry short limit:7 RTS thr:off Fragment thr:off Encryption key:0123-4567-89 Power Management:off
Crackage de la clef WEP
Nous avons fait le crack de la clé WEP sur cracotte08. Pour cracker la clef WEP, nous avons tout d'abord utiliser airmon-ng afin de voir le statut des interfaces réseau.
root@zebrasoma:/home/pifou# airmon-ng Interface Chipset Driver mon0 Ralink RT2870/3070 rt2800usb - [phy1] wlan0 Broadcom wl - [phy0] wlan5 Ralink RT2870/3070 rt2800usb - [phy1]
On entre ensuite en mode monitoring sur l'interface wlan5 :
root@zebrasoma:/home/pifou# airmon-ng start wlan5 Found 2 processes that could cause trouble. If airodump-ng, aireplay-ng or airtun-ng stops working after a short period of time, you may want to kill (some of) them! PID Name 1986 avahi-daemon 1987 avahi-daemon Interface Chipset Driver mon0 Ralink RT2870/3070 rt2800usb - [phy1] wlan0 Broadcom wl - [phy0] wlan5 Ralink RT2870/3070 rt2800usb - [phy1] (monitor mode enabled on mon1)
Pour continuer, nous capturons les paquets transitant afin de collecter les paquets nécessaires au décryptage de la clef WEP. L'option --encrypt wep permet de filtrer uniquement les points d'accès WEP.
root@zebrasoma:/home/pifou# airodump-ng --encrypt wep wlan5 CH 5 ][ Elapsed: 0 s ][ 2016-03-31 18:36 BSSID PWR Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID 44:AD:D9:5F:87:00 -42 3 0 0 3 54e. WEP WEP Wolverine 04:DA:D2:9C:50:50 -59 2 11 0 2 54e. WEP WEP cracotte01 04:DA:D2:9C:50:56 -59 3 19 0 2 54e. WEP WEP cracotte07 04:DA:D2:9C:50:59 -59 2 0 0 2 54e. WEP WEP cracotte10 04:DA:D2:9C:50:57 -59 2 15 0 2 54e. WEP WEP cracotte08 04:DA:D2:9C:50:52 -58 3 85 42 2 54e. WEP WEP cracotte03 04:DA:D2:9C:50:54 -58 1 20 9 2 54e. WEP WEP cracotte05 04:DA:D2:9C:50:55 -60 1 9 4 2 54e. WEP WEP cracotte06 04:DA:D2:9C:50:51 -59 2 134 66 2 54e. WEP WEP cracotte02 04:DA:D2:9C:50:53 -61 6 95 47 2 54e. WEP WEP cracotte04 BSSID STATION PWR Rate Lost Frames Probe 04:DA:D2:9C:50:50 00:0F:B5:92:23:75 -66 54e-48e 68 10 04:DA:D2:9C:50:56 00:0F:B5:92:23:71 -72 36e- 2e 133 19 04:DA:D2:9C:50:57 00:0F:B5:92:22:66 -66 54e-36e 89 15 04:DA:D2:9C:50:52 00:0F:B5:92:23:6A -62 54e-48e 23 84 04:DA:D2:9C:50:54 00:0F:B5:92:23:74 -66 54e-36e 576 20
Nous avons choisi de récuperer la clef WEP de cracotte03 (son BSSID est lié à une station)
root@zebrasoma:/home/pifou# airodump-ng --essid cracotte03 --channel 2 -w crackWEP wlan5 CH 2 ][ Elapsed: 12 s ][ 2016-03-31 18:42 BSSID PWR RXQ Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID 04:DA:D2:9C:50:52 -57 35 43 1066 87 2 54e. WEP WEP cracotte03 BSSID STATION PWR Rate Lost Frames Probe 04:DA:D2:9C:50:52 00:0F:B5:92:23:6A -64 36e-48e 1232 1067
Enfin, nous lançons le crack de la clef à l'aide de aircrack-ng :
root@zebrasoma:/home/pifou# aircrack-ng crackWEP-02.cap Aircrack-ng 1.2 beta3 [00:00:04] Tested 112801 keys (got 3050 IVs) KB depth byte(vote) 0 6/ 10 CD(5120) 15(4864) 6D(4864) 8C(4864) A7(4864) 1 46/ 1 E9(4352) 04(4096) 0E(4096) 0F(4096) 16(4096) 2 14/ 42 C8(4864) 10(4608) 11(4608) 1D(4608) 58(4608) 3 19/ 3 CF(4864) 0A(4608) 5E(4608) 8E(4608) 90(4608) 4 2/ 16 08(5632) 89(5376) 96(5376) B4(5376) F7(5376) Failed. Next try with 5000 IVs.
Il est nécessaire d'être proche du point d’accès (sinon le débit est trop faible, ce qui rend l'opération longue), ainsi que de capturer un minimum de 10 000 paquets.
Au final, nous arrivons bien à récupérer la clef WEP :
Aircrack-ng 1.2 beta3 [00:04:10] Tested 799 keys (got 42913 IVs) KB depth byte(vote) 0 0/ 1 EE(56320) B4(51712) 9D(50944) 4E(50688) 28(50432) 1 1/ 2 D9(55552) 3D(50176) 68(49664) 08(49408) 49(49152) 2 1/ 5 A2(53504) 5B(52480) 93(52480) 73(52224) 10(50432) 3 1/ 3 30(53248) 81(51456) 5B(49920) 6E(49920) 1E(49664) 4 9/ 4 9D(50176) 31(49408) 18(49152) 72(49152) E1(49152) KEY FOUND! [ EE:EE:EE:EE:EE:EE:EE:EE:EE:EE:EE:E4:44 ] Decrypted correctly: 100%
Cassage de mot de passe WPA-PSK par force brute
Nous refaisons les mêmes actions que pour le crackage de clef WEP. Cette fois nous essayons de cracker la clef WPA sur cracotte03.
root@zebrasoma:/home/pifou# airodump-ng --encrypt wpa wlan5
root@zebrasoma:/home/pifou# airodump-ng --essid cracotte03 --channel 13 -w crackWPA wlan5
Une fois le handshake récupéré:
root@zebrasoma:/home/pifou# aircrack-ng -w dico.txt crackWPA-01.cap
Nous avons lancé ceci sur le eeePC qui a une vitesse de traitement 5 fois inférieure à celle d'une zabeth environ (environ 5h de traitement). Puis nous obtenons le résultat suivant:
Aircrack-ng 1.2 beta3 [04:32:42] 12399908 keys tested (759.63 k/s) KEY FOUND! [ 12399903 ] Master Key : 33 2B 69 DD 95 0A 5A E0 01 22 7E FF 98 DA 99 87 40 7A CB CC 8A E5 32 9F FE 4E 5C 44 91 38 13 93 Transient Key : 70 EE 27 96 5B 34 B5 4F 06 A1 F2 B6 A7 16 1E 21 7A 0B BD F4 13 67 5B 4C ED 30 A9 0D 91 E3 F9 7F 88 E6 12 68 9C 77 4B 48 EB 5E 6A 5A DD 1D D9 08 36 40 94 7D B4 05 80 B2 60 FA 84 81 50 CE DC 87 EAPOL HMAC : 83 03 24 AC 39 AB 67 E7 7B C4 40 E8 6B 6D 7D 47
Réalisations
Sécurisation des données
Nous créons d'abord 3 nouvelles partitions, que nous associons à notre VM en modifiant le fichier GreenArrow.cfg :
lvcreate -L 1G -n /dev/virtual/GreenArrow-1 -v lvcreate -L 1G -n /dev/virtual/GreenArrow-2 -v lvcreate -L 1G -n /dev/virtual/GreenArrow-3 -v 'phy:/dev/virtual/GreenArrow-1,xvdd,w', 'phy:/dev/virtual/GreenArrow-2,xvde,w', 'phy:/dev/virtual/GreenArrow-3,xvdf,w',
Il faut ensuite installer mdadm :
apt-get install mdadm
Nous avions une erreur à propos du subsystem. Pour que cela fonctionne, il nous manquait la commande :
apt-get install linux-image-3.16.0-4-amd64
Après un reboot de la machine, nous créons le volume /dev/md0:
mdadm --create /dev/md0 --level=5 --assume-clean --raid-devices=3 /dev/xvdd /dev/xvde /dev/xvdf
Pour avoir le détail de la configuration actuelle:
root@GreenArrow:~# mdadm --detail /dev/md0 /dev/md0: Version : 1.2 Creation Time : Mon Nov 28 12:56:23 2016 Raid Level : raid5 Array Size : 2095104 (2046.34 MiB 2145.39 MB) Used Dev Size : 1047552 (1023.17 MiB 1072.69 MB) Raid Devices : 3 Total Devices : 3 Persistence : Superblock is persistent Update Time : Mon Nov 28 12:56:23 2016 State : clean Active Devices : 3 Working Devices : 3 Failed Devices : 0 Spare Devices : 0 Layout : left-symmetric Chunk Size : 512K Name : GreenArrow:0 (local to host GreenArrow) UUID : f70ca72e:e8adc585:ec023dca:21061341 Events : 0 Number Major Minor RaidDevice State 0 202 48 0 active sync /dev/xvdd 1 202 64 1 active sync /dev/xvde 2 202 80 2 active sync /dev/xvdf
Puis nous sauvons cette dernière afin de conserver md0:
root@GreenArrow:~# mdadm --detail --scan >> /etc/mdadm/mdadm.conf
Puis:
root@GreenArrow:~# mkfs /dev/md0 root@GreenArrow:~# mkdir /datamd0 root@GreenArrow:/datamd0# mount /dev/md0 /datamd0/
Ensuite il faut éditer le fichier /etc/fstab en rajoutant la ligne suivante à la fin du fichier afin d'être surs que la partition soit encore montée après le reboot:
/dev/md0 /datamd0
Nous créons un fichier texte sur le raid5:
root@GreenArrow:/datamd0# vim testraid5.txt
Nous mettons en commentaire la 2ème partition dans le fichier de conf, puis redémarrons la machine:
root@GreenArrow:/datamd0# mdadm --detail /dev/md0 /dev/md0: Version : 1.2 Creation Time : Mon Nov 28 12:56:23 2016 Raid Level : raid5 Array Size : 2095104 (2046.34 MiB 2145.39 MB) Used Dev Size : 1047552 (1023.17 MiB 1072.69 MB) Raid Devices : 3 Total Devices : 2 Persistence : Superblock is persistent Update Time : Mon Nov 28 13:20:27 2016 State : clean, degraded Active Devices : 2 Working Devices : 2 Failed Devices : 0 Spare Devices : 0 Layout : left-symmetric Chunk Size : 512K Name : GreenArrow:0 (local to host GreenArrow) UUID : f70ca72e:e8adc585:ec023dca:21061341 Events : 4 Number Major Minor RaidDevice State 0 202 48 0 active sync /dev/xvdd 2 0 0 2 removed 2 202 80 2 active sync /dev/xvdf
On voit bien qu'une partition a été supprimée mais que le fichier créé auparavant est toujours présent:
root@GreenArrow:~# ls /datamd0/ testraid5.txt
Pour le test de réparation, afin de bien voir l'avancement de la reconstruction, nous avons procédé comme dans l'exemple du cours: Suppression de la partition xvdf:
root@GreenArrow:~# mdadm --set-faulty /dev/md0 /dev/xvdf
root@GreenArrow:~# mdadm --remove /dev/md0 /dev/xvdf
La partition est bien supprimée:
Personalities : [raid6] [raid5] [raid4] md0 : active raid5 xvdd[0] xvde[1] 2095104 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [UU_]
On remet la partition:
root@GreenArrow:~# mdadm --add /dev/md0 /dev/xvdf
On peut ensuite constater l'avancement de la reconstruction en lançant la même commande assez régulièrement:
root@GreenArrow:~# cat /proc/mdstat Personalities : [raid6] [raid5] [raid4] md0 : active raid5 xvdf[3] xvdd[0] xvde[1] 2095104 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [UU_] [===>.................] recovery = 18.2% (191112/1047552) finish=0.4min speed=31852K/sec unused devices: <none> root@GreenArrow:~# cat /proc/mdstat Personalities : [raid6] [raid5] [raid4] md0 : active raid5 xvdf[3] xvdd[0] xvde[1] 2095104 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [UU_] [====>................] recovery = 20.0% (210764/1047552) finish=0.4min speed=30109K/sec unused devices: <none> root@GreenArrow:~# cat /proc/mdstat Personalities : [raid6] [raid5] [raid4] md0 : active raid5 xvdf[3] xvdd[0] xvde[1] 2095104 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [UU_] [====>................] recovery = 21.8% (229836/1047552) finish=0.4min speed=32833K/sec unused devices: <none> root@GreenArrow:~# cat /proc/mdstat Personalities : [raid6] [raid5] [raid4] md0 : active raid5 xvdf[3] xvdd[0] xvde[1] 2095104 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [UU_] [===========>.........] recovery = 59.6% (626140/1047552) finish=0.2min speed=29816K/sec unused devices: <none> root@GreenArrow:~# cat /proc/mdstat Personalities : [raid6] [raid5] [raid4] md0 : active raid5 xvdf[3] xvdd[0] xvde[1] 2095104 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [UU_] [==================>..] recovery = 94.3% (989688/1047552) finish=0.0min speed=30124K/sec unused devices: <none> root@GreenArrow:~# [ 446.720069] md: md0: recovery done. cat /proc/mdstat Personalities : [raid6] [raid5] [raid4] md0 : active raid5 xvdf[3] xvdd[0] xvde[1] 2095104 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]
Cryptage de données
Tout d'abord, nous vérifions grâce à Gparted que la carte SD fournie comporte une seule partition. Une fois ce test passé, nous regardons grâce à dmesg où est localisé la carte SD :
root@zebrasoma:/# dmesg [...] [1126726.403767] mmcblk1: mmc1:59b4 NCard 14.7 GiB
Notre carte SD se situe donc sur /dev/mmcblk1. Nous faisons donc un chiffrage AES avec un hashage SHA256 de la carte SD :
root@zebrasoma:/# cryptsetup luksFormat -c aes -h sha256 /dev/mmcblk1
Nous devons alors renseigner un mot de passe pour crypter la clef. Ensuite, nous ouvrons la partition Luks, puis nous formatons la carte :
root@zebrasoma:/# cryptsetup luksOpen /dev/sdb1 crypt_sd root@zebrasoma:/# mkfs.ext4 /dev/mapper/crypt_sd
Nous montons la partition, puis créons un fichier sur la carte :
root@zebrasoma:/# mount /dev/mapper/crypt_sd /mnt root@zebrasoma:/# vi /mnt/test.txt #on marque un texte dans le fichier
Enfin, nous démontons la carte SD et fermons la partition Luks :
root@zebrasoma:/# umount /mnt root@zebrasoma:/# cryptsetup luksClose crypt_sd
Nous essayons ensuite d'accéder à la carte SD. En renseignant un mauvais mot de passe, une erreur apparaît. Cependant, une fois le bon mot de passe renseigné, tout re-devient possible.
Sécurisation Wifi par WPA2-EAP
Tout d'abord, nous installons FreeRadius sur notre machine virtuelle.
Dans le fichier users, nous renseignons le login et le mot de passe pour se connecter à la borne Wifi :
GreenArrow Cleartext-Password:="glopglop"
Dans le fichier clients.conf, nous ajoutons la configuration de la borne E306 et E304 :
client E306 { ipaddr = 10.60.1.2 secret = password } client E304 { ipaddr = 10.60.1.4 secret = password }
Ensuite, on passe à la configuration de la borne Wifi. On se connecte en telnet via telnet 10.60.1.2, puis nous rentrons en mode configuration :
aaa authentication login eap_greenarrow group radius_greenarrow radius-server host 193.48.57.162 auth-port 1812 acct-port 1813 key glopglop aaa group server radius radius_greenarrow server 193.48.57.162 auth-port 1812 acct-port 1813 dot11 ssid SSID_GREENARROW vlan 3 authentication open eap eap_greenarrow authentication network-eap eap_greenarrow authentication key-management wpa mbssid guest-mode exit interface Dot11Radio0 encryption vlan 3 mode ciphers aes-ccm tkip ssid SSID_GREENARROW interface Dot11Radio0.3 encapsulation dot1Q 3 no ip route-cache bridge-group 3 bridge-group 3 subscriber-loop-control bridge-group 3 spanning-disabled bridge-group 3 block-unknown-source no bridge-group 3 source-learning no bridge-group 3 unicast-flooding interface GigabitEthernet0.3 encapsulation dot1Q 3 bridge-group 3
Une fois ces modifications effectuées, nous configurons l'interface wlan0 de l'eeePC pour pouvoir se connecter au Wifi à l'aide de ifup wlan0 :
auto wlan0 iface wlan0 inet static address 10.60.3.2 netmask 255.255.255.0 gateway 10.60.3.1 wpa-ssid SSID_GREENARROW wpa-key-mgmt WPA-EAP wpa-identity GreenArrow wpa-password glopglop
On lance le serveur FreeRadius via freeradius -X (mode debug).
Sur smartphone, nous arrivons à détecter notre SSID (SSID_GREENARROW). Nous pouvons également ping notre eeePC depuis la machine virtuelle, tout comme nous arrivons à pinger des Vm d'autres groupes depuis notre eeePC.
root@GreenArrow:/etc/freeradius# ping 10.60.3.2 PING 10.60.3.2 (10.60.3.2) 56(84) bytes of data. 64 bytes from 10.60.3.2: icmp_seq=1 ttl=255 time=1.30 ms 64 bytes from 10.60.3.2: icmp_seq=2 ttl=255 time=1.96 ms
Serveur DCHP
Pour cette partie, nous avons d'abord installer le paquet isc-dhcp-server. Ensuite, nous avons modifier le fichier dhcpd.conf :
option domain-name "jjlddelamuerto.space"; option domain-name-servers 193.48.57.162; subnet 10.60.3.0 netmask 255.255.255.0 { range 10.60.3.10 10.60.3.40; option routers 10.60.3.1; }
Nous modifions ensuite isc-dhcp-server pour rajouter l'interface wlan0 :
INTERFACES="wlan0"
Nous pouvons maintenant nous connecter sur le reseau Wifi via smartphone, le serveur DHCP fonctionne correctement.
Configuration et utilisation du PCBX
Nous avons modifiés le fichier sip.conf :
[general] hasvoicemail=yes hassip=yes hasiax=yes callwaiting=yes threewaycalling=yes callwaitingcallerid=yes transfer=yes canpark=yes cancallforward=yes callreturn=yes callgroup=1 pickupgroup=1 nat=yes [6001] type=friend host=dynamic dtmfmode=rfc2833 disallow=all allow=ulaw fullname=JulienJoignaux username=jjoignaux secret=secret context=work [6002] type=friend host=dynamic dtmfmode=rfc2833 disallow=all allow=ulaw fullname=LoicDelecroix username=ldelecro secret=secret context=work
Puis nous modifions le fichier extensions.conf
[work] exten=>_6XXX,1,Dial(SIP/${EXTEN},20) exten => _6XXX,2,Hangup()