Atelier SysRes SE4 2024/2025 E2

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

CART Benjamin

Creation des VM

Création du bridge Styx et configuration sur capbreton

xen-create-image --hostname=SE4.Poseidon --dhcp --dir=/usr/local/xen --size=10G --dist=daedalus --memory=2G --bridge=Styx

xen-create-image --hostname=SE4.Zeus --dhcp --dir=/usr/local/xen --size=10G --dist=daedalus --memory=2G --bridge=Styx

Styx interfaces.png


Configuration de la machine de service

Montage permanent dans /etc/fstab

assigner les partitions dans le /etc/xen/SE4.Poseidon.cfg

'phy:/dev/virtual/SE4.Poseidon.home,xvda3,w',
'phy:/dev/virtual/SE4.Poseidon.var,xvda4,w',
Fstab poseidon.png
Home orion.png
Var1 orion.png
Var2 orion.png
Df orion.png

Configuration de l'interface de Poseidon

Interfaces poseidon.png





Configuration de l'interface de Zeus

Interfaces ZEUS.png


Dans l'état actuel des choses, les machines Poséidon et Orion sont capables de se ping entre elles en passant par le mandataire qui agit comme une gateway. Malgré l'isolation des VM, notre bridge Styx permet de lier ces machines.

L'objectif maintenant est de lier la machine mandataire Zeus à internet.

Configuration de la mandataire

Nous avons ajouté une adresse publique à notre machine mandataire. Pour cela, nous avons ajouté une interface eth1 et en parallele, sur le fichier de configuration de la VM, nous avons ajouté une interface avec une mac adresse +1 et mis sur le bridge SE4.

Nous avons du faire un halt de la VM pour que les fichiers de configuration soient chargés ( ce qu'un reboot ne fait pas).

auto eth1
iface eth1 inet static
	address 192.48.57.171/28
Ipa zeus.png
Config zeus.png

Après la configuration et le branchement du routeur. Notre machine mandataire peut ping ce router et aussi les autres machines mandataires du réseau.

Il y a aussi une possibilité de se connecter par ssh à une autre machine du réseau (ex: celle de Justin)

Tache à réaliser : redirection des requetes vers la machine Poseidon lorsqu'elle arrive sur le port 2201





Autorisation de ssh par /etc/ssh/sshd_config :

PermitRootLogin yes

Redémarrage du serveur ssh :

root@Zeus:/etc/ssh# /etc/init.d/ssh restart

Redirection du port 2202 de la mandataire vers Poseidon avec nftables:

nft add table ip NAT
nft add chain NAT PREROUTING { type nat hook prerouting priority 0\; }
nft add rule NAT PREROUTING  tcp dport 2202 dnat to  192.168.2.3:22

grâce à la configuration du router et des vlan il est maintenant possible de sortir sur internet et de ping google par exemple.

Il a fallu ajouter à Zeus le routeur en gateway. (193.48.57.161)


Téléchargement d'apache2, Vim (enfin ...) et bind9.

Tenative de créeation des fichiers de zones pour le serveur DNS ... Il faudrait essayer de redémarrer le serveur et voir une meilleure config


26/02 : les serverus dns fonctionnes et les sites sont aussi fonctionnels ! tous cela grâce aux fichiers ports.conf et sites-available/000-poissonidon.online-ssl.conf.


sites-available/000-poissonidon.online-ssl.conf

 <VirtualHost *:80>
	ServerName poissonidon.online
   	Redirect permanent / https://poissonidon.online/	
 </VirtualHost>

 <VirtualHost *:443>

        ServerName poissonidon.online
        ServerAlias poissonidon.online
        DocumentRoot /var/www/poissonidon.online
        CustomLog /var/log/apache2/secure_access.log combined

        SSLEngine on
        SSLCertificateFile /etc/ssl/certs/poissonidon.online.crt
        SSLCertificateKeyFile /etc/ssl/private/poissonidon.online.key
        SSLCertificateChainFile /etc/ssl/certs/GandiCert.pem
        SSLVerifyClient None

  </VirtualHost>

ports.conf

Listen 80
#<IfModule mod_ssl.c>
<IfModule ssl_module>
   	#Listen 80
	Listen 443
   # NameVirtualHost 2001:660:4401:60a0:216:3eff:fe28:c918:443
</IfModule>

<IfModule mod_gnutls.c>
	Listen 443
</IfModule>

changement du fichier de zone avec ajout de la secondaire dans les backup. Pour faire cela, le répertoire backup a été créé avec les droits donnés à bind.

Commandes réalisées :

"systemctl restart bind9"

"rndc refresh basrion.online" pour ajouter les fichiers de backup

zone "poissonidon.online" {
  type master; 
  file "/etc/bind/db.poissonidon.online.zone";
  allow-transfer{secondaries;};  // filtrage des secondaires
  also-notify{hiddensecondaries;}; // pour les secondaires vicieux
  notify yes; 
  key-directory "/etc/bind/keys";
  dnssec-policy "dnspol";
  inline-signing yes;


};
acl "secondaries" {

   	2001:660:4401:60a0:216:3eff:fe7c:cea; // Serveur secondaire en IPv6
	2001:660:4401:60a0:216:3eff:fe85:c2fe;
};

masters "hiddensecondaries"{
	2001:660:4401:60a0:216:3eff:fe85:c2fe;
};

zone "basrion.online" {
	type slave;
	file "/etc/bind/backup/db.basrion.online";
	masters{2001:660:4401:60a0:216:3eff:fe7c:cea;};
};
dnssec-policy "dnspol" {
   keys {
       ksk key-directory lifetime unlimited algorithm 13;
       zsk key-directory lifetime unlimited algorithm 13;
   };
   nsec3param;
};

les deux zones ont aussi été ajoutés à la mandataire Zeus :

zone "basrion.online" {
	type slave;
	file "/etc/bind/backup/db.basrion.online";
	masters{2001:660:4401:60a0:216:3eff:fe7c:cea;};
};

zone "poissonidon.online" {
	type slave;
	file "/etc/bind/backup/db.poissonidon.online";
	masters{2001:660:4401:60a0:216:3eff:fe28:c918;};
};

Vérification du dnssec avec dnsviz.net

Fail2ban

ajout du service avec apt install fail2ban

ajout d'un fichier jail.local dans /etc/fail2ban

[sshd]
enable	= true
port    = ssh
filter	= sshd
maxretry = 3
findtime = 300
bantime  = 600

cela permet de mettre un ban lorsque trop d'erreurs ont été faites lors de la connection ssh. Cela évite le brute force.