TP sysres IMA5sc 2018/2019 G8 : Différence entre versions

De Wiki d'activités IMA
(Sécurisation via RAID5)
(TP PrA)
Ligne 169 : Ligne 169 :
  
 
<u><b>Pour l'alimentation</b></u>:
 
<u><b>Pour l'alimentation</b></u>:
*fixation à l'unité 1 afin d'être sécurisé en cas d'inondation
+
*fixation à l'unité 1 (en haut de la baie) afin d'être sécurisé en cas d'inondation
 
*fixation à l'arrière de la baie afin de faciliter l'alimentation du PC
 
*fixation à l'arrière de la baie afin de faciliter l'alimentation du PC
  
Ligne 182 : Ligne 182 :
 
  xen-create-image --hostname=nyx --ip=193.48.57.184 --netmask=255.255.255.240 --gateway=193.48.57.160 --dir=/usr/local/xen
 
  xen-create-image --hostname=nyx --ip=193.48.57.184 --netmask=255.255.255.240 --gateway=193.48.57.160 --dir=/usr/local/xen
  
Mot de passe root: zhWEcNfwANbzCr5fk2mJHg6
+
Mot de passe root: <code>zhWEcNfwANbzCr5fk2mJHg6</code>
  
Modification du fichier /etc/xen/nyx.cfg pour permettre à la machine virtuelle de se lancer correctement
+
Modification du fichier <code>/etc/xen/nyx.cfg</code> pour permettre à la machine virtuelle de se lancer correctement
  
 
  #Networking
 
  #Networking
Ligne 192 : Ligne 192 :
 
  xl console nyx
 
  xl console nyx
  
Sortie de la console:
+
Sortir de la console:
 
  ctrl + alt gr + ]
 
  ctrl + alt gr + ]
  
Ligne 205 : Ligne 205 :
 
  lvcreate -L10G -n nyx-var virtual
 
  lvcreate -L10G -n nyx-var virtual
  
Modification du fichier /etc/xen/nyx.cfg pour ajouter les disques
+
Nous modifions le fichier /etc/xen/nyx.cfg afin d'y ajouter les disques
  
 
  (+)
 
  (+)
Ligne 213 : Ligne 213 :
 
               ]
 
               ]
  
Après redémarrage de la VM, nous créeons les systèmes de fichiers sur les volumes:
+
Après redémarrage de notre VM, nous créons les systèmes de fichiers sur les volumes:
 
   
 
   
 
  mkfs -t ext4 /dev/xvda3
 
  mkfs -t ext4 /dev/xvda3
 
  mkfs -t ext4 /dev/xvda4
 
  mkfs -t ext4 /dev/xvda4
 
   
 
   
Utiliser la commande fdisk -l nous a permi de constater que les volumes étaient bien montés
+
Utiliser la commande <code>fdisk -l</code> nous a permi de constater que les volumes étaient bien montés
  
 
====Home====
 
====Home====
  
Afin de s'assurer que la partition home soit montée au démarrage de la VM, nous modifions le fichier /etc/fstab de celle-ci:
+
Afin de s'assurer que la partition home soit montée au démarrage de la VM, nous modifions le fichier <code>/etc/fstab</code> de celle-ci:
  
 
  (+)
 
  (+)
 
  /dev/xvda3 /home ext4 defaults 0 2
 
  /dev/xvda3 /home ext4 defaults 0 2
  
Nous pouvons ensuite simplement monter la partition
+
Nous pouvons ensuite simplement monter la partition:
  
 
  mount -a
 
  mount -a
Ligne 244 : Ligne 244 :
 
===Serveur SSH===
 
===Serveur SSH===
  
Nous installons le client ssh puis modifions le fichier /etc/ssh/ssh_conf afin de pouvoir se connecter en root
+
Nous installons le client ssh puis modifions le fichier <code>/etc/ssh/ssh_conf</code> afin de pouvoir se connecter en root
  
 
===Serveur DNS===
 
===Serveur DNS===
 +
 +
Installation d'apache2 et de bind9 sur la VM
  
 
  apt-get install apache2 bind9
 
  apt-get install apache2 bind9
  
