SkyMinds ~ by Matt | Développeur WordPress et WooCommerce

Un logo Ubuntu orange apparaît à gauche, tandis qu'à droite se trouve une pile stylisée de trois disques de serveur blancs avec un éclair jaune, symbolisant les capacités de base de données à grande vitesse - parfaites pour avertir un administrateur de courrier électronique lors d'un redémarrage du serveur.

Comment envoyer un email à l’administrateur après un redémarrage de serveur

Vous souhaitez être immédiatement informé dès qu’un serveur redémarre ? Que ce soit pour suivre des serveurs de production, détecter des redémarrages inattendus ou simplement valider la disponibilité après une maintenance, recevoir un email automatique est pratique et rassurant.

Dans ce tutoriel, nous allons mettre en place un mécanisme simple, fiable et totalement automatisé sous Linux.

Prérequis

Avant de commencer, assurez-vous de disposer de :

  • Un serveur Linux avec accès root ou sudo.
  • Un serveur de mail local ou distant configuré (Postfix, Exim, etc.).
  • Le paquet mailutils ou équivalent installé pour envoyer des emails depuis la ligne de commande.

Pour installer mailutils sur Debian/Ubuntu :

sudo apt update
sudo apt install mailutils -y

Étape 1 : créer un script d’envoi d’email

Nous allons créer un script simple qui enverra un email à l’administrateur. Il inclura le MOTD (Message of the Day) pour vous donner immédiatement des informations sur le serveur.

  1. Créez le fichier :
sudo nano /home/scripts/send-reboot-email.sh
  1. Ajoutez le contenu suivant :
#!/bin/bash

# Destinataire
TO="admin@example.com"

# Objet de l'email
SUBJECT="Serveur redémarré - $(hostname)"

# Récupération du MOTD dynamique si disponible
if [ -x "$(command -v run-parts)" ] && [ -d /etc/update-motd.d ]; then
    MOTD=$(run-parts /etc/update-motd.d)
elif [ -f /etc/motd ]; then
    MOTD=$(cat /etc/motd)
else
    MOTD="Aucun MOTD disponible"
fi

# Corps de l'email
BODY="Le serveur $(hostname) vient de redémarrer.
Date : $(date)

--- MOTD ---
$MOTD
"

# Envoi de l'email
echo "$BODY" | mail -s "$SUBJECT" "$TO"Code language: PHP (php)
  1. Rendez le script exécutable :
sudo chmod +x /home/scripts/send-reboot-email.sh

Étape 2 : créer un service systemd

Pour exécuter le script automatiquement après un redémarrage et seulement lorsque le serveur de mail est opérationnel, nous allons créer un service systemd.

  1. Créez le fichier de service :
sudo nano /etc/systemd/system/reboot-email.service
  1. Ajoutez le contenu :
[Unit]
Description=Envoyer un email après le redémarrage
After=network.target postfix.service
Requires=postfix.service

[Service]
Type=oneshot
ExecStart=/home/scripts/send-reboot-email.sh
RemainAfterExit=true

[Install]
WantedBy=multi-user.targetCode language: JavaScript (javascript)

Ajustez postfix.service si vous utilisez un autre serveur de mail.

  1. Rechargez systemd et activez le service :
sudo systemctl daemon-reload
sudo systemctl enable reboot-email.serviceCode language: CSS (css)

Lire la suite

Plusieurs sujets d'examen sont posés sur un bureau, recouvrant partiellement un écran sur lequel est inscrit "Bandeau anonymat Copie" (Santorin - Cyclades). La scène suggère la correction de l'épreuve de spécialité LLCE anglais sur Santorin.

Consignes d’évaluation pour l’épreuve de spécialité LLCER/AMC Anglais

Organisation

Une fois les copies anonymisées et numérisées, la correction se fera en ligne (sur Santorin : accès grâce au portail Imag’in, puis Entrée correcteur). Les candidats auront ensuite accès à leur copie corrigée (y compris les annotations), une fois les résultats publiés.

Il n’est pas demandé d’annoter dans le détail chaque copie ni d’apporter des commentaires détaillés, même si chacun peut choisir de le faire. Aucun conseil de progrès n’est à fournir. Nous recommandons tout de même un minimum d’annotations pour bien montrer que la copie a été lue jusqu’au bout. Seule une brève appréciation générale est nécessaire sur chaque en-tête de copie afin de vérifier aisément la cohérence entre la note et l’appréciation.

Cette appréciation devra mentionner séparément la synthèse puis la traduction. Chaque appréciation doit rester mesurée dans sa forme, même sur une copie très faible, partant du principe qu’elle sera portée à la connaissance du candidat. N’hésitez pas à vous inspirer directement des descripteurs des grilles bleues pour rédiger votre appréciation.

Il vous revient de saisir deux notes successives, chacune sur 20 : une note sur 20 pour la synthèse, une note sur 20 pour la version. Attention ! Les grilles bleues évoquent une note sur 10 pour la traduction, donc vous devez multiplier par 2 pour bien fournir une note sur 20 en traduction.

Pour ce faire, il est indispensable de cliquer sur « Sujets à choix », puis de sélectionner « sujet 1 » ou « sujet 2 ». Une fois le numéro de sujet choisi, vous aurez accès à un menu déroulant qui vous permettra d’indiquer les notes sur 20 de la synthèse et de la traduction. C’est la machine qui se chargera de calculer la note finale sur 20 (16+4).

En cas de difficultés pour apprécier une copie, commencez par dialoguer avec d’autres correcteurs présents dans l’établissement ou à proximité dans l’Académie ; si la question persiste, envoyez par mail votre question (avec le n° de copie, ou en joignant une version PDF de la copie extraite de Santorin) aux IA-IPR référents.

Toute difficulté d’ordre technique qui pourrait provenir d’une erreur au moment du scan original (page manquante ou illisible, copies mélangées, copie pour un candidat absent, etc.) peut être réglée par une demande de « retraitement » de la copie. Ouvrez la copie concernée et cliquez sur l’icône enveloppe en haut de l’écran ; choisissez « Contacter l’équipe en charge de la gestion de l’épreuve ». Cela déclenchera l’ouverture d’une deuxième fenêtre « Faire une demande» : choisissez alors « Retraitement » dans le menu déroulant.

Évaluation

Rappel : l’évaluation des deux sous-épreuves se base sur l’exploitation des “grilles bleues” disponibles sur éduscol.

Il est demandé aux correcteurs et correctrices de conserver trace dans leurs archives personnelles de la répartition des points par colonne, pour chaque copie (en cas de contestation, erreurs de calcul ou de report etc). Ces archives sont à conserver jusqu’à publication finale des résultats. Notez qu’il n’est pas demandé de faire apparaître sur la copie en ligne cette répartition par colonne.

Lire la suite

Illustration numérique avec des motifs de circuits géométriques dans les tons sarcelle et orange. Au premier plan, un texte blanc indique "SSH" avec un symbole d'invite de terminal à gauche et une icône de clé à droite, évoquant SSH-Audit et les étapes pour sécuriser le serveur SSH.

Comment sécuriser efficacement votre serveur SSH avec SSH-Audit

La sécurité SSH est souvent négligée… jusqu’au jour où une attaque brute force ou une mauvaise configuration vous met à genoux. Heureusement, il existe un outil open source simple, rapide et redoutablement efficace pour auditer la sécurité de votre serveur SSH : SSH-Audit.

Dans ce guide, on va voir ensemble comment utiliser SSH-Audit pour scanner, comprendre les failles et corriger les erreurs sur un serveur Ubuntu 24.04.

Installer SSH-Audit avec Python

SSH-Audit est un script Python autonome. Pas besoin de bibliothèque externe, pas de dépendances lourdes. Juste Python, un terminal et c’est parti :

pipx install ssh-audit

Résultat:

  installed package ssh-audit 3.3.0, installed using Python 3.12.3
  These apps are now globally available
    - ssh-audit
done! ✨ 🌟 ✨Code language: CSS (css)

Vous pouvez lancer l’audit depuis votre fenêtre de terminal:

ssh-audit monserveur.exemple.com -pPORTNUMBERCode language: CSS (css)

Si vous voulez tester sans rien installer, vous pouvez aussi passer par le service en ligne ssh-audit.com : entrez simplement l’adresse IP ou le nom de domaine de votre serveur, SSH-Audit vous renvoie un rapport clair et lisible.

Voici le rapport de ssh-audit pour un Ubuntu Server de base, avant optimisation :

# general
(gen) banner: SSH-2.0-OpenSSH_9.6p1 Ubuntu-3ubuntu13.12
(gen) software: OpenSSH 9.6p1
(gen) compatibility: OpenSSH 9.6+, Dropbear SSH 2020.79+
(gen) compression: enabled (zlib@openssh.com)

# key exchange algorithms
(kex) sntrup761x25519-sha512@openssh.com    -- [info] available since OpenSSH 8.5
                                            `- [info] default key exchange from OpenSSH 9.0 to 9.8
                                            `- [info] hybrid key exchange based on post-quantum resistant algorithm and proven conventional X25519 algorithm
(kex) curve25519-sha256                     -- [info] available since OpenSSH 7.4, Dropbear SSH 2018.76
                                            `- [info] default key exchange from OpenSSH 7.4 to 8.9
(kex) curve25519-sha256@libssh.org          -- [info] available since OpenSSH 6.4, Dropbear SSH 2013.62
                                            `- [info] default key exchange from OpenSSH 6.5 to 7.3
(kex) ecdh-sha2-nistp256                    -- [fail] using elliptic curves that are suspected as being backdoored by the U.S. National Security Agency
                                            `- [info] available since OpenSSH 5.7, Dropbear SSH 2013.62
(kex) ecdh-sha2-nistp384                    -- [fail] using elliptic curves that are suspected as being backdoored by the U.S. National Security Agency
                                            `- [info] available since OpenSSH 5.7, Dropbear SSH 2013.62
(kex) ecdh-sha2-nistp521                    -- [fail] using elliptic curves that are suspected as being backdoored by the U.S. National Security Agency
                                            `- [info] available since OpenSSH 5.7, Dropbear SSH 2013.62
(kex) diffie-hellman-group-exchange-sha256 (3072-bit) -- [info] available since OpenSSH 4.4
                                                      `- [info] OpenSSH's GEX fallback mechanism was triggered during testing. Very old SSH clients will still be able to create connections using a 2048-bit modulus, though modern clients will use 3072. This can only be disabled by recompiling the code (see https://github.com/openssh/openssh-portable/blob/V_9_4/dh.c#L477).
(kex) diffie-hellman-group16-sha512         -- [info] available since OpenSSH 7.3, Dropbear SSH 2016.73
(kex) diffie-hellman-group18-sha512         -- [info] available since OpenSSH 7.3
(kex) diffie-hellman-group14-sha256         -- [warn] 2048-bit modulus only provides 112-bits of symmetric strength
                                            `- [info] available since OpenSSH 7.3, Dropbear SSH 2016.73
(kex) ext-info-s                            -- [info] available since OpenSSH 9.6
                                            `- [info] pseudo-algorithm that denotes the peer supports RFC8308 extensions
(kex) kex-strict-s-v00@openssh.com          -- [info] pseudo-algorithm that denotes the peer supports a stricter key exchange method as a counter-measure to the Terrapin attack (CVE-2023-48795)

# host-key algorithms
(key) rsa-sha2-512 (3072-bit)               -- [info] available since OpenSSH 7.2
(key) rsa-sha2-256 (3072-bit)               -- [info] available since OpenSSH 7.2, Dropbear SSH 2020.79
(key) ecdsa-sha2-nistp256                   -- [fail] using elliptic curves that are suspected as being backdoored by the U.S. National Security Agency
                                            `- [warn] using weak random number generator could reveal the key
                                            `- [info] available since OpenSSH 5.7, Dropbear SSH 2013.62
(key) ssh-ed25519                           -- [info] available since OpenSSH 6.5, Dropbear SSH 2020.79

# encryption algorithms (ciphers)
(enc) chacha20-poly1305@openssh.com         -- [info] available since OpenSSH 6.5, Dropbear SSH 2020.79
                                            `- [info] default cipher since OpenSSH 6.9
(enc) aes128-ctr                            -- [info] available since OpenSSH 3.7, Dropbear SSH 0.52
(enc) aes192-ctr                            -- [info] available since OpenSSH 3.7
(enc) aes256-ctr                            -- [info] available since OpenSSH 3.7, Dropbear SSH 0.52
(enc) aes128-gcm@openssh.com                -- [info] available since OpenSSH 6.2
(enc) aes256-gcm@openssh.com                -- [info] available since OpenSSH 6.2

# message authentication code algorithms
(mac) umac-64-etm@openssh.com               -- [warn] using small 64-bit tag size
                                            `- [info] available since OpenSSH 6.2
(mac) umac-128-etm@openssh.com              -- [info] available since OpenSSH 6.2
(mac) hmac-sha2-256-etm@openssh.com         -- [info] available since OpenSSH 6.2
(mac) hmac-sha2-512-etm@openssh.com         -- [info] available since OpenSSH 6.2
(mac) hmac-sha1-etm@openssh.com             -- [fail] using broken SHA-1 hash algorithm
                                            `- [info] available since OpenSSH 6.2
(mac) umac-64@openssh.com                   -- [warn] using encrypt-and-MAC mode
                                            `- [warn] using small 64-bit tag size
                                            `- [info] available since OpenSSH 4.7
(mac) umac-128@openssh.com                  -- [warn] using encrypt-and-MAC mode
                                            `- [info] available since OpenSSH 6.2
(mac) hmac-sha2-256                         -- [warn] using encrypt-and-MAC mode
                                            `- [info] available since OpenSSH 5.9, Dropbear SSH 2013.56
(mac) hmac-sha2-512                         -- [warn] using encrypt-and-MAC mode
                                            `- [info] available since OpenSSH 5.9, Dropbear SSH 2013.56
(mac) hmac-sha1                             -- [fail] using broken SHA-1 hash algorithm
                                            `- [warn] using encrypt-and-MAC mode
                                            `- [info] available since OpenSSH 2.1.0, Dropbear SSH 0.28

# fingerprints
(fin) ssh-ed25519: SHA256:YnkJfR0z/UMb2wQ+wYvEwgTJPheozRsMH41BvEXL56Q
(fin) ssh-rsa: SHA256:Ax+2iFsBx5juS8y+bVXxvs3DT0bdoX4nKAdGje1iknQ

# algorithm recommendations (for OpenSSH 9.6)
(rec) -ecdh-sha2-nistp256                   -- kex algorithm to remove
(rec) -ecdh-sha2-nistp384                   -- kex algorithm to remove
(rec) -ecdh-sha2-nistp521                   -- kex algorithm to remove
(rec) -ecdsa-sha2-nistp256                  -- key algorithm to remove
(rec) -hmac-sha1                            -- mac algorithm to remove
(rec) -hmac-sha1-etm@openssh.com            -- mac algorithm to remove
(rec) -diffie-hellman-group14-sha256        -- kex algorithm to remove
(rec) -hmac-sha2-256                        -- mac algorithm to remove
(rec) -hmac-sha2-512                        -- mac algorithm to remove
(rec) -umac-128@openssh.com                 -- mac algorithm to remove
(rec) -umac-64-etm@openssh.com              -- mac algorithm to remove
(rec) -umac-64@openssh.com                  -- mac algorithm to removeCode language: PHP (php)

Et le résultat en image :

Audit SSH sous un serveur Ubuntu avant optimisation, pas top!
Audit SSH sous un serveur Ubuntu avant optimisation, pas top :(

Ce n’est pas vraiment idéal ! Passons à l’étape suivante pour sécuriser le service SSH.

Lire la suite