TP sysres IMA2a5 2021/2022 G3

De Wiki d'activités IMA

Introduction

Ce projet consiste à mettre en place une architecture réseau qui me permettra de manipuler les protocoles de redondance réseau ainsi que le protocole réseau IPv6. Il faudra installer une machine virtuelle et y configurer des services. Je mettrai en place un réseau WIFI sécurisé et un serveur DNS que je configurerais comme serveur principal pour accéder à un nom de domaine que j'aurais réservé auparavant.

Architecture réseau

Ar bel.jpeg

Installation dans la machine virtuelle Xen

L'idée est de se connecter sur la machine capbreton et d'y créer une machine virtuelle sur laquelle, je ferais toutes les manipulations.

  • Connexion sur capbreton en ssh depuis un zabeth :

ssh capbreton.plil.info

  • Création d'une image xen:

xen-create-image --hostname=HumanKind --ip=193.48.57.163 --gateway=193.48.57.174 --netmask=255.255.255.0 --dir=/usr/local/xen --password=glopglopglop --dist=buster

  • On peut vérifier l'avancement de l'installation avec cette commande :
tail -f /var/log/xen-tools/HumanKind.cfg
  • Création de la partition pour la machine:

lvcreate -L1G -n HumanKind virtual

  • Création des répertoires var et home:
lvcreate -L10G -n Humankind-home virtual
lvcreate -L10G -n Humankind-var virtual
  • Modification du fichier de configuration de la machine virtuelle /etc/xen/Humankind.cfg :
disk= ['file:/usr/local/xen/domains/Humankind/disk.img,xvda2,w',
'file:/usr/local/xen/domains/Humankind/swap.img,xvda1,w',
'phy:/dev/virtual/Humankind-home, xvdb1,w',
'phy:/dev/virtual/Humankind-var,xvdb2,w',]

S'assurer que dans networking, il y a bridge=IMA2A5

  • Démarrage de la machine virtuelle:
xen create /etc/xen/Humankind.cfg
xen console HumanKind

Services Internet

Configuration du réseau
  • Configuration de l'interface réseau pour avoir accès au réseau. Dans /etc/network/interfaces :
auto lo
iface lo inet loopback

auto eth0

iface eth0 inet6 auto
iface eth0 inet static
address 10.60.100.163/24
up ip address add dev eth0 193.48.57.163/32 ; ip route add default via 10.60.100.254 src 193.48.57.163
down ip address del dev eth0 193.48.57.163/32 ; ip route del default via 10.60.100.254 src 193.48.57.163

Configuration des interfaces réseau grâce aux définitions du fichier au dessus

ifdown eth0
ifup eth0
Serveur SSH
  • Installer le paquet
apt-get install openssh-server

Ne pas oublier d'autoriser ssh dans le fichier /etc/ssh/ssh_config avec PermitRootLogin yes et de redémarrer le service :

service ssh restart

Pour avoir accès depuis une autre machine

ssh root@193.48.57.163
Serveur DNS

Le serveur DNS est un service dont la principale fonction est de traduire un nom de domaine en adresse IP.

J'ai donc commencé par acheter un nom de domaine sur gandi.net

J'ai acheté le nom humankind59.site

Ensuite je l'ai associé à mon adresse IP dans la rubrique Glue records

Gluerecord.png

J'ai aussi configuré sur gandi.net dans la rubrique NameSevers,ma machine virtuelle comme serveur DNS principale et gandi.net comme serveur secondaire

Nameserves.png

  • Configuration du serveur DNS

Comme je viens de renseigner ma machine virtuelle comme serveur DNS, il faut donc configurer un service DNS sur ma MV avec Bind9

Installation du package bind9

apt-get install bind9

Pour inscrire l'IP autorisé à communiquer avec ma machine j'ai changé dans le fichier /etc/bind/named.conf.options :

options {
directory "/var/cache/bind";
forwarders {
0.0.0.0;
};
dnssec-enable yes;
dnssec-validation auto;
listen-on-v6 { any; };
allow-transfer{ "allowed_to_transfer"; };
};
acl "allowed_to_transfer"{
217.70.177.40/32;
};

Ensuite j'ai défini la zone correspondante à mon domaine dans le fichier /etc/bind/named.conf.local  :

zone "humankind59.site" {
type master;
file "/etc/bind/db.humankind.site";
};

Après , j'ai écrit le fichier de configuration du domaine dans /etc/bind/db.humankind.site:

$TTL    3600
@   IN      SOA     ns.humankind59.site. postmaster.humankind59.site. (
1        ; Version
1800     ; Refresh (30m)
600      ; Retry (10m)
3600     ; Expire (1h)
3600 )   ; Minimum TTL (1h)
IN NS ns.humankind59.site.
IN NS ns6.gandi.net.
IN MX 100 ns
ns  IN A   193.48.57.163
www IN CNAME   ns

