Comment prouve-t-on qu'un serveur a été piraté ?
Un journal est un fichier où une machine écrit ce qui se passe : qui s'est connecté, quand, depuis où. Après une attaque, c'est la preuve principale.
Aujourd'hui, tu apprends à lire un journal et à en tirer une chronologie. Un enquêteur ne devine pas : il compte et il ordonne.
À la fin de cette leçon
Remarque
Je peux repérer dans un journal les traces d'une attaque par essais de mots de passe.
Mots clés
| Mot | Ce que ça veut dire | Exemple |
|---|---|---|
| Journal | un fichier où une machine note ce qui se passe | |
| Adresse IP | le numéro d'une machine sur le réseau | 203.0.113.9 |
| Chronologie | les événements rangés dans l'ordre du temps | |
| Preuve | une trace qu'on garde sans la changer | |
| Persistance | ce que laisse un intrus pour revenir plus tard |
Les cellules que les étudiants remplissent restent vides dans cet aperçu.
La règle de ce lab
Important
Tu travailles seulement sur les preuves de ta propre copie du lab, avec la permission de ton enseignant. Le dossier est de faux journaux : aucun vrai serveur n'est visé. Ne cherche jamais de traces sur une machine qui n'est pas à toi. On apprend à enquêter pour mieux défendre.
Comment lire une ligne de journal ?
Une ligne de journal répond à quatre questions : quand, sur quelle machine, quel programme, que s'est-il passé. Une ligne d'échec ressemble à l'exemple du tableau.
Les adresses IP des exemples de ce module sont inventées. Elles viennent d'une plage réservée aux exemples.
Exemple : une ligne de journal inventée
| Morceau | Valeur | Ce que ça dit |
|---|---|---|
| Date et heure | Oct 14 03:12:07 | Quand |
| Machine | web01 | Sur quel serveur |
| Programme | sshd | Le service de connexion à distance |
| Événement | Failed password for root | Un mot de passe faux pour le compte root |
| Origine | from 203.0.113.9 | L'adresse d'où vient l'essai |
Les cellules que les étudiants remplissent restent vides dans cet aperçu.
Avant de commencer
Remarque
Appuie sur Start the lab et attends que la machine soit prête. Ses preuves sont dans le dossier case, en lecture seule. Dans cette leçon, tu regardes la forme du dossier. L'enquête elle-même est le travail du lab.
Regarde ce que contient le dossier de preuves
ls caseAffichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.
Lis la première ligne des dates de modification
head -n 1 case/mtimes.txtAffichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.
Compte les comptes de la machine copiée
wc -l < case/etc/passwdAffichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.
Comment repérer une attaque par essais ?
Une attaque par essais laisse beaucoup de lignes d'échec venant de la même adresse, en peu de temps. Compter les échecs par adresse montre qui insiste.
On compte avec une chaîne de commandes : grep garde les lignes d'échec, cut garde l'adresse, sort range, uniq -c compte les doublons.
Écris un petit journal inventé de six lignes
printf '10.0.0.5 echec\n10.0.0.9 echec\n10.0.0.5 echec\n10.0.0.5 echec\n10.0.0.9 reussi\n10.0.0.5 reussi\n' > exemple.logAffichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.
Compte les échecs de chaque adresse
grep echec exemple.log | cut -d' ' -f1 | sort | uniq -cAffichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.
Exemple : le résultat sur le journal inventé
| Adresse | Échecs | A fini par réussir ? |
|---|---|---|
| 10.0.0.5 | 3 | Oui, à la dernière ligne |
| 10.0.0.9 | 1 | Oui, à la ligne 5 |
Les cellules que les étudiants remplissent restent vides dans cet aperçu.
Une erreur fréquente
Attention
Beaucoup pensent que l'adresse qui échoue le plus est celle de l'intrus. Ce n'est pas sûr : un robot peut échouer toute la journée sans jamais entrer. Regarde aussi qui réussit après des échecs, et à quelle heure.
Comment bâtir une chronologie ?
Une chronologie range les faits dans l'ordre du temps : les essais, la première connexion réussie, puis ce qui change sur la machine après.
Une trace laissée avant l'arrivée de l'intrus ne peut pas être la sienne. Une trace laissée juste après sa connexion peut l'être.
Pour aller plus loin : le rapport d'incident
Un rapport d'incident dit ce qu'on a trouvé, quand, et à quelle preuve on le doit. Il ne contient pas de supposition présentée comme un fait.
Écris trois lignes de rapport pour le petit journal inventé de cette leçon : l'adresse, le nombre d'échecs et l'heure de la réussite.