Nous réservons notre nom de domaine sur Gandi: www.nyxplil.space
+
Nous réservons notre nom de domaine sur Gandi: <code>www.nyxplil.space</code>
  
 
Nous commençons par créer le dossier pour la page web:
 
Nous commençons par créer le dossier pour la page web:
Ligne 256 : Ligne 258 :
 
  mkdir /var/www/www.nyxplil.space
 
  mkdir /var/www/www.nyxplil.space
  
Nous créons ensuite le fichier dns.nyxplil.space avec le contenu suivant:
+
Nous créons ensuite le fichier <code>dns.nyxplil.space</code> avec le contenu suivant:
  
 
  ;
 
  ;
Ligne 273 : Ligne 275 :
 
  www    IN      A      193.48.57.184 ;
 
  www    IN      A      193.48.57.184 ;
 
   
 
   
Nous configurons ensuite le fichier named.conf.local afin d'autoriser le transfert de paquet vers le DNS esclave
+
Nous configurons ensuite le fichier <code>named.conf.local</code> afin d'autoriser le transfert de paquets vers le DNS esclave
  
 
  zone "nyxplil.space" {
 
  zone "nyxplil.space" {
Ligne 293 : Ligne 295 :
 
  'DNS2' : ns6.gandi.net
 
  'DNS2' : ns6.gandi.net
  
mkdir nyxplil.space.dnssec
+
Nous créons le dossier <code>/etc/bind/nyxplil.space.dnssec</code> où nous générons des clefs KSK et ZSK avec l'algorithme RSA/SHA-1
cd nyxplil.space.dnssec
 
  
 
  dnssec-keygen -a RSASHA1 -b 2048 -f KSK -r /dev/urandom -n ZONE nyxplil.space
 
  dnssec-keygen -a RSASHA1 -b 2048 -f KSK -r /dev/urandom -n ZONE nyxplil.space
 
  dnssec-keygen -a RSASHA1 -b 1024 -r /dev/urandom -n ZONE nyxplil.space
 
  dnssec-keygen -a RSASHA1 -b 1024 -r /dev/urandom -n ZONE nyxplil.space
  
 +
Nous renommons les 2 clefs et les ajoutons au fichier <code>/etc/bind/dns.nyxplil.space</code>
  
 
  $include /etc/bind/nyxplil.space.dnssec/nyxplil.space-ksk.key
 
  $include /etc/bind/nyxplil.space.dnssec/nyxplil.space-ksk.key
 
  $include /etc/bind/nyxplil.space.dnssec/nyxplil.space-zsk.key
 
  $include /etc/bind/nyxplil.space.dnssec/nyxplil.space-zsk.key
  
  root@nyx_rsa:/etc/bind/nyxplil.space.dnssec# dnssec-signzone -o nyxplil.space -k nyxplil.space-ksk ../dns.nyxplil.space nyxplil.space-zsk
+
Enfin, nous pouvons signer la zone:
Verifying the zone using the following algorithms: RSASHA1.
+
 
Zone fully signed:
+
  dnssec-signzone -o nyxplil.space -k nyxplil.space-ksk ../dns.nyxplil.space nyxplil.space-zsk
Algorithm: RSASHA1: KSKs: 1 active, 0 stand-by, 0 revoked
+
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
 
                     ZSKs: 1 active, 0 stand-by, 0 revoked
../dns.nyxplil.space.signed
+
../dns.nyxplil.space.signed
 +
 
 +
Nous relançons bind9
 +
 
 +
service bind9 restart
 +
 
 +
Nous ajoutons alors le DNSSEC sur Gandi et nous vérifions le résultat su rle site  http://dnsviz.net
  
 
===Certificat SSL===
 
===Certificat SSL===
Ligne 320 : Ligne 330 :
 
  /var/www/html/.well-known/pki-validation
 
  /var/www/html/.well-known/pki-validation
  
On télécharge ensuite le certificat intermédiaire de Gandi et le certificat de notre domaine et on ajoute en plus notre clef privée créé précédemment, le tout placés dans le dossier:
+
Nous téléchargeons ensuite le certificat intermédiaire de Gandi et le certificat de notre domaine et on ajoute en plus notre clef privée créé précédemment, le tout placés dans le dossier:
  
 
  GandiStandardSSLCA2.pem
 
  GandiStandardSSLCA2.pem
Ligne 326 : Ligne 336 :
 
  nyxplil.space.key
 
  nyxplil.space.key
  
On ajoute une nouvelle configuration dans /etc/apache2/sites-available/000-nyxplil.space-ssl.conf
+
Nous ajoutons une nouvelle configuration dans /etc/apache2/sites-available/000-nyxplil.space-ssl.conf
  
 
       <VirtualHost 193.48.57.182:443>
 
       <VirtualHost 193.48.57.182:443>
Ligne 341 : Ligne 351 :
 
       </VirtualHost>
 
       </VirtualHost>
  
On rajoute également dans ce fichier une redirection pour être toujours connecté en https:
+
Nous rajoutons également dans ce fichier une redirection pour être toujours connecté en https:
  
 
       <VirtualHost 193.48.57.182:80>
 
       <VirtualHost 193.48.57.182:80>
Ligne 349 : Ligne 359 :
 
       </VirtualHost>
 
       </VirtualHost>
  
On utilise enfin les commandes suivantes pour activer notre module ssl et notre configuration ssl
+
Nous utilisons enfin les commandes suivantes pour activer notre module ssl et notre configuration ssl
  
 
  a2enmod ssl
 
  a2enmod ssl
Ligne 363 : Ligne 373 :
 
  lvcreate -L 1G -n /dev/virtual/nyx-raid3
 
  lvcreate -L 1G -n /dev/virtual/nyx-raid3
  
On ajoute dans /etc/xen/nyx.cfg
+
Nous ajoutons dans <code>/etc/xen/nyx.cfg</code>
  
 
  'phy:/dev/virtual/nyx-raid1, xvdd1, w',
 
  'phy:/dev/virtual/nyx-raid1, xvdd1, w',
Ligne 369 : Ligne 379 :
 
  'phy:/dev/virtual/nyx-raid3, xvdd3, w',
 
  'phy:/dev/virtual/nyx-raid3, xvdd3, w',
  
reboot de la machine sur cordouan
+
Reboot de la machine sur cordouan
  
 
Installation de mdadm
 
Installation de mdadm
 
  apt-get install mdadm
 
  apt-get install mdadm
  
on crée le disque RAID5
+
Nous créons le disque RAID5
 
   mdadm --create /dev/md0 --level=5 --assume-clean --raid-devices=3 /dev/xvdd1 /dev/xvdd2 /dev/xvdd3  
 
   mdadm --create /dev/md0 --level=5 --assume-clean --raid-devices=3 /dev/xvdd1 /dev/xvdd2 /dev/xvdd3  
 
   
 
   
On installe un système de fichier dessus
+
Nous installons un système de fichier dessus
 
   mkfs -t ext4 /dev/md0  
 
   mkfs -t ext4 /dev/md0  
  
On monte le disque:
+
Nous montons le disque:
 
  mdadm --detail --scan >> /etc/mdadm/mdadm.conf
 
  mdadm --detail --scan >> /etc/mdadm/mdadm.conf
 
  mount /dev/md0 /mnt
 
  mount /dev/md0 /mnt
  
Test de reconstruction:  
+
Test de reconstruction:
  
Nous commençons par ajouter un fichier test.txt au dossier /mnt
+
Nous commençons par ajouter un fichier <code>test.txt</code> au dossier <code>/mnt</code>
  
 
Nous supprimons ensuite l'une des partitions, ici la partition xvdd2
 
Nous supprimons ensuite l'une des partitions, ici la partition xvdd2
 +
 
  mdadm --set-faulty /dev/md0 /dev/xvdd2
 
  mdadm --set-faulty /dev/md0 /dev/xvdd2
 
  mdadm --remove /dev/md0 /dev/xvdd2
 
  mdadm --remove /dev/md0 /dev/xvdd2
Ligne 399 : Ligne 410 :
 
Nous avons pu à ce moment vérifier l'intégrité du fuchier test.txt: aucune donnée n'était perdue.  
 
Nous avons pu à ce moment vérifier l'intégrité du fuchier test.txt: aucune donnée n'était perdue.  
 
Nous lançons alors la reconstruction de la partition précédemment supprimée:
 
Nous lançons alors la reconstruction de la partition précédemment supprimée:
 +
 
  cat /proc/mdstat
 
  cat /proc/mdstat
 
  Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]  
 
  Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]  
