TP sysres IMA5 2022/2023 G8 : Différence entre versions
(→Séance 6) |
|||
(109 révisions intermédiaires par 2 utilisateurs non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
== Séance 1 == | == Séance 1 == | ||
− | Installation de la distribution Linux Devuan sur la zabeth18 | + | Installation de la distribution Linux Devuan Chimaera sur la zabeth18 avec quelques adresses à garder en tête pour la configuration : |
*adresse IPV4 de la machine : 172.26.145.50+[num_zabeth]/24 | *adresse IPV4 de la machine : 172.26.145.50+[num_zabeth]/24 | ||
*gateway (adresse du routeur) : 172.26.145.254 | *gateway (adresse du routeur) : 172.26.145.254 | ||
Ligne 6 : | Ligne 6 : | ||
*proxy : proxy.polytech-lille.fr:3128 | *proxy : proxy.polytech-lille.fr:3128 | ||
+ | Ajout de la permission sudo à pifou | ||
+ | Installation de Ansible et de Python et création du rôle configuration files sur la zabeth18 | ||
+ | == Séance 2 == | ||
+ | Installation de Linux Devuan Chimaeara sur la zabeth 10 | ||
+ | == Séance 3 == | ||
+ | Installation de la machine virtuelle xen : | ||
+ | *On se connecte au serveur avec la commande : | ||
+ | ssh root@capbreton.plil.info | ||
+ | *On crée l'image de la machine virtuelle dio8 avec la commande : | ||
+ | xen-create-image --ip=193.48.57.100+[num_grp] --gateway=193.48.57.161 --netmask=255.255.255.0 --hostname=dio8 --dist=chimaera --dir=/usr/local/xen/ | ||
− | + | *On crée les 2 partitions home et var: | |
− | + | lvcreate -L10G -ndio8_home storage ; mkfs /dev/storage/dio8_home | |
+ | lvcreate -L10G -ndio8_home storage ; mkfs /dev/storage/dio8_home | ||
+ | *On ajoute le bridgeStudents dans le fichier de config : /etc/xen/dio8.cfg : | ||
+ | vif = [ 'ip=193.48.57.185 ,mac=00:16:3E:9E:8C:5D, bridge=IMA5sc' ] | ||
+ | |||
+ | *On ajoute les disques physiques dans le fichier de config /etc/xen/dio8.cfg : | ||
+ | disk = [ | ||
+ | 'file:/usr/local/xen//domains/dio8/disk.img,xvda2,w', | ||
+ | 'file:/usr/local/xen//domains/dio8/swap.img,xvda1,w', | ||
+ | 'phy:/dev/storage/dio8_home,xvdb1,w', | ||
+ | 'phy:/dev/storage/dio8_var,xvdb2,w', | ||
+ | ] | ||
+ | |||
+ | *On crée la machine virtuelle dio8 avec la commande : | ||
+ | xen create dio8.cfg | ||
+ | *On se connecte à celle-ci avec la commande avec comme login root et le mdp donné lors de la création de l'image: | ||
+ | xen console dio8 | ||
+ | |||
+ | Programmation du code du coffre-fort | ||
+ | |||
+ | == Séance 4 == | ||
+ | Achat du nom de domaine tartiflette.space | ||
+ | Génération de la clé csr et key : | ||
+ | openssl req -nodes -newkey rsa:2048 -sha256 -keyout tartiflette.space.key -out tartiflette.space.csr | ||
+ | |||
+ | Câblage de l'interface réseau | ||
+ | |||
+ | == Séance 5 == | ||
+ | '''Configuration de SSH''' | ||
+ | |||
+ | Dans le fichier /etc/ssh/sshd_config, ajouter la ligne suivante : | ||
+ | PermitRootLogin yes | ||
+ | |||
+ | |||
+ | Redémarrer le service ssh : | ||
+ | service ssh restart | ||
+ | |||
+ | Tester la connexion depuis le terminal de la zabeth : | ||
+ | ssh root@193.48.57.185 | ||
+ | |||
+ | '''Installation du serveur web Apache2 :''' | ||
+ | apt update | ||
+ | apt install apache2 | ||
+ | apt install php libapache2-mod-php | ||
+ | service apache2 restart | ||
+ | |||
+ | '''Configuration de https''' | ||
+ | *Activer le module SSL | ||
+ | a2enmod ssl | ||
+ | *Télécharger le certificat tartiflette.space.crt ainsi que le certificat intermédiaire dans le site de gandi | ||
+ | *Mettre le certificat tartiflette.space.crt dans /etc/ssl/certs/ | ||
+ | *Mettre le certificat intermédiaire GandiStandardSSLCA2.pem dans /etc/ssl/certs/ | ||
+ | *Mettre la clé d'accès tartiflette.space.key dans /etc/ssl/private/ | ||
+ | |||
+ | *Ajouter les instructions ci-dessous dans /etc/apache2/sites-available/000-default.conf : | ||
+ | <VirtualHost *:443> | ||
+ | ServerAdmin webmaster@localhost | ||
+ | ServerAlias www.tartiflette.space | ||
+ | DocumentRoot /var/www/html | ||
+ | SSLEngine on | ||
+ | SSLCertificateFile /etc/ssl/certs/tartiflette.space.crt | ||
+ | SSLCertificateKeyFile /etc/ssl/private/tartiflette.space.key | ||
+ | SSLCertificateChainFile /etc/ssl/certs/GandiStandardSSLCA2.pem | ||
+ | ErrorLog ${APACHE_LOG_DIR}/error.log | ||
+ | CustomLog ${APACHE_LOG_DIR}/access.log combined | ||
+ | </VirtualHost> | ||
+ | |||
+ | *Configurer l'affichage de la page web en modifiant le fichier /var/www/html/index.html (Dans notre cas, on affiche seulement un texte et une image) : | ||
+ | <nowiki><p>Buon Apetito <img src="https://aufilduthym.fr/wp-content/uploads/2020/01/morbiflette-tartiflette-morbier-aufilduthym.jpg" alt="tartiflette" width="700" height="466" /> </p></nowiki> | ||
+ | |||
+ | |||
+ | *Relancer le serveur Apache : | ||
+ | service apache2 restart | ||
+ | |||
+ | == Séance 6 == | ||
+ | '''Configuration du DNS''' | ||
+ | *Glue records crée sur le site de Gandi : | ||
+ | ns1.tartiflette.space | ||
+ | 193.48.57.185 | ||
+ | *Ajout du nameserver ns1.tartiflette.space ainsi que de ns6.gandi.net dans l'onglet Nameservers de Gandi | ||
+ | *Installation de bind9 | ||
+ | *Modification du fichier /etc/bind/named.conf.options : | ||
+ | acl "trusted" { | ||
+ | 193.48.57.185; //ns1.tartiflette.space | ||
+ | 217.70.177.40; //ns6.gandi.net | ||
+ | }; | ||
+ | |||
+ | *Modification du fichier /etc/bind/named.conf.local : | ||
+ | zone "tartiflette.space" { | ||
+ | type master; | ||
+ | file "/etc/bind/db.tartiflette.space"; | ||
+ | allow-transfer{ 217.70.177.40; }; //ns6.gandi.net | ||
+ | notify yes; | ||
+ | }; | ||
+ | |||
+ | zone "57.48.193.in-addr.arpa" { | ||
+ | type master; | ||
+ | file "/etc/bind/db.193.48.57"; | ||
+ | allow-transfer{ 217.70.177.40; }; //ns6.gandi.net | ||
+ | notify yes; | ||
+ | }; | ||
+ | |||
+ | On modifie le fichier de données du dns dans /etc/bind/db.tartiflette.space pour qu'il reconnaisse l'adresse IP quand on lui passe le nom de domaine : | ||
+ | ; | ||
+ | ; BIND data file for local loopback interface | ||
+ | ; | ||
+ | $TTL 604800 | ||
+ | @ IN SOA ns1.tartiflette.space. root.tartiflette.space. ( | ||
+ | 10 ; Serial | ||
+ | 604800 ; Refresh | ||
+ | 86400 ; Retry | ||
+ | 2419200 ; Expire | ||
+ | 604800 ) ; Negative Cache TTL | ||
+ | ; | ||
+ | @ IN NS ns1.tartiflette.space. | ||
+ | @ IN NS ns6.gandi.net. | ||
+ | @ IN A 193.48.57.185 | ||
+ | @ IN AAAA 2001:660:4401:60b0:216:3eff:fe9e:8c5d | ||
+ | ns1 IN A 193.48.57.185 | ||
+ | ns1 IN AAAA 2001:660:4401:60b0:216:3eff:fe9e:8c5d | ||
+ | www IN A 193.48.57.185 | ||
+ | www IN AAAA 2001:660:4401:60b0:216:3eff:fe9e:8c5d | ||
+ | |||
+ | Puis on fait de même dans l'autre sens (reconnaître le nom de domaine quand on lui passe l'adresse IP) dans le fichier /etc/bind/db.193.48.57 : | ||
+ | ; | ||
+ | ; BIND reverse data file for local loopback interface | ||
+ | ; | ||
+ | $TTL 604800 | ||
+ | @ IN SOA ns1.tartiflette.space. root.tartiflette.space. ( | ||
+ | 3 ; Serial | ||
+ | 604800 ; Refresh | ||
+ | 86400 ; Retry | ||
+ | 2419200 ; Expire | ||
+ | 604800 ) ; Negative Cache TTL | ||
+ | |||
+ | ;NS records | ||
+ | |||
+ | @ IN NS ns1.tartiflette.space. | ||
+ | |||
+ | ;PTR records | ||
+ | |||
+ | 185 IN PTR ns1.tartiflette.space. ;193.48.57.185 | ||
+ | |||
+ | Enfin on teste le bon fonctionnement du DNS avec la commande host : | ||
+ | root@dio8:~# host tartiflette.space localhost | ||
+ | Using domain server: | ||
+ | Name: localhost | ||
+ | Address: 127.0.0.1#53 | ||
+ | Aliases: | ||
+ | |||
+ | tartiflette.space has address 193.48.57.185 | ||
+ | tartiflette.space has IPv6 address 2001:660:4401:60b0:216:3eff:fe9e:8c5d | ||
+ | |||
+ | root@dio8:~# host 193.48.57.185 localhost | ||
+ | Using domain server: | ||
+ | Name: localhost | ||
+ | Address: 127.0.0.1#53 | ||
+ | Aliases: | ||
+ | |||
+ | 185.57.48.193.in-addr.arpa domain name pointer ns1.tartiflette.space. | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | '''Serveur Minecraft''' | ||
+ | |||
+ | *On télécharge le fichier server.jar selon la version sélectionnée sur le site avec wget : | ||
+ | wget https://piston-data.mojang.com/v1/objects/f69c284232d7c7580bd89a5a4931c3581eae1378/server.jar | ||
+ | |||
+ | *On crée un fichier minecraft où on va installer open-jdk : | ||
+ | apt install openjdk-17-jre | ||
+ | |||
+ | *On lance le fichier .jar dans un multiplexeur de terminal (screen) : | ||
+ | screen | ||
+ | [Ctrl+A][D] | ||
+ | Pour revenir : screen -dr | ||
+ | *Ensuite on lance le jar : | ||
+ | java -Xmx700M -Xms700M -jar server.jar nogui | ||
+ | |||
+ | '''Mise en place du RAID 5''' | ||
+ | |||
+ | On crée des partitions que l'on va configurer en RAID 5 sur capbreton : | ||
+ | lvcreate -L1G -n tartiflette-part1 storage | ||
+ | lvcreate -L1G -n tartiflette-part2 storage | ||
+ | lvcreate -L1G -n tartiflette-part3 storage | ||
+ | |||
+ | On ajoute ensuite ces volumes au fichier de configuration dans /etc/xen/dio8.cfg dans le bloc disk: | ||
+ | |||
+ | 'phy:/dev/storage/tartiflette-part1,xvdb3,w', | ||
+ | 'phy:/dev/storage/tartiflette-part2,xvdb4,w', | ||
+ | 'phy:/dev/storage/tartiflette-part3,xvdb5,w' | ||
+ | |||
+ | On redémarre ensuite la machine virtuelle dio8 avec la commande : | ||
+ | halt | ||
+ | |||
+ | Puis sur capbreton on tape la commande : | ||
+ | xen create /etc/wen/dio8.cfg | ||
+ | |||
+ | On se rend dans la machine virtuelle et on crée le RAID 5 : | ||
+ | mdadm --create /dev/md0 --level=5 --raid-devices 3 /dev/xvdb3 /dev/xvdb4 /dev/xvdb5 | ||
+ | |||
+ | On monte ensuite les volumes avec la commande : | ||
+ | mkfs /dev/md0 | ||
+ | mount /dev/md0 /mnt | ||
+ | |||
+ | On ajoute la ligne suivante dans le fichier /etc/fstab pour monter le RAID 5 dès la mise en route de la machine virtuelle : | ||
+ | /dev/md0 /media/raid ext4 defaults 0 2 | ||
+ | |||
+ | On peut vérifier si les disques sont configurés en RAID 5 avec la commande : | ||
+ | lsblk | ||
+ | |||
+ | == Séance 7 == | ||
+ | |||
+ | '''Mise en place du DNSSEC''' | ||
+ | |||
+ | Premièrement on crée un répertoire où on va stocker nos clés : | ||
+ | mkdir/etc/bind/tartiflette.space.dnssec | ||
+ | Et puis on ajoute ces lignes dans le fichier /etc/bind/named.conf.options | ||
+ | dnssec-enable yes; | ||
+ | dnssec-validation auto; | ||
+ | On crée ensuite les deux clés dnssec ksk et zsk dans le fichier tartiflette.space.dnssec : | ||
+ | dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE tartiflette.space | ||
+ | dnssec-keygen -a RSASHA1 -b 1024 -n ZONE tartiflette.space | ||
+ | On les renomme pour avoir des noms simples : | ||
+ | mv ./Ktartiflette.space.+xxx+xxxx.key ./tartiflette.space-ksk.key | ||
+ | mv ./Ktartiflette.space.+xxx+xxxx.private ./tartiflette.space-ksk.private | ||
+ | mv ./Ktartiflette.space.+xxx+xxxx.key ./tartiflette.space-zsk.key | ||
+ | mv ./Ktartiflette.space.+xxx+xxxx.private ./tartiflette.space-zsk.private | ||
+ | Dans le fichier de zone /etc/bind/db.tartiflette.space on inclut : | ||
+ | $INCLUDE "/etc/bind/tartiflette.space.dnssec/tartiflette.space-zsk.key"; | ||
+ | $INCLUDE "/etc/bind/tartiflette.space.dnssec/tartiflette.space-ksk.key"; | ||
+ | Puis on signe notre fichier de zone : | ||
+ | dnssec-signzone -o tartiflette.space -k tartiflette.space-ksk.key ../db.tartiflette.space tartiflette.space-zsk.key | ||
+ | Pour pointer sur le fichier signé on modifie le fichier /etc/bind/named.conf.local : | ||
+ | file "/etc/bind/db.tartiflette.space.signed" | ||
+ | On ajoute la clé publique ksk sur gandi en précisant l'algorithme RSA/SHA1 | ||
+ | [[Fichier:DNSSEC1.png]] | ||
+ | |||
+ | '''Mise en place du Fail2Ban''' | ||
+ | |||
+ | On fait un test préliminaire pour voir si on subit des attaques au niveau du port SSH : | ||
+ | [[Fichier:fail2ban.png]] | ||
+ | On remarque qu'on recoit des attaques. | ||
+ | *Pour installer fail2ban : | ||
+ | apt install iptables | ||
+ | apt install fail2ban | ||
+ | service fail2ban start | ||
+ | service fail2ban enable | ||
+ | service fail2ban status | ||
+ | On active le bannissement sur le service sshd pour le ssh et named-refused pour le serveur DNS. Dans le fichier : /etc/fail2ban/jail.d/defaults-debian.conf on ajoute les lignes suivantes : | ||
+ | [sshd] | ||
+ | enabled = true | ||
+ | |||
+ | [named-refused] | ||
+ | enabled = true | ||
+ | *Ajouter les lignes suivantes dans /etc/bind/named.conf.options : | ||
+ | |||
+ | logging { | ||
+ | channel security_file { | ||
+ | file "/var/log/named/security.log" versions 3 size 30m; | ||
+ | severity dynamic; | ||
+ | print-time yes; | ||
+ | }; | ||
+ | category security { | ||
+ | security_file; | ||
+ | }; | ||
+ | }; | ||
+ | |||
+ | *Créer le répertoire /var/log/named et le fichier fichier security.log, et mettre l'utilisateur bind comme owner : | ||
+ | mkdir /var/log/named | ||
+ | touch /var/log/named/security.log | ||
+ | cd /var/log | ||
+ | chown bind -R named/ | ||
+ | chown bind named/security.log | ||
+ | *On restart les services : | ||
+ | service named restart | ||
+ | |||
+ | |||
+ | '''Chiffrement des données''' | ||
+ | |||
+ | *Dans capbreton on crée une partition pour notre VM : | ||
+ | lvcreate -L1G -n tartiflette_crypted | ||
+ | *On attache la partition sur notre xen dio8 : | ||
+ | 'phy:/dev/storage/tartiflette_crypted,xvdb6,w' | ||
+ | *Formatage de la partition : | ||
+ | cryptsetup -y -v luksFormat /dev/xvdb6 | ||
+ | *Ouvrir la zone de cryptage : | ||
+ | cryptsetup luksOpen /dev/xvdb6 tartiflette_crypted | ||
+ | *On crée le système de fichier : | ||
+ | mkfs /dev/mapper/tartiflette_crypted | ||
+ | *On ferme la partition crypté: | ||
+ | cryptsetup luksClose tartiflette_crypted | ||
+ | |||
+ | '''Craquage de clef WEP''' | ||
+ | |||
+ | Démarrage du logiciel aircrack-ng : | ||
+ | airmon-ng | ||
+ | airmon-ng start wlan0mon | ||
+ | |||
+ | On écoute les trames wifi et on repère celle contenant le nom du point d'accès WIFI correspondant à notre groupe (cracotte 08) en WEP | ||
+ | et on note son BSSID : '''04:DA:D2:9C:50:57''' ainsi que son channel (13). | ||
+ | |||
+ | On écoute uniquement notre point d'accès et on récupère les paquets : | ||
+ | airodump-ng -c 13 --bssid 04:DA:D2:9C:50:57 -w cracotte08 wlan0mon | ||
+ | |||
+ | On attend un peu, pour avoir un nombre de données assez conséquent, ces données sont stockées dans le fichier cracotte08-01.cap. | ||
+ | |||
+ | On lance enfin le craquage de la clef WEP : | ||
+ | aircrack-ng cracotte03-01.cap | ||
+ | |||
+ | On trouve la clef WEP qui est : '''FF:FF:FF:FF:FA:BC:09:CB:AE:EE:EE:EE:EE''' | ||
+ | |||
+ | '''Craquage du WPA-PSK''' | ||
+ | |||
+ | On repère le BSSID du point d'accès en WPA correspondant à notre groupe (kracotte08) et son channel en tapant la commande : | ||
+ | airodump-ng -c wlan0mon | ||
+ | |||
+ | Le BSSID de la kracotte08 est 44:AD:D9:5F:87:07 et son channel est le numéro 6 | ||
+ | |||
+ | On récupère ensuite un maximum de données sur le wifi avec la commande : | ||
+ | airodump-ng -c 6 --bssid 44:AD:D9:5F:87:07 -w grp8 wlan0mon | ||
+ | |||
+ | On sait que la clé WPA est composé de 8 chiffres, on génère donc un dictionnaire à l'aide de l'utilitaire crunch contenant toutes les clés possibles : | ||
+ | crunch 8 8 0123456789 -o password.lst | ||
+ | |||
+ | Enfin on lance la procédure de crackage de la clé qui est très longue sur les orids portables, c'est pour cela qu'on envoie les fichiers password.lst et grp8*.cap sur une zabeth pour y effectuer la procédure : | ||
+ | aircrack-ng -w password.lst -b 44:AD:D9:5F:87:07 grp8*.cap | ||
== Coffre fort == | == Coffre fort == | ||
+ | [[Média:coffre_fort_grp8.zip]] |
Version actuelle datée du 11 décembre 2022 à 23:21
Séance 1
Installation de la distribution Linux Devuan Chimaera sur la zabeth18 avec quelques adresses à garder en tête pour la configuration :
- adresse IPV4 de la machine : 172.26.145.50+[num_zabeth]/24
- gateway (adresse du routeur) : 172.26.145.254
- serveur DNS : 193.48.57.48
- proxy : proxy.polytech-lille.fr:3128
Ajout de la permission sudo à pifou
Installation de Ansible et de Python et création du rôle configuration files sur la zabeth18
Séance 2
Installation de Linux Devuan Chimaeara sur la zabeth 10
Séance 3
Installation de la machine virtuelle xen :
- On se connecte au serveur avec la commande :
ssh root@capbreton.plil.info
- On crée l'image de la machine virtuelle dio8 avec la commande :
xen-create-image --ip=193.48.57.100+[num_grp] --gateway=193.48.57.161 --netmask=255.255.255.0 --hostname=dio8 --dist=chimaera --dir=/usr/local/xen/
- On crée les 2 partitions home et var:
lvcreate -L10G -ndio8_home storage ; mkfs /dev/storage/dio8_home lvcreate -L10G -ndio8_home storage ; mkfs /dev/storage/dio8_home
- On ajoute le bridgeStudents dans le fichier de config : /etc/xen/dio8.cfg :
vif = [ 'ip=193.48.57.185 ,mac=00:16:3E:9E:8C:5D, bridge=IMA5sc' ]
- On ajoute les disques physiques dans le fichier de config /etc/xen/dio8.cfg :
disk = [ 'file:/usr/local/xen//domains/dio8/disk.img,xvda2,w', 'file:/usr/local/xen//domains/dio8/swap.img,xvda1,w', 'phy:/dev/storage/dio8_home,xvdb1,w', 'phy:/dev/storage/dio8_var,xvdb2,w', ]
- On crée la machine virtuelle dio8 avec la commande :
xen create dio8.cfg
- On se connecte à celle-ci avec la commande avec comme login root et le mdp donné lors de la création de l'image:
xen console dio8
Programmation du code du coffre-fort
Séance 4
Achat du nom de domaine tartiflette.space Génération de la clé csr et key :
openssl req -nodes -newkey rsa:2048 -sha256 -keyout tartiflette.space.key -out tartiflette.space.csr
Câblage de l'interface réseau
Séance 5
Configuration de SSH
Dans le fichier /etc/ssh/sshd_config, ajouter la ligne suivante :
PermitRootLogin yes
Redémarrer le service ssh :
service ssh restart
Tester la connexion depuis le terminal de la zabeth :
ssh root@193.48.57.185
Installation du serveur web Apache2 :
apt update apt install apache2 apt install php libapache2-mod-php service apache2 restart
Configuration de https
- Activer le module SSL
a2enmod ssl
- Télécharger le certificat tartiflette.space.crt ainsi que le certificat intermédiaire dans le site de gandi
- Mettre le certificat tartiflette.space.crt dans /etc/ssl/certs/
- Mettre le certificat intermédiaire GandiStandardSSLCA2.pem dans /etc/ssl/certs/
- Mettre la clé d'accès tartiflette.space.key dans /etc/ssl/private/
- Ajouter les instructions ci-dessous dans /etc/apache2/sites-available/000-default.conf :
<VirtualHost *:443> ServerAdmin webmaster@localhost ServerAlias www.tartiflette.space DocumentRoot /var/www/html SSLEngine on SSLCertificateFile /etc/ssl/certs/tartiflette.space.crt SSLCertificateKeyFile /etc/ssl/private/tartiflette.space.key SSLCertificateChainFile /etc/ssl/certs/GandiStandardSSLCA2.pem ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
- Configurer l'affichage de la page web en modifiant le fichier /var/www/html/index.html (Dans notre cas, on affiche seulement un texte et une image) :
<p>Buon Apetito <img src="https://aufilduthym.fr/wp-content/uploads/2020/01/morbiflette-tartiflette-morbier-aufilduthym.jpg" alt="tartiflette" width="700" height="466" /> </p>
- Relancer le serveur Apache :
service apache2 restart
Séance 6
Configuration du DNS
- Glue records crée sur le site de Gandi :
ns1.tartiflette.space 193.48.57.185
- Ajout du nameserver ns1.tartiflette.space ainsi que de ns6.gandi.net dans l'onglet Nameservers de Gandi
- Installation de bind9
- Modification du fichier /etc/bind/named.conf.options :
acl "trusted" { 193.48.57.185; //ns1.tartiflette.space 217.70.177.40; //ns6.gandi.net };
- Modification du fichier /etc/bind/named.conf.local :
zone "tartiflette.space" { type master; file "/etc/bind/db.tartiflette.space"; allow-transfer{ 217.70.177.40; }; //ns6.gandi.net notify yes; };
zone "57.48.193.in-addr.arpa" { type master; file "/etc/bind/db.193.48.57"; allow-transfer{ 217.70.177.40; }; //ns6.gandi.net notify yes; };
On modifie le fichier de données du dns dans /etc/bind/db.tartiflette.space pour qu'il reconnaisse l'adresse IP quand on lui passe le nom de domaine :
; ; BIND data file for local loopback interface ; $TTL 604800 @ IN SOA ns1.tartiflette.space. root.tartiflette.space. ( 10 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS ns1.tartiflette.space. @ IN NS ns6.gandi.net. @ IN A 193.48.57.185 @ IN AAAA 2001:660:4401:60b0:216:3eff:fe9e:8c5d ns1 IN A 193.48.57.185 ns1 IN AAAA 2001:660:4401:60b0:216:3eff:fe9e:8c5d www IN A 193.48.57.185 www IN AAAA 2001:660:4401:60b0:216:3eff:fe9e:8c5d
Puis on fait de même dans l'autre sens (reconnaître le nom de domaine quand on lui passe l'adresse IP) dans le fichier /etc/bind/db.193.48.57 :
; ; BIND reverse data file for local loopback interface ; $TTL 604800 @ IN SOA ns1.tartiflette.space. root.tartiflette.space. ( 3 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ;NS records @ IN NS ns1.tartiflette.space. ;PTR records 185 IN PTR ns1.tartiflette.space. ;193.48.57.185
Enfin on teste le bon fonctionnement du DNS avec la commande host :
root@dio8:~# host tartiflette.space localhost Using domain server: Name: localhost Address: 127.0.0.1#53 Aliases: tartiflette.space has address 193.48.57.185 tartiflette.space has IPv6 address 2001:660:4401:60b0:216:3eff:fe9e:8c5d
root@dio8:~# host 193.48.57.185 localhost Using domain server: Name: localhost Address: 127.0.0.1#53 Aliases: 185.57.48.193.in-addr.arpa domain name pointer ns1.tartiflette.space.
Serveur Minecraft
- On télécharge le fichier server.jar selon la version sélectionnée sur le site avec wget :
wget https://piston-data.mojang.com/v1/objects/f69c284232d7c7580bd89a5a4931c3581eae1378/server.jar
- On crée un fichier minecraft où on va installer open-jdk :
apt install openjdk-17-jre
- On lance le fichier .jar dans un multiplexeur de terminal (screen) :
screen [Ctrl+A][D] Pour revenir : screen -dr
- Ensuite on lance le jar :
java -Xmx700M -Xms700M -jar server.jar nogui
Mise en place du RAID 5
On crée des partitions que l'on va configurer en RAID 5 sur capbreton :
lvcreate -L1G -n tartiflette-part1 storage lvcreate -L1G -n tartiflette-part2 storage lvcreate -L1G -n tartiflette-part3 storage
On ajoute ensuite ces volumes au fichier de configuration dans /etc/xen/dio8.cfg dans le bloc disk:
'phy:/dev/storage/tartiflette-part1,xvdb3,w', 'phy:/dev/storage/tartiflette-part2,xvdb4,w', 'phy:/dev/storage/tartiflette-part3,xvdb5,w'
On redémarre ensuite la machine virtuelle dio8 avec la commande :
halt
Puis sur capbreton on tape la commande :
xen create /etc/wen/dio8.cfg
On se rend dans la machine virtuelle et on crée le RAID 5 :
mdadm --create /dev/md0 --level=5 --raid-devices 3 /dev/xvdb3 /dev/xvdb4 /dev/xvdb5
On monte ensuite les volumes avec la commande :
mkfs /dev/md0 mount /dev/md0 /mnt
On ajoute la ligne suivante dans le fichier /etc/fstab pour monter le RAID 5 dès la mise en route de la machine virtuelle :
/dev/md0 /media/raid ext4 defaults 0 2
On peut vérifier si les disques sont configurés en RAID 5 avec la commande :
lsblk
Séance 7
Mise en place du DNSSEC
Premièrement on crée un répertoire où on va stocker nos clés :
mkdir/etc/bind/tartiflette.space.dnssec
Et puis on ajoute ces lignes dans le fichier /etc/bind/named.conf.options
dnssec-enable yes; dnssec-validation auto;
On crée ensuite les deux clés dnssec ksk et zsk dans le fichier tartiflette.space.dnssec :
dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE tartiflette.space dnssec-keygen -a RSASHA1 -b 1024 -n ZONE tartiflette.space
On les renomme pour avoir des noms simples :
mv ./Ktartiflette.space.+xxx+xxxx.key ./tartiflette.space-ksk.key mv ./Ktartiflette.space.+xxx+xxxx.private ./tartiflette.space-ksk.private mv ./Ktartiflette.space.+xxx+xxxx.key ./tartiflette.space-zsk.key mv ./Ktartiflette.space.+xxx+xxxx.private ./tartiflette.space-zsk.private
Dans le fichier de zone /etc/bind/db.tartiflette.space on inclut :
$INCLUDE "/etc/bind/tartiflette.space.dnssec/tartiflette.space-zsk.key"; $INCLUDE "/etc/bind/tartiflette.space.dnssec/tartiflette.space-ksk.key";
Puis on signe notre fichier de zone :
dnssec-signzone -o tartiflette.space -k tartiflette.space-ksk.key ../db.tartiflette.space tartiflette.space-zsk.key
Pour pointer sur le fichier signé on modifie le fichier /etc/bind/named.conf.local :
file "/etc/bind/db.tartiflette.space.signed"
On ajoute la clé publique ksk sur gandi en précisant l'algorithme RSA/SHA1
Mise en place du Fail2Ban
On fait un test préliminaire pour voir si on subit des attaques au niveau du port SSH :
On remarque qu'on recoit des attaques.
- Pour installer fail2ban :
apt install iptables apt install fail2ban service fail2ban start service fail2ban enable service fail2ban status
On active le bannissement sur le service sshd pour le ssh et named-refused pour le serveur DNS. Dans le fichier : /etc/fail2ban/jail.d/defaults-debian.conf on ajoute les lignes suivantes :
[sshd] enabled = true [named-refused] enabled = true
- Ajouter les lignes suivantes dans /etc/bind/named.conf.options :
logging { channel security_file { file "/var/log/named/security.log" versions 3 size 30m; severity dynamic; print-time yes; }; category security { security_file; }; };
- Créer le répertoire /var/log/named et le fichier fichier security.log, et mettre l'utilisateur bind comme owner :
mkdir /var/log/named touch /var/log/named/security.log cd /var/log chown bind -R named/ chown bind named/security.log
- On restart les services :
service named restart
Chiffrement des données
- Dans capbreton on crée une partition pour notre VM :
lvcreate -L1G -n tartiflette_crypted
- On attache la partition sur notre xen dio8 :
'phy:/dev/storage/tartiflette_crypted,xvdb6,w'
- Formatage de la partition :
cryptsetup -y -v luksFormat /dev/xvdb6
- Ouvrir la zone de cryptage :
cryptsetup luksOpen /dev/xvdb6 tartiflette_crypted
- On crée le système de fichier :
mkfs /dev/mapper/tartiflette_crypted
- On ferme la partition crypté:
cryptsetup luksClose tartiflette_crypted
Craquage de clef WEP
Démarrage du logiciel aircrack-ng :
airmon-ng airmon-ng start wlan0mon
On écoute les trames wifi et on repère celle contenant le nom du point d'accès WIFI correspondant à notre groupe (cracotte 08) en WEP et on note son BSSID : 04:DA:D2:9C:50:57 ainsi que son channel (13).
On écoute uniquement notre point d'accès et on récupère les paquets :
airodump-ng -c 13 --bssid 04:DA:D2:9C:50:57 -w cracotte08 wlan0mon
On attend un peu, pour avoir un nombre de données assez conséquent, ces données sont stockées dans le fichier cracotte08-01.cap.
On lance enfin le craquage de la clef WEP :
aircrack-ng cracotte03-01.cap
On trouve la clef WEP qui est : FF:FF:FF:FF:FA:BC:09:CB:AE:EE:EE:EE:EE
Craquage du WPA-PSK
On repère le BSSID du point d'accès en WPA correspondant à notre groupe (kracotte08) et son channel en tapant la commande :
airodump-ng -c wlan0mon
Le BSSID de la kracotte08 est 44:AD:D9:5F:87:07 et son channel est le numéro 6
On récupère ensuite un maximum de données sur le wifi avec la commande :
airodump-ng -c 6 --bssid 44:AD:D9:5F:87:07 -w grp8 wlan0mon
On sait que la clé WPA est composé de 8 chiffres, on génère donc un dictionnaire à l'aide de l'utilitaire crunch contenant toutes les clés possibles :
crunch 8 8 0123456789 -o password.lst
Enfin on lance la procédure de crackage de la clé qui est très longue sur les orids portables, c'est pour cela qu'on envoie les fichiers password.lst et grp8*.cap sur une zabeth pour y effectuer la procédure :
aircrack-ng -w password.lst -b 44:AD:D9:5F:87:07 grp8*.cap