TP sysres IMA2a5 2019/2020 G2 : Différence entre versions

De Wiki d'activités IMA
Ligne 285 : Ligne 285 :
 
E/R4lG4rRf5H3ffWydNPtpoW4bIPEVA30uPqE9OxTvcuz8gqx25jvixEbAo=
 
E/R4lG4rRf5H3ffWydNPtpoW4bIPEVA30uPqE9OxTvcuz8gqx25jvixEbAo=
 
-----END CERTIFICATE REQUEST-----
 
-----END CERTIFICATE REQUEST-----
 +
 +
La clé privé (reste sur la machine en privé)
 +
 +
-----BEGIN PRIVATE KEY-----
 +
MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQC6dsaL92RQaD+t
 +
L+8QdGGAqnCq9wiFt3GXs7M+mwlkJvOj4PSqPToWHZtKzIjhKwxwCw/kr4j/4g/a
 +
MQX7qtGGrOnmiVEkgH7R/VSgYKLlE0Qd4L7k7Kavdty919RbzKkK3eqcnQgvBx4E
 +
48LoeS99XNX271JEunvb5Kt7DUUTZUVEj5TzHICi2bxTON7DYT2PYORaC+GrO43L
 +
lpEqqbLu5G2Qzbmi5vEUiTx2IxdFAcCis8w8qYl9hIUoDed4d6AyHf/V9XEaO8Iq
 +
r58bcEwFHufp3w8VPact6pVxi+PrVDSPk4UDli4+KnWVfR4+znANlYTV4tz0cG4p
 +
pSM3KagzAgMBAAECggEAQ113+8dEEZyoLKydpQc21qI9FDcteAm/WzxL7LlcWjeM
 +
XE+AdSSroKPPn+VnKlpAIxaMBmW4jCGi8oQ1kiezjQFZe7VugE6AAuOQOGTRVQtx
 +
142DyfcJfWjm9RtNmGDHTarBARXmh/79RGz41L47fwIUNyNdSIFLEDV8EnfH1epo
 +
aPE3qYmtElhAIeb6US2JKKqNd/Mc/zDAGoTfgLGUCNr+ilqLfW1ZJYBVNRhffSrE
 +
xhzG70Ol6uTFWj6Z1j6OPWNhcBRBS7gqESLgeQgy5+2Y5ep51zYFfH5JnLWUc+8t
 +
X3klDYsV4xUuvMHgQGN9PhT06ZFNnFKuGKg1xuIUCQKBgQD2d+33ZgBM1m3L2MTR
 +
hJti7vJ+UKITqdoBD1kd0ooK2Mdq+qNsd/WAeM4my6Nxhl2c+993rTauaKgWMDJe
 +
HTx9ctiom9awlscKn0X9+bN4E+27jCiD0CyrXXJhFV99JVanvmvPlulejvMTqiyd
 +
brtrHIWF9+qav5CQbICHFrUJbQKBgQDBrMsgrxmZz6ww5UmL85Nj0fyRBUQU4wMq
 +
w2Mb8XjRF6BwTglIYNUxN9e6sAzAOovE7W1PtIn4YzAYcCpKpbvGGSKPUM6xzyho
 +
K0r97wgzRZNh2S8iiRvf8h6Xj9T7tKQQrOKtlAemitJghmtcTBT9uUfBCY/oiMuk
 +
kjnk9OUUHwKBgBElMKGoL9coh4TJtI9aqTCNrMLKuyuhAjBWr/1aGw48HEs92kZ+
 +
Zc6lGLosKleIYFS+VMJPg2FImIDKo4ZWhFG5voakKKAqLPh5MfZD+48b28rTKjJZ
 +
NfJJ0t4cDYN4KHoMzhUny14vlYtFqErfXBxMZKF4KJLRRq41Tg+XrcpVAoGACaDH
 +
cFaEFUtnqf6cC2MOfrXfsm3qloc6jxOrh6YXdX2RMkQO3hRCRPIbvWInIB9I938+
 +
Ieo9uaVkrLJWx+M5VH3HZAyGWfyMa7FLRxhs9e+Nhh2/5B2gzx9AOhSiZ+jxBwsx
 +
MaPcRYE9OCM2jx4RJRPi50vMZaj3RrUmP6WVBc0CgYAhEhqaDDonLAV94ScSrnZR
 +
xy5gwnFeI/d7apb4uq3cO2ETg5ysj1XW8m02aeNeJ+IgKt7FkZbi09LAzAqMcquE
 +
rAIQHgBguDv5SW2/yjff+0/9kFkRhkz04hzXtnbC6MdO+L7T1sIETUN5ExC0rFd3
 +
/nlEYB7/x6cJC48k3irSUA==
 +
-----END PRIVATE KEY-----
  
  

Version du 28 novembre 2019 à 10:15

Ekaterina ISHCHUK & Loick MOLLET


Introduction

Installation des systèmes d'exploitation

Configuration Zabeth05

Pour configurer Zabeth05 à reenvoyer eth1 à eth0 nous ajoutons:

   iface bridge inet dhcp
   bridge_ports eth0, eth1
   bridge_hw 172.26.145.55 # adresse de Zabeth05

Installation d'une machien virtuelle Xen

D'abord on connect sur la machine

   cordouan.insecserv.deule.net

Puis, pour créer une machine virtuelle, on lance la commande ci-dessous:

  xen-create-image --hostname=ima2a5-mol-ish --dhcp --dir=/usr/local/xen --dist=ascii --apt_proxy=http://proxy.polytech-lille.fr:3128 --mirror=http://fr.deb.devuan.org/merged/ --force

Pour observer le processus d'installation pas à pas, il faut lancer un deuxième terminal et taper:

   tail -f /var/log/xen-tools/ima2a5-mol-ish.log

