« Atelier SysRes SE4 2025/2026 E14 » : différence entre les versions
Aucun résumé des modifications |
Aucun résumé des modifications |
||
| (4 versions intermédiaires par le même utilisateur non affichées) | |||
| Ligne 120 : | Ligne 120 : | ||
Common Name (e.g. server FQDN or YOUR name) []:dardevil.tech | Common Name (e.g. server FQDN or YOUR name) []:dardevil.tech | ||
Email Address []:billel.cheklat@polytech-lille.net | Email Address []:billel.cheklat@polytech-lille.net | ||
</syntaxhighlight>Creation d'un repertoire keys avec les droits nécessaires<syntaxhighlight lang="bash"> | |||
mkdir /etc/bind/keys | |||
chown bind:bind /etc/bind/keys | |||
chmod 750 /etc/bind/keys | |||
</syntaxhighlight>DNS | </syntaxhighlight>DNS | ||
Modification de /etc/bind/named.conf.local<syntaxhighlight lang="bash"> | Modification de /etc/bind/named.conf.local<syntaxhighlight lang="bash"> | ||
dnssec-policy "dnspol" { | |||
keys { | |||
ksk key-directory lifetime unlimited algorithm 13; | |||
zsk key-directory lifetime unlimited algorithm 13; | |||
}; | |||
nsec3param; | |||
}; | |||
zone "deadpool.tech" { | zone "deadpool.tech" { | ||
type master; | type master; | ||
| Ligne 128 : | Ligne 141 : | ||
allow-transfer{secondaries;}; | allow-transfer{secondaries;}; | ||
notify yes; | notify yes; | ||
key-directory "/etc/bind/keys"; | |||
dnssec-policy "dnspol"; | |||
inline-signing yes; | |||
}; | }; | ||
| Ligne 153 : | Ligne 169 : | ||
); | ); | ||
@ IN NS ns.dardevil.tech. | |||
@ IN NS ns.deadpool.tech. | |||
ns IN AAAA 2001:660:4401:60a0:216:3eff: | ns IN A 193.48.57.169 | ||
@ IN AAAA 2001:660:4401:60a0:216:3eff: | ns IN AAAA 2001:660:4401:60a0:216:3eff:fe8f:4743 | ||
@ IN A 193.48.57.169 | |||
@ IN AAAA 2001:660:4401:60a0:216:3eff:fe8f:4743 | |||
www IN CNAME deadpool.tech | www IN CNAME deadpool.tech. | ||
</syntaxhighlight>Modification du fichier /etc/resolv.conf (il faut commenter tous les autres servers)<syntaxhighlight lang="bash"> | </syntaxhighlight>Modification du fichier /etc/resolv.conf (il faut commenter tous les autres servers)<syntaxhighlight lang="bash"> | ||
search deadpool.tech | search deadpool.tech | ||
search dardevil.tech | |||
nameserver 192.168.69.2 | nameserver 192.168.69.2 | ||
nameserver 192.168.69.3 | nameserver 192.168.69.3 | ||
</syntaxhighlight>2001:660:4401:60a0:216:3eff:fe19:f03c | </syntaxhighlight>Pour restart le service <syntaxhighlight lang="bash"> | ||
service named restart | |||
</syntaxhighlight>Si il y a des erreurs la commande suivante permet de les identifier<syntaxhighlight lang="bash"> | |||
named-checkconf /etc/bind/named.conf | |||
</syntaxhighlight>Pour tester le DNS depuis la machine de service<syntaxhighlight lang="bash"> | |||
dig @localhost deadpool.tech | |||
</syntaxhighlight>Modification sur Gandi au niveau des deux noms de domaine | |||
Création d'un blue record pour chacun des noms de domaine<syntaxhighlight> | |||
ns.deadpool.tech | |||
193.48.57.169 // adresse IPv4 de la mandataire | |||
2001:660:4401:60a0:216:3eff:fefa:18d0 // adresse IPv6 de la machine de service | |||
</syntaxhighlight>Ajout de external nameserver pour chacun des deux noms de domaine<syntaxhighlight> | |||
ns.deadpool.tech // nom de domaine | |||
ns.dardevil.tech // l'autre nom de domaine | |||
</syntaxhighlight>Pour tester depuis l'extérieur<syntaxhighlight lang="bash"> | |||
dig deadpool.tech | |||
</syntaxhighlight> | |||
=== Fail2ban === | |||
Il faut commencer par installer fail2ban | |||
Ensuite il faut créer un fichier jail.local dans le dossier /etc/fail2ban<syntaxhighlight> | |||
[sshd] | |||
enable = true port = ssh filter = sshd maxretry = 5 findtime = 300 bantime = 600 | |||
</syntaxhighlight>Pour éviter un warning sur allowipv6 il faut décommenter les lignes suivantes dans fail2ban.conf (ligne 58 à 62)<syntaxhighlight> | |||
Option: allowipv6 | |||
Notes.: Allows IPv6 interface: | |||
Default: auto | |||
Values: [ auto yes (on, true, 1) no (off, false, 0) ] Default: auto | |||
allowipv6 = auto | |||
</syntaxhighlight>Enfin pour lancer le service il faut rentrer la cmd suivante<syntaxhighlight lang="bash"> | |||
service fail2ban restart | |||
</syntaxhighlight> | |||
=== HTTPS === | |||
Dans le dossier /etc/apache2/sites-available | |||
On met la clef deadpool.tech.key et les certificats GandiCert.pem et deadpool.tech.crt (tout a été trouvé sur Gandi)<syntaxhighlight lang="bash"> | |||
<VirtualHost *:80> | |||
ServerName deadpool.tech | |||
ServerAlias www.deadpool.tech | |||
Redirect permanent / https://deadpool.tech/ | |||
</VirtualHost> | |||
<VirtualHost *:443> | |||
ServerAdmin webmaster@localhost | |||
DocumentRoot /var/www/html | |||
ErrorLog ${APACHE_LOG_DIR}/error.log | |||
CustomLog ${APACHE_LOG_DIR}/access.log combined | |||
SSLEngine on | |||
SSLCertificateFile /etc/apache2/sites-available/deadpool.tech.crt | |||
SSLCertificateKeyFile /etc/apache2/sites-available/deadpool.tech.key | |||
SSLCertificateChainFile /etc/apache2/sites-available/GandiCert.pem | |||
<FilesMatch "\.(?:cgi|shtml|phtml|php)$"> | |||
SSLOptions +StdEnvVars | |||
</FilesMatch> | |||
<Directory /usr/lib/cgi-bin> | |||
SSLOptions +StdEnvVars | |||
</Directory> | |||
</VirtualHost> | |||
</syntaxhighlight> | |||
On entre ensuite les cmd suivantes<syntaxhighlight lang="bash"> | |||
a2enmod ssl | |||
service apache restart | |||
a2ensite default-ssl.conf | |||
service apache2 reload | |||
</syntaxhighlight> | |||
2001:660:4401:60a0:216:3eff:fe19:f03c | |||
Version actuelle datée du 3 février 2026 à 16:30
Projet de virtualisation
Atelier système et réseau, les machines virtuelles
Création des machines virtuelles
Nous avons créé deux machines avec les commandes suivantes :
root@capbreton:~# xen-create-image --hostname=SE4.batman --dhcp --bridge=pont_ironman --dir=/usr/local/xen --size=10GB --dist=daedalus --memory=2G
root@capbreton:~# xen-create-image --hostname=SE4.catwoman --dhcp --bridge=pont_ironman --dir=/usr/local/xen --size=10GB --dist=daedalus --memory=2G
root@capbreton:~# xen-create-image --hostname=SE4.superman --dhcp --bridge=pont_ironman --dir=/usr/local/xen --size=10GB --dist=excalibur --memory=2G
auto pont_ironman
iface pont_ironman inet manual
bridge_ports none
up ip link set $IFACE up
down ip link set $IFACE down
xen create /etc/xen/SE4.batman.cfg
xen create /etc/xen/SE4.catwoman.cfg
xen create /etc/xen/SE4.superman.cfg
ifup pont_ironman
xen console SE4.batman
xen console SE4.catwoman
xen console SE4.superman
lvcreate -n SE4.batman.home -L 10G virtual
lvcreate -n SE4.batman.var -L 10G virtual
disk = [
'file:/usr/local/xen/domains/SE4.batman/disk.img,xvda2,w',
'file:/usr/local/xen/domains/SE4.batman/swap.img,xvda1,w',
'phy:/dev/virtual/SE4.batman.home,xvdb,w',
'phy:/dev/virtual/SE4.batman.var,xvdc,w',
]
modif le fichier /etc/fstab :
/dev/xvdb /var ext4 defaults 0 2
/dev/xvdc /home ext4 defaults 0 2
sur terminal
mkfs -t ext4 /dev/xvdb
mkfs -t ext4 /dev/xvdcensuite :
mount /dev/xvdb /mnt
mv /var/* /mnt
umount /mnt
mount -aauto eth0
iface eth0 inet static
address 172.10.0.1/24
auto eth1
iface eth1 inet static
address 193.48.57.169/27
gateway 193.48.57.162
accées internet
apt update
apt install ntp ntpdate host
apt install ntpsec ntpsec-ntpdate host
date
ssh des machines de service
Dans /etc/xen/SE4.batman.cfg
vif = [ 'mac=00:16:3E:FA:18:CF,bridge=pont_ironman', 'mac=00:16:3E:FA:18:D0,bridge=SE4' ]
Ensuite :
xen shutdown SE4.batman
xen create /etc/xen/SE4.batman.cfg
Dans /etc/network/interfaces
auto eth1
iface eth1 inet6 auto
Dans batman :
reboot
ifdown eth1; ifup eth1
Depuis capbreton :
ssh root@<ipv6_eth1_batman>
mascarade
iptables -t nat -A POSTROUTING -j MASQUERADE -s 192.168.69.0/24
iptables-save
et créé le fichier /etc/sysctl.conf puis mettre
net.ipv4.ip_forward=1
redirection de port pour ssh
iptables -t nat -A PREROUTING -p tcp --dport 2202 -j DNAT --to-destination 192.168.69.2:22
iptables -t nat -A PREROUTING -p tcp --dport 2203 -j DNAT --to-destination 192.168.69.3:22
iptables-save
nous avons aussi installer iptables-persistent pour eviter de perdre la configuration a chaque reboot.
apt install iptables-persistant
Génération de la clé pour le certificat sur batman
openssl req -nodes -newkey rsa:2048 -sha256 -keyout deadpool.tech.key -out ddeadpool.csr
Country Name (2 letter code) [AU]:FR
State or Province Name (full name) [Some-State]:Nord
Locality Name (eg, city) []:Lille
Organization Name (eg, company) [Internet Widgits Pty Ltd]:PolytechLille
Organizational Unit Name (eg, section) []:IOT
Common Name (e.g. server FQDN or YOUR name) []:deadpool.tech
Email Address []:antonin.biernacki@polytech-lille.net
Sur catwoman
openssl req -nodes -newkey rsa:2048 -sha256 -keyout dardevil.tech.key -out dardevil.csr
Country Name (2 letter code) [AU]:FR
State or Province Name (full name) [Some-State]:Nord
Locality Name (eg, city) []:Lille
Organization Name (eg, company) [Internet Widgits Pty Ltd]:PolytechLille
Organizational Unit Name (eg, section) []:IOT
Common Name (e.g. server FQDN or YOUR name) []:dardevil.tech
Email Address []:billel.cheklat@polytech-lille.net
Creation d'un repertoire keys avec les droits nécessaires
mkdir /etc/bind/keys
chown bind:bind /etc/bind/keys
chmod 750 /etc/bind/keys
DNS Modification de /etc/bind/named.conf.local
dnssec-policy "dnspol" {
keys {
ksk key-directory lifetime unlimited algorithm 13;
zsk key-directory lifetime unlimited algorithm 13;
};
nsec3param;
};
zone "deadpool.tech" {
type master;
file "/etc/bind/db.deadpool.tech";
allow-transfer{secondaries;};
notify yes;
key-directory "/etc/bind/keys";
dnssec-policy "dnspol";
inline-signing yes;
};
acl "secondaries" {
192.168.69.3;
2001:660:4401:60a0:216:3eff:fe8f:4743;
};
PARTIE COMMENTEE
zone "dardevil.tech" {
type secondary;
file "/etc/bind/backup/db.dardevil.tech";
masters{2001:660:4401:60a0:216:3eff:fe8f:4743;};
};
Création d'un dossier zones dans /etc/bind et y créer le fichier db.deadpool.tech
$TTL 400
@ IN SOA ns.deadpool.tech. admin.deadpool.tech. (
3609 ; Version
21600 ; Refresh
3600 ; Retry
2592000 ; Expire
86400 ; Minimum TTL
);
@ IN NS ns.dardevil.tech.
@ IN NS ns.deadpool.tech.
ns IN A 193.48.57.169
ns IN AAAA 2001:660:4401:60a0:216:3eff:fe8f:4743
@ IN A 193.48.57.169
@ IN AAAA 2001:660:4401:60a0:216:3eff:fe8f:4743
www IN CNAME deadpool.tech.
Modification du fichier /etc/resolv.conf (il faut commenter tous les autres servers)
search deadpool.tech
search dardevil.tech
nameserver 192.168.69.2
nameserver 192.168.69.3
Pour restart le service
service named restart
Si il y a des erreurs la commande suivante permet de les identifier
named-checkconf /etc/bind/named.conf
Pour tester le DNS depuis la machine de service
dig @localhost deadpool.tech
Modification sur Gandi au niveau des deux noms de domaine Création d'un blue record pour chacun des noms de domaine
ns.deadpool.tech
193.48.57.169 // adresse IPv4 de la mandataire
2001:660:4401:60a0:216:3eff:fefa:18d0 // adresse IPv6 de la machine de serviceAjout de external nameserver pour chacun des deux noms de domaine
ns.deadpool.tech // nom de domaine
ns.dardevil.tech // l'autre nom de domainePour tester depuis l'extérieur
dig deadpool.tech
Fail2ban
Il faut commencer par installer fail2ban
Ensuite il faut créer un fichier jail.local dans le dossier /etc/fail2ban
[sshd]
enable = true port = ssh filter = sshd maxretry = 5 findtime = 300 bantime = 600Pour éviter un warning sur allowipv6 il faut décommenter les lignes suivantes dans fail2ban.conf (ligne 58 à 62)
Option: allowipv6
Notes.: Allows IPv6 interface:
Default: auto
Values: [ auto yes (on, true, 1) no (off, false, 0) ] Default: auto
allowipv6 = autoEnfin pour lancer le service il faut rentrer la cmd suivante
service fail2ban restart
HTTPS
Dans le dossier /etc/apache2/sites-available
On met la clef deadpool.tech.key et les certificats GandiCert.pem et deadpool.tech.crt (tout a été trouvé sur Gandi)
<VirtualHost *:80>
ServerName deadpool.tech
ServerAlias www.deadpool.tech
Redirect permanent / https://deadpool.tech/
</VirtualHost>
<VirtualHost *:443>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
SSLEngine on
SSLCertificateFile /etc/apache2/sites-available/deadpool.tech.crt
SSLCertificateKeyFile /etc/apache2/sites-available/deadpool.tech.key
SSLCertificateChainFile /etc/apache2/sites-available/GandiCert.pem
<FilesMatch "\.(?:cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory /usr/lib/cgi-bin>
SSLOptions +StdEnvVars
</Directory>
</VirtualHost>
On entre ensuite les cmd suivantes
a2enmod ssl
service apache restart
a2ensite default-ssl.conf
service apache2 reload
2001:660:4401:60a0:216:3eff:fe19:f03c