Atelier SysRes SE2a5 2023/2024 E8

De wiki-se.plil.fr
Aller à la navigation Aller à la recherche

WIKI SIMON TP

Informations utiles :

  • VM Mandataire : muaythai
  • VM Service : bogota
  • IP Mandataire : 193.48.57.164
  • IP Service: 172.26.145.101
  • Domain Name : bogota.lol

14/09/2023

  • Initiation à la conteneurisation : (cf https://rex.plil.fr/Enseignement/Reseau/Reseau.IMA5sc/reseau027.html)
    • création d'un conteneur à la main
    • Utilisation de docker pour comparer
  • Continuité sur la création de la VM :
    • Mise en place d'adressage IP pour SSH (addr : 172.26.145.101 / gateway : 172.26.145.254)
    • Activation du PermitRootPassword dans /etc/ssh/sshd_config
    • Installation de apache2 et bind9

18/09/2023

  • Début de création de partition avec LVM de 10G pour faire en sorte que les répertoires /var et /home de la machine virtuelle soient implantés sur ces partitions LVM.
  • Pause sur le projet de VM et mise en place de nouvelle machine dans la seconde salle.
    • Installation du nouveau PC sur zabeth07
    • Création d'une clé bootable avec la dernière version (daedalus) de devuan
    • Installation de devuan sur nouvelle machine mise en place d'interfaces réseau

19/09/2023

  • Mise à jour via ansible (zabeth21) pour tous les paquetages
  • Mise à jour annexes des machines (zabeth17)

02/10/2023

  • Finalisation et vérification du bon fonctionnement de la nouvelle zabeth07
  • Reprise du projet VM, vérification des services apache2 et bind9
  • Achat du nom de domaine (bogota.lol) et début de gestion du serveur DNS
  • Création de partition virtuel sur capbreton avec lvcreate

05/10/2023

  • Mise à jour des paquetages Xfce via tasksel (35 paqutages installés)
  • Reprise des partitions LVM :
    • liaison des nouvelles partitions au dossier /var et /home
    • Création de dossiers tampons (new_var et new_home)
    • mount des partitions sur ces dossiers tampons
    • modifications du fichier /etc/fstab :
      # /etc/fstab: static file system information.
      #
      # <file system> <mount point>   <type>  <options>       <dump>  <pass>
      proc            /proc           proc    defaults        0       0
      devpts          /dev/pts        devpts  rw,noexec,nosuid,gid=5,mode=620 0  0
      /dev/xvda1 none swap sw 0 0
      /dev/xvda2 / ext4 noatime,nodiratime,errors=remount-ro 0 1
      
      /dev/xvdb1 /home ext4 defaults 0 2
      /dev/xvdb2 /var ext4 defaults 0 2
      
    • umount des dossiers tampon et mount all via le fichier modifier (/etc/fstab)
    • Finalisation : reboot et check via un lsblk
      NAME  MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
      xvda1 202:1    0  512M  0 disk [SWAP]
      xvda2 202:2    0   10G  0 disk /
      xvdb1 202:17   0   10G  0 disk /home
      xvdb2 202:18   0   10G  0 disk /var
      On observe bien que nos deux nouvelles partitions sont montés sur notre /home et /var
  • Création de la machine mandataire muaythai en collaboration avec Rayane MOUSSAOUI
    xen-create-image --hostname=muaythai --ip=193.48.57.164 --netmask=255.255.255.240 --gateway=193.48.57.161 --bridge=SE2a5 --dir=/usr/local/xen --password=glopglop
    

06/10/2023

  • Configuration de la mascarade et des interfaces réseau privées
    • machine mandataire (muaythai) :
      auto eth1
      iface eth1 inet static
              address 192.168.13.10/24
      
    • machine de service (bogota) :
      auto eth1
      iface eth1 inet static
          adress 192.168.13.12/24
          gateway 192.168.13.11
          post-up ethtool -K eth1 tx off
      
  • Configuration du DNS
  • création du nameserver sur gandi.net (Cf : wiki Tokyo_Rayane)

10/11/2023

  • Suite de la configuration du serveur DNS principal et secondaire
    • Erreur : sur la machine de service un problème de droit d'accès au dossier bloquer le service bind9 -> Résolue

Configuration DNS Bind9 :

Machine de service : (bogota)
  • On utilise Bind9 : serveur DNS -> se charge de traduire un nom de domaine en une ip
  • ajout dans /etc/bind/named.conf.options
    • de allow-recursion {127.0.0.1} afin d'éviter que notre serveur ne serve de relais DNS ouvert.
  • Déclaration des zones dans /etc/bind/named.conf.local
    zone "bogota.lol" {
        type master;
        file "/etc/bind/db.bogota.lol";
        
        allow-transfer {192.168.13.10;};
        notify yes;
    };
    
  • Puis création de /etc/bind/db.bogota.lol (fichier créer avec le nom de domaine de notre machine de service)

/etc/bind/db.bogota.lol

  • On aura pour chaque modification à faire un service bind9 restart (il faudra penser à incrémenter le serial avant chaque restart du service)
Machine mandataire : (muaythai)
  • Ajout des zones dans le serveur DNS secondaire dans /etc/bind/named.conf.local
    zone "bogota.lol" {
        type slave;
        file "/etc/bind/db.bogota.lol";
        
        allow-transfer {192.168.13.11;};
        notify yes;
    };
    
    zone "tokyoray.lol" {
        type slave;
        file "/etc/bind/db.tokyoray.lol";
        
        allow-transfer {192.168.13.12;};
        notify yes;
    };
    
  • Il faudra créer dans /etc/bind/ deux fichiers vide : db.bogota.lol et db.tokyoray.lol

HTTPS (apache2) :

  • création d'une clée privée et génération d'une demande de csr openssl req -nodes -newkey rsa:2048 -sha256 -keyout bogota.key -out bogota.csr -utf8 (cf doc de gandi)
  • Sécurisation de l'accès de la clé privée : chmod 440 bogota.key
  • copier coller du CSR pour demande de certificat sur gandi
  • Création du Virtual Host pour redirection sur port *:443 :
    # vhost https
    <VirtualHost *:443>
      DocumentRoot /var/www/html
      ServerName  bogota.lol
    
      ServerSignature Off
      ErrorLog ${APACHE_LOG_DIR}/bogota.log
      LogLevel info
      CustomLog ${APACHE_LOG_DIR}/bogota.log combined
    
      SSLEngine on
      SSLCertificateFile /etc/ssl/certs/bogota.lol.crt
      SSLCertificateKeyFile /etc/ssl/private/bogota.key
    </VirtualHost>
    

23/11/2023

Continuité HTTPS (Apache2) :

  • Ajout de deux DNS records dans le fichier /etc/bind/db.bogota.lol demandé par gandi
  • Ajout du nameserver gandi en plus ns6.gandi.net
    $ttl 1H
    bogota.lol.          IN      SOA        ns1.bogota.lol. root@bogota.lol. (
                                            2023111008 ; Serial
                                            1H ; Refresh
                                            15M ; Retry
                                            2W ; Expire
                                            3M ; Minimum TTL
                                            )
    bogota.lol.      IN      NS            ns1.bogota.lol.
    bogota.lol.      IN      NS            ns6.gandi.net.
    ns1.bogota.lol.  IN      A             193.48.57.164
    ns1.bogota.lol.  IN      AAAA          2001:660:4401:60a0:216:3dff:fe46:bc22
    www.bogota.lol.  IN      CNAME         ns1.bogota.lol.
    
    _8309BCE349A29DAA143449359F9CBFC0.bogota.lol. 10800 IN CNAME DF9AE54BF06616C62D126B2EDCF8BF3A.98C4C2407DC9AEC10EF56CCFE1C9EE6C.5d4768581282ceac9723.sectigo.com.
    
    _8309BCE349A29DAA143449359F9CBFC0.www.bogota.lol. 10800 IN CNAME DF9AE54BF06616C62D126B2EDCF8BF3A.98C4C2407DC9AEC10EF56CCFE1C9EE6C.5d4768581282ceac9723.sectigo.com.
    
  • Pour récupérer les IP du serveur DNS gandi : host ns6.gandi.net
  • Puis ajout des adresses IPV4 et IPV6 dans le fichier "config.name.local" allow-transfer {192.168.13.10;217.70.177.42;2001:4b98:d:1::4b;};
  • Une fois la certification validée sur gandi on télécharge et déplace le crt vers la machine mandataire et de service
  • Pour finir on ajoute dans notre VM mandataire le VirtualHost correspondant à notre machine de service afin de rediriger
    <VirtualHost *:443>
      DocumentRoot /var/www/html
      ServerName bogota.lol
      ServerAlias www.bogota.lol
    
      ServerSignature Off
      ErrorLog ${APACHE_LOG_DIR}/error_server.log
      LogLevel info
      CustomLog ${APACHE_LOG_DIR}/access_server.log combined
    
      SSLEngine on
      SSLCertificateFile  /etc/ssl/certs/bogota.lol.crt
      SSLCertificateKeyFile /etc/ssl/private/bogota.key
      SSLProxyEngine on
      ProxyPass / http://192.168.13.11
      ProxyPassReverse / http://192.168.13.11
    </VirtualHost>
    
  • On oublie pas de activer le virtual host avec : a2ensite /etc/apache2/sites-available/vhost-https.conf
  • Puis on active les conf ssl et proxy avec : a2enmod ssl et a2enmod proxy et a2enmod proxy_http

Sécurisation DNS Bind9 :

  • Normalement on est censé utilisé la manière automatique de DNSSEC mais celle n'est plus sécurisé
  • Donc pour éviter de perdre du temps on met à jour bind9 (récemment nommé named)
    • on change les sources dans /etc/apt/sources.list puis on met à jour avec apt update et apt install bind9
  • Ensuite nous allons utiliser dnnsec-policy et ces algorithmes dans /etc/bind/named.conf.local.
    dnssec-policy "bogota-policy" {
        keys {
            ksk key-directory lifetime unlimited algorithm 13;
            zsk key-directory lifetime unlimited algorithm 13;
        };
        nsec3param;
    };
    
  • Puis on ajoute ces trois lignes dans notre zone "bogota.lol" {} dans le même fichier avec le bonne identifiant bogota-policy
    key-directory "/etc/bind/keys";
    dnssec-policy "bogota-policy";
    inline-signing yes;
    
    Analyse de DNNSEC via le site dnsviz.net et affichage pour notre nom de domaine bogota.lol