Atelier SysRes SE2a5 2023/2024 E2

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

Informations :

IP : 172.26.145.112

Nom du domaine: berlin2.lol

Machine de service: berlin

Machine mandataire: judo

13/09/2023 :

  • Création de la VM
xen-create-image --hostname=berlin --ip=172.26.145.112 --dir=/usr/local/xen --dhcp
  • Configuration de la VM
xen create berlin.cfg
  • Accéder à la VM
xen console berlin
  • vi /etc/network/interfaces : remplacer DHCP par static
  • Mise en place de l'adressage IP pour ssh :
address 172.26.145.112/24
gateway 172.26.145.254
  • Activation du PermitRootPassword dans /etc/ssh/sshd_config
PermitRootLogin yes

14/09/2023 :

  • Configuration de l'interface eth0:
nano /etc/network/interfaces
  • Nous avons configuré le fichier /etc/network/interfaces
auto eth0
iface eth0 inet static
address 172.26.145.109/24
gateway 172.26.145.254

Création d’un conteneur à la main

  • Sous machine Zabeth:
dd if=/dev/zero of=toto bs=1024k count=10240
mkfs /home/pifou/toto
mkdir tmp/mnt
mount -oloop /home/pifou/toto /tmp/mnt
apt install debootstrap
debootstrap stable /tmp/mnt
echo "proc /proc proc defaults 0 0" >> /tmp/mnt/etc/fstab
unshare -p -f -m chroot /tmp/mnt  /bin/sh -c "mount /proc ; /bin/bash"

Docker

docker run -i -t debian /bin/bash

02/10/2023

  • Configuration du ssh : /etc/ssh/sshd_config
    PermitRootLogin yes
    
  • Installer apache2 et bind9
  • créez deux partitions LVM (var et home) de 10G pour notre VM:
lvcreate -L10G -nberlin-var virtual

lvcreate -L10G -nberlin-home virtual

05/10/2023

  • Nous avons implanté les répertoires /var et /home de la machine virtuelle sur les partitions LVM
mkdir /new-home
mkdir /new-var
mkfs /dev/xvdb1
mkfs /dev/xvdb2
mount /dev/xvdb1 /new-home
mount /dev/xvdb2 /new-var
mv /var/* /new-var
  • lsblk
xvda1 202:1    0  512M  0 disk [SWAP]
xvda2 202:2    0   10G  0 disk /
xvdb1 202:17   0   10G  0 disk /root/new-home
xvdb2 202:18   0   10G  0 disk /root/new-var
  • nano /etc/fstab
/dev/xvdb1 /home ext2 defaults 0 2
/dev/xvdb2 /var  ext4 defaults 0 2
umount /root/new-var
umount /root/new-home
mount -a
  • lsblk
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

Création de la machine mandataire judo(avec Baptiste):

  • Création de la machine mandataire virtuelle
xen-create-image --hostname=judo --ip=193.48.57.165 --netmask=255.255.255.240 --bridge=SE2a5 --dir=/usr/local/xen --password=glopglop --gateway=193.48.57.161
  • Création de la VM mandataire :
xen create /etc/xen/judo.cfg
xen console judo

xen create /etc/xen/.cfg xen console judo

Adresse IPV6 de notre machine JUDO : 2001:660:4401:60a0:216:3eff:fe0b:d504

  • Dand le fichier : /etc/resolv.conf
search plil.info
nameserver 8.8.8.8
nameserver 193.48.57.48
  • Création du bridge:
#judo_bridge
auto judo
iface judo inet manual
  bridge_ports none
  post-up ip link set $IFACE up
  post-down ip link set $IFACE down
  • ajout des interfaces sur la machine de service paris :
auto eth1
iface eth1 inet static
        address 192.168.165.2/24
        gateway 192.168.165.1
        post-up ethtool -K eth1 tx off
  • ajout des interfaces sur la machine de service berlin :
auto eth1
iface eth1 inet static
        address 192.168.165.3/24
        gateway 192.168.165.1
        post-up ethtool -K eth1 tx off
  • ajout de l'interface sur la machine mandataire :
auto eth1
iface eth1 inet static
        address 192.168.165.1/24

Nous avons maintenant un réseau privé entre nos deux machines de services et notre machine mandataire.

  • Mise en place de la mascarade:
    iptables -t nat -A POSTROUTING -j MASQUERADE -s 192.168.165.0/24
    apt install iptables-persistent
    iptable -save
    
  • Dans le fichier /etc/sysctl.conf :( nous avons modifié la ligne permettant le forward ipv4 permettant a nos machines d'envoyer des paquets sur internet.
  • pour activer le transfert de paquets IP
    net.ipv4.ip_forward=1
    

Pour se connecter sur nos machines on utilise maintenant cette commande ssh -J root@193.48.57.165 root@192.168.165.3

  • Création du serveur DNS sur gandi:
ns1.berlin2.lol

193.48.57.165
2001:660:4401:60a0:216:3eff:fe0b:d504

10/11/2023:

  • Modification: nano /etc/bind/db.berlin2.lol
$TTL 1H
berlin2.lol.    IN      SOA     ns1.berlin2.lol. berlin222@mail.com. (
                                        2011041902 ; Serial
                                        1H ; Refresh
                                        15M ; Retry
                                        2W ; Expire
                                        3M ; Minimum TTL
                                        )
berlin.lol.      IN NS   ns1.berlin2.lol.
berlin.lol.      IN A    193.48.57.165
ns1.berlin2.lol. IN A    193.48.57.165 
ns1.berlin2.lol. IN AAAA  2001:660:4401:60a0:216:3eff:fe9b:446d
www.berlin2.lol. IN CNAME ns1.berlin2.lol.
  • Ajout de la zone dans le fichier named.conf.local :
zone "berlin2.lol" {
    type master;
    file "/etc/bind/db.berlin2.lol";
    allow-transfer { 192.168.165.1; };
};
  • Machine mandataire :

modification du fichier de config named.config.local, nous avons ajouté les deux zones de nos machines de service:

zone "paris13.lol" {
        type slave;
        file "/etc/bind/db.paris13.lol";
        masters {192.168.165.2;};
};

zone "berlin2.lol" {
        type slave;
        file "/etc/bind/db.berlin2.lol";
        masters {192.168.165.3;};
};

Accès https sur apache, Création d'un certificat :

https://www.vincentliefooghe.net/content/activer-un-acc%C3%A8s-https-sur-apache
  • Création d'un certificat :
    openssl req -nodes -newkey rsa:2048 -sha256 -keyout berlin2.key -out berlinserver.csr -utf8
    
  • Création du Virtual Host :
    # vhost https
    <VirtualHost *:443>
      DocumentRoot /var/www/html
      ServerName  berlin2.lol
    
      ServerSignature Off
      ErrorLog ${APACHE_LOG_DIR}/berlin2.log      
      LogLevel info      
      CustomLog ${APACHE_LOG_DIR}/berlin2.log combined      
    
      SSLEngine on
      SSLCertificateFile /etc/ssl/certs/berlinserver.crt
      SSLCertificateKeyFile /etc/ssl/private/berlin2.key
    </VirtualHost>
    

Séance 23/11:

Sécurisation des clés: chmod 440 berlin2.key

  • Sécurisation dns:

dnssec-keygen -a NSEC3RSASHA1 -b 2048 -n ZONE berlin2.lol