Ligne 412 : Ligne 424 :
  
 
===Cassage de mot de passe WPA-PSK par force brute===
 
===Cassage de mot de passe WPA-PSK par force brute===
 +
 
Nous allons essayer se casser le mot de passe de notre point d'accès Cracotte8. Pour cela nous allons utiliser le paquetage aircrack-ng.
 
Nous allons essayer se casser le mot de passe de notre point d'accès Cracotte8. Pour cela nous allons utiliser le paquetage aircrack-ng.
 
On va dans un premier temps récupérer le WPA handshake provenant de notre point d'accès en paramétrant notre interface wifi pour qu'elle écoute les données envoyées par Cracotte8:
 
On va dans un premier temps récupérer le WPA handshake provenant de notre point d'accès en paramétrant notre interface wifi pour qu'elle écoute les données envoyées par Cracotte8:

Version du 17 décembre 2018 à 16:06

TP GIS

Conteneurs à la main

Création des espaces disques

dd if=/dev/zero of=diskTPconteneur bs=1024k count=10240
mkfs diskTPconteneur
mkdir /tmp/fs1
mkdir /tmp/fs2
mkdir /tmp/fs3
mount -o loop diskTPconteneur /tmp/fs1
debootstrap --include apache2,nano  stable /tmp/fs1
echo "proc /proc proc defaults 0 0" >> /tmp/fs1/etc/fstab
umount /tmp/fs1
cp diskTPconteneur ./diskTPconteneur2
cp diskTPconteneur ./diskTPconteneur3
mv diskTPconteneur ./diskTPconteneur1
mount -o loop diskTPconteneur1 /tmp/fs1
mount -o loop diskTPconteneur2 /tmp/fs2
mount -o loop diskTPconteneur3 /tmp/fs3
df -h

