← Semaine 14

Laboratoire : faire parler les textes

Construire des regex à la méthode des moutons, puis fouiller les vrais logs de votre VPS.
0 / 6 missions accomplies

Sur papier ou dans un testeur (regex101.com), construisez pas à pas la regex qui détecte /brebis/12/, /brebis/7/, /brebis/345/ :

# Resultat attendu : /\/brebis\/([0-9]+)\/$/

Bonus : la variante qui accepte aussi le pluriel et le / final optionnel, comme les moutons du diaporama.

Sur votre VPS (celui du module 1, qui vit sur Internet depuis des semaines) :

prenom@serveur:~$ sudo grep "Failed password" /var/log/auth.log | head -n 5 prenom@serveur:~$ sudo grep -c "Failed password" /var/log/auth.log prenom@serveur:~$ sudo grep -ci "invalid user" /var/log/auth.log
Le nombre vous surprend ? Les robots pirates frappent à toutes les portes d'Internet, jour et nuit. Vos logs en sont la preuve vivante.
# Le PID de tous les processus apache prenom@serveur:~$ ps aux | grep apache | grep -v grep | awk '{print $2}' # Usager + PID + commande prenom@serveur:~$ ps aux | awk '{print $1, $2, $11}' | head # Comparez avec cut : il faut tr -s d'abord ! prenom@serveur:~$ ps aux | tr -s ' ' | cut -d' ' -f2 | head

Toujours sur une COPIE, jamais sur l'original :

prenom@serveur:~$ cp /etc/ssh/sshd_config ~/exercice-sed.txt prenom@serveur:~$ sed 's/yes/OUI/' ~/exercice-sed.txt | grep OUI prenom@serveur:~$ sed 's/yes/OUI/g' ~/exercice-sed.txt | grep OUI # comparez : sans g et avec g # Modifier le fichier copie pour vrai : prenom@serveur:~$ sed -i 's/#Port 22/Port 2222/' ~/exercice-sed.txt prenom@serveur:~$ grep "Port" ~/exercice-sed.txt
sed -i modifie le fichier sans retour en arrière. Sur un vrai fichier de config : toujours une copie .sauvegarde d'abord !

La chaîne complète, votre première vraie analyse de sécurité :

prenom@serveur:~$ sudo grep "Failed password" /var/log/auth.log \ | awk '{print $(NF-3)}' \ | sort | uniq -c | sort -rn | head
Comparez avec sudo fail2ban-client status sshd : les IP bannies par votre videur de la semaine 0 sont probablement dans votre palmarès !

Assemblez tout : un script qui écrit le palmarès dans un fichier, cédulé chaque nuit (semaine 13 !) :

#!/bin/bash date >> /home/prenom/rapport-attaques.txt sudo grep "Failed password" /var/log/auth.log \ | awk '{print $(NF-3)}' \ | sort | uniq -c | sort -rn | head -n 5 \ >> /home/prenom/rapport-attaques.txt echo "---" >> /home/prenom/rapport-attaques.txt
prenom@serveur:~$ chmod +x rapport-attaques.sh prenom@serveur:~$ crontab -e # 0 6 * * * /home/prenom/rapport-attaques.sh

Chaque matin à 6 h, le rapport des attaques de la nuit vous attend. L'automatisation au service de la sécurité.

Le texte parle et vous l'écoutez ! Regex méthodiques, grep, sed, awk et un rapport de sécurité automatisé. Semaine 15 : les grands cas d'automatisation - sauvegardes et estampes de sécurité.