Atelier SysRes SE4 2024/2025 E2
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
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',
Configuration de l'interface de Poseidon
Configuration de l'interface de Zeus
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
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.