Lynis est un outil d’audit de sécurité pour systèmes Linux.
Il permet d’identifier les faiblesses de configuration et de proposer des actions correctives.
L’objectif pour un étudiant en BTS CIEL ou SIO est de :
- comprendre les résultats de l’audit
- corriger les vulnérabilités principales
- atteindre un niveau de sécurité cohérent avec un environnement professionnel
ATTENTION : ce document est fait dans un but pédagogoique, tout durcissmeent d’une machine en production doit être réalisé par un professionel.
Les éléments présents dans cette fiches sont insufisants pour protéger la machine.
Audit avec Lynis
# INSTALLATION
apt update && apt install lynis -y
# AUDIT COMPLET
lynis audit system
# MODES UTILES
lynis audit system --quick
lynis audit system --quiet
lynis audit system --tests-from-group authentication,networking
# RAPPORT
cat /var/log/lynis-report.dat
cat /var/log/lynis.log
# SCORE
grep hardening_index /var/log/lynis-report.dat
Explication du fonctionnement
Lynis réalise une série de tests sur le système :
- analyse des services actifs
- vérification des configurations réseau
- contrôle de la sécurité SSH
- vérification des permissions
- analyse des journaux
Le résultat se compose de :
- warnings : problèmes importants à corriger
- suggestions : améliorations possibles
Le score final (hardening index) permet d’évaluer le niveau global de sécurité.
Objectif
Un système correctement configuré doit atteindre :
- minimum : 70
- bon niveau : 80
- niveau avancé : 90
Durcissement du système
1. Mise à jour automatique
apt install unattended-upgrades -y
dpkg-reconfigure unattended-upgrades
Explication :
Permet d’installer automatiquement les mises à jour de sécurité.
C’est essentiel car la majorité des attaques exploitent des failles connues déjà corrigées.
2. Sécurisation SSH
nano /etc/ssh/sshd_config
Port 2222
PermitRootLogin no
PasswordAuthentication no
AllowUsers adminsys
MaxAuthTries 3
LoginGraceTime 30
ClientAliveInterval 300
ClientAliveCountMax 2
Explication :
- changement de port réduit les scans automatisés
- interdiction du compte root limite les attaques
- désactivation des mots de passe impose l’usage de clés SSH
- limitation des tentatives réduit le brute force
3. Protection avec fail2ban
apt install fail2ban -y
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
nano /etc/fail2ban/jail.local
[DEFAULT]
bantime = 1h
findtime = 10m
maxretry = 5
ignoreip = 127.0.0.1/8 192.168.1.0/24
[sshd]
enabled = true
port = 2222
maxretry = 3
bantime = 2h
Explication :
Fail2ban surveille les logs et bloque automatiquement les adresses IP qui échouent plusieurs fois à se connecter.
Sans configuration, il est inutile. Il doit être adapté au service protégé.
4. Mise en place d’un pare-feu
ufw enable
ufw default deny incoming
ufw allow 2222/tcp
Explication :
Le pare-feu bloque tout par défaut et n’autorise que les services nécessaires.
Cela réduit fortement la surface d’attaque.
5. Vérification des ports ouverts
ss -tuln
Explication :
Permet d’identifier les services exposés.
Tout port inutile doit être fermé.
6. Désactivation des services inutiles
systemctl list-units --type=service
systemctl disable nom_service
Explication :
Chaque service actif représente un risque potentiel.
Il faut limiter au strict nécessaire.
7. Gestion des logs
journalctl -xe
tail -f /var/log/auth.log
Explication :
Les logs permettent de détecter :
- tentatives d’intrusion
- erreurs système
- anomalies
8. Rotation des logs
apt install logrotate -y
nano /etc/logrotate.conf
Explication :
Évite la saturation du disque et garantit la conservation des journaux importants.
9. Sécurisation des comptes
cat /etc/passwd
Explication :
Il faut :
- supprimer les comptes inutiles
- limiter les privilèges
- contrôler les accès
10. Permissions des fichiers sensibles
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
Explication :
Empêche l’accès non autorisé aux clés SSH et aux fichiers critiques.
11. Sécurité kernel
nano /etc/sysctl.conf
net.ipv4.conf.all.rp_filter=1
net.ipv4.icmp_echo_ignore_broadcasts=1
net.ipv4.tcp_syncookies=1
Explication :
Renforce la protection contre :
- spoofing IP
- attaques réseau
- flood SYN
12. Vérification des fichiers SUID
find / -perm -4000 2>/dev/null
Explication :
Les fichiers SUID peuvent être utilisés pour escalader les privilèges.
Ils doivent être contrôlés régulièrement.
13. Vérification des droits sudo
cat /etc/sudoers
Explication :
Permet de contrôler qui peut exécuter des commandes en tant qu’administrateur.
Méthode de travail
- lancer un audit Lynis
- analyser les warnings
- corriger les points critiques
- relancer l’audit
- vérifier l’amélioration du score
Conclusion
Lynis est un outil d’audit, pas une solution de sécurité en lui-même.
La sécurité repose sur :
- la mise à jour du système
- la configuration des services
- la réduction de la surface d’attaque
- la surveillance des logs
Un système correctement durci est :
- maintenu à jour
- filtré
- contrôlé
- surveillé