Dès que l'installation est finie, le résultat;

   Installation Summary
   ---------------------
   Hostname        :  ima2a5-mol-ish
   Distribution    :  ascii
   MAC Address     :  00:16:3E:2F:02:1D
   IP Address(es)  :  dynamic
   SSH Fingerprint :  SHA256:kDLhqDm3Aqt2sIPrhCoFhRGyk4yY3H7VS6KCAO/4Qf0 (DSA)
   SSH Fingerprint :  SHA256:xfQpYfkg1fRXYaVDnDMuT+XTSCh2BgaSmcnF+etOjxc (ECDSA)
   SSH Fingerprint :  SHA256:U2hWpq2wPg16SOpZp9dE6fyY/21PHGAG2fBNz10P4DM (ED25519)
   SSH Fingerprint :  SHA256:YXQFkzNUymvUMMgvypJ73REhRb6RbTjs6FrWiuKXQso (RSA)
   Root Password   :  M9zWc6KYtykXkSC8w8qJ9Ze

On change le mot de passe à "glopglop" avec la commande:

   passwd

Ensuite on doit modifier la configuration "/etc/xen/ima2a5-mol-ish.cfg"

   vif = ['mac=00:16:3E:2F:02:1D, bridge=IMA2a5']

Maintenant on peut créer le domaine et lancer la machine:

  xl create ima2a5-mol-ish.cfg
  xl console ima2a5-mol-ish

Pour créer des volumes on passe des commandes suivantes :

   lvcreate -L10G -n im2a5-mol-ish-home virtual
   lvcreate -L10G -n im2a6-mol-ish-var virtual

Egalement le système des fichiers:

   mke2fs /dev/virtual/im2a5-mol-ish-home
   mke2fs /dev/virtual/im2a5-mol-ish-var

Après on doit modifier le fichier "/etc/xen/ima2a5-mol-ish.cfg" en ajoutant les lignes suivantes:

  disk = [...., 'phy:/dev/virtual/im2a5-mol-ish-home,xvdb1,w',
                'phy:/dev/virtual/im2a5-mol-ish-var,xvdb2,w',]

Maintenant on peut accéder à notre machine virtuelle

   xl console ima2a5-mol-ish

Cette commande nous permet de logger root / glopglop

On vérifie si les volumes sont bien installés:

   fdisk -l

Problème recontré : les volumes n'étaient pas pris en compte. Il fallait détruire la machine par "xl destroy " et puis relancer la création de la machine.

Pour appliquer des volumes avec chaque démarrage, on modifie le fichier "/etc/fstab" de la machine. On ajoute à la fin de fichier :

  /dev/xvdb1		/home		ext4		defaults				0		2
  # /dev/xvdb2		/var		ext4		defaults				0		2

Il faut bien comment la ligne de /var car les manupulation avec ce dossier avant le montage peuvent provoquer des problèmes, que nous avons rencontrés. En tapant "ls /home" on retrouve bien "last+found" = le système des fichiers