Dans 3 terminaux différents:

unshare -p -f -m -n -u chroot /tmp/fs1/ /bin/sh -c "mount /proc ; /bin/bash"
unshare -p -f -m -n -u chroot /tmp/fs2/ /bin/sh -c "mount /proc ; /bin/bash"
unshare -p -f -m -n -u chroot /tmp/fs3/ /bin/sh -c "mount /proc ; /bin/bash"

Création du commutateur

ip link add commTPconteneur type bridge
ip link add vif1 type veth peer name eth0@vif1
ip link add vif2 type veth peer name eth0@vif2
ip link add vif3 type veth peer name eth0@vif3
ip link add vif4 type veth peer name eth1@vif4
ps aux | grep unshare
ip link set eth0@vif1 netns /proc/13812/ns/net name eth0
ip link set eth0@vif2 netns /proc/13860/ns/net name eth0
ip link set eth0@vif3 netns /proc/13883/ns/net name eth0
ip link set eth1@vif4 netns /proc/13812/ns/net name eth1
ip link set vif1 master commTPconteneur
ip link set vif2 master commTPconteneur
ip link set vif3 master commTPconteneur
ip link set vif4 master bridge
brctl show
nsenter -t 13812 -n ip address add dev eth0 192.168.0.101/24
nsenter -t 13860 -n ip address add dev eth0 192.168.0.102/24
nsenter -t 13883 -n ip address add dev eth0 192.168.0.103/24
nsenter -t 13812 -n ip address add dev eth1 172.26.145.100/24

Pour le mandataire inverse

ip route add default via 172.26.145.254
ip link set vif1 up
ip link set vif2 up
ip link set vif3 up
ip link set vif4 up
ip link set commTPconteneur up

Dans chaque terminal faisant tourner un conteneur:

ip link set eth0 up

Création des DNS sur Gandi

name:grandPote | type: A | adresse: 172.26.145.100
name: ptitPote1 | type: CNAME | hostname: grandPote
name: ptitPote2 | type: CNAME | hostname: grandPote
a2enmod proxy proxy_http
apache2 restart

Modification de /etc/apache2/site-enabled

