« Atelier SysRes SE4 2024/2025 E7 » : différence entre les versions

De wiki-se.plil.fr
Aller à la navigation Aller à la recherche
Aucun résumé des modifications
 
Ligne 134 : Ligne 134 :


=Serveur DNS=
=Serveur DNS=
== Configuration du fichier named.conf.options ==
Nous avons édité le fichier de configuration named.conf.options:
J'ai aussi rajouter l'emplacement de mes clés dans la définition de ma zone
<pre>
key-directory "/etc/bind/keys";
dnssec-policy "dnspol";
inline-signing yes;
</pre>
J'ai ajouté les lignes suivantes pour activer DNSSEC via les clés:
<pre>
dnssec-policy "dnspol" {
  keys {
      ksk key-directory lifetime unlimited algorithm 13;
      zsk key-directory lifetime unlimited algorithm 13;
  };
  nsec3param;
};
</pre>
J'indique que cette zone représente ma zone principale, puis j'autorise tout le monde à interroger mon serveur DNS. Puis pour terminer j'ajoute le transfer de ma zone à la machine mandataire Vander ainsi qu'a la deuxième machine de service Jinx en les tenant au courant d'une modification de la zone grâce au notify.
[[Fichier:Named.conf.local vi.png|thumb|center|Modification du fichier named.conf.options]]
Afin de permettre à l'autre machine de service de faire fonctionner mon DNS je dois spécifier une zone dans son named.conf.local
[[Fichier:Named ekko.png|thumb|center|Modification du fichier named.conf.options de la machine ekko]]
== Création du fichier de zone ==
Puis ensuite j'ai créé le fichier de zone. Pour cela on y spécifie:
-Le SOA spécifie le serveur DNS principal ns1.caitlyn.eu et l’adresse e-mail de l’administrateur admin.caitlyn.eu
-A et AAAA associent le domaine à ses adresses IPv4 et IPv6 respectives
-CNAME redirige www.caitlyn.eu vers caitlyn.eu, évitant ainsi d’avoir à dupliquer les enregistrements IP.
[[Fichier:Zonevi.png|thumb|center|Création du fichier de zone]]
== 5. Configuration du serveur mandataire comme DNS secondaire ==
Nous avons ajouté sur le serveur mandataire :
<pre>
zone "caitlyn.eu" {
    type slave;
    file "/var/cache/bind/db.caitlyn.eu";
    masters { [ADRESSE_IPV6_SERVICE]; };
};
</pre>
([[Fichier:config_dns_mandataire.png|thumb|center|Configuration du serveur DNS secondaire]])
== 6. Activation de DNSSEC ==
Nous avons ajouté la politique DNSSEC dans `/etc/bind/named.conf` :
<pre>
dnssec-policy "dnspol" {
  keys {
      ksk key-directory lifetime unlimited algorithm 13;
      zsk key-directory lifetime unlimited algorithm 13;
  };
  nsec3param;
};
</pre>
Puis nous avons activé DNSSEC :
<pre>
sudo systemctl restart bind9
</pre>
([[Fichier:dnssec_activation.png|thumb|center|Activation de DNSSEC]])
== 7. Ajout des enregistrements DNS chez Gandi ==
Nous avons ajouté les glue records dans l’interface de Gandi en spécifiant :
- `ns1.caitlyn.eu` avec l’adresse IPv6 du serveur de services
- `ns2.caitlyn.eu` avec l’adresse IPv4 du serveur mandataire 
([[Fichier:gandi_glue_records.png|thumb|center|Ajout des glue records sur Gandi]])
== 8. Vérification de la configuration ==
Nous avons testé la résolution DNS avec :
<pre>
dig caitlyn.eu @localhost
</pre>
Et vérifié DNSSEC avec :
<pre>
dig +dnssec caitlyn.eu @localhost
</pre>
([[Fichier:test_dnssec.png|thumb|center|Vérification de DNSSEC]])
== Conclusion ==
Notre serveur DNS est maintenant configuré avec Bind9 et sécurisé avec DNSSEC. 
Le serveur mandataire joue le rôle de serveur DNS secondaire et permet l'accès via IPv4. 
La configuration est testée et fonctionnelle.