Pour assurer le système des fichiers pour /var, on possède au montage:

  mount /dev/xvdb2 /mnt
  mv /var/* /mnt
  umount /mnt
  mount -a

Maintenante on peut decommenter la ligne de '/var' dans le fichier "/etc/fstab":

  /dev/xvdb2		/var		ext4		defaults				0		2


Après ces instructions on vérifie bien par "df":

  root@ima2a5-mol-ish:/etc/network# df
  Filesystem     1K-blocks   Used Available Use% Mounted on
  udev              109076      0    109076   0% /dev
  tmpfs              24528     76     24452   1% /run
  /dev/xvda2       4062912 406352   3430464  11% /
  tmpfs               5120      0      5120   0% /run/lock
  tmpfs             153900      0    153900   0% /run/shm
  /dev/xvdb1      10321208  23028   9773892   1% /home
  /dev/xvdb2      10321208 156552   9640368   2% /var


Configuration du réseau via /etc/network/interfaces:

 auto lo
 iface lo inet loopback
 auto eth0
 iface eth0 inet static
   address 193.48.57.162
   netmask 255.255.255.240
   gateway 193.48.57.172


Maintenant on peut accéder aux autres machines virtuels connectés sur le bridge IMA2a5 :

 root@ima2a5-mol-ish:~# ping 193.48.57.163
 PING 193.48.57.163 (193.48.57.163) 56(84) bytes of data.
 64 bytes from 193.48.57.163: icmp_seq=1 ttl=64 time=0.350 ms
 64 bytes from 193.48.57.163: icmp_seq=2 ttl=64 time=0.304 ms
 64 bytes from 193.48.57.163: icmp_seq=3 ttl=64 time=0.327 ms


Dès que la machien est connectée vers le réseau et possède l'accès Internet, on peut procéder l'installation de SSH, apache and bind

 apt-get install openssh-server
 apt-get install apache2
 apt-get install bind9


3. Site internet, configuration et sécurisation

Pour héberger le site avec un nom de domaine, on achète un nom de domaine "ima2a5-mol-ish.site" sur gandi.net Premièrement, nous achetons un certificat SSL. Deuxièmement, il faut configurer les "nameservers" : au lieu d'avoir des serveurs proposés, on ajoute:

   dns.ima2a5-mol-ish.site 193.48.57.162
   ns6.gandi.net 217.70.177.40

Cela va prendre un peu de temps. Vérifier des changements on peut avec https://dnslookup.fr/ima2a5-mol-ish.site

Sécurisation par DNSSEC

Pour sécuriser le server en DNSSEC il faut d'abord générer deux paires des clés : ZSK et KSK formats

   cd /etc/bind
   mkdir ima2a5-mol-ish.site.dnssec
   cd ima2a5-mol-ish.site.dnssec
   dnssec-keygen -r /dev/urandom -a RSASHA1 -b 2048 -f KSK -n ZONE ima2a5-mol-ish.site
   dnssec-keygen -r /dev/urandom -a RSASHA1 -b 1024 -n ZONE ima2a5-mol-ish.site

Les clés générés on renome:

   mv Kima2a5-mol-ish.site.+005+42049.key ima2a5-mol-ish.site-ksk.key
   mv Kima2a5-mol-ish.site.+005+42049.private ima2a5-mol-ish.site-ksk.private
   mv Kima2a5-mol-ish.site.+005+56373.key ima2a5-mol-ish.site-zsk.key
   mv Kima2a5-mol-ish.site.+005+56373.private ima2a5-mol-ish.site-zsk.private

Puis on peut créer le fichier de configuration dans /etc/bind/ima2a5-mol-ish.site

   $TTL 259200
   $include /etc/bind/ima2a5-mol-ish.site.dnssec/ima2a5-mol-ish.site-ksk.key
   $include /etc/bind/ima2a5-mol-ish.site.dnssec/ima2a5-mol-ish.site-zsk.key
   @ IN SOA dns.ima2a5-mol-ish.site. root@ima2a5-mol-ish.site. (
            42 ; Version
            7200 ; Refresh (2h)
            3600 ; Retry (1h)
            1209600 ; Expire (14j)
            7200 ; Minimum TTL (2j)
   )
   @    IN NS  dns.ima2a5-mol-ish.site.   #dns ima
   @    IN NS  ns6.gandi.net.        #dns gandi
   www  IN A   193.48.57.162  #@IP website ima2a-mol-ish
   dns  IN A   193.48.57.162


Pour que nos modification soient prise en compte nos devons donc signer notre fichier de configuration:

   dnssec-signzone -o ima2a5-mol-ish.site -k /etc/bind/ima2a5-mol-ish.site.dnssec/ima2a5-mol-ish.site-ksk ima2a5-mol-ish.site /etc/bind/ima2a5-mol-ish.site.dnssec/ima2a5-mol-ish.site-zsk

Cela nous génére le fichier ima2a5-mol-ish.site.signed. Il faut le rajouter dans la configuration named.conf.local :

   root@ima2a5-mol-ish:/etc/bind# cat named.conf.local 
   zone "ima2a5-mol-ish.site" {
   type master;
   file "/etc/bind/ima2a5-mol-ish.site.signed"
   };

On modifie également notre fichier named.conf.options afin d'activer le DNSSEC

  root@ima2a5-mol-ish:/etc/bind# cat named.conf.options 
  options {
       directory "/var/cache/bind";
       dnssec-validation auto;
       dnssec-enable yes;
       auth-nxdomain no;    # conform to RFC1035
       listen-on-v6 { any; };
       allow-transfer {"allowed_to_transfer";}
   };
    acl "allowed_to_transfer" {
      217.70.177.40/32
    };

Maintenant des clés publics on rajoute à DNSSEC section de Gandi. Il faut ajouté la partie qui commence par Aw...

   root@ima2a5-mol-ish:/etc/bind/ima2a5-mol-ish.site.dnssec# cat ima2a5-mol-ish.site-zsk.key
   ; This is a zone-signing key, keyid 56373, for ima2a5-mol-ish.site.
   ; Created: 20191113100104 (Wed Nov 13 10:01:04 2019)
   ; Publish: 20191113100104 (Wed Nov 13 10:01:04 2019)
   ; Activate: 20191113100104 (Wed Nov 13 10:01:04 2019)
   ima2a5-mol-ish.site. IN DNSKEY 256 3 5 AwEAAcCC4sxci7Fep2Djz7oQZY0YxyZlsZyzyEybco91JISIi/Ra8vS2 HBaxqVPSzoIze66PmNW0LeRN6EpEAnstFf6YPncy10UYnw5BYVO/pYyB qMdfNcukAhcFQl4lxg6AAmCJV9p+fxZtH2fVVDgo8dtdoglxdcivpuZ6 X/6yRFOh


Pour appliquer les changement on faire un restart de bind9 :

  service bind9 restart
  bind9 is not running ... failed!

Pour voir des logs et detecter l'erreur:

   root@ima2a5-mol-ish:/etc/bind# named -d 2 -g
   ------
   13-Nov-2019 10:45:13.493 loading configuration from '/etc/bind/named.conf'
   13-Nov-2019 10:45:13.493 /etc/bind/named.conf.options:27: missing ';' before '}'
   13-Nov-2019 10:45:13.493 /etc/bind/named.conf.options:31: missing ';' before '}'
   13-Nov-2019 10:45:13.493 /etc/bind/named.conf.local:8: missing ';' before '}'

On corrige des problèmes, fait un restart:

   root@ima2a5-mol-ish:/etc/bind# service bind9 restart
   Stopping domain name service...: bind9rndc: connect failed: 127.0.0.1#953: connection refused.
   Starting domain name service...: bind9.

Avec l'outil https://dnsviz.net/d/ima2a5-mol-ish.site/dnssec/ on peut générer la chaîne

Vérfifier DNS : https://dnslookup.fr/ima2a5-mol-ish.site


Génération des clés

Pour obtenir un certificat SSl, on possède le processus sur Gandi.net.


For validate a SSL certificate, a new record should be added:

   _4DE219768FBF39EF064A572B1D83103B.ima2a5-mol-ish.site. 10800 IN CNAME B82AAE68366BCA619C95648FBB6F88F2.7B01FC91DDE8B7A0ADD0CFF1E1EFF391.4538579b59251aec5bda.comodoca.com.

Il faudra attendre pour que les changements seront appliqués.

La clé .csr (qui a été transmis à Gandi)


BEGIN CERTIFICATE REQUEST-----

MIIC+DCCAeACAQAwgZoxCzAJBgNVBAYTAkZSMQ4wDAYDVQQIDAVMaWxsZTENMAsG A1UEBwwETm9yZDEXMBUGA1UECgwOUG9seXRlY2ggTGlsbGUxDDAKBgNVBAsMA0lN QTEcMBoGA1UEAwwTaW1hMmE1LW1vbC1pc2guc2l0ZTEnMCUGCSqGSIb3DQEJARYY aXNoY2h1a2F0ZXJpbmFAZ21haWwuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A MIIBCgKCAQEAunbGi/dkUGg/rS/vEHRhgKpwqvcIhbdxl7OzPpsJZCbzo+D0qj06 Fh2bSsyI4SsMcAsP5K+I/+IP2jEF+6rRhqzp5olRJIB+0f1UoGCi5RNEHeC+5Oym r3bcvdfUW8ypCt3qnJ0ILwceBOPC6HkvfVzV9u9SRLp72+Srew1FE2VFRI+U8xyA otm8Uzjew2E9j2DkWgvhqzuNy5aRKqmy7uRtkM25oubxFIk8diMXRQHAorPMPKmJ fYSFKA3neHegMh3/1fVxGjvCKq+fG3BMBR7n6d8PFT2nLeqVcYvj61Q0j5OFA5Yu Pip1lX0ePs5wDZWE1eLc9HBuKaUjNymoMwIDAQABoBgwFgYJKoZIhvcNAQkHMQkM B3Bhc2dsb3AwDQYJKoZIhvcNAQELBQADggEBAFwCucNX5S969pkkXxW14kyKapZ1 eNd4G6Xhb3frt3cb9L4JwNeK9o+grjaz9mH/xT1UW3evFpOXSBkuK+FsZphbvhxs 40eDvPiDdkfylZb7wpkClJkefhZYDic/Pozbfb19nmEySwabV3GPJV9XObLSac/l yJdyg5rwA56Yk5N+iRnf1lyyg2nXAMA7aYYJg1vpYkMp0z48Fkp9eEyfU93t+shE XHz8HWvXvqR2Hrjv8x6NJ83cD/Kk7HYWX1mD0OptlPzUMhQ5tGZ/vj5xNclQ2Pf1 E/R4lG4rRf5H3ffWydNPtpoW4bIPEVA30uPqE9OxTvcuz8gqx25jvixEbAo=


END CERTIFICATE REQUEST-----

La clé privé (reste sur la machine en privé)


BEGIN PRIVATE KEY-----

MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQC6dsaL92RQaD+t L+8QdGGAqnCq9wiFt3GXs7M+mwlkJvOj4PSqPToWHZtKzIjhKwxwCw/kr4j/4g/a MQX7qtGGrOnmiVEkgH7R/VSgYKLlE0Qd4L7k7Kavdty919RbzKkK3eqcnQgvBx4E 48LoeS99XNX271JEunvb5Kt7DUUTZUVEj5TzHICi2bxTON7DYT2PYORaC+GrO43L lpEqqbLu5G2Qzbmi5vEUiTx2IxdFAcCis8w8qYl9hIUoDed4d6AyHf/V9XEaO8Iq r58bcEwFHufp3w8VPact6pVxi+PrVDSPk4UDli4+KnWVfR4+znANlYTV4tz0cG4p pSM3KagzAgMBAAECggEAQ113+8dEEZyoLKydpQc21qI9FDcteAm/WzxL7LlcWjeM XE+AdSSroKPPn+VnKlpAIxaMBmW4jCGi8oQ1kiezjQFZe7VugE6AAuOQOGTRVQtx 142DyfcJfWjm9RtNmGDHTarBARXmh/79RGz41L47fwIUNyNdSIFLEDV8EnfH1epo aPE3qYmtElhAIeb6US2JKKqNd/Mc/zDAGoTfgLGUCNr+ilqLfW1ZJYBVNRhffSrE xhzG70Ol6uTFWj6Z1j6OPWNhcBRBS7gqESLgeQgy5+2Y5ep51zYFfH5JnLWUc+8t X3klDYsV4xUuvMHgQGN9PhT06ZFNnFKuGKg1xuIUCQKBgQD2d+33ZgBM1m3L2MTR hJti7vJ+UKITqdoBD1kd0ooK2Mdq+qNsd/WAeM4my6Nxhl2c+993rTauaKgWMDJe HTx9ctiom9awlscKn0X9+bN4E+27jCiD0CyrXXJhFV99JVanvmvPlulejvMTqiyd brtrHIWF9+qav5CQbICHFrUJbQKBgQDBrMsgrxmZz6ww5UmL85Nj0fyRBUQU4wMq w2Mb8XjRF6BwTglIYNUxN9e6sAzAOovE7W1PtIn4YzAYcCpKpbvGGSKPUM6xzyho K0r97wgzRZNh2S8iiRvf8h6Xj9T7tKQQrOKtlAemitJghmtcTBT9uUfBCY/oiMuk kjnk9OUUHwKBgBElMKGoL9coh4TJtI9aqTCNrMLKuyuhAjBWr/1aGw48HEs92kZ+ Zc6lGLosKleIYFS+VMJPg2FImIDKo4ZWhFG5voakKKAqLPh5MfZD+48b28rTKjJZ NfJJ0t4cDYN4KHoMzhUny14vlYtFqErfXBxMZKF4KJLRRq41Tg+XrcpVAoGACaDH cFaEFUtnqf6cC2MOfrXfsm3qloc6jxOrh6YXdX2RMkQO3hRCRPIbvWInIB9I938+ Ieo9uaVkrLJWx+M5VH3HZAyGWfyMa7FLRxhs9e+Nhh2/5B2gzx9AOhSiZ+jxBwsx MaPcRYE9OCM2jx4RJRPi50vMZaj3RrUmP6WVBc0CgYAhEhqaDDonLAV94ScSrnZR xy5gwnFeI/d7apb4uq3cO2ETg5ysj1XW8m02aeNeJ+IgKt7FkZbi09LAzAqMcquE rAIQHgBguDv5SW2/yjff+0/9kFkRhkz04hzXtnbC6MdO+L7T1sIETUN5ExC0rFd3 /nlEYB7/x6cJC48k3irSUA==


END PRIVATE KEY-----


Retour de Gandi et de notre cetificat (.pem)

   -----BEGIN CERTIFICATE-----
   MIIF6TCCA9GgAwIBAgIQBeTcO5Q4qzuFl8umoZhQ4zANBgkqhkiG9w0BAQwFADCB
   iDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0pl
   cnNleSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNV
   BAMTJVVTRVJUcnVzdCBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTQw
   OTEyMDAwMDAwWhcNMjQwOTExMjM1OTU5WjBfMQswCQYDVQQGEwJGUjEOMAwGA1UE
   CBMFUGFyaXMxDjAMBgNVBAcTBVBhcmlzMQ4wDAYDVQQKEwVHYW5kaTEgMB4GA1UE
   AxMXR2FuZGkgU3RhbmRhcmQgU1NMIENBIDIwggEiMA0GCSqGSIb3DQEBAQUAA4IB
   DwAwggEKAoIBAQCUBC2meZV0/9UAPPWu2JSxKXzAjwsLibmCg5duNyj1ohrP0pIL
   m6jTh5RzhBCf3DXLwi2SrCG5yzv8QMHBgyHwv/j2nPqcghDA0I5O5Q1MsJFckLSk
   QFEW2uSEEi0FXKEfFxkkUap66uEHG4aNAXLy59SDIzme4OFMH2sio7QQZrDtgpbX
   bmq08j+1QvzdirWrui0dOnWbMdw+naxb00ENbLAb9Tr1eeohovj0M1JLJC0epJmx
   bUi8uBL+cnB89/sCdfSN3tbawKAyGlLfOGsuRTg/PwSWAP2h9KK71RfWJ3wbWFmV
   XooS/ZyrgT5SKEhRhWvzkbKGPym1bgNi7tYFAgMBAAGjggF1MIIBcTAfBgNVHSME
   GDAWgBRTeb9aqitKz1SA4dibwJ3ysgNmyzAdBgNVHQ4EFgQUs5Cn2MmvTs1hPJ98
   rV1/Qf1pMOowDgYDVR0PAQH/BAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYD
   VR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMCIGA1UdIAQbMBkwDQYLKwYBBAGy
   MQECAhowCAYGZ4EMAQIBMFAGA1UdHwRJMEcwRaBDoEGGP2h0dHA6Ly9jcmwudXNl
   cnRydXN0LmNvbS9VU0VSVHJ1c3RSU0FDZXJ0aWZpY2F0aW9uQXV0aG9yaXR5LmNy
   bDB2BggrBgEFBQcBAQRqMGgwPwYIKwYBBQUHMAKGM2h0dHA6Ly9jcnQudXNlcnRy
   dXN0LmNvbS9VU0VSVHJ1c3RSU0FBZGRUcnVzdENBLmNydDAlBggrBgEFBQcwAYYZ
   aHR0cDovL29jc3AudXNlcnRydXN0LmNvbTANBgkqhkiG9w0BAQwFAAOCAgEAWGf9
   crJq13xhlhl+2UNG0SZ9yFP6ZrBrLafTqlb3OojQO3LJUP33WbKqaPWMcwO7lWUX
   zi8c3ZgTopHJ7qFAbjyY1lzzsiI8Le4bpOHeICQW8owRc5E69vrOJAKHypPstLbI
   FhfFcvwnQPYT/pOmnVHvPCvYd1ebjGU6NSU2t7WKY28HJ5OxYI2A25bUeo8tqxyI
   yW5+1mUfr13KFj8oRtygNeX56eXVlogMT8a3d2dIhCe2H7Bo26y/d7CQuKLJHDJd
   ArolQ4FCR7vY4Y8MDEZf7kYzawMUgtN+zY+vkNaOJH1AQrRqahfGlZfh8jjNp+20
   J0CT33KpuMZmYzc4ZCIwojvxuch7yPspOqsactIGEk72gtQjbz7Dk+XYtsDe3CMW
   1hMwt6CaDixVBgBwAc/qOR2A24j3pSC4W/0xJmmPLQphgzpHphNULB7j7UTKvGof
   KA5R2d4On3XNDgOVyvnFqSot/kGkoUeuDcL5OWYzSlvhhChZbH2UF3bkRYKtcCD9
   0m9jqNf6oDP6N8v3smWe2lBvP+Sn845dWDKXcCMu5/3EFZucJ48y7RetWIExKREa
   m9T8bJUox04FB6b9HbwZ4ui3uRGKLXASUoWNjDNKD/yZkuBjcNqllEdjB+dYxzFf
   BT02Vf6Dsuimrdfp5gJ0iHRc2jTbkNJtUQoj1iM=
   -----END CERTIFICATE-----


Certificat .crt

   -----BEGIN CERTIFICATE-----
   MIIGETCCBPmgAwIBAgIQQD7X5S+/F3WTOPPJuYTgrzANBgkqhkiG9w0BAQsFADBfMQswCQYDVQQG
   EwJGUjEOMAwGA1UECBMFUGFyaXMxDjAMBgNVBAcTBVBhcmlzMQ4wDAYDVQQKEwVHYW5kaTEgMB4G
   A1UEAxMXR2FuZGkgU3RhbmRhcmQgU1NMIENBIDIwHhcNMTkxMTEzMDAwMDAwWhcNMjAxMTEzMjM1
   OTU5WjBeMSEwHwYDVQQLExhEb21haW4gQ29udHJvbCBWYWxpZGF0ZWQxGzAZBgNVBAsTEkdhbmRp
   IFN0YW5kYXJkIFNTTDEcMBoGA1UEAxMTaW1hMmE1LW1vbC1pc2guc2l0ZTCCASIwDQYJKoZIhvcN
   AQEBBQADggEPADCCAQoCggEBAPIAQ2HpNh/f72EFAIfDjKuitCJ+gTneBxU5pzdgef4eUllNtVNb
   7xQp+ildePOCj1T+F8SFAQYO4Im6F3XFBFrqIWpG42OAR3QsDop2SxQgwJ/ei2CLi+SH58JNvgft
   dJAB0zoFDIyApFj54XK/9n9Xtg5IpGHJNoDIRB7T7Z81pTihDHyNFiFgap8IzPMZ1pYWxt1pXLi4
   xIvCuMKPEJ/Ahj1rTtKqkyLcYBgDcyqdPpWb9q3Z1WvcLqfi6AyOxhmfCQDJwAxk6leaQ+5qSwn9
   fpaQJ1crp2r7W/DuvcDkEFopXhtCdBOfRqi/7ExkfpYKapnMwMq2IcyACmJHHVcCAwEAAaOCAsgw
   ggLEMB8GA1UdIwQYMBaAFLOQp9jJr07NYTyffK1df0H9aTDqMB0GA1UdDgQWBBSRNlkNETdysrxo
   EOpmQ9eON0SLOTAOBgNVHQ8BAf8EBAMCBaAwDAYDVR0TAQH/BAIwADAdBgNVHSUEFjAUBggrBgEF
   BQcDAQYIKwYBBQUHAwIwSwYDVR0gBEQwQjA2BgsrBgEEAbIxAQICGjAnMCUGCCsGAQUFBwIBFhlo
   dHRwczovL2Nwcy51c2VydHJ1c3QuY29tMAgGBmeBDAECATBBBgNVHR8EOjA4MDagNKAyhjBodHRw
   Oi8vY3JsLnVzZXJ0cnVzdC5jb20vR2FuZGlTdGFuZGFyZFNTTENBMi5jcmwwcwYIKwYBBQUHAQEE
   ZzBlMDwGCCsGAQUFBzAChjBodHRwOi8vY3J0LnVzZXJ0cnVzdC5jb20vR2FuZGlTdGFuZGFyZFNT
   TENBMi5jcnQwJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLnVzZXJ0cnVzdC5jb20wNwYDVR0RBDAw
   LoITaW1hMmE1LW1vbC1pc2guc2l0ZYIXd3d3LmltYTJhNS1tb2wtaXNoLnNpdGUwggEFBgorBgEE
   AdZ5AgQCBIH2BIHzAPEAdwAHt1wb5X1o//Gwxh0jFce65ld8V5S3au68YToaadOiHAAAAW5j5/l/
   AAAEAwBIMEYCIQCwlI5VaJUfUAg3u9CT/Mlek42R/JDke2Yaf1UCqFyMBgIhANvdjPn/m9X6HKY/
   spP0BlMWGM+tyxBtnbyEIrrJqjyzAHYAXqdz+d9WwOe1Nkh90EngMnqRmgyEoRIShBh1loFxRVgA
   AAFuY+f5cAAABAMARzBFAiBjkW/8HrXqbBGU0pzSUF9dVRKCQ9yBIVWvJBU73EagYwIhAM0XBb7k
   XkeMQneNP2GOR8be3DrmUY2pf9EgkaQhelQgMA0GCSqGSIb3DQEBCwUAA4IBAQA97gLu2Iw9QQ3+
   q2TdKh4RqZ5GLtzxrOQV3xxRlnGqb81vxZFojVCrK02VQgNLX/2g3DhB/yN+YD3gliL4yz7apL+k
   NiX+SLHxFOqEVqFcK8k74fEoLxL4adNoKoUEzniupZR0wa7ZHROnuYc+ZQ5LEYgQNCzMpPFmVx4L
   OKcJnhmHjQJpIppz2RK1khGsVSXHL445o8vKXWUhsuGQXZKvd24G234jg0nEkARvHe6apD/nsYqT
   oBEbMOblH/nKvOhBhNkk1HqK15wh29gO5a2bawzwz8WLWi61WFs0HgKu6fvAugbIq88mkFg/JYoy
   LPxkPJg3syfr2tIHAjfYG2Xk
   -----END CERTIFICATE-----


Paramétrage d'Apache2 avec la gestion du https

Le paramétrage d'Apache peut se faire à l'aide du wiki d'ubuntu ([configuration d'Apache https://doc.ubuntu-fr.org/apache2])

Serveur web http

On ajoute un fichier ima2a5-mol-ish de configuration dans le répertoire : /etc/apache2/sites-available

   <VirtualHost *:80>
       ServerName ima2a5-mol-ish.site
       ServerAlias www.ima2a5-mol-ish.site
       DocumentRoot "/var/www/ima2a5-mol-ish"
       <Directory "/var/www/ima2a5-mol-ish">
               Options +FollowSymLinks
               AllowOverride all
               Require all granted
       </Directory>
       ErrorLog /var/log/apache2/ima2a5-mol-ish.log
       CustomLog /var/log/apache2/ima2a5-mol-ish.log combined
   </VirtualHost>

Au prélable, on aura créé un dossier contenant la page html à afficher dans le répertoire /var/www/ima2a5-mol-ish

Serveur web https

On active le module SSL avec la commande :

   a2enmod ssl
   service apache2 restart

Vérification de l'écoute de port 443

On s'assure que le port 443 est déjà à l'écoute par le serveur apache via la commande netstat -tanpu |grep "LISTEN" |grep "443"

   tcp6       0      0 :::443                  :::*                    LISTEN      1382/apache2
   

Création des clés .key et .csr

Pour créer des clés on utilise OpenSSl, dans le répértoire /etc/apache2/certificates

   openssl req -nodes -newkey rsa:2048 -sha256 -keyout ima2a5-mol-ish.key -out ima2a5-mol-ish.csr 


   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]:Polytech Lille
   Organizational Unit Name (eg, section) []:IMA2A5
   Common Name (e.g. server FQDN or YOUR name) []:ima2a5-mol-ish.site
   Email Address []:ekaterina.ishchuk@polytech-lille.fr
   Please enter the following 'extra' attributes
   to be sent with your certificate request
   A challenge password []:glopglop
   An optional company name []:

Puis on peut passer à la configuration de HTTPS d'apache


Configuration VirtualHost Apache pour le port 443

On configure dans le fichier "ima2a5-mol-ish.site-ssl.conf la configuration didiée au port sécurisé HTTPS:

   <VirtualHost *:443>

ServerName ima2a5-mol-ish.site:443 DocumentRoot "/var/www/ima2a5-mol-ish" ServerAdmin ekaterina.ishchuk@polytech-lille.net <Directory "/var/www/ima2a5-mol-ish"> Options +FollowSymLinks AllowOverride all Require all granted </Directory> ErrorLog "/var/log/apache2/error.ima2a5-mol-ish.log" TransferLog "/var/log/apache2/error.ima2a5-mol-ish.transf.log" # Activation du SSL SSLEngine On # Activation de tous les protocoles sécurisés (TLS v1.0, v1.1 et TLS v1.2) touut en désactivant les protocoles non sécurisés (SSL v2, SSL v3)

  	SSLProtocol All -SSLv3 -SSLv2
  	# Le navigateur devra choisir une méthode de chiffrement en respectant l'ordre indiquée dans SSLCipherSuite
  	SSLHonorCipherOrder on
  	# Chemin vers le certificat SSL de votre nom de domaine
  	SSLCertificateFile "/etc/apache2/certificates/ima2a5-mol-ish.csr"
  	# Chemin vers la cle privée du certificat SSL de votre nom de domaine
 	 SSLCertificateKeyFile "/etc/apache2/certificates/ima2a5-mol-ish.key"  
   </VirtualHost>

Maintenante on peut relancer le serveur avec:

 a2dissite ima2a5-mol-ish.site
 a2ensite ima2a5-mol-ish.site
 service apache2 restart

Puis on vérifie la configuration appliqueé avec

  root@ima2a5-mol-ish:/etc/apache2# apache2ctl -S
  VirtualHost configuration:
  *:80                   is a NameVirtualHost
        default server ima2a5-mol-ish.site (/etc/apache2/sites-enabled/000-default.conf:1)
        port 80 namevhost ima2a5-mol-ish.site (/etc/apache2/sites-enabled/000-default.conf:1)
        port 80 namevhost ima2a5-mol-ish.site (/etc/apache2/sites-enabled/ima2a5-mol-ish.site.conf:1)
                alias www.ima2a5-mol-ish.site   
  *:443                  ima2a5-mol-ish.site (/etc/apache2/sites-enabled/ima2a5-mol-ish.site.conf:15)
  ServerRoot: "/etc/apache2"
  Main DocumentRoot: "/var/www/html"
  Main ErrorLog: "/var/log/apache2/error.log"
  Mutex ssl-stapling: using_defaults
  Mutex ssl-cache: using_defaults
  Mutex default: dir="/var/run/apache2/" mechanism=default 
  Mutex watchdog-callback: using_defaults
  Mutex ssl-stapling-refresh: using_defaults
  PidFile: "/var/run/apache2/apache2.pid"
  Define: DUMP_VHOSTS
  Define: DUMP_RUN_CFG
  User: name="www-data" id=33
  Group: name="www-data" id=33


Architecture réseau

L'architecture générale

Les réseaux virutels

Le routage de site (IPv4)

Le routage de site (IPv6)

Interconnexion avec Internet (IPv4)

Interconnexion avec Internet (IPV6)

Sécurisation du réseau

Services internet

Test d'intrusion

Intrusion par changement d'adresse MAC

Cassage de clef WEP d'un point d'accès Wifi

Configuration de la carte réseau

Dans cette partie, il est question de cracker une clé WEP depuis l'ordinateur mis à disposition (Silure).

On commence par établir une connexion internet via une liaison filaire ainsi que la configuration de la clé Wifi.

-Se placer en super-administrateur et visualiser la liste des interfaces

   su
   ip l

On trouve ainsi trois interfaces : lo, wlx40a5ef01370a (clé wifi) et enp4s0 (eth0)

-Modifier le fichier de configuration réseau

   nano /etc/network/interfaces

-Modifier le fichier avec les lignes suivantes :


   #Interface réseau filaire
   auto enp4s0
   iface enp4s0 inet static
    address 172.26.145.105
    netmask 255.255.255.0
    gateway 172.145.255.254
   
   #Interface Wifi
   auto wlx40a5ef01370a
   iface wlx40a5ef01370a inet dhcp

-Modifier le proxy avec celui de l'école :

   export http_proxy=http://proxy.polytech-lille.fr:3128

-Eteindre et rallumer l'interface enp4s0 :

   ifdown enp4s0 //Eteindre l'interface
   ifup enp4s0 //Allumer l'interface

- Vérifier la bonne mise à jour des interfaces

   ip a

ainsi que le miroir est bien celui de la licence linux, ici debian

   deb http://debian.polytech-lille.fr/debian/ buster main contrib none-free
   deb-src http://debian.polytech-lille.fr/debian buster main contrib non-free
   deb http://security.debian.org/debian-security buster/updates main contrib non-free
   deb-src http://security.debian.org/debian-security buster/updates main contrib non-free


- Effectuer la mise à jour et installer le paquetage aircrack

   apt update
   apt-get install aircrack-ng

-Démarrer le logiciel aircrack en précisant l'interface :

   airmon-ng start wlx40a5ef01370a
IMA2A5 AIRODUMP.png

A partir de là, la carte Wifi passe en mode moniteur et prend l'intitulé wlan0mon.

Scanner le réseau wifi

A patir de là, nous pouvons scanner le réseau Wifi environnant avec airodump

   airodump-ng --encrypt wep wlan0mon
IMA2A5 AIRODUMP VIEW.png

On visualise les raspberry disponibles avec les informations suivantes :

  • Le BSSID du réseau en hexadécimal
  • La force du signal avec PWR
  • Le channel avec CH
  • Le type d'encryptage avec ENC
  • Le nom du réseau avec ESSID

On choisit de cracker la cracotte09 en stockant les données générées dans le dossier WEP

   mkdir WEP
   airodump-ng -w cracotte -c 8 --bssid 04:DA:D2:9C:50:58 wlan0mon


On obtient l'écran suivant indiquant le nombre de données collectées (#Data)

IMA2A5 PACKET.png

En parallèle de ça, on peut la phase de décryptage avec l'utilitaire aircrack-ng

Aircrack-ng.png
   aircrack-ng cracotte*.cap

Une fois le nombre d'IVs suffisant atteint, on obtient la clé WEP. Pour cracotte02, on a BA:BE:EE:EE:EE:EE:EE:EE:EE:EE:EE:44

Cassage de mot de passe WPA-PSK par force brute

Dans cette partie, il s'agit de casser le mot de passe d'un réseau Wifi sécurisé en WPA-PSK. On utilisera le même utilitaire aircrack-ng à la différence qu'il s'agira non plus de récuprérer des IVs mais un handshake.

Pour se faire, on commence par sonder le réseau en filtrant uniquement le protocole WPA

   airodump-ng --encrypt wpa wlan0mon
IMA2A5-WPA-airodump.png

On obtient la liste suivante.

Il faut ensuite générer un dictionnaire comportant l'ensemble des combinaisons possibles de la clé WPA.


   crunch 8 8 0123456789 >> Dico.txt


Point particulier : Lors de la génération du dictionnaire, j'ai oublié d'inclure le chiffre 0 ce qui a allégé de 60% le fichier originel (900Mb pour les 10 chiifres contre 300Mb pour les 9 chiffres). Ce que je ne savais pas à ce moment là, c'est que la clé à trouver ne comporte pas de zéro. Cela a permis de passer de 3h de temps de calcul à 1 min et 18 secondes.


   aircrack-ng psk-01.cap -w Dico.txt


On a pour résultat est le suivant :

IMA2A5-WPA-key.png

La clé sur la kracotte02 est 12228888

Réalisations

Sécurisation de données

Cryptage de données

Dans cette partie, il est question de crypter des données contenues dans une clé USB On installe d'abord les paquetages lvm2 et cryptsetup.

   apt-get install lvm2 cryptsetup

Ensuite on recherche le périphérique et ses partitions (si existantes) avec la commande

   lsblk

On utilise ensuite l'utilitaire fdisk sur le périphérique souhaité, ici /dev/sda


   fdsik /dev/sda

A partir de là, on peut réaliser un certain nombre d'opération qui sont les suivantes :

  Command (m for help): m
   Help:
   DOS (MBR)
    a   toggle a bootable flag
    b   edit nested BSD disklabel
    c   toggle the dos compatibility flag
   Generic
    d   delete a partition
    l   list known partition types
    n   add a new partition
    p   print the partition table
    t   change a partition type
    v   verify the partition table
   Misc
    m   print this menu
    u   change display/entry units
    x   extra functionality (experts only)
   Save & Exit
    w   write table to disk and exit
    q   quit without saving changes
   Create a new label
    g   create a new empty GPT partition table
    G   create a new empty SGI (IRIX) partition table
    o   create a new empty DOS partition table
    s   create a new empty Sun partition table

On s'assure de l'état des partitions avec la commande p

On supprime les partions avec la commande d

Puis on quitte et on sauvegarde les modification avec w

On créé une nouvelle partition avec le même utilitaire.

   Command (m for help) : n
   Partition type
     p primary (0 primary, 0 extended, 4 free)
     e extended (container for logical partitions)
   Select (default p): p
   Partition number (1-4, default 1): 1

On part sur une unique partition comme demandée dans le cahier des charges On prendra toutes les ressources physiques de la clé à savoir de 2048 à 15109515


   First sector (2048-15109515, default 2048): 2048
   
   Last sector, +sectors or +size{K,M,G,T,P} (2048-15109515): 15109515
   Created a new partition 1 of type 'Linux' and of size 7.2 GiB

On sauvegarde pour finir.

Sécurisation Wifi par clé WEP

Sécurisation Wifi par WPA-PSK

Sécurisation réseau filaire par EAP-TLS

Sécurisation Wifi par WPA2-EAP

Universal Plug and Play Audio and Video

Configuration d'un PCBX