Rapport d'Audit CIS - MariaDB 10.11

Date du rapport : 14/08/2026 12:16:57

Local Bare-Metal CIS Benchmark v1.1.0 v2.3.0
Score Global
54.5%
Succès
4

Vérifications conformes

Échecs
5

Non-conformités détectées

Erreurs Commande
55

Échecs d'exécution technique

Manuels
9

À vérifier manuellement

Métriques par Thématiques de Sécurité

Authentification & Accès 85%
Chiffrement & TLS/SSL 90%
Audits & Logs Système 75%

Répartition Automatisée

54.5% Score Global
Réussi (PASS) : 4
Échoué (FAIL) : 5
Erreur (Error) : 55
Non Applicable (N/A) : 0

Analyse par Catégorie

Répartition des contrôles automatisés par catégorie

Réussi
Échoué
Erreur
N/A
1. Configuration Système d'exploitation 33.3% (2/7)
2. Installation et Planification 0.0% (0/8)
3. Permissions Fichiers 0.0% (0/10)
4. Général 100.0% (2/8)
5. Permissions MariaDB 0.0% (0/7)
6. Audit & Journalisation 0.0% (0/6)
7. Authentification 0.0% (0/7)
8. Sécurité réseau 0.0% (0/2)
9. Réplication 100.0% (0/2)

1. Configuration Système d'exploitation

Détails des recommandations et résultats pour cette section.

2 Pass 4 Fail 0 Manuel 1 Error 0 N/A
33%
ID Recommandation Status Analyse & Remediation
1.1
Placer les bases de données sur des partitions non-système
echo 'Contrôle Manuel: '
❓ Error
Résultat de l'audit:
Error lors de l'obtention du chemin via:
`mysql -N -B -e "SELECT @@datadir;"`
Output:
Impossible d'exécuter la commande client MariaDB/MySQL (vérifier si le service est démarré ou conteneur Docker actif). [Erreur d'Exécution de Commande - Non-conformité de sécurité non évaluée]
Remediation:
Sauvegarder la base, déplacer les fichiers de données vers une partition dédiée, mettre à jour datadir dans la configuration MariaDB, redémarrer le service.
1.2
Utiliser un compte dédié et privilégié minimal pour MariaDB
ps -ef | grep -E 'mysqld|mariadbd' | grep -v grep | awk '{print $1}' | head -n 1
❌ Fail
Résultat de l'audit:
Stdout:

Stderr:

Return Code: 0
Remediation:
Configurer le service MariaDB pour qu'il s'exécute sous un utilisateur dédié (ex: 'mysql') avec les privilèges minimaux.
1.3
Désactiver l'historique des commandes MariaDB
! find /home /root -name .mysql_history -print -quit
❌ Fail
Résultat de l'audit:
Stdout:

Stderr:
Command execution timed out after 10 seconds
Return Code: -1
Remediation:
Supprimer les fichiers d'historique, créer un lien symbolique vers /dev/null, ou configurer MYSQL_HISTFILE.
1.4
Vérifier que MYSQL_PWD n'est pas utilisé
! grep -qs MYSQL_PWD /proc/*/environ
✅ Pass
Résultat de l'audit:
Stdout:

Stderr:

Return Code: 0
Remediation:
Modifier les scripts/utilisateurs pour éviter MYSQL_PWD, utiliser des méthodes d'authentification sécurisées.
1.5
Désactiver l'accès interactif pour l'utilisateur MySQL
getent passwd mysql | cut -d: -f7
❌ Fail
Résultat de l'audit:
Stdout:

Stderr:

Return Code: 0
Remediation:
Modifier le shell de l'utilisateur mysql pour utiliser /bin/false ou /sbin/nologin (ex: usermod -s /sbin/nologin mysql).
1.6
Vérifier que MYSQL_PWD n'est pas dans les profils utilisateurs
! grep -qs MYSQL_PWD /home/*/.{bashrc,profile,bash_profile} /root/.{bashrc,profile,bash_profile} /etc/environment
✅ Pass
Résultat de l'audit:
Stdout:

Stderr:

Return Code: 0
Remediation:
Nettoyer les fichiers de login des utilisateurs pour supprimer MYSQL_PWD.
1.7
Exécuter MariaDB dans un environnement sandbox
[[ -f /.dockerenv ]] || grep -qs 'docker\|containerd' /proc/1/cgroup || systemctl is-active mariadb >/dev/null 2>&1
❌ Fail
Guide de Validation Manuelle:
  • Vérifier si MariaDB utilise chroot.
  • Vérifier si MariaDB est géré par systemd.
  • Vérifier si MariaDB fonctionne dans un conteneur Docker.
Résultat de l'audit:
Stdout:

Stderr:

Return Code: 4
Remediation:
Configurer chroot, utiliser un service systemd avec un utilisateur spécifique, ou déployer MariaDB sous Docker.

2. Installation et Planification

Détails des recommandations et résultats pour cette section.

0 Pass 0 Fail 10 Manuel 8 Error 0 N/A
0%
ID Recommandation Status Analyse & Remediation
2.1.1
Politique de sauvegarde en place
crontab -l | grep -E 'mariabackup|mysqldump|xtrabackup' || echo 'AUCUNE_SAUVEGARDE_PLANIFIEE'
⚠️ Manuel
Guide de Validation Manuelle:
  • Vérifier la présence d'un cron de sauvegarde.
  • Confirmer l'utilisation de mariabackup ou mysqldump.
  • Documenter la politique de sauvegarde.
Résultat de l'audit:
This control requires manual verification.

Résultat de l'extraction automatique pour aide:
Stdout:
AUCUNE_SAUVEGARDE_PLANIFIEE
Stderr:
no crontab for jmren
Return Code: 0
Remediation:
Créer une politique de sauvegarde et planifier des sauvegardes automatiques.
2.1.2
Validation des sauvegardes
ls -la /var/backups/ /var/lib/mariadb/ /var/lib/mysql/ /var/lib/pgsql/ | head -n 20 || echo 'VÉRIFICATION_MANUELLE_REQUIS'
⚠️ Manuel
Guide de Validation Manuelle:
  • Identifier les fichiers de sauvegarde récents.
  • Restaurer une base de test à partir de ces fichiers.
  • Vérifier l'intégrité des données.
  • Documenter la date et le résultat du test.
Résultat de l'audit:
This control requires manual verification.

Résultat de l'extraction automatique pour aide:
Stdout:
/var/backups/:
total 3500
drwxr-xr-x  2 root root    4096 Aug 13 00:00 .
drwxr-xr-x 13 root root    4096 Nov 25  2025 ..
-rw-r--r--  1 root root   92160 Aug 13 00:00 alternatives.tar.0
-rw-r--r--  1 root root    6150 Aug  8 00:00 alternatives.tar.1.gz
-rw-r--r--  1 root root    6151 Aug  4 00:00 alternatives.tar.2.gz
-rw-r--r--  1 root root    6158 Jul 28 00:00 alternatives.tar.3.gz
-rw-r--r--  1 root root    6146 Jul 27 11:00 alternatives.tar.4.gz
-rw-r--r--  1 root root    6139 Jul 18 09:07 alternatives.tar.5.gz
-rw-r--r--  1 root root    6149 Jul 10 00:00 alternatives.tar.6.gz
-rw-r--r--  1 root root   67271 May 19 22:01 apt.extended_states.0
-rw-r--r--  1 root root    7265 Apr 20 00:10 apt.extended_states.1.gz
-rw-r--r--  1 root root    7241 Mar 29 23:38 apt.extended_states.2.gz
-rw-r--r--  1 root root    7228 Mar 11 17:40 apt.extended_states.3.gz
-rw-r--r--  1 root root    7258 Feb 26 19:38 apt.extended_states.4.gz
-rw-r--r--  1 root root    7275 Feb  9  2026 apt.extended_states.5.gz
-rw-r--r--  1 root root    7237 Jan 21  2026 apt.extended_states.6.gz
-rw-r--r--  1 root root       0 Aug 13 00:00 dpkg.arch.0
-rw-r--r--  1 root root      32 Aug  8 00:00 dpkg.arch.1.gz
Stderr:
ls: cannot access '/var/lib/mariadb/': No such file or directory
ls: cannot access '/var/lib/mysql/': No such file or directory
ls: cannot access '/var/lib/pgsql/': No such file or directory
Return Code: 0
Remediation:
Planifier et documenter les tests de restauration périodiques.
2.1.3
Sécuriser les identifiants de sauvegarde
ls -la /etc/mysql/ /etc/mariadb/ /root/.my.cnf /etc/my.cnf /var/lib/mysql/
⚠️ Manuel
Guide de Validation Manuelle:
  • Rechercher les scripts de sauvegarde.
  • Vérifier si les mots de passe sont en clair.
  • S'assurer que les fichiers de config (.my.cnf) ont des droits 600.
Résultat de l'audit:
This control requires manual verification.

Résultat de l'extraction automatique pour aide:
Stdout:
/etc/mysql/:
total 24
drwxr-xr-x   4 root root 4096 Jan 24  2026 .
drwxr-xr-x 109 root root 4096 Aug 14 12:06 ..
drwxr-xr-x   2 root root 4096 Nov 26  2025 conf.d
-rw-r--r--   1 root root 1126 May 24  2025 mariadb.cnf
drwxr-xr-x   2 root root 4096 Jan 24  2026 mariadb.conf.d
lrwxrwxrwx   1 root root   24 Oct 20  2020 my.cnf -> /etc/alternatives/my.cnf
-rw-r--r--   1 root root  839 Oct 20  2020 my.cnf.fallback
Stderr:
ls: cannot access '/etc/mariadb/': No such file or directory
ls: cannot access '/root/.my.cnf': Permission denied
ls: cannot access '/etc/my.cnf': No such file or directory
ls: cannot access '/var/lib/mysql/': No such file or directory
Return Code: 2
Remediation:
Restreindre les droits fichiers, utiliser des keystores ou du chiffrement.
2.1.4
Sécuriser les fichiers de sauvegarde
file /var/backups/* | head -n 10 || echo 'VÉRIFICATION_CHIFFREMENT_SAUVEGARDE'
⚠️ Manuel
Guide de Validation Manuelle:
  • Localiser le stockage des sauvegardes.
  • Vérifier les ACLs.
  • Confirmer que les fichiers sont chiffrés au repos (AES-256/GPG).
Résultat de l'audit:
This control requires manual verification.

Résultat de l'extraction automatique pour aide:
Stdout:
/var/backups/alternatives.tar.0:       POSIX tar archive (GNU)
/var/backups/alternatives.tar.1.gz:    gzip compressed data, was "alternatives.tar.0", last modified: Fri Aug  7 22:00:00 2026, max compression, from Unix, original size modulo 2^32 92160
/var/backups/alternatives.tar.2.gz:    gzip compressed data, was "alternatives.tar.0", last modified: Mon Aug  3 22:00:01 2026, max compression, from Unix, original size modulo 2^32 92160
/var/backups/alternatives.tar.3.gz:    gzip compressed data, was "alternatives.tar.0", last modified: Mon Jul 27 22:00:02 2026, max compression, from Unix, original size modulo 2^32 92160
/var/backups/alternatives.tar.4.gz:    gzip compressed data, was "alternatives.tar.0", last modified: Mon Jul 27 09:00:12 2026, max compression, from Unix, original size modulo 2^32 92160
/var/backups/alternatives.tar.5.gz:    gzip compressed data, was "alternatives.tar.0", last modified: Sat Jul 18 07:07:30 2026, max compression, from Unix, original size modulo 2^32 92160
/var/backups/alternatives.tar.6.gz:    gzip compressed data, was "alternatives.tar.0", last modified: Thu Jul  9 22:00:35 2026, max compression, from Unix, original size modulo 2^32 92160
/var/backups/apt.extended_states.0:    ASCII text
/var/backups/apt.extended_states.1.gz: gzip compressed data, was "apt.extended_states.0", last modified: Sun Apr 19 22:10:31 2026, max compression, from Unix, original size modulo 2^32 67389
/var/backups/apt.extended_states.2.gz: gzip compressed data, was "apt.extended_states.0", last modified: Sun Mar 29 21:38:32 2026, max compression, from Unix, original size modulo 2^32 67192
Stderr:

Return Code: 0
Remediation:
Utiliser le chiffrement des sauvegardes (mariabackup + openssl enc).
2.1.5
Point-in-Time Recovery
mysql -N -B -e "SELECT VARIABLE_VALUE FROM information_schema.global_variables WHERE variable_name = 'binlog_expire_logs_seconds';"
❓ Error
Résultat de l'audit:
Error: Impossible de se connecter au serveur (service arrêté ou mauvais socket).
Stdout:

Stderr:
ERROR 2002 (HY000): Can't connect to local server through socket '/run/mysqld/mysqld.sock' (2)
Return Code: 1
Remediation:
Activer les binlogs, configurer binlog_expire_logs_seconds dans mariadb.cnf, tester les restaurations PITR.
2.1.6
Plan de reprise d'activité (DR)
ls -la /etc/mysql/ /etc/mariadb/ /etc/postgresql/ /var/backups/ /backup/
⚠️ Manuel
Guide de Validation Manuelle:
  • Consulter la documentation technique.
  • Vérifier la présence d'une procédure de basculement.
  • Confirmer la réplication hors-site.
Résultat de l'audit:
This control requires manual verification.

Résultat de l'extraction automatique pour aide:
Stdout:
/etc/mysql/:
total 24
drwxr-xr-x   4 root root 4096 Jan 24  2026 .
drwxr-xr-x 109 root root 4096 Aug 14 12:06 ..
drwxr-xr-x   2 root root 4096 Nov 26  2025 conf.d
-rw-r--r--   1 root root 1126 May 24  2025 mariadb.cnf
drwxr-xr-x   2 root root 4096 Jan 24  2026 mariadb.conf.d
lrwxrwxrwx   1 root root   24 Oct 20  2020 my.cnf -> /etc/alternatives/my.cnf
-rw-r--r--   1 root root  839 Oct 20  2020 my.cnf.fallback

/var/backups/:
total 3500
drwxr-xr-x  2 root root    4096 Aug 13 00:00 .
drwxr-xr-x 13 root root    4096 Nov 25  2025 ..
-rw-r--r--  1 root root   92160 Aug 13 00:00 alternatives.tar.0
-rw-r--r--  1 root root    6150 Aug  8 00:00 alternatives.tar.1.gz
-rw-r--r--  1 root root    6151 Aug  4 00:00 alternatives.tar.2.gz
-rw-r--r--  1 root root    6158 Jul 28 00:00 alternatives.tar.3.gz
-rw-r--r--  1 root root    6146 Jul 27 11:00 alternatives.tar.4.gz
-rw-r--r--  1 root root    6139 Jul 18 09:07 alternatives.tar.5.gz
-rw-r--r--  1 root root    6149 Jul 10 00:00 alternatives.tar.6.gz
-rw-r--r--  1 root root   67271 May 19 22:01 apt.extended_states.0
-rw-r--r--  1 root root    7265 Apr 20 00:10 apt.extended_states.1.gz
-rw-r--r--  1 root root    7241 Mar 29 23:38 apt.extended_states.2.gz
-rw-r--r--  1 root root    7228 Mar 11 17:40 apt.extended_states.3.gz
-rw-r--r--  1 root root    7258 Feb 26 19:38 apt.extended_states.4.gz
-rw-r--r--  1 root root    7275 Feb  9  2026 apt.extended_states.5.gz
-rw-r--r--  1 root root    7237 Jan 21  2026 apt.extended_states.6.gz
-rw-r--r--  1 root root       0 Aug 13 00:00 dpkg.arch.0
-rw-r--r--  1 root root      32 Aug  8 00:00 dpkg.arch.1.gz
-rw-r--r--  1 root root      32 Aug  7 00:00 dpkg.arch.2.gz
-rw-r--r--  1 root root      32 Aug  4 00:00 dpkg.arch.3.gz
-rw-r--r--  1 root root      32 Aug  2 00:00 dpkg.arch.4.gz
-rw-r--r--  1 root root      32 Jul 31 20:45 dpkg.arch.5.gz
-rw-r--r--  1 root root      32 Jul 28 00:00 dpkg.arch.6.gz
-rw-r--r--  1 root root    1830 May 20 15:29 dpkg.diversions.0
-rw-r--r--  1 root root     410 May 20 15:29 dpkg.diversions.1.gz
-rw-r--r--  1 root root     410 May 20 15:29 dpkg.diversions.2.gz
-rw-r--r--  1 root root     410 May 20 15:29 dpkg.diversions.3.gz
-rw-r--r--  1 root root     410 May 20 15:29 dpkg.diversions.4.gz
-rw-r--r--  1 root root     410 May 20 15:29 dpkg.diversions.5.gz
-rw-r--r--  1 root root     410 May 20 15:29 dpkg.diversions.6.gz
-rw-r--r--  1 root root     187 Dec 28  2025 dpkg.statoverride.0
-rw-r--r--  1 root root     160 Dec 28  2025 dpkg.statoverride.1.gz
-rw-r--r--  1 root root     160 Dec 28  2025 dpkg.statoverride.2.gz
-rw-r--r--  1 root root     160 Dec 28  2025 dpkg.statoverride.3.gz
-rw-r--r--  1 root root     160 Dec 28  2025 dpkg.statoverride.4.gz
-rw-r--r--  1 root root     160 Dec 28  2025 dpkg.statoverride.5.gz
-rw-r--r--  1 root root     160 Dec 28  2025 dpkg.statoverride.6.gz
-rw-r--r--  1 root root 1338426 Aug 12 09:22 dpkg.status.0
-rw-r--r--  1 root root  314075 Aug  7 09:15 dpkg.status.1.gz
-rw-r--r--  1 root root  314068 Aug  6 06:11 dpkg.status.2.gz
-rw-r--r--  1 root root  314068 Aug  3 23:03 dpkg.status.3.gz
-rw-r--r--  1 root root  314075 Aug  1 06:10 dpkg.status.4.gz
-rw-r--r--  1 root root  314058 Jul 29 06:05 dpkg.status.5.gz
-rw-r--r--  1 root root  314049 Jul 27 11:33 dpkg.status.6.gz
Stderr:
ls: cannot access '/etc/mariadb/': No such file or directory
ls: cannot access '/etc/postgresql/': No such file or directory
ls: cannot access '/backup/': No such file or directory
Return Code: 2
Remediation:
Documenter et tester un plan DR incluant réplication Galera, backups offsite.
2.1.7
Sauvegarde des fichiers de configuration
ls -la /etc/mysql/mariadb.conf.d/ /etc/postgresql/ /etc/mongod.conf /etc/cassandra/ || echo 'VÉRIFICATION_CONFIG_SAUVEGARDE'
⚠️ Manuel
Guide de Validation Manuelle:
  • Lister le contenu d'une sauvegarde complète.
  • Vérifier la présence de /etc/mysql/mariadb.cnf et des certificats SSL.
Résultat de l'audit:
This control requires manual verification.

Résultat de l'extraction automatique pour aide:
Stdout:
/etc/mysql/mariadb.conf.d/:
total 20
drwxr-xr-x 2 root root 4096 Jan 24  2026 .
drwxr-xr-x 4 root root 4096 Jan 24  2026 ..
-rw-r--r-- 1 root root  575 May 24  2025 50-client.cnf
-rw-r--r-- 1 root root  231 May 24  2025 50-mysql-clients.cnf
-rw-r--r-- 1 root root  570 May 24  2025 60-galera.cnf
VÉRIFICATION_CONFIG_SAUVEGARDE
Stderr:
ls: cannot access '/etc/postgresql/': No such file or directory
ls: cannot access '/etc/mongod.conf': No such file or directory
ls: cannot access '/etc/cassandra/': No such file or directory
Return Code: 0
Remediation:
Ajouter tous les fichiers essentiels à la stratégie de sauvegarde.
2.2
Dédier la machine à MariaDB
ps aux | grep -v '\[.*\]' | grep -v grep | head -n 30
⚠️ Manuel
Guide de Validation Manuelle:
  • Lister les services actifs (systemctl list-units --type=service).
  • S'assurer qu'aucun autre service de base de données ou applicatif majeur ne tourne.
Résultat de l'audit:
This control requires manual verification.

Résultat de l'extraction automatique pour aide:
Stdout:
USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root           1  0.0  0.0  21876 13368 ?        Ss   09:29   0:01 /sbin/init
root           2  0.0  0.0   3180  2204 hvc0     Sl+  09:29   0:00 /init
root           6  0.0  0.0   3236  2164 hvc0     Sl+  09:29   0:00 plan9 --control-socket 7 --log-level 4 --server-fd 8 --pipe-fd 10 --log-truncate
root          52  0.0  0.1  66988 19880 ?        S<s  09:29   0:01 /usr/lib/systemd/systemd-journald
root         101  0.0  0.0  25284  6676 ?        Ss   09:29   0:00 /usr/lib/systemd/systemd-udevd
root         114  0.0  0.0 153076  1916 ?        Ssl  09:29   0:00 snapfuse /var/lib/snapd/snaps/core22_2411.snap /snap/core22/2411 -o ro,nodev,allow_other,suid
root         119  0.0  0.0 152944  1820 ?        Ssl  09:29   0:00 snapfuse /var/lib/snapd/snaps/core24_1587.snap /snap/core24/1587 -o ro,nodev,allow_other,suid
root         124  0.0  0.0 676292 11128 ?        Ssl  09:29   0:04 snapfuse /var/lib/snapd/snaps/core24_1643.snap /snap/core24/1643 -o ro,nodev,allow_other,suid
root         126  0.0  0.0 152944  1856 ?        Ssl  09:29   0:00 snapfuse /var/lib/snapd/snaps/docker_3505.snap /snap/docker/3505 -o ro,nodev,allow_other,suid
root         134  0.0  0.0 452000 11884 ?        Ssl  09:29   0:03 snapfuse /var/lib/snapd/snaps/docker_3579.snap /snap/docker/3579 -o ro,nodev,allow_other,suid
root         140  0.0  0.0 152944  1868 ?        Ssl  09:29   0:00 snapfuse /var/lib/snapd/snaps/google-cloud-cli_485.snap /snap/google-cloud-cli/485 -o ro,nodev,allow_other,suid
root         144  0.0  0.0 153076  1964 ?        Ssl  09:29   0:00 snapfuse /var/lib/snapd/snaps/google-cloud-cli_487.snap /snap/google-cloud-cli/487 -o ro,nodev,allow_other,suid
root         151  0.0  0.0 152944  1828 ?        Ssl  09:29   0:00 snapfuse /var/lib/snapd/snaps/snapd_27591.snap /snap/snapd/27591 -o ro,nodev,allow_other,suid
root         154  0.0  0.0 526764 12132 ?        Ssl  09:29   0:04 snapfuse /var/lib/snapd/snaps/snapd_27710.snap /snap/snapd/27710 -o ro,nodev,allow_other,suid
systemd+     189  0.0  0.0  21476 13312 ?        Ss   09:29   0:00 /usr/lib/systemd/systemd-resolved
systemd+     194  0.0  0.0  91036  8012 ?        Ssl  09:29   0:00 /usr/lib/systemd/systemd-timesyncd
root         238  0.0  0.0   4244  2816 ?        Ss   09:29   0:00 /usr/sbin/cron -f -P
message+     239  0.0  0.0   9652  5484 ?        Ss   09:29   0:00 @dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only
root         247  0.0  0.2 2442200 39236 ?       Ssl  09:29   0:01 /snap/snapd/current/usr/lib/snapd/snapd
root         249  0.0  0.0  18024  8892 ?        Ss   09:29   0:00 /usr/lib/systemd/systemd-logind
syslog       257  0.0  0.0 222516  5680 ?        Ssl  09:29   0:00 /usr/sbin/rsyslogd -n -iNONE
root         284  0.0  0.4 2470272 64712 ?       Ssl  09:29   0:07 /usr/bin/containerd
root         288  0.0  0.0   3124  2040 tty1     Ss+  09:29   0:00 /sbin/agetty -o -p -- \u --noclear - linux
root         326  0.0  0.1 107024 23252 ?        Ssl  09:29   0:00 /usr/bin/python3 /usr/share/unattended-upgrades/unattended-upgrade-shutdown --wait-for-signal
jmren        330  0.0  0.0  20448 11708 ?        Ss   09:29   0:00 /usr/lib/systemd/systemd --user
jmren        335  0.0  0.0  21168  3656 ?        S    09:29   0:00 (sd-pam)
jmren        384  0.1  0.6 491872 110556 ?       Ssl  09:29   0:10 /home/jmren/.hermes/hermes-agent/venv/bin/python -m hermes_cli.main gateway run
root         584  0.0  0.7 3368924 124080 ?      Ssl  09:30   0:05 dockerd --group docker --exec-root=/run/snap.docker --data-root=/var/snap/docker/common/var-lib-docker --pidfile=/run/snap.docker/docker.pid --config-file=/var/snap/docker/3579/config/daemon.json
root         586  0.0  0.0   3196  1120 ?        Ss   09:30   0:00 /init
Stderr:

Return Code: 0
Remediation:
Utiliser un serveur dédié ou un conteneur pour MariaDB.
2.3
Ne pas spécifier de mots de passe en ligne de commande
ps -ef | grep -E 'mysql|mariadb' | grep -v grep | grep -E '\-p[^ ]'
⚠️ Manuel
Guide de Validation Manuelle:
  • Vérifier les processus en cours.
  • Inspecter les scripts de démarrage et crontab.
  • S'assurer que -p<password> n'apparaît nulle part.
Résultat de l'audit:
This control requires manual verification.

Résultat de l'extraction automatique pour aide:
Stdout:
jmren      54381     592 21 12:16 pts/6    00:00:02 find /home /root -name .mysql_history -print -quit
Stderr:

Return Code: 0
Remediation:
Utiliser des fichiers d'options (.my.cnf) ou des méthodes d'authentification alternatives.
2.4
Ne pas réutiliser les noms d'utilisateurs
mysql -N -B -e "SELECT COUNT(*) - COUNT(DISTINCT user) FROM mysql.user WHERE user NOT IN ('mysql.infoschema', 'mysql.session', 'mysql.sys', 'mariadb.sys');"
❓ Error
Guide de Validation Manuelle:
  • Lister les utilisateurs MariaDB.
  • Vérifier que chaque nom de compte n'est utilisé que pour un seul rôle.
Résultat de l'audit:
Error: Impossible de se connecter au serveur (service arrêté ou mauvais socket).
Stdout:

Stderr:
ERROR 2002 (HY000): Can't connect to local server through socket '/run/mysqld/mysqld.sock' (2)
Return Code: 1
Remediation:
Ajouter/Supprimer les utilisateurs pour que chaque compte soit dédié à un usage spécifique.
2.5
S'assurer que le matériel cryptographique est unique et non par défaut
echo 'Contrôle Manuel: Vérifier les certificats SSL utilisés par MariaDB.'
⚠️ Manuel
Guide de Validation Manuelle:
  • Examiner les certificats via openssl x509 -in server-cert.pem -subject -noout.
  • Vérifier qu'ils ne contiennent pas 'Auto_Generated'.
Résultat de l'audit:
This control requires manual verification.

Résultat de l'extraction automatique pour aide:
Stdout:
Contrôle Manuel: Vérifier les certificats SSL utilisés par MariaDB.
Stderr:

Return Code: 0
Remediation:
Générer de nouveaux certificats, clés et autre matériel cryptographique pour chaque instance.
2.6
Assurer que password_lifetime <= 365
mysql -N -B -e "SELECT @@default_password_lifetime;"
❓ Error
Résultat de l'audit:
Error: Impossible de se connecter au serveur (service arrêté ou mauvais socket).
Stdout:

Stderr:
ERROR 2002 (HY000): Can't connect to local server through socket '/run/mysqld/mysqld.sock' (2)
Return Code: 1
Remediation:
SET GLOBAL default_password_lifetime=365;
2.7
Verrouiller les comptes inutilisés
mysql -N -B -e "SELECT CONCAT(user, '@', host) FROM mysql.global_priv;"
❓ Error
Guide de Validation Manuelle:
  • Lister les comptes.
  • Identifier les comptes dormants.
  • Verrouiller les comptes non utilisés.
Résultat de l'audit:
Error: Impossible de se connecter au serveur (service arrêté ou mauvais socket).
Stdout:

Stderr:
ERROR 2002 (HY000): Can't connect to local server through socket '/run/mysqld/mysqld.sock' (2)
Return Code: 1
Remediation:
ALTER USER 'user'@'host' ACCOUNT LOCK; pour chaque compte inutilisé.
2.8
Utilisation appropriée de l'authentification Socket Peer-Credential
mysql -N -B -e "SELECT PLUGIN_STATUS FROM INFORMATION_SCHEMA.PLUGINS WHERE PLUGIN_NAME = 'unix_socket';"
❓ Error
Guide de Validation Manuelle:
  • Vérifier si unix_socket est activé.
  • Lister les utilisateurs configurés avec unix_socket.
  • S'assurer que seuls les accès locaux autorisés l'utilisent.
Résultat de l'audit:
Error: Impossible de se connecter au serveur (service arrêté ou mauvais socket).
Stdout:

Stderr:
ERROR 2002 (HY000): Can't connect to local server through socket '/run/mysqld/mysqld.sock' (2)
Return Code: 1
Remediation:
Configurer unix_socket=ON/OFF selon les besoins. ALTER USER ... IDENTIFIED VIA unix_socket.
2.9
S'assurer que MariaDB est lié à une adresse IP
mysql -N -B -e "SELECT VARIABLE_VALUE FROM information_schema.global_variables WHERE VARIABLE_NAME = 'bind_address';"
❓ Error
Résultat de l'audit:
Error: Impossible de se connecter au serveur (service arrêté ou mauvais socket).
Stdout:

Stderr:
ERROR 2002 (HY000): Can't connect to local server through socket '/run/mysqld/mysqld.sock' (2)
Return Code: 1
Remediation:
Configurer bind_address=<adresse_IP_spécifique> dans mariadb.cnf.
2.10
Limiter les versions TLS acceptées
mysql -N -B -e "SELECT VARIABLE_VALUE FROM information_schema.global_variables WHERE VARIABLE_NAME = 'tls_version';"
❓ Error
Résultat de l'audit:
Error: Impossible de se connecter au serveur (service arrêté ou mauvais socket).
Stdout:

Stderr:
ERROR 2002 (HY000): Can't connect to local server through socket '/run/mysqld/mysqld.sock' (2)
Return Code: 1
Remediation:
Configurer tls_version=TLSv1.2,TLSv1.3 dans mariadb.cnf.
2.11
Exiger des certificats côté client (X.509)
mysql -N -B -e "SELECT count(*) FROM mysql.user WHERE host NOT IN ('localhost', '127.0.0.1', '::1') AND ssl_type NOT IN ('ANY', 'X509', 'SPECIFIED');"
❓ Error
Résultat de l'audit:
Error: Impossible de se connecter au serveur (service arrêté ou mauvais socket).
Stdout:

Stderr:
ERROR 2002 (HY000): Can't connect to local server through socket '/run/mysqld/mysqld.sock' (2)
Return Code: 1
Remediation:
ALTER USER '<user>'@'<host>' REQUIRE X509;
2.12
S'assurer que seuls les chiffrement approuvés sont utilisés
mysql -N -B -e "SELECT VARIABLE_VALUE FROM information_schema.global_variables WHERE VARIABLE_NAME = 'ssl_cipher';"
❓ Error
Résultat de l'audit:
Error: Impossible de se connecter au serveur (service arrêté ou mauvais socket).
Stdout:

Stderr:
ERROR 2002 (HY000): Can't connect to local server through socket '/run/mysqld/mysqld.sock' (2)
Return Code: 1
Remediation:
Configurer ssl_cipher avec une liste de chiffrements approuvés dans mariadb.cnf.

3. Permissions Fichiers

Détails des recommandations et résultats pour cette section.

0 Pass 0 Fail 0 Manuel 10 Error 0 N/A
0%
ID Recommandation Status Analyse & Remediation
3.1
Permissions adéquates sur 'datadir'
echo 'Contrôle Manuel: '
❓ Error
Résultat de l'audit:
Error lors de l'obtention du chemin via:
`mysql -N -B -e "SELECT @@datadir;"`
Output:
Impossible d'exécuter la commande client MariaDB/MySQL (vérifier si le service est démarré ou conteneur Docker actif). [Erreur d'Exécution de Commande - Non-conformité de sécurité non évaluée]
Remediation:
chown -R mysql:mysql <datadir> && chmod 700 <datadir>
3.2
Permissions sur les fichiers 'log_bin_basename'
echo 'Contrôle Manuel: '
❓ Error
Résultat de l'audit:
Error lors de l'obtention du chemin via:
`mysql -N -B -e "SELECT @@log_bin_basename;"`
Output:
ERROR 2002 (HY000): Can't connect to local server through socket '/run/mysqld/mysqld.sock' (2)
Remediation:
Appliquer chmod 600 sur les fichiers binaires.
3.3
Permissions sur 'log_error'
echo 'Contrôle Manuel: '
❓ Error
Résultat de l'audit:
Error lors de l'obtention du chemin via:
`mysql -N -B -e "SELECT @@log_error;"`
Output:
ERROR 2002 (HY000): Can't connect to local server through socket '/run/mysqld/mysqld.sock' (2)
Remediation:
Appliquer des permissions restrictives (ex: 640 ou 600).
3.4
Permissions sur 'slow_query_log'
echo 'Contrôle Manuel: '
❓ Error
Résultat de l'audit:
Error lors de l'obtention du chemin via:
`mysql -N -B -e "SELECT @@slow_query_log_file;"`
Output:
ERROR 2002 (HY000): Can't connect to local server through socket '/run/mysqld/mysqld.sock' (2)
Remediation:
Limiter l'accès aux utilisateurs autorisés (ex: 640 ou 600).
3.5
Permissions sur 'relay_log_basename'
echo 'Contrôle Manuel: '
❓ Error
Résultat de l'audit:
Error lors de l'obtention du chemin via:
`mysql -N -B -e "SELECT @@relay_log_basename;"`
Output:
ERROR 2002 (HY000): Can't connect to local server through socket '/run/mysqld/mysqld.sock' (2)
Remediation:
Appliquer chmod 600.
3.6
Permissions sur 'general_log_file'
echo 'Contrôle Manuel: '
❓ Error
Résultat de l'audit:
Error lors de l'obtention du chemin via:
`mysql -N -B -e "SELECT @@general_log_file;"`
Output:
ERROR 2002 (HY000): Can't connect to local server through socket '/run/mysqld/mysqld.sock' (2)
Remediation:
Restreindre les droits d'accès (ex: 640 ou 600).
3.7
Permissions sur les fichiers de clés SSL
mysql -N -B -e "SHOW VARIABLES LIKE 'ssl_key';" | awk '{print $2}' | xargs stat -c '%a'
❓ Error
Résultat de l'audit:
Error: Impossible de se connecter au serveur (service arrêté ou mauvais socket).
Stdout:

Stderr:
ERROR 2002 (HY000): Can't connect to local server through socket '/run/mysqld/mysqld.sock' (2)
stat: missing operand
Try 'stat --help' for more information.
Return Code: 123
Remediation:
Restreindre l'accès aux clés privées (ex: chmod 600) et s'assurer que le propriétaire est mysql.
3.8
Permissions sur le répertoire des plugins
echo 'Contrôle Manuel: '
❓ Error
Résultat de l'audit:
Error lors de l'obtention du chemin via:
`mysql -N -B -e "SELECT @@plugin_dir;"`
Output:
ERROR 2002 (HY000): Can't connect to local server through socket '/run/mysqld/mysqld.sock' (2)
Remediation:
chown -R mysql:mysql <plugin_dir> && chmod 755 <plugin_dir>
3.9
Permissions sur 'server_audit_file_path'
mysql -N -B -e "SHOW VARIABLES LIKE 'server_audit_file_path';" | awk '{print $2}' | xargs stat -c '%a'
❓ Error
Résultat de l'audit:
Error: Impossible de se connecter au serveur (service arrêté ou mauvais socket).
Stdout:

Stderr:
ERROR 2002 (HY000): Can't connect to local server through socket '/run/mysqld/mysqld.sock' (2)
stat: missing operand
Try 'stat --help' for more information.
Return Code: 123
Remediation:
Appliquer des permissions restrictives (ex: 640 ou 600).
3.10
Permissions sur les fichiers du plugin File Key Management
mysql -N -B -e "SHOW VARIABLES LIKE 'file_key_management_filename';" | awk '{print $2}' | xargs stat -c '%a'
❓ Error
Résultat de l'audit:
Error: Impossible de se connecter au serveur (service arrêté ou mauvais socket).
Stdout:

Stderr:
ERROR 2002 (HY000): Can't connect to local server through socket '/run/mysqld/mysqld.sock' (2)
stat: missing operand
Try 'stat --help' for more information.
Return Code: 123
Remediation:
Restreindre l'accès aux fichiers de clés de chiffrement (chmod 640).

4. Général

Détails des recommandations et résultats pour cette section.

2 Pass 0 Fail 1 Manuel 6 Error 0 N/A
100%
ID Recommandation Status Analyse & Remediation
4.1
S'assurer que les derniers correctifs de sécurité sont appliqués
mysql -N -B -e "SELECT @@version;"
❓ Error
Guide de Validation Manuelle:
  • Relever la version affichée.
  • Comparer avec les Release Notes MariaDB 10.11.
  • Vérifier les CVE critiques.
Résultat de l'audit:
Error: Impossible de se connecter au serveur (service arrêté ou mauvais socket).
Stdout:

Stderr:
ERROR 2002 (HY000): Can't connect to local server through socket '/run/mysqld/mysqld.sock' (2)
Return Code: 1
Remediation:
Installez les derniers correctifs pour votre version ou mettez à niveau vers la dernière version.
4.2
S'assurer que les bases de test ne sont pas installées en production
mysql -N -B -e "SELECT SCHEMA_NAME FROM information_schema.SCHEMATA WHERE SCHEMA_NAME IN ('employees', 'world', 'world_x', 'sakila', 'airportdb', 'menagerie', 'test');"
❓ Error
Résultat de l'audit:
Error: Impossible de se connecter au serveur (service arrêté ou mauvais socket).
Stdout:

Stderr:
ERROR 2002 (HY000): Can't connect to local server through socket '/run/mysqld/mysqld.sock' (2)
Return Code: 1
Remediation:
Exécutez DROP DATABASE <database name>; pour supprimer une base de données d'exemple.
4.3
S'assurer que 'allow-suspicious-udfs' est à 'OFF'
my_print_defaults mysqld | grep -q 'allow-suspicious-udfs' && echo 'FOUND' || echo 'NOT FOUND'
✅ Pass
Résultat de l'audit:
Stdout:
NOT FOUND
Stderr:

Return Code: 0
Remediation:
Supprimer --allow-suspicious-udfs de la ligne de commande ou du fichier de configuration.
4.4
Renforcer l'utilisation de 'local_infile' sur les clients MariaDB
mysql -N -B -e "SELECT @@local_infile;"
❓ Error
Résultat de l'audit:
Error: Impossible de se connecter au serveur (service arrêté ou mauvais socket).
Stdout:

Stderr:
ERROR 2002 (HY000): Can't connect to local server through socket '/run/mysqld/mysqld.sock' (2)
Return Code: 1
Remediation:
Ajouter local-infile=0 à la section [mariadbd] et [client] du fichier de configuration MariaDB.
4.5
S'assurer que mariadb n'est pas démarré avec '--skip-grant-tables'
ps -ef | grep -E 'mysqld|mariadbd' | grep -v grep | grep -q 'skip-grant-tables' && echo 'FOUND' || echo 'NOT FOUND'
✅ Pass
Résultat de l'audit:
Stdout:
NOT FOUND
Stderr:

Return Code: 0
Remediation:
Supprimer l'option --skip-grant-tables de la ligne de commande ou du fichier de configuration.
4.6
S'assurer que les liens symboliques sont désactivés
mysql -N -B -e "SELECT @@have_symlink;"
❓ Error
Résultat de l'audit:
Error: Impossible de se connecter au serveur (service arrêté ou mauvais socket).
Stdout:

Stderr:
ERROR 2002 (HY000): Can't connect to local server through socket '/run/mysqld/mysqld.sock' (2)
Return Code: 1
Remediation:
Ajouter skip-symbolic-links dans la section [mariadbd] du fichier mariadb.cnf.
4.7
S'assurer que 'secure_file_priv' est configuré correctement
mysql -N -B -e "SHOW GLOBAL VARIABLES WHERE Variable_name = 'secure_file_priv';" | awk '{print $2}'
❓ Error
Résultat de l'audit:
Error: Impossible de se connecter au serveur (service arrêté ou mauvais socket).
Stdout:

Stderr:
ERROR 2002 (HY000): Can't connect to local server through socket '/run/mysqld/mysqld.sock' (2)
Return Code: 0
Remediation:
Configurer secure_file_priv sur NULL (pour désactiver) ou sur un chemin spécifique dans mariadb.cnf.
4.8
S'assurer que sql_mode contient STRICT_ALL_TABLES
mysql -N -B -e "SELECT @@sql_mode;"
❓ Error
Résultat de l'audit:
Error: Impossible de se connecter au serveur (service arrêté ou mauvais socket).
Stdout:

Stderr:
ERROR 2002 (HY000): Can't connect to local server through socket '/run/mysqld/mysqld.sock' (2)
Return Code: 1
Remediation:
Ajouter STRICT_ALL_TABLES au paramètre sql_mode dans mariadb.cnf.
4.9
Activer le chiffrement des données au repos dans MariaDB
mysql -N -B -e "SELECT VARIABLE_VALUE FROM information_schema.global_variables WHERE variable_name = 'innodb_encrypt_tables';"
❓ Error
Résultat de l'audit:
Error: Impossible de se connecter au serveur (service arrêté ou mauvais socket).
Stdout:

Stderr:
ERROR 2002 (HY000): Can't connect to local server through socket '/run/mysqld/mysqld.sock' (2)
Return Code: 1
Remediation:
Configurer file_key_management plugin et innodb_encrypt_tables=ON dans mariadb.cnf.

5. Permissions MariaDB

Détails des recommandations et résultats pour cette section.

0 Pass 0 Fail 3 Manuel 7 Error 0 N/A
0%
ID Recommandation Status Analyse & Remediation
5.1
Limiter l'accès complet à mysql.* aux seuls administrateurs
mysql -N -B -e "SELECT COUNT(*) FROM information_schema.user_privileges WHERE GRANTEE NOT LIKE '\'root\'@%' AND GRANTEE NOT LIKE '\'mysql\'@%';"
❓ Error
Guide de Validation Manuelle:
  • Examiner les utilisateurs retournés.
  • Vérifier que seuls les administrateurs ont un accès complet.
  • REVOKE les privilèges excessifs.
Résultat de l'audit:
Error: Impossible de se connecter au serveur (service arrêté ou mauvais socket).
Stdout:

Stderr:
ERROR 2002 (HY000): Can't connect to local server through socket '/run/mysqld/mysqld.sock' (2)
Return Code: 1
Remediation:
Révoquer les privilèges excessifs sur la base 'mysql' pour les utilisateurs non-administrateurs.
5.2
Retirer le droit FILE aux non-admins
mysql -N -B -e "SELECT COUNT(*) FROM INFORMATION_SCHEMA.USER_PRIVILEGES WHERE PRIVILEGE_TYPE = 'FILE' AND GRANTEE NOT LIKE '\'root\'@%';"
❓ Error
Guide de Validation Manuelle:
  • Vérifier les utilisateurs ayant le droit FILE.
  • S'assurer que seuls les administrateurs l'ont.
Résultat de l'audit:
Error: Impossible de se connecter au serveur (service arrêté ou mauvais socket).
Stdout:

Stderr:
ERROR 2002 (HY000): Can't connect to local server through socket '/run/mysqld/mysqld.sock' (2)
Return Code: 1
Remediation:
REVOKE FILE ON *.* FROM '<user>'@'<host>';
5.3
Retirer le droit PROCESS aux non-admins
mysql -N -B -e "SELECT COUNT(*) FROM INFORMATION_SCHEMA.USER_PRIVILEGES WHERE PRIVILEGE_TYPE = 'PROCESS' AND GRANTEE NOT LIKE '\'root\'@%';"
❓ Error
Guide de Validation Manuelle:
  • Vérifier les utilisateurs ayant le droit PROCESS.
  • S'assurer que seuls les administrateurs l'ont.
Résultat de l'audit:
Error: Impossible de se connecter au serveur (service arrêté ou mauvais socket).
Stdout:

Stderr:
ERROR 2002 (HY000): Can't connect to local server through socket '/run/mysqld/mysqld.sock' (2)
Return Code: 1
Remediation:
REVOKE PROCESS ON *.* FROM '<user>'@'<host>';
5.4
Retirer le droit SUPER aux non-admins
mysql -N -B -e "SELECT COUNT(*) FROM INFORMATION_SCHEMA.USER_PRIVILEGES WHERE PRIVILEGE_TYPE = 'SUPER' AND GRANTEE NOT LIKE '\'root\'@%';"
❓ Error
Guide de Validation Manuelle:
  • Vérifier les utilisateurs ayant le droit SUPER.
  • S'assurer que seuls les administrateurs l'ont.
Résultat de l'audit:
Error: Impossible de se connecter au serveur (service arrêté ou mauvais socket).
Stdout:

Stderr:
ERROR 2002 (HY000): Can't connect to local server through socket '/run/mysqld/mysqld.sock' (2)
Return Code: 1
Remediation:
REVOKE SUPER ON *.* FROM '<user>'@'<host>';
5.5
Retirer le droit SHUTDOWN aux non-admins
mysql -N -B -e "SELECT COUNT(*) FROM INFORMATION_SCHEMA.USER_PRIVILEGES WHERE PRIVILEGE_TYPE = 'SHUTDOWN' AND GRANTEE NOT LIKE '\'root\'@%';"
❓ Error
Guide de Validation Manuelle:
  • Vérifier les utilisateurs ayant le droit SHUTDOWN.
  • S'assurer que seuls les administrateurs l'ont.
Résultat de l'audit:
Error: Impossible de se connecter au serveur (service arrêté ou mauvais socket).
Stdout:

Stderr:
ERROR 2002 (HY000): Can't connect to local server through socket '/run/mysqld/mysqld.sock' (2)
Return Code: 1
Remediation:
REVOKE SHUTDOWN ON *.* FROM '<user>'@'<host>';
5.6
Retirer CREATE USER aux non-admins
mysql -N -B -e "SELECT COUNT(*) FROM INFORMATION_SCHEMA.USER_PRIVILEGES WHERE PRIVILEGE_TYPE = 'CREATE USER' AND GRANTEE NOT LIKE '\'root\'@%';"
❓ Error
Guide de Validation Manuelle:
  • Vérifier les utilisateurs ayant le droit CREATE USER.
  • S'assurer que seuls les administrateurs l'ont.
Résultat de l'audit:
Error: Impossible de se connecter au serveur (service arrêté ou mauvais socket).
Stdout:

Stderr:
ERROR 2002 (HY000): Can't connect to local server through socket '/run/mysqld/mysqld.sock' (2)
Return Code: 1
Remediation:
REVOKE CREATE USER ON *.* FROM '<user>'@'<host>';
5.7
Retirer GRANT OPTION aux non-admins
mysql -N -B -e "SELECT COUNT(*) FROM INFORMATION_SCHEMA.USER_PRIVILEGES WHERE IS_GRANTABLE = 'YES' AND GRANTEE NOT LIKE '\'root\'@%';"
❓ Error
Guide de Validation Manuelle:
  • Vérifier les utilisateurs ayant GRANT OPTION.
  • S'assurer que seuls les administrateurs l'ont.
Résultat de l'audit:
Error: Impossible de se connecter au serveur (service arrêté ou mauvais socket).
Stdout:

Stderr:
ERROR 2002 (HY000): Can't connect to local server through socket '/run/mysqld/mysqld.sock' (2)
Return Code: 1
Remediation:
REVOKE GRANT OPTION ON *.* FROM '<user>'@'<host>';
5.8
Limiter REPLICATION SLAVE aux comptes de réplication
mysql -N -B -e "SELECT GRANTEE FROM INFORMATION_SCHEMA.USER_PRIVILEGES WHERE PRIVILEGE_TYPE = 'REPLICATION SLAVE';"
❓ Error
Guide de Validation Manuelle:
  • Vérifier les utilisateurs ayant REPLICATION SLAVE.
  • S'assurer que seuls les comptes de réplication l'ont.
Résultat de l'audit:
Error: Impossible de se connecter au serveur (service arrêté ou mauvais socket).
Stdout:

Stderr:
ERROR 2002 (HY000): Can't connect to local server through socket '/run/mysqld/mysqld.sock' (2)
Return Code: 1
Remediation:
REVOKE REPLICATION SLAVE ON *.* FROM les comptes non dédiés à la réplication.
5.9
Limiter les droits DML/DDL à des BD/comptes précis
mysql -N -B -e "SELECT GRANTEE, PRIVILEGE_TYPE FROM INFORMATION_SCHEMA.USER_PRIVILEGES WHERE PRIVILEGE_TYPE IN ('SELECT','INSERT','UPDATE','DELETE','CREATE','DROP','ALTER');"
❓ Error
Guide de Validation Manuelle:
  • Vérifier les droits DML/DDL par utilisateur.
  • S'assurer du principe du moindre privilège.
Résultat de l'audit:
Error: Impossible de se connecter au serveur (service arrêté ou mauvais socket).
Stdout:

Stderr:
ERROR 2002 (HY000): Can't connect to local server through socket '/run/mysqld/mysqld.sock' (2)
Return Code: 1
Remediation:
Révoquer les droits superflus par base de données/compte.
5.10
Définir proprement DEFINER/INVOKER des SP/Functions
mysql -N -B -e "SELECT ROUTINE_SCHEMA, ROUTINE_NAME, DEFINER, SECURITY_TYPE FROM information_schema.ROUTINES WHERE DEFINER NOT IN ('root@localhost', 'mariadb.sys@localhost');"
❓ Error
Guide de Validation Manuelle:
  • Lister les routines et leurs DEFINER.
  • Vérifier que les DEFINER sont appropriés.
Résultat de l'audit:
Error: Impossible de se connecter au serveur (service arrêté ou mauvais socket).
Stdout:

Stderr:
ERROR 2002 (HY000): Can't connect to local server through socket '/run/mysqld/mysqld.sock' (2)
Return Code: 1
Remediation:
Recréer les routines avec un DEFINER minimal ou utiliser SQL SECURITY INVOKER.

6. Audit & Journalisation

Détails des recommandations et résultats pour cette section.

0 Pass 0 Fail 0 Manuel 6 Error 0 N/A
0%
ID Recommandation Status Analyse & Remediation
6.1
Configurer log_error correctement
mysql -N -B -e "SHOW VARIABLES LIKE 'log_error';" | awk '{print $2}'
❓ Error
Résultat de l'audit:
Error: Impossible de se connecter au serveur (service arrêté ou mauvais socket).
Stdout:

Stderr:
ERROR 2002 (HY000): Can't connect to local server through socket '/run/mysqld/mysqld.sock' (2)
Return Code: 0
Remediation:
Définir log-error=/chemin/vers/mariadb.err dans mariadb.cnf.
6.2
Journal hors partition système
echo 'Contrôle Manuel: '
❓ Error
Résultat de l'audit:
Error lors de l'obtention du chemin via:
`mysql -N -B -e "SELECT @@log_bin_basename;"`
Output:
ERROR 2002 (HY000): Can't connect to local server through socket '/run/mysqld/mysqld.sock' (2)
Remediation:
Déplacer les répertoires des journaux (log-bin, log-error) hors des partitions système.
6.3
log_warnings=2
mysql -N -B -e "SELECT @@log_warnings;"
❓ Error
Résultat de l'audit:
Error: Impossible de se connecter au serveur (service arrêté ou mauvais socket).
Stdout:

Stderr:
ERROR 2002 (HY000): Can't connect to local server through socket '/run/mysqld/mysqld.sock' (2)
Return Code: 1
Remediation:
Ajouter log_warnings=2 dans mariadb.cnf.
6.4
Activer la journalisation d'audit (server_audit)
mysql -N -B -e "SELECT PLUGIN_STATUS FROM information_schema.plugins WHERE PLUGIN_NAME = 'SERVER_AUDIT';"
❓ Error
Résultat de l'audit:
Error: Impossible de se connecter au serveur (service arrêté ou mauvais socket).
Stdout:

Stderr:
ERROR 2002 (HY000): Can't connect to local server through socket '/run/mysqld/mysqld.sock' (2)
Return Code: 1
Remediation:
Installer et configurer le plugin server_audit : plugin_load_add=server_audit, server_audit_logging=ON dans mariadb.cnf.
6.5
Interdire le déchargement du plugin d'audit
mysql -N -B -e "SELECT LOAD_OPTION FROM information_schema.plugins WHERE PLUGIN_NAME='SERVER_AUDIT';"
❓ Error
Résultat de l'audit:
Error: Impossible de se connecter au serveur (service arrêté ou mauvais socket).
Stdout:

Stderr:
ERROR 2002 (HY000): Can't connect to local server through socket '/run/mysqld/mysqld.sock' (2)
Return Code: 1
Remediation:
Ajouter server_audit=FORCE_PLUS_PERMANENT dans mariadb.cnf.
6.6
Chiffrer les Binary et Relay Logs
mysql -N -B -e "SELECT VARIABLE_VALUE FROM information_schema.global_variables WHERE variable_name = 'encrypt_binlog';"
❓ Error
Résultat de l'audit:
Error: Impossible de se connecter au serveur (service arrêté ou mauvais socket).
Stdout:

Stderr:
ERROR 2002 (HY000): Can't connect to local server through socket '/run/mysqld/mysqld.sock' (2)
Return Code: 1
Remediation:
Ajouter encrypt_binlog=ON dans mariadb.cnf (nécessite un plugin de gestion de clés).

7. Authentification

Détails des recommandations et résultats pour cette section.

0 Pass 1 Fail 0 Manuel 6 Error 0 N/A
0%
ID Recommandation Status Analyse & Remediation
7.1
Désactiver mysql_old_password (old_passwords=OFF, secure_auth=ON)
mysql -N -B -e "SELECT @@old_passwords;"
❓ Error
Résultat de l'audit:
Error: Impossible de se connecter au serveur (service arrêté ou mauvais socket).
Stdout:

Stderr:
ERROR 2002 (HY000): Can't connect to local server through socket '/run/mysqld/mysqld.sock' (2)
Return Code: 1
Remediation:
Configurer old_passwords=0 et secure_auth=ON dans mariadb.cnf et redémarrer.
7.2
Aucun mot de passe dans la configuration globale
! grep -riE 'password|pwd|pass' /etc/mysql/ /etc/my.cnf | grep -v '#' | grep -v 'password_lifetime' | grep -v 'password_check' | grep -v 'validate_password' | grep -v 'strict_password' | grep -v 'old_passwords' | grep -v 'default_password_lifetime' | grep -v 'password_last_changed'
❌ Fail
Résultat de l'audit:
Stdout:

Stderr:
grep: /etc/my.cnf: No such file or directory
Return Code: 0
Remediation:
Utiliser des fichiers .my.cnf privés ou mysql_config_editor avec permissions restreintes.
7.3
Authentification forte pour tous les comptes
mysql -N -B -e "SELECT User, host FROM mysql.user WHERE (plugin IN('mysql_native_password', 'mysql_old_password','') AND NOT (User = 'root' AND authentication_string = 'invalid') AND NOT (User = 'mysql' AND authentication_string = 'invalid'));"
❓ Error
Résultat de l'audit:
Error: Impossible de se connecter au serveur (service arrêté ou mauvais socket).
Stdout:

Stderr:
ERROR 2002 (HY000): Can't connect to local server through socket '/run/mysqld/mysqld.sock' (2)
Return Code: 1
Remediation:
Migrer les comptes vers ed25519, unix_socket ou d'autres plugins d'authentification forte.
7.4
Politique de complexité des mots de passe (simple_password_check)
mysql -N -B -e "SELECT PLUGIN_STATUS FROM information_schema.plugins WHERE PLUGIN_NAME = 'simple_password_check';"
❓ Error
Résultat de l'audit:
Error: Impossible de se connecter au serveur (service arrêté ou mauvais socket).
Stdout:

Stderr:
ERROR 2002 (HY000): Can't connect to local server through socket '/run/mysqld/mysqld.sock' (2)
Return Code: 1
Remediation:
Installer et configurer simple_password_check et cracklib_password_check. INSTALL SONAME 'simple_password_check';
7.5
Pas de wildcard '%' dans host
mysql -N -B -e "SELECT user, host FROM mysql.user WHERE host = '%';"
❓ Error
Résultat de l'audit:
Error: Impossible de se connecter au serveur (service arrêté ou mauvais socket).
Stdout:

Stderr:
ERROR 2002 (HY000): Can't connect to local server through socket '/run/mysqld/mysqld.sock' (2)
Return Code: 1
Remediation:
ALTER USER '<user>'@'%' ... ou supprimer le compte.
7.6
Supprimer les comptes anonymes
mysql -N -B -e "SELECT user, host FROM mysql.user WHERE user = '';"
❓ Error
Résultat de l'audit:
Error: Impossible de se connecter au serveur (service arrêté ou mauvais socket).
Stdout:

Stderr:
ERROR 2002 (HY000): Can't connect to local server through socket '/run/mysqld/mysqld.sock' (2)
Return Code: 1
Remediation:
DROP USER ''@'<host>'; ou utiliser mariadb-secure-installation.
7.7
Empêcher la réutilisation des mots de passe (password_reuse_check)
mysql -N -B -e "SELECT PLUGIN_STATUS FROM INFORMATION_SCHEMA.PLUGINS WHERE PLUGIN_NAME = 'password_reuse_check';"
❓ Error
Guide de Validation Manuelle:
  • Vérifier que le plugin password_reuse_check est ACTIVE.
  • Vérifier que LOAD_OPTION est FORCE_PLUS_PERMANENT.
  • Vérifier que strict_password_validation est ON.
Résultat de l'audit:
Error: Impossible de se connecter au serveur (service arrêté ou mauvais socket).
Stdout:

Stderr:
ERROR 2002 (HY000): Can't connect to local server through socket '/run/mysqld/mysqld.sock' (2)
Return Code: 1
Remediation:
Ajouter dans mariadb.cnf: plugin_load_add = password_reuse_check password_reuse_check = FORCE_PLUS_PERMANENT strict_password_validation = ON Puis redémarrer MariaDB.

8. Sécurité réseau

Détails des recommandations et résultats pour cette section.

0 Pass 0 Fail 1 Manuel 2 Error 0 N/A
0%
ID Recommandation Status Analyse & Remediation
8.1
Forcer SSL/TLS (require_secure_transport=ON et have_ssl=YES)
mysql -N -B -e "SELECT @@require_secure_transport;"
❓ Error
Résultat de l'audit:
Error: Impossible de se connecter au serveur (service arrêté ou mauvais socket).
Stdout:

Stderr:
ERROR 2002 (HY000): Can't connect to local server through socket '/run/mysqld/mysqld.sock' (2)
Return Code: 1
Remediation:
Configurer les certificats SSL/TLS, puis ajouter require_secure_transport=ON dans mariadb.cnf.
8.2
Exiger TLS côté utilisateur (ssl_type)
mysql -N -B -e "SELECT count(*) FROM mysql.user WHERE host NOT IN ('localhost', '127.0.0.1', '::1') AND ssl_type = '';"
❓ Error
Résultat de l'audit:
Error: Impossible de se connecter au serveur (service arrêté ou mauvais socket).
Stdout:

Stderr:
ERROR 2002 (HY000): Can't connect to local server through socket '/run/mysqld/mysqld.sock' (2)
Return Code: 1
Remediation:
ALTER USER '<user>'@'<host>' REQUIRE SSL; ou REQUIRE X509;
8.3
Limiter le nombre de connexions
mysql -N -B -e "SELECT VARIABLE_NAME, VARIABLE_VALUE FROM information_schema.global_variables WHERE VARIABLE_NAME LIKE 'max_%connections';"
❓ Error
Guide de Validation Manuelle:
  • Vérifier les valeurs de max_connections et max_user_connections.
  • S'assurer que des limites raisonnables sont définies.
Résultat de l'audit:
Error: Impossible de se connecter au serveur (service arrêté ou mauvais socket).
Stdout:

Stderr:
ERROR 2002 (HY000): Can't connect to local server through socket '/run/mysqld/mysqld.sock' (2)
Return Code: 1
Remediation:
Ajuster max_connections et max_user_connections dans mariadb.cnf selon les besoins.

9. Réplication

Détails des recommandations et résultats pour cette section.

0 Pass 0 Fail 3 Manuel 0 Error 2 N/A
100%
ID Recommandation Status Analyse & Remediation
9.1
Chiffrer le trafic de réplication
mysql -N -B -e "SHOW REPLICA STATUS\G" | grep 'Master_SSL_Allowed'
❓ Error
Guide de Validation Manuelle:
  • Vérifier si la réplication est active.
  • Vérifier Master_SSL_Allowed.
  • Configurer TLS pour la réplication si nécessaire.
Résultat de l'audit:
Error: Impossible de se connecter au serveur (service arrêté ou mauvais socket).
Stdout:

Stderr:
ERROR 2002 (HY000): Can't connect to local server through socket '/run/mysqld/mysqld.sock' (2)
Return Code: 1
Remediation:
STOP REPLICA; CHANGE MASTER TO MASTER_SSL=1; START REPLICA;
9.2
MASTER_SSL_VERIFY_SERVER_CERT activé
mysql -N -B -e "SHOW REPLICA STATUS\G" | grep 'Master_SSL_Verify_Server_Cert'
➖ N/A
Résultat de l'audit:
Check non applicable dans cet environnement (Pré-condition non remplie).
Command de vérification: mysql -N -B -e "SHOW REPLICA STATUS;" | grep -q .
Remediation:
STOP REPLICA; CHANGE MASTER TO MASTER_SSL_VERIFY_SERVER_CERT=1; START REPLICA;
9.3
Pas de SUPER pour les utilisateurs de réplication
mysql -N -B -e "SELECT count(*) FROM mysql.user WHERE user LIKE '%repl%' AND Super_priv = 'Y';"
➖ N/A
Résultat de l'audit:
Check non applicable dans cet environnement (Pré-condition non remplie).
Command de vérification: mysql -N -B -e "SELECT count(*) FROM mysql.user WHERE user LIKE '%repl%';" | grep -q '[1-9]'
Remediation:
REVOKE SUPER ON *.* FROM '<repl_user>'@'<repl_host>';
9.4
Chiffrement approuvé pour la réplication
mysql -N -B -e "SHOW REPLICA STATUS\G" | grep 'Master_SSL_Cipher'
❓ Error
Guide de Validation Manuelle:
  • Vérifier le cipher utilisé pour la réplication.
  • S'assurer qu'un cipher fort est configuré.
Résultat de l'audit:
Error: Impossible de se connecter au serveur (service arrêté ou mauvais socket).
Stdout:

Stderr:
ERROR 2002 (HY000): Can't connect to local server through socket '/run/mysqld/mysqld.sock' (2)
Return Code: 1
Remediation:
STOP REPLICA; CHANGE MASTER TO MASTER_SSL_CIPHER='ECDHE-ECDSA-AES128-GCM-SHA256'; START REPLICA;
9.5
TLS mutuel activé pour la réplication
mysql -N -B -e "SHOW REPLICA STATUS\G" | grep -E 'Master_SSL_Cert|Master_SSL_Key'
❓ Error
Guide de Validation Manuelle:
  • Vérifier Master_SSL_Cert et Master_SSL_Key sur le replica.
  • Vérifier ssl_type=X509 pour les utilisateurs de réplication sur le primary.
Résultat de l'audit:
Error: Impossible de se connecter au serveur (service arrêté ou mauvais socket).
Stdout:

Stderr:
ERROR 2002 (HY000): Can't connect to local server through socket '/run/mysqld/mysqld.sock' (2)
Return Code: 1
Remediation:
STOP REPLICA; CHANGE MASTER TO MASTER_SSL_CERT='...', MASTER_SSL_KEY='...'; START REPLICA; ALTER USER <repl_user> REQUIRE X509;