<VirtualHost *:80>
       ServerName ptitPote1.plil.space
       ServerAdmin webmaster@localhost
       ErrorLog ${APACHE_LOG_DIR}/error.log
       CustomLog ${APACHE_LOG_DIR}/access.log combined
       ProxyPass / http://192.168.0.102/
       ProxyPassReverse / http://192.168.0.102/
       ProxyRequests Off
</VirtualHost>
<VirtualHost *:80>
       ServerName ptitPote2.plil.space
       ServerAdmin webmaster@localhost
       ErrorLog ${APACHE_LOG_DIR}/error.log
       CustomLog ${APACHE_LOG_DIR}/access.log combined
       ProxyPass / http://192.168.0.103/
       ProxyPassReverse / http://192.168.0.103/
       ProxyRequests Off
</VirtualHost>

Modification des fichiers /var/www/html/index.html dans les conteneurs

/var/www/html# echo "Serveur ptitPote1" > index.html
/var/www/html# echo "Serveur ptitPote2" > index.html

10h11 => Serveurs Web OK avec unshare

Conteneurs avec Docker

docker run -i -t debian /bin/bash
export http_proxy="http://proxy.polytech-lille.fr:3128/"
apt-get update
apt-get nano
apt-get apache2
docker commit fae2449c3b9a
docker network create octopus
docker run -i --net=octopus -t ba94e9aada65
docker run -i --net=octopus -t ba94e9aada65
service apache2 stop
docker run -i --net=octopus -p 80:80 -t ba94e9aada65
name:Alibaba | type: A | adresse: 172.26.145.35
name: Voleur1 | type: CNAME | hostname: grandPote
name: Voleur2 | type: CNAME | hostname: grandPote

Modification de /etc/apache2/site-enabled

<VirtualHost *:80>
      ServerName Voleur1.plil.space
      ServerAdmin webmaster@localhost
      ErrorLog ${APACHE_LOG_DIR}/error.log
      CustomLog ${APACHE_LOG_DIR}/access.log combined
      ProxyPass / http://172.20.0.2/
      ProxyPassReverse / http://172.20.0.2/
      ProxyRequests Off
</VirtualHost>
<VirtualHost *:80>
ServerName Voleur2.plil.space
      ServerAdmin webmaster@localhost
      ErrorLog ${APACHE_LOG_DIR}/error.log
      CustomLog ${APACHE_LOG_DIR}/access.log combined
      ProxyPass / http://172.20.0.3/
      ProxyPassReverse / http://172.20.0.3/
      ProxyRequests Off
</VirtualHost>

10h20 Serveurs Web (docker) OK

TP PrA

Déménagement des serveurs Chassiron et Cordouan

Deux rails sont à disposition:

  • 1* Dell ReadyRail, taille 2U, type B4, mode Static
  • 1* Dell ReadyRail, taille 2U, type B6, mode Sliding

D'après la documentation fournie par Dell, les serveurs PowerEdge R520 (modèle des serveurs Chassiron et Cordouan) sont compatibles avec les rails de type B4, B6 et B13.

Les serveurs seront fixés à mi-hauteur de la baie afin de pouvoir placer un PC dessus.

Pour Chassiron:

  • rail de type B4 occupant 1'unité, fixé à l'unité 22
  • le serveur occupera donc les unités 21 et 22

Pour Cordouan:

  • rail de type B6 occupant 2 unités, fixé aux unités 19 et 20
  • le serveur occupera donc les unités 19 et 20

Pour l'alimentation:

  • fixation à l'unité 1 (en haut de la baie) afin d'être sécurisé en cas d'inondation
  • fixation à l'arrière de la baie afin de faciliter l'alimentation du PC

Partie commune: installation d'une machine virtuelle sur Cordouan

Création de la machine virtuelle

Connexion en ssh sur Cordouan

ssh root@cordouan.insecserv.deule.net

Création de la machine virtuelle à l'aide de xen en utilisant l'adresse IP qui nous a été attribuée. La gateway est fournie dans le sujet du TP

xen-create-image --hostname=nyx --ip=193.48.57.184 --netmask=255.255.255.240 --gateway=193.48.57.160 --dir=/usr/local/xen

Mot de passe root: zhWEcNfwANbzCr5fk2mJHg6

Modification du fichier /etc/xen/nyx.cfg pour permettre à la machine virtuelle de se lancer correctement

#Networking
vif + bridge=StudentsInfo

Accès à la console:

xl console nyx

Sortir de la console:

ctrl + alt gr + ]

Extinction de la machine:

xl shutdown nyx

Création des partitions système

Nous allons créer des partitions sur l'hôte pour héberger /home et /var

lvcreate -L10G -n nyx-home virtual
lvcreate -L10G -n nyx-var virtual

Nous modifions le fichier /etc/xen/nyx.cfg afin d'y ajouter les disques

(+)
disk        = [
                 'phy:/dev/virtual/nyx-home,xvda3,w',
                 'phy:/dev/virtual/nyx-var,xvda4,w',
              ]

Après redémarrage de notre VM, nous créons les systèmes de fichiers sur les volumes:

mkfs -t ext4 /dev/xvda3
mkfs -t ext4 /dev/xvda4

Utiliser la commande fdisk -l nous a permi de constater que les volumes étaient bien montés

Home

Afin de s'assurer que la partition home soit montée au démarrage de la VM, nous modifions le fichier /etc/fstab de celle-ci:

(+)
/dev/xvda3 /home ext4 defaults 0 2

Nous pouvons ensuite simplement monter la partition:

mount -a

Var

La partition var est d'abord montée dans un répertoire temporaire /mnt:

mount /dev/xvda4 /mnt
mv /var/* /mnt

La partition est ensuite rajoutée dans le fichier /etc/fstab:

/dev/xvda4 /var ext4 defaults 0 2

Serveur SSH

Nous installons le client ssh puis modifions le fichier /etc/ssh/ssh_conf afin de pouvoir se connecter en root

Serveur DNS

Installation d'apache2 et de bind9 sur la VM

apt-get install apache2 bind9

Nous réservons notre nom de domaine sur Gandi: www.nyxplil.space

Nous commençons par créer le dossier pour la page web:

mkdir /var/www/www.nyxplil.space

Nous créons ensuite le fichier dns.nyxplil.space avec le contenu suivant:

;
; BIND data file for local loopback interface
;
$TTL    604800
@       IN      SOA     ns.nyxplil.space. root.nyxplil.space (
                             2         ; Serial
                        604800         ; Refresh
                         86400         ; Retry
                       2419200         ; Expire
                        604800 )       ; Negative Cache TTL
;
       IN      NS      ns.nyxplil.space.
ns      IN      A       193.48.57.184
www     IN      A       193.48.57.184 ;

Nous configurons ensuite le fichier named.conf.local afin d'autoriser le transfert de paquets vers le DNS esclave

zone "nyxplil.space" {
       type master;
       file "/etc/bind/dns.nyxplil.space";
       allow-transfer {217.70.177.40;};
};
service bind9 restart

Enfin, il nous reste quelques réglages à faire depuis Gandi. Pour les "glue records":

nom du serveur : ns.nyxplil.space
ip : 193.48.57.184

Pour les DNS:

'DNS1' : ns.nyxplil.space
'DNS2' : ns6.gandi.net

Nous créons le dossier /etc/bind/nyxplil.space.dnssec où nous générons des clefs KSK et ZSK avec l'algorithme RSA/SHA-1

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

Nous renommons les 2 clefs et les ajoutons au fichier /etc/bind/dns.nyxplil.space

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

Enfin, nous pouvons signer la zone:

dnssec-signzone -o nyxplil.space -k nyxplil.space-ksk ../dns.nyxplil.space nyxplil.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
../dns.nyxplil.space.signed

Nous relançons bind9

service bind9 restart

Nous ajoutons alors le DNSSEC sur Gandi et nous vérifions le résultat su rle site http://dnsviz.net

Certificat SSL

Création d'un SSR

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

Achat d'un certificat sur Gandi et vérification par fichier à ajouter dans:

/var/www/html/.well-known/pki-validation

Nous téléchargeons ensuite le certificat intermédiaire de Gandi et le certificat de notre domaine et on ajoute en plus notre clef privée créé précédemment, le tout placés dans le dossier:

GandiStandardSSLCA2.pem
nyxplil.space.crt
nyxplil.space.key

Nous ajoutons une nouvelle configuration dans /etc/apache2/sites-available/000-nyxplil.space-ssl.conf

     <VirtualHost 193.48.57.182:443>
              ServerName www.neptune-poseidon.space
              ServerAlias neptune-poseidon.space
              DocumentRoot /var/www/html/
              CustomLog /var/log/apache2/secure_acces.log combined
              SSLEngine on
              SSLCertificateFile /etc/ssl/neptune-poseidon.space.crt
              SSLCertificateKeyFile /etc/ssl/neptune-poseidon.space.key
              SSLCertificateChainFile /etc/ssl/GandiStandardSSLCA2.pem
              SSLVerifyClient None
      </VirtualHost>

Nous rajoutons également dans ce fichier une redirection pour être toujours connecté en https:

     <VirtualHost 193.48.57.182:80>
              ServerName www.nyxplil.space
              ServerAlias nyxplil.space
              Redirect / https://nyxplil.space
      </VirtualHost>

Nous utilisons enfin les commandes suivantes pour activer notre module ssl et notre configuration ssl

a2enmod ssl
a2ensite 000-nyxplil.space-ssl.conf
service apache2 restart

Sécurisation via RAID5

Création de 3 volumes sur Cordouan

lvcreate -L 1G -n /dev/virtual/nyx-raid1
lvcreate -L 1G -n /dev/virtual/nyx-raid2
lvcreate -L 1G -n /dev/virtual/nyx-raid3

Nous ajoutons dans /etc/xen/nyx.cfg

'phy:/dev/virtual/nyx-raid1, xvdd1, w',
'phy:/dev/virtual/nyx-raid2, xvdd2, w',
'phy:/dev/virtual/nyx-raid3, xvdd3, w',

Reboot de la machine sur cordouan

Installation de mdadm

apt-get install mdadm

Nous créons le disque RAID5

 mdadm --create /dev/md0 --level=5 --assume-clean --raid-devices=3 /dev/xvdd1 /dev/xvdd2 /dev/xvdd3 

Nous installons un système de fichier dessus

 mkfs -t ext4 /dev/md0 

Nous montons le disque:

mdadm --detail --scan >> /etc/mdadm/mdadm.conf
mount /dev/md0 /mnt

Test de reconstruction:

Nous commençons par ajouter un fichier test.txt au dossier /mnt

Nous supprimons ensuite l'une des partitions, ici la partition xvdd2

mdadm --set-faulty /dev/md0 /dev/xvdd2
mdadm --remove /dev/md0 /dev/xvdd2
cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] 
md0 : active raid5 xvdd3[2] xvdd1[0]
     2093056 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [U_U]

Nous avons pu à ce moment vérifier l'intégrité du fuchier test.txt: aucune donnée n'était perdue. Nous lançons alors la reconstruction de la partition précédemment supprimée:

cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] 
md0 : active raid5 xvdd2[3] xvdd3[2] xvdd1[0]
     2093056 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [U_U]
     [====>................]  recovery = 22.1% (232344/1046528) finish=0.5min speed=25816K/sec
cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] 
md0 : active raid5 xvdd2[3] xvdd3[2] xvdd1[0]
     2093056 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]
unused devices: <none>

Cassage de mot de passe WPA-PSK par force brute

Nous allons essayer se casser le mot de passe de notre point d'accès Cracotte8. Pour cela nous allons utiliser le paquetage aircrack-ng. On va dans un premier temps récupérer le WPA handshake provenant de notre point d'accès en paramétrant notre interface wifi pour qu'elle écoute les données envoyées par Cracotte8:

ip link set down wlp3s0
airmon-ng start wlp3s0

On récupère l'adresse du point d'accès:

airodump_ng mon1

On écoute pour recevoir le handshake qu'on sauvegarde:

airodump-ng mon1 --channel 9 --bssid 04:DA:D2:9C:50:57 --write capture

Une fois le fichier .cap récupéré on le transfert sur une machine tutur pour utiliser un brute force par dictionnaire. On suppose que la clé est composé de 8 chiffres donc on crée un fichier texte comportant tous les nombres de 00000000 à 99999999 qu'on utilise ensuite pour le cassage de la clé:

aircrack-ng capture03.cap -w dico.txt

Craquage cle.png