Version actuelle datée du 5 mars 2025 à 16:06

Création de la machine

Configuration des partitions LVM

Assigner les partitions dans le fichier `/etc/xen/SE4.Vi` (disk) :

'phy:/dev/virtual/SE4.Vi-home,xvda3,w',
'phy:/dev/virtual/SE4.Vi-var,xvdb1,w',

Affichage des partitions avec lsblk

Voici un aperçu des partitions avec la commande `lsblk` :

Affichage de lsblk
Résultat de la commande lsblk


Modification du fichier fstab

Il faut aussi modifier le fichier `/etc/fstab` pour monter correctement les partitions :

/dev/xvda3  /home  ext4  defaults  0  2
/dev/xvdb1  /var   ext4  defaults  0  2

Aperçu du fichier fstab

Affichage de fstab
Contenu du fichier /etc/fstab


Configuration des partitions /var et /home

Formatage et montage de /var (partition critique)

Création du système de fichiers et migration des données de `/var` :

mkfs -t ext4 /dev/xvdb1
mount /dev/xvdb1 /mnt
mv /var/* /mnt
umount /mnt
mount -a

Vérification du contenu de /var

Affichage du contenu de /var
Résultat des commandes


Formatage et montage de /home

mkfs -t ext4 /dev/xvda3
mount -a

Vérification du montage des partitions

Vérification df
On vérifie le montage des disques avec df


Réseau

Pour la partie réseau de la machine de service j'ai simplement modifié l'interface réseau de celle-ci. J'ai mis en place deux interfaces pour les deux bridges

ETH0: J'ai mis le routage de l'ipv6 en auto et pour l'ipv4 j'ai mit l'adresse privée correspondant à ma machine dans le réseau privé. On utilise l'adresse ipv4 privée de la machine mandataire comme gateway.

Vérification interface réseau
Interface réseau de Vi ETH0
Vérification des adresses IPV4 et V6
Vérification des adresses IPV4 et V6

ETH1:

Vérification ET1
Interface réseau de Vi ETH1
Vérification de l'adresses V6
Vérification de l'adresses V6

Configuration de la machine mandataire et routeur Cisco

Voir ce Lien

Création des clés et des certificat pour les noms de domaines

Pour activer un certificat SSL, il est nécessaire de générer une CSR (Certificate Signing Request) ainsi qu’une clé privée. La CSR est un bloc de texte chiffré contenant les informations d’identification du domaine et du propriétaire du certificat.

Les fichiers générés sont enregistrés dans les répertoires suivants sur la machine mandataire Vander :

  • /home/cait
  • /home/ekko

1) Lancer la commande OpenSSL

Depuis un terminal on exécutez la commande suivante :

openssl req -nodes -newkey rsa:2048 -sha256 -keyout myserver.key -out server.csr -utf8

2) Remplir les informations requises

On doit donc remplir des informations comme

  • Common Name : Nom de domaine principal 'caitlyn.eu'
  • Pays, Région, Ville : Coordonnées de l’organisation.

3) Vérifier et copier la CSR

Une fois générée, la CSR peut être affichée avec :

cat server.csr

On copie ainsi le contenu du csr dans Gandi pour obtenir un certificat signé.

-----BEGIN CERTIFICATE REQUEST-----
… texte ….
-----END CERTIFICATE REQUEST-----

Serveur SSH

Afin d'éviter de passer tout le temps par capbreton pour se connecter à nos machines, on met en place un serveur ssh pour pouvoir y accéder directement. Pour vander possédant directement une adresse ipv4 routée il suffit de mettre le PermitRootLogin en yes. Mais nos machines de services n'en possèdant pas, il est nécessaire d'effectuer une redirection de port sur la mandataire, en redirigeant le port 2202 sur Vi.

Vérification de l'adresses V6
PermitRootLogin Yes
iptables -t nat -A PREROUTING -p tcp --dport 2202 -j DNAT --to-destination 192.168.1.2:22
iptables -A FORWARD -p tcp -d 192.168.1.2 --dport 22 -j ACCEPT
Vérification de l'adresses V6
SSH Réussi


Serveur DNS

Configuration du fichier named.conf.options

Nous avons édité le fichier de configuration named.conf.options:

J'ai aussi rajouter l'emplacement de mes clés dans la définition de ma zone

key-directory "/etc/bind/keys"; 
dnssec-policy "dnspol";
inline-signing yes;

J'ai ajouté les lignes suivantes pour activer DNSSEC via les clés:

 dnssec-policy "dnspol" {
   keys {
       ksk key-directory lifetime unlimited algorithm 13;
       zsk key-directory lifetime unlimited algorithm 13;
   };
   nsec3param;
 };

J'indique que cette zone représente ma zone principale, puis j'autorise tout le monde à interroger mon serveur DNS. Puis pour terminer j'ajoute le transfer de ma zone à la machine mandataire Vander ainsi qu'a la deuxième machine de service Jinx en les tenant au courant d'une modification de la zone grâce au notify.

Modification du fichier named.conf.options

Afin de permettre à l'autre machine de service de faire fonctionner mon DNS je dois spécifier une zone dans son named.conf.local

Modification du fichier named.conf.options de la machine ekko

Création du fichier de zone

Puis ensuite j'ai créé le fichier de zone. Pour cela on y spécifie: -Le SOA spécifie le serveur DNS principal ns1.caitlyn.eu et l’adresse e-mail de l’administrateur admin.caitlyn.eu -A et AAAA associent le domaine à ses adresses IPv4 et IPv6 respectives -CNAME redirige www.caitlyn.eu vers caitlyn.eu, évitant ainsi d’avoir à dupliquer les enregistrements IP.

Création du fichier de zone

5. Configuration du serveur mandataire comme DNS secondaire

Nous avons ajouté sur le serveur mandataire :

zone "caitlyn.eu" {
    type slave;
    file "/var/cache/bind/db.caitlyn.eu";
    masters { [ADRESSE_IPV6_SERVICE]; };
};

(

Fichier:Config dns mandataire.png
Configuration du serveur DNS secondaire

)

6. Activation de DNSSEC

Nous avons ajouté la politique DNSSEC dans `/etc/bind/named.conf` :

dnssec-policy "dnspol" {
   keys {
       ksk key-directory lifetime unlimited algorithm 13;
       zsk key-directory lifetime unlimited algorithm 13;
   };
   nsec3param;
};

Puis nous avons activé DNSSEC :

sudo systemctl restart bind9

(

Fichier:Dnssec activation.png
Activation de DNSSEC

)

7. Ajout des enregistrements DNS chez Gandi

Nous avons ajouté les glue records dans l’interface de Gandi en spécifiant : - `ns1.caitlyn.eu` avec l’adresse IPv6 du serveur de services - `ns2.caitlyn.eu` avec l’adresse IPv4 du serveur mandataire

(

Fichier:Gandi glue records.png
Ajout des glue records sur Gandi

)

8. Vérification de la configuration

Nous avons testé la résolution DNS avec :

dig caitlyn.eu @localhost

Et vérifié DNSSEC avec :

dig +dnssec caitlyn.eu @localhost

(

Fichier:Test dnssec.png
Vérification de DNSSEC

)

Conclusion

Notre serveur DNS est maintenant configuré avec Bind9 et sécurisé avec DNSSEC. Le serveur mandataire joue le rôle de serveur DNS secondaire et permet l'accès via IPv4. La configuration est testée et fonctionnelle.