Atelier SysRes SE2a5 2023/2024 E6
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
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:
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
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:
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:
10/11:
Configuration DNS (bind9: Configuration du serveur DNS sur la machine de service Tokyo: vim /etc/bind/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:
- 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:
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
23/11:
- Ajout de deux DNS records dans le fichier
/etc/bind9/db.tokyoray.lol
- 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
puisservice bind9 restart
- Sur Gandi ajout du DNS secondaire:
- 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 :
- Dans la machine de service
/etc/apache2/sites-available/vhost-https.conf :
- 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):
- Création du répertoire Keys dans bind
- Modification du fichier
/etc/bind/named.conf.local :
24/11:
- Récupération de la clé KSK (Ktokyoray.lol.+013+46428.key) dans le répertoire
/etc/bind/keys
et copie de la clée sur le site gandi: