TP sysres SE2a5 2022/2023 G6 : Différence entre versions
(Page créée avec « test ») |
|||
Ligne 1 : | Ligne 1 : | ||
− | + | == Création de la machine virtuelle == | |
+ | |||
+ | * Connexion au serveur Capbreton : | ||
+ | |||
+ | <pre>ssh capbreton.plil.info</pre> | ||
+ | * Créer la variable d’environnement <code>http_proxy</code> : | ||
+ | |||
+ | <pre>export http_proxy=http://proxy.plil.fr:3128</pre> | ||
+ | En configurant correctement le proxy de la plateforme, il est désormais possible d’accéder aux images et aux paquets Debian pour créer la VM. | ||
+ | |||
+ | * Création d’une image pour la VM : | ||
+ | |||
+ | <pre>xen-create-image --hostname=GUIGUITOTO --ip=10.60.100.164 --gateway=10.60.100.254 --netmask=255.255.255.0 --dir=/usr/local/xen --password=glopglopglop --dist=buster</pre> | ||
+ | → Dossier de stockage des données de la VM : <code>/usr/local/xen/domains/GUIGUIOTO</code><br /> | ||
+ | → Fichier de configuration de la VM : <code>/etc/xen/GUIGUITOTO.cfg</code> | ||
+ | |||
+ | * Création des partitions virtuelles : | ||
+ | |||
+ | <pre>vgcreate virtual /dev/sda7 | ||
+ | lvcreate -L10G -n GUIGUITOTO-home virtual | ||
+ | lvcreate -L10G -n GUIGUITOTO-var virtual</pre> | ||
+ | * Vérification des partitions : | ||
+ | |||
+ | <pre>lvdisplay | ||
+ | lsblk</pre> | ||
+ | * Formatage de la partition virtuelle : | ||
+ | |||
+ | <pre>mkfs.ext4 /dev/virtual/GUIGUITOTO-home | ||
+ | mkfs.ext4 /dev/virtual/GUIGUITOTO-var</pre> | ||
+ | * Modification de <code>/etc/xen/GUIGUITOTO.cfg</code> : | ||
+ | |||
+ | → Ajout des partitions virtuelles dans la variable <code>disk</code> : | ||
+ | |||
+ | <pre>'phy:/dev/virtual/GUIGUITOTO-home,xvda3,w', | ||
+ | 'phy:/dev/virtual/GUIGUITOTO-var,xvda4,w'</pre> | ||
+ | → Ajout du pont dans dans la variable <code>vif</code> : | ||
+ | |||
+ | <pre>vif = [ 'mac=00:16:3E:D8:97:68, bridge=IMA2a5' ]</pre> | ||
+ | Le fichier de configuration obtenu est le suivant : | ||
+ | |||
+ | <pre># | ||
+ | # Configuration file for the Xen instance GUIGUITOTO, created | ||
+ | # by xen-tools 4.8 on Fri Sep 28 08:53:11 2022. | ||
+ | # | ||
+ | |||
+ | # | ||
+ | # Kernel + memory size | ||
+ | # | ||
+ | kernel = '/boot/vmlinuz-4.19.0-9-amd64' | ||
+ | extra = 'elevator=noop' | ||
+ | ramdisk = '/boot/initrd.img-4.19.0-9-amd64' | ||
+ | |||
+ | vcpus = '1' | ||
+ | memory = '256' | ||
+ | |||
+ | |||
+ | # | ||
+ | # Disk device(s). | ||
+ | # | ||
+ | root = '/dev/xvda2 ro' | ||
+ | disk = [ | ||
+ | 'file:/usr/local/xen/domains/GUIGUITOTO/disk.img,xvda2,w', | ||
+ | 'file:/usr/local/xen/domains/GUIGUITOTO/swap.img,xvda1,w', | ||
+ | 'phy:/dev/virtual/GUIGUITOTO-home,xvda3,w', | ||
+ | 'phy:/dev/virtual/GUIGUITOTO-var,xvda4,w' | ||
+ | ] | ||
+ | |||
+ | |||
+ | # | ||
+ | # Physical volumes | ||
+ | # | ||
+ | |||
+ | |||
+ | # | ||
+ | # Hostname | ||
+ | # | ||
+ | name = 'GUIGUITOTO' | ||
+ | |||
+ | # | ||
+ | # Networking | ||
+ | # | ||
+ | vif = [ 'mac=00:16:3E:BE:BF:2D, bridge=IMA2a5' ] | ||
+ | |||
+ | # | ||
+ | # Behaviour | ||
+ | # | ||
+ | on_poweroff = 'destroy' | ||
+ | on_reboot = 'restart' | ||
+ | on_crash = 'restart'</pre> | ||
+ | * Création de la VM : | ||
+ | |||
+ | <pre>xl create /etc/xen/GUIGUITOTO.cfg</pre> | ||
+ | * Affichage de l’état des VM : | ||
+ | |||
+ | <pre>xl list</pre> | ||
+ | * Affichage du mot de passe de la VM : | ||
+ | |||
+ | <pre>tail -f /var/log/xen-tools/GUIGUITOTO.log</pre> | ||
+ | * Démarrage d’un shell sur la VM : | ||
+ | |||
+ | <pre>xen console GUIGUITOTO</pre> | ||
+ | * Changement du mot de passe : | ||
+ | |||
+ | <pre>passwd root</pre> | ||
+ | * Mise à jour de la liste des paquets : | ||
+ | |||
+ | <pre>apt update</pre> | ||
+ | * Montage des partitions virtuelles : | ||
+ | |||
+ | <pre>mount /dev/xvda4 /mnt</pre> | ||
+ | * Copie des données des répertoires <code>/home</code> et <code>/var</code> : | ||
+ | |||
+ | <pre>mv /var/* /mnt</pre> | ||
+ | * Démontage des partitions virtuelles : | ||
+ | |||
+ | <pre>umount /mnt</pre> | ||
+ | * Ajout des partitions au fichier <code>/etc/fstab</code> : | ||
+ | |||
+ | <pre>/dev/xvda3 /home ext4 defaults 0 2 | ||
+ | /dev/xvda4 /var ext4 defaults 0 2</pre> | ||
+ | == Serveur SSH == | ||
+ | |||
+ | * Modification du fichier <code>/etc/ssh/sshd_config</code> : | ||
+ | |||
+ | <pre>PermitRootLogin yes</pre> | ||
+ | == Configuration IP == | ||
+ | |||
+ | * Modification du fichier <code>/etc/network/interfaces</code> : | ||
+ | |||
+ | <pre>auto lo | ||
+ | iface lo inet loopback | ||
+ | |||
+ | auto eth0 | ||
+ | iface eth0 inet6 auto | ||
+ | iface eth0 inet static | ||
+ | address 10.60.100.164/24 | ||
+ | up ip address add dev eth0 193.48.57.164/32 | ||
+ | up ip route add default via 10.60.100.254 src 193.48.57.164 | ||
+ | down ip address del dev eth0 193.48.57.164/32 | ||
+ | down ip route del default via 10.60.100.254 src 193.48.57.164</pre> | ||
+ | == Serveur DNS == | ||
+ | |||
+ | Dans un premier temps, on utilise le registrar [[gandi.net|Gandi]] afin de réserver le nom de domaine <code>totoguigui.site</code>.<br /> | ||
+ | Une fois le nom de domaine réservé, il est alors possible de configurer les serveurs de noms et les Glue Records :<br /> | ||
+ | → Ajouter le Glue Record vers <code>193.48.57.164</code> afin d’associer le nom de domaine <code>totoguigui.site</code> à l’adresse IP <code>193.48.57.164</code><br /> | ||
+ | → Modifier les serveurs de noms pour utiliser <code>ns.totoguigui.site</code> et <code>ns6.gandi.net</code><br /> | ||
+ | En attendant que les serveurs de noms soient correctement modifiés, il est possible de changer les enregistrements DNS :<br /> | ||
+ | → Modifier l’enrgistrement DNS <code>@</code>-<code>A</code> avec la valeur <code>193.48.57.193</code><br /> | ||
+ | → Ajouter l’enrgistrement DNS <code>ns</code>-<code>A</code> avec la valeur <code>193.48.57.193</code><br /> | ||
+ | → Modifier l’enrgistrement DNS <code>www</code>-<code>CNAME</code> avec la valeur <code>ns.totoguigui.site.</code> | ||
+ | |||
+ | * Installation du paquet <code>bind9</code> | ||
+ | |||
+ | <pre>apt install bind9</pre> | ||
+ | * Modification du fichier <code>/etc/resolv.conf</code> : | ||
+ | |||
+ | <pre>nameserver 127.0.0.1</pre> | ||
+ | * Modification du fichier <code>/etc/bind/named.conf.local</code> : | ||
+ | |||
+ | <pre>zone "totoguigui.site" { | ||
+ | type master; | ||
+ | file "/etc/bind/db.totoguigui.site"; | ||
+ | allow-transfer { 217.70.177.40; }; // ns6.gandi.net | ||
+ | };</pre> | ||
+ | * Modification du fichier <code>/etc/bind/named.conf.options</code> : | ||
+ | |||
+ | <pre>options{ | ||
+ | directory "/var/cache/bind"; | ||
+ | forwarders { | ||
+ | 8.8.8.8; | ||
+ | 4.4.2.2; | ||
+ | }; | ||
+ | dnssec-validation auto; | ||
+ | listen-on-v6 { any; }; | ||
+ | allow-transfer { "allowed_to_transfer"; }; | ||
+ | }; | ||
+ | acl "allowed_to_transfer" { | ||
+ | 217.70.177.40/32; | ||
+ | };</pre> | ||
+ | * Créer le fichier BIND pour <code>totoguigui.site</code> : | ||
+ | |||
+ | <pre>cp /etc/bind/db.local /etc/bind/db.totoguigui.site</pre> | ||
+ | * Modification du fichier <code>/etc/bind/db.totoguigui.site</code> : | ||
+ | |||
+ | <pre>; | ||
+ | ; BIND data file for totoguigui.site | ||
+ | ; | ||
+ | $TTL 604800 | ||
+ | @ IN SOA ns.totoguigui.site. root.totoguigui.site. ( | ||
+ | 1 ; Serial | ||
+ | 604800 ; Refresh | ||
+ | 86400 ; Retry | ||
+ | 2419200 ; Expire | ||
+ | 604800 ) ; Negative Cache TTL | ||
+ | ; | ||
+ | @ IN NS ns.totoguigui.site. | ||
+ | @ IN NS ns6.gandi.net. | ||
+ | @ IN A 193.48.57.164 | ||
+ | NS IN A 193.48.57.164 | ||
+ | NS IN AAAA 2001:7A8:116E:60A4::1 | ||
+ | WWW IN CNAME NS | ||
+ | SSH IN CNAME NS</pre> | ||
+ | * Redémarrage du service <code>bind9</code> : | ||
+ | |||
+ | <pre>service bind9 restart</pre> | ||
+ | === Tester DNS : === | ||
+ | |||
+ | * Modification du fichier <code>/etc/resolv.conf</code> | ||
+ | |||
+ | <pre>nameserver 193.48.57.164</pre> | ||
+ | * Vérification de la traduction du nom de domaine <code>totoguigui.site</code> : | ||
+ | |||
+ | <pre>nslookup totoguigui.site</pre> | ||
+ | == Serveur Web == | ||
+ | |||
+ | * Installation du paquet <code>openssl</code> : | ||
+ | |||
+ | <pre>apt install openssl</pre> | ||
+ | * Création d’un certificat TSL : | ||
+ | |||
+ | <pre>openssl req -nodes -newkey rsa:2048 -sha256 -keyout totoguigui.site.key -out totoguigui.site.csr</pre> | ||
+ | Attention à bien renseigner <code>totoguigui.site</code> comme CN (Common Name) pour la création du certificat. | ||
+ | |||
+ | <pre>mv totoguigui.site.key /etc/ssl/private | ||
+ | mv totoguigui.site.csr /etc/ssl/certs</pre> | ||
+ | Il est nécessaire de faire signer le certificat <code>.csr</code> par un registrar tel que [https://letsencrypt.org/fr/ Let’s Encrypt] ou [https://docs.gandi.net/fr/ssl/creation/installation_certif_manuelle.html Gandi] afin d’en obtenir le nouveau certificat signé <code>.crt</code>.<br /> | ||
+ | Puisque le registrar Gandi a été utilisé pour réserver le nom de domaine <code>totoguigui.site</code>, il est alors possible d’utiliser à nouveau ce service pour signer gratuitement le certificat <code>totoguigui.site.csr</code>. | ||
+ | |||
+ | Pour cela, il faut “acheter” un certificat SSL pour un hôte “ailleurs” et coller le contenu du fichier <code>.csr</code>. Une fois le CN entré et reconnu, l’achat devient gratuit et peut être effectué.<br /> | ||
+ | Après quelques minutes, il est désormais possible de télécharger le certificat signé <code>.crt</code> ainsi que le certificat nommé <code>GandiStandardSSLCA2.pem</code>. | ||
+ | |||
+ | Ces deux certificats sont à copier dans le répertoire <code>/etc/ssl/certificats</code> de la VM. | ||
+ | |||
+ | * Copier les certificats sur la VM : | ||
+ | |||
+ | <pre>scp -r -p totoguigui.site.crt root@193.48.57.168:/etc/ssl/certs | ||
+ | scp -r -p GandiStandardSSLCA2.pem root@193.48.57.168:/etc/ssl/certificats</pre> | ||
+ | * Installation du paquet <code>apache2</code> : | ||
+ | |||
+ | <pre>apt install apache2</pre> | ||
+ | * Activation du module SSL : | ||
+ | |||
+ | <pre>a2enmod ssl</pre> | ||
+ | * Modification du fichier <code>/etc/apache2/ports.conf</code> : | ||
+ | |||
+ | <pre>Listen 80 | ||
+ | |||
+ | <IfModule mod_ssl.c> | ||
+ | Listen 443 | ||
+ | </IfModule> | ||
+ | <IfModule mod_gnutls.c> | ||
+ | Listen 443 | ||
+ | </IfModule></pre> | ||
+ | * Ajout du fichier <code>/etc/apache2/sites-available/000-demineur.site-ssl.conf</code> : | ||
+ | |||
+ | <pre><IfModule mod_ssl.c> | ||
+ | <VirtualHost 193.48.57.168:443> | ||
+ | ServerName totoguigui.site | ||
+ | ServerAlias ns.totoguigui.site www.totoguigui.site | ||
+ | DocumentRoot /var/www/totoguigui.site/ | ||
+ | CustomLog /var/log/apache2/secure_access.log combined | ||
+ | SSLEngine on | ||
+ | SSLCertificateFile /etc/ssl/certs/totoguigui.site.crt | ||
+ | SSLCertificateKeyFile /etc/ssl/private/totoguigui.site.key | ||
+ | SSLCACertificateFile /etc/ssl/certificats/GandiStandardSSLCA2.pem | ||
+ | SSLVerifyClient None | ||
+ | </VirtualHost> | ||
+ | </IfModule></pre> | ||
+ | * Activation du site <code>totoguigui.site</code> : | ||
+ | |||
+ | <pre>a2ensite 000-totoguigui.site-ssl</pre> | ||
+ | * Modification du fichier <code>nano /etc/apache2/apache2.conf</code> : | ||
+ | |||
+ | <pre>ServerName totoguigui.site</pre> | ||
+ | * Modification du fichier <code>nano /etc/apache2/sites-available/000-default.conf</code> : | ||
+ | |||
+ | <pre>Redirect permanent / https://www.totoguigui.site/</pre> | ||
+ | * Redémarrage du service <code>apache2</code> : | ||
+ | |||
+ | <pre>service apache2 restart</pre> | ||
+ | == Configuration DNSSEC == | ||
+ | |||
+ | * Modification du fichier <code>/etc/bind/named.conf.options</code> : | ||
+ | |||
+ | <pre>dnssec-enable yes; | ||
+ | dnssec-validation yes; | ||
+ | dnssec-lookaside auto;</pre> | ||
+ | * Création du répertoire <code>totoguigui.site.dnssec</code> : | ||
+ | |||
+ | <pre>mkdir /etc/bind/totoguigui.site.dnssec/ | ||
+ | cd /etc/bind/totoguigui.site.dnssec/</pre> | ||
+ | * Génération de la clef asymétrique de signature de clefs de zone : | ||
+ | |||
+ | <pre>dnssec-keygen -a RSASHA256 -b 2048 -f KSK -n ZONE totoguigui.site</pre> | ||
+ | <pre>mv Ktotoguigui.site.*.key totoguigui.site-ksk.key | ||
+ | mv Ktotoguigui.site.*.private totoguigui.site-ksk.private</pre> | ||
+ | * Génération de la clef asymétrique de signature des enregistrements : | ||
+ | |||
+ | <pre>dnssec-keygen -a RSASHA256 -b 2048 -n ZONE totoguigui.site</pre> | ||
+ | <pre>mv Ktotoguigui.site.*.key totoguigui.site-zsk.key | ||
+ | mv Ktotoguigui.site.*.private totoguigui.site-zsk.private</pre> | ||
+ | * Modification du fichier <code>/etc/bind/db.totoguigui.site</code> : | ||
+ | |||
+ | <pre>$include "/etc/bind/totoguigui.site.dnssec/totoguigui.site-ksk.key" | ||
+ | $include "/etc/bind/totoguigui.site.dnssec/totoguigui.site-zsk.key"</pre> | ||
+ | * Signature des enregistrements de la zone : | ||
+ | |||
+ | <pre>dnssec-signzone -o totoguigui.site -k totoguigui.site-ksk ../db.totoguigui.site totoguigui.site-zsk</pre> | ||
+ | * Modification du fichier <code>/etc/bind/named.conf.local</code> : | ||
+ | |||
+ | <pre>zone "totoguigui.site" { | ||
+ | type master; | ||
+ | file "/etc/bind/db.totoguigui.site.signed"; | ||
+ | allow-transfer { 217.70.177.40; }; // ns6.gandi.net | ||
+ | };</pre> | ||
+ | Il ne reste plus qu’à communiquer la partie publique de la KSK (présente dans le fichier <code>totoguigui.site-ksk.key</code>) à Gandi.<br /> | ||
+ | L’algorithme utilisé est le 5 (RSA/SHA-1). |
Version du 27 novembre 2022 à 15:26
Sommaire
Création de la machine virtuelle
- Connexion au serveur Capbreton :
ssh capbreton.plil.info
- Créer la variable d’environnement
http_proxy
:
export http_proxy=http://proxy.plil.fr:3128
En configurant correctement le proxy de la plateforme, il est désormais possible d’accéder aux images et aux paquets Debian pour créer la VM.
- Création d’une image pour la VM :
xen-create-image --hostname=GUIGUITOTO --ip=10.60.100.164 --gateway=10.60.100.254 --netmask=255.255.255.0 --dir=/usr/local/xen --password=glopglopglop --dist=buster
→ Dossier de stockage des données de la VM : /usr/local/xen/domains/GUIGUIOTO
→ Fichier de configuration de la VM : /etc/xen/GUIGUITOTO.cfg
- Création des partitions virtuelles :
vgcreate virtual /dev/sda7 lvcreate -L10G -n GUIGUITOTO-home virtual lvcreate -L10G -n GUIGUITOTO-var virtual
- Vérification des partitions :
lvdisplay lsblk
- Formatage de la partition virtuelle :
mkfs.ext4 /dev/virtual/GUIGUITOTO-home mkfs.ext4 /dev/virtual/GUIGUITOTO-var
- Modification de
/etc/xen/GUIGUITOTO.cfg
:
→ Ajout des partitions virtuelles dans la variable disk
:
'phy:/dev/virtual/GUIGUITOTO-home,xvda3,w', 'phy:/dev/virtual/GUIGUITOTO-var,xvda4,w'
→ Ajout du pont dans dans la variable vif
:
vif = [ 'mac=00:16:3E:D8:97:68, bridge=IMA2a5' ]
Le fichier de configuration obtenu est le suivant :
# # Configuration file for the Xen instance GUIGUITOTO, created # by xen-tools 4.8 on Fri Sep 28 08:53:11 2022. # # # Kernel + memory size # kernel = '/boot/vmlinuz-4.19.0-9-amd64' extra = 'elevator=noop' ramdisk = '/boot/initrd.img-4.19.0-9-amd64' vcpus = '1' memory = '256' # # Disk device(s). # root = '/dev/xvda2 ro' disk = [ 'file:/usr/local/xen/domains/GUIGUITOTO/disk.img,xvda2,w', 'file:/usr/local/xen/domains/GUIGUITOTO/swap.img,xvda1,w', 'phy:/dev/virtual/GUIGUITOTO-home,xvda3,w', 'phy:/dev/virtual/GUIGUITOTO-var,xvda4,w' ] # # Physical volumes # # # Hostname # name = 'GUIGUITOTO' # # Networking # vif = [ 'mac=00:16:3E:BE:BF:2D, bridge=IMA2a5' ] # # Behaviour # on_poweroff = 'destroy' on_reboot = 'restart' on_crash = 'restart'
- Création de la VM :
xl create /etc/xen/GUIGUITOTO.cfg
- Affichage de l’état des VM :
xl list
- Affichage du mot de passe de la VM :
tail -f /var/log/xen-tools/GUIGUITOTO.log
- Démarrage d’un shell sur la VM :
xen console GUIGUITOTO
- Changement du mot de passe :
passwd root
- Mise à jour de la liste des paquets :
apt update
- Montage des partitions virtuelles :
mount /dev/xvda4 /mnt
- Copie des données des répertoires
/home
et/var
:
mv /var/* /mnt
- Démontage des partitions virtuelles :
umount /mnt
- Ajout des partitions au fichier
/etc/fstab
:
/dev/xvda3 /home ext4 defaults 0 2 /dev/xvda4 /var ext4 defaults 0 2
Serveur SSH
- Modification du fichier
/etc/ssh/sshd_config
:
PermitRootLogin yes
Configuration IP
- Modification du fichier
/etc/network/interfaces
:
auto lo iface lo inet loopback auto eth0 iface eth0 inet6 auto iface eth0 inet static address 10.60.100.164/24 up ip address add dev eth0 193.48.57.164/32 up ip route add default via 10.60.100.254 src 193.48.57.164 down ip address del dev eth0 193.48.57.164/32 down ip route del default via 10.60.100.254 src 193.48.57.164
Serveur DNS
Dans un premier temps, on utilise le registrar Gandi afin de réserver le nom de domaine totoguigui.site
.
Une fois le nom de domaine réservé, il est alors possible de configurer les serveurs de noms et les Glue Records :
→ Ajouter le Glue Record vers 193.48.57.164
afin d’associer le nom de domaine totoguigui.site
à l’adresse IP 193.48.57.164
→ Modifier les serveurs de noms pour utiliser ns.totoguigui.site
et ns6.gandi.net
En attendant que les serveurs de noms soient correctement modifiés, il est possible de changer les enregistrements DNS :
→ Modifier l’enrgistrement DNS @
-A
avec la valeur 193.48.57.193
→ Ajouter l’enrgistrement DNS ns
-A
avec la valeur 193.48.57.193
→ Modifier l’enrgistrement DNS www
-CNAME
avec la valeur ns.totoguigui.site.
- Installation du paquet
bind9
apt install bind9
- Modification du fichier
/etc/resolv.conf
:
nameserver 127.0.0.1
- Modification du fichier
/etc/bind/named.conf.local
:
zone "totoguigui.site" { type master; file "/etc/bind/db.totoguigui.site"; allow-transfer { 217.70.177.40; }; // ns6.gandi.net };
- Modification du fichier
/etc/bind/named.conf.options
:
options{ directory "/var/cache/bind"; forwarders { 8.8.8.8; 4.4.2.2; }; dnssec-validation auto; listen-on-v6 { any; }; allow-transfer { "allowed_to_transfer"; }; }; acl "allowed_to_transfer" { 217.70.177.40/32; };
- Créer le fichier BIND pour
totoguigui.site
:
cp /etc/bind/db.local /etc/bind/db.totoguigui.site
- Modification du fichier
/etc/bind/db.totoguigui.site
:
; ; BIND data file for totoguigui.site ; $TTL 604800 @ IN SOA ns.totoguigui.site. root.totoguigui.site. ( 1 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS ns.totoguigui.site. @ IN NS ns6.gandi.net. @ IN A 193.48.57.164 NS IN A 193.48.57.164 NS IN AAAA 2001:7A8:116E:60A4::1 WWW IN CNAME NS SSH IN CNAME NS
- Redémarrage du service
bind9
:
service bind9 restart
Tester DNS :
- Modification du fichier
/etc/resolv.conf
nameserver 193.48.57.164
- Vérification de la traduction du nom de domaine
totoguigui.site
:
nslookup totoguigui.site
Serveur Web
- Installation du paquet
openssl
:
apt install openssl
- Création d’un certificat TSL :
openssl req -nodes -newkey rsa:2048 -sha256 -keyout totoguigui.site.key -out totoguigui.site.csr
Attention à bien renseigner totoguigui.site
comme CN (Common Name) pour la création du certificat.
mv totoguigui.site.key /etc/ssl/private mv totoguigui.site.csr /etc/ssl/certs
Il est nécessaire de faire signer le certificat .csr
par un registrar tel que Let’s Encrypt ou Gandi afin d’en obtenir le nouveau certificat signé .crt
.
Puisque le registrar Gandi a été utilisé pour réserver le nom de domaine totoguigui.site
, il est alors possible d’utiliser à nouveau ce service pour signer gratuitement le certificat totoguigui.site.csr
.
Pour cela, il faut “acheter” un certificat SSL pour un hôte “ailleurs” et coller le contenu du fichier .csr
. Une fois le CN entré et reconnu, l’achat devient gratuit et peut être effectué.
Après quelques minutes, il est désormais possible de télécharger le certificat signé .crt
ainsi que le certificat nommé GandiStandardSSLCA2.pem
.
Ces deux certificats sont à copier dans le répertoire /etc/ssl/certificats
de la VM.
- Copier les certificats sur la VM :
scp -r -p totoguigui.site.crt root@193.48.57.168:/etc/ssl/certs scp -r -p GandiStandardSSLCA2.pem root@193.48.57.168:/etc/ssl/certificats
- Installation du paquet
apache2
:
apt install apache2
- Activation du module SSL :
a2enmod ssl
- Modification du fichier
/etc/apache2/ports.conf
:
Listen 80 <IfModule mod_ssl.c> Listen 443 </IfModule> <IfModule mod_gnutls.c> Listen 443 </IfModule>
- Ajout du fichier
/etc/apache2/sites-available/000-demineur.site-ssl.conf
:
<IfModule mod_ssl.c> <VirtualHost 193.48.57.168:443> ServerName totoguigui.site ServerAlias ns.totoguigui.site www.totoguigui.site DocumentRoot /var/www/totoguigui.site/ CustomLog /var/log/apache2/secure_access.log combined SSLEngine on SSLCertificateFile /etc/ssl/certs/totoguigui.site.crt SSLCertificateKeyFile /etc/ssl/private/totoguigui.site.key SSLCACertificateFile /etc/ssl/certificats/GandiStandardSSLCA2.pem SSLVerifyClient None </VirtualHost> </IfModule>
- Activation du site
totoguigui.site
:
a2ensite 000-totoguigui.site-ssl
- Modification du fichier
nano /etc/apache2/apache2.conf
:
ServerName totoguigui.site
- Modification du fichier
nano /etc/apache2/sites-available/000-default.conf
:
Redirect permanent / https://www.totoguigui.site/
- Redémarrage du service
apache2
:
service apache2 restart
Configuration DNSSEC
- Modification du fichier
/etc/bind/named.conf.options
:
dnssec-enable yes; dnssec-validation yes; dnssec-lookaside auto;
- Création du répertoire
totoguigui.site.dnssec
:
mkdir /etc/bind/totoguigui.site.dnssec/ cd /etc/bind/totoguigui.site.dnssec/
- Génération de la clef asymétrique de signature de clefs de zone :
dnssec-keygen -a RSASHA256 -b 2048 -f KSK -n ZONE totoguigui.site
mv Ktotoguigui.site.*.key totoguigui.site-ksk.key mv Ktotoguigui.site.*.private totoguigui.site-ksk.private
- Génération de la clef asymétrique de signature des enregistrements :
dnssec-keygen -a RSASHA256 -b 2048 -n ZONE totoguigui.site
mv Ktotoguigui.site.*.key totoguigui.site-zsk.key mv Ktotoguigui.site.*.private totoguigui.site-zsk.private
- Modification du fichier
/etc/bind/db.totoguigui.site
:
$include "/etc/bind/totoguigui.site.dnssec/totoguigui.site-ksk.key" $include "/etc/bind/totoguigui.site.dnssec/totoguigui.site-zsk.key"
- Signature des enregistrements de la zone :
dnssec-signzone -o totoguigui.site -k totoguigui.site-ksk ../db.totoguigui.site totoguigui.site-zsk
- Modification du fichier
/etc/bind/named.conf.local
:
zone "totoguigui.site" { type master; file "/etc/bind/db.totoguigui.site.signed"; allow-transfer { 217.70.177.40; }; // ns6.gandi.net };
Il ne reste plus qu’à communiquer la partie publique de la KSK (présente dans le fichier totoguigui.site-ksk.key
) à Gandi.
L’algorithme utilisé est le 5 (RSA/SHA-1).