Atelier SysRes SE2a5 2023/2024 E6

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

13/09: Création de la VM

Génération du fichier de configuration:

xen-create-image --hostname=Tokyo --ip=172.26.145.105 --netmask=255.255.255.0 --gateway 172.26.145.254 --bridge=bridgeStudents --dir=/usr/local/xen --password=glopglop

Lancement de la VM:

xen console Tokyo.cfg

xen console Tokyo

Modication de l'interface eth0 dans /etc/network/interfaces:

auto eth0
iface eth0 inet static
address 172.26.145.105/24
gateway 172.26.145.254

Configuration ssh, modifications dans /etc/ssh/sshd_config:

PermitRootLogin yes
service ssh restart

14/09: Création d'un conteneur à la main

Création d'une partition de 10GB:

dd if=/dev/zero of=toto bs=1024k count=10240

On formate l'espace mémoire toto créé, pour cela on passe en root:

su -
cd ~pifou
mkfs toto

On monte ensuite la partition:

mkdir /tmp/mnt
mount -o loop toto /tmp/mnt

On y ajoute l'image du conteneur:

debootstrap stable /tmp/mnt

Préparation du montage du pseudo système de fichier /proc:

echo "proc /proc proc defaults 0 0" >> /tmp/mnt/etc/fstab

Isolation du processus:

unshare -p -f -m chroot /tmp/mnt /bin/sh -c "mount /proc ; /bin/bash" ;

02/10:

Installation des paquetages pour le serveur web et dns:

apt install apache2
apt install bind9

Creation LVM:

lvcreate -L10G -nTokyo-home virtual
lvcreate -L10G -nTokyo-var virtual

Visualisation des LVM:

lvs

05/10:

Dans la VM, vérification de la création des partitions:

lsblk
Screenshot 2023-10-05 16-28-17.png

Formatage des partitions de disque:

mkfs /dev/xvdb1
mkfs /dev/xvdb2

Créations des répertoires new_home et new_var:

mkdir /new_var
mkdir /new_home

On monte les disques:

mount /dev/xvbd1 /new_home
mount /dev/xvdb2 /new_var

On déplace tout ce qu'il y'a dans var vers new_var:

mv /var/* /new_var
umount /new_home
umount /new_var

Modification de /etc/fstab:

Fstab add.png

Nous avons maintenant 10GB dans /home et /var


Création de la machine mandataire muaythai en collaboration avec Simon MAROLLEAU:

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:

Dans capbreton ajout du bridge dans Tokyo.cfg:

vim /etc/xen/Tokyo.cfg

#Networking

vif = [ 'mac=00:16:3E:45:AF:1E, bridge=muaythai' , 'mac=00:16:3D:46:AB:1D,bridge=SE2a5']

Configuration de l'interface eth1 sur la machine mandataire pour communiquer avec nos machine de service (Tokyo et bogota):

vim /etc/network/interfaces
interfaces Tokyo


Dans muaythai.cfg:

vim /etc/xen/muaythai.cfg

#Networking

vif = [ 'ip=193.48.57.164 , mac=00:16:3E:CD:47:4D,bridge=SE2a5', 'bridge=muaythai' ]

Dans le network/interfaces de Tokyo:

Interfaces muaythai


Redémarrage de la VM Tokyo:

xen shut Tokyo
xen create /etc/xen/Tokyo.cfg

Avant d'entamer la mascarade on installe sur la machine mandataire:

apt install iptables-persistent

Puis on effectue la commande suivante:

iptables -t nat -A POSTROUTING -j MASQUERADE -s 192.168.13.0/24
iptables-save > /etc/iptables/rules.v4
reboot

Il est maintenant possible de ping de l'IPV4 et IPV6 avec les machines de services.


Pour permettre la connexion aux machines de services en passant par la mandataire sans mot de passe, on créer un répertoire .ssh dans les machines de services , où l'on viens mettre une clée publique générée sur la machine mandataire (dans le fichier authorized_keys):

ssh-keygen
mkdir /root/ .ssh
cd /root/.ssh
vim authorized_keys

Il n'est plus demandé d'entrer un mdp lors d'un connexion ssh de muaythai vers Tokyo ou bogota Redirection de port:

sysct1 net.ipv4.ip_forward=sysct1
service networking restart
iptables -t nat -A PREROUTING -p tcp -m tcp --dport 2202 -j DNAT --to-destination 192.168.13.12:22
iptables -t nat -A PREROUTING -p tcp -m tcp --dport 2201 -j DNAT --to-destination 192.168.13.11:22
iptables-save > /etc/iptables/rules.v4

On peut maintenant se connecter à la machine de service via la redirection de port avec la commande suivante (exemple Tokyo):

ssh -p2202 root@193.48.57.164

Création du serveur DNS sur Gandi:

Capture d’écran 2023-10-06 153127.png

10/11:

DNS (bind9: Configuration du serveur DNS sur la machine de service Tokyo: vim /etc/bind/db.tokyoray.lol

db.tokyoray.lol

Puis service bind9 restart après chaque modification, (incrémenter le numéro Serial à chaque restart)

Ajout d'une zone de resolution de domaine tokyoray.lol dans le fichier named.conf.local:

named.conf.local

Du coté de la machine mandataire "muaythai" (DNS secondaire) :

-création de 2 fichiers vides "db.tokyoray.lol" & "db.bogota.lol" dans /etc/bind

-modification du fichier named.conf.local:

named.conf.local (muaythai)

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 tokyo.key -out tokyo.csr -utf8

Sécurisation de l'accès au fichier de clés privés: chmod 440 tokyo.key

Sur Gandi on recopie notre clée privée csr pour obtenir un certificat d'autorité


Création du Virtual Host pour redirection sur le port *:443 : vim /etc/apache2/sites-available/vhost-https.conf

vhost-https.conf

23/11:

Ajout de deux DNS records dans le fichier /etc/bind9/db.tokyoray.lol

Tokyo.png

Puis service bind9 restart (Ne pas oublier l'incrémentation du serial number)



Ajout DNS secondaire : 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;};

Dans db.tokyoray.lol ajout de : tokyoray.lol. IN NS ns6.gandi.net puis service bind9 restart

Sur Gandi ajout du DNS secondaire:

Gandi.png

Une fois la certification validée sur gandi, je télécharge et déplace le fichier tokyoray.lol.crt vers la machine mandataire: scp /home/pifou/Downloads/tokyoray.lol.crt  root@193.48.57.164:/etc/ssl/certs/

Puis depuis la machine mandataire vers la machine de service : scp /etc/ssl/certs/tokyoray.lol.crt root@192.168.13.12:/etc/ssl/certs/

Je copie la clé tokyo.key sur la machine mandataire : scp /etc/ssl/private/tokyo.key root@193.48.57.164:/etc/ssl/private/

Dans la mandataire /etc/apache2/sites-available/vhost-https.conf :

vhost-https.conf (dans la mandataire)

Dans la machine de service /etc/apache2/sites-available/vhost-https.conf :

vhost-https.conf (dans la machine de service)

Activation du SSL pour apache : a2enmod ssl

Activation du proxy :a2enmod proxy et a2enmod proxy_http

Activation du virtual host : a2ensite /etc/apache2/sites-available/vhost-https.conf

Puis service apache2 restart


Sécurisation du DNS (DNSSEC):

Modification du fichier /etc/bind/named.conf.local :

named.conf.local (machine de service)