Pour vérifier les erreurs de syntaxe dans le fichier de configuration, j'utilise la commande suivante , elle doit me retourner OK:

named-checkzone humankind59.site /etc/bind/db.humankind.site

La configuration étant terminé , je relance le service bind avec :

service bind9 restart

Pour tester si le DNS marche, j'essaie de ping avec :

ping -4 google.fr // pou IPV4

Normalement, si tout s'est bien passé mon site est disponible en tapant www.humankind59.site

  • Sécurisation de site web par certificat

Maintenant que mon site est opérationnel, je vais le sécuriser en configurant Apache HTTP avec le certificat SSL, ce dernier doit être signé par une autorité de certification , ici Gandi

D'abord j'installe le package apache

apt-get install apache2

Pour la géneration des clefs ,j'utilise openSSL :

openssl req -nodes -newkey rsa:2048 -sha256 -keyout myserver.key -out server.csr

Je copie-colle le contenu de server.csr , c'est la clef que je dois transmettre à Gandi pour qu'il la valide. Pour la validation Gandi a besoin d'un compte mail pour la validation du compte avant de mettre à disposition les certificats, j'ai utilisé le service mail gratuit de gandi, !!! attention bien le créer avant de valider les clefs à fin de recevoir le mail de vérification.

Une fois validé, on retrouver les certificats sur le site de Gandi, il faut les récupérer et les renseigner sur mon serveur.

mkdir /etc/apache2/certificates

Ensuite depuis la machine sur laquelle j'ai téléchargé les certificats, j'envoie les certificats via ssh dans ce dossier

scp GandiStandardSSLCA2.pem  root@193.48.57.163:/etc/apache2/certificates
scp humankind59.site.crt  root@193.48.57.163:/etc/apache2/certificates

Maintenant que j'ai les certificats sur ma VM, je renseigne leur lien dans le fichier de configuration apache /etc/apache2/config :

Tests d’intrusion

Réalisations

Sécurisation WiFi par WPA2-EAP
  • configuration du serveur freeradius

Dans cette partie je vais configurer la borne wifi pour que celle soit sécuriser par WPA2-EAP, l'accès à la borne se fera par l'identification sur un serveur FReeradius qui sera sur ma MV Je commence par installer freeradius sur ma MV

apt install freeradius

Ensuite je rajoute un utilisateur dans le fichier de configuration /etc/freeradius/3.0/users

 pifou   Cleartext-Password := "glopglop"

je configure le serveur freeradius PEAP-MSCHAPv2 dans le fichier /etc/freeradius/3.0/mods-enabled/eap

use_mppe = yes
require_encryption = yes
require_strong = yes
 with_ntdomain_hack = yes

Je rajoute dans la config client que c'est al borne wifi qui va etre client /etc/freeradius/3.0/clients.conf

client access-point { 
ipaddr = 10.60.101.1 
secret = glopglop
}

Ensuite j'arrête le serveur freeradiu et je le redemarre

service freeradius stop
freeradius -X
  • configuration de la borne wifi

Il faut que du coté de la borne wifi ,je configure le fait que pour tout connection ca passe par le serveur freeradius configurer precedement pour cela il faut rajouter un ssid à la configuration du point d’accès WiFi protégé par la méthode WPA2-EAP. Cela implique d’utiliser un nouveau VLAN donc un nouveau réseau IP à router.

pour se connecter en SSH à la borne wifi

ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 -c aes128-cbc admin@10.60.101.1

les commandes suivantes permettent de creer la config d'un ssid sur le point d'accès wifi et la protection par la méthode WPA2-EAP, pour cela j'ai crée un Vlan

enable 
configure terminal
aaa authentication login EAP_HUMANKIND group RADIUS_HUMANKIND
radius-server host 193.48.57.163 auth-port 1812 acct-port 1813 key glopglop
aaa group server radius RADIUS_HUMANKIND
server 10.60.100.163 auth-port 1812 acct-port 1813
exit
dot11 ssid HUMANKIND1
mbssid guest-mode
vlan 163
authentication open eap EAP_HUMANKIND
authentication network-eap EAP_HUMANKIND
authentication key-management wpa
exit
interface dot11radio0.163
encapsulation dot1q 163
bridge-group 63
exit
interface g0.163
encapsulation dot1q 163
bridge-group 63
exit
interface dot11radio 0
no shutdown
encryption vlan 163 mode ciphers aes-ccm tkip
mbssid
ssid HUMANKIND1
exit
exit
write

Ferme de serveurs Web