Post-Installation securisée de Fedora 44 orientée Laptop

Posted on

🐧 Post-installation Fedora 44 Workstation : configuration, sécurité et logiciels essentiels

Après l’installation de Fedora Workstation 44 avec chiffrement conseillé, quelques étapes permettent de mettre en place un système plus complet, sécurisé et adapté à une utilisation quotidienne.

Ce guide regroupe ma configuration personnelle après installation de Fedora 44 : vérifications de sécurité, pare-feu, confidentialité réseau, codecs multimédias, firmware, VPN, outils système et réseau, GNOME, Flatpak, durcissement du système et virtualisation.


📋 Sommaire

  1. Mise à jour du système
  2. Vérifications de sécurité
  3. Configuration du pare-feu
  4. Randomisation de l’adresse MAC
  5. Changer le nom de la machine
  6. Firefox en Flatpak
  7. RPM Fusion
  8. Codecs multimédias et outils graphiques
  9. Firmware
  10. Proton VPN
  11. Fastfetch
  12. Distrobox
  13. Outils de sécurité
  14. Durcissement du noyau
  15. Désactivation des core dumps
  16. Politique de mots de passe
  17. Désactivation d’Avahi
  18. Personnalisation de GNOME
  19. Extensions GNOME utilisées
  20. Logiciels Flatpak
  21. Outils supplémentaires
  22. Personnalisation des icônes
  23. Durcissement de Firefox
  24. Virtualisation avec KVM
  25. Maintenance

1. Mise à jour du système

La première étape après l’installation consiste à mettre Fedora à jour.

sudo dnf upgrade --refresh

Une fois les mises à jour terminées, un redémarrage peut être conseillé si le noyau ou des composants système importants ont été mis à jour.


2. Vérifications de sécurité

Avant de modifier la configuration, je vérifie quelques éléments essentiels.

Vérifier Secure Boot

mokutil --sb-state

Cette commande permet de savoir si Secure Boot est actuellement activé.

Vérifier SELinux

sestatus

Fedora utilise SELinux comme mécanisme de contrôle d’accès obligatoire.

Il est recommandé de vérifier qu’il fonctionne correctement avant de poursuivre la configuration.


3. Configuration du pare-feu

Fedora utilise firewalld.

Vérifier son état

sudo firewall-cmd --state

Afficher les zones actives :

sudo firewall-cmd --get-active-zones

Afficher la configuration :

sudo firewall-cmd --list-all

Afficher la zone par défaut :

sudo firewall-cmd --get-default-zone

Placer le Wi-Fi dans la zone public

Dans ma configuration, l’interface Wi-Fi wlp3s0 est placée dans la zone public.

sudo firewall-cmd --zone=FedoraWorkstation --remove-interface=wlp3s0
sudo firewall-cmd --zone=public --add-interface=wlp3s0
sudo firewall-cmd --set-default-zone=public

Vérification :

sudo firewall-cmd --get-active-zones

Supprimer le service SSH

Si SSH n’est pas utilisé sur la machine, je supprime également sa règle du pare-feu :

sudo firewall-cmd --permanent --zone=public --remove-service=ssh
sudo firewall-cmd --reload

⚠️ Cette modification concerne uniquement le pare-feu. Si un serveur SSH est réellement installé et utilisé, ne supprimez pas cette règle sans savoir quelles conséquences cela aura.

Supprimer mDNS

Le service mdns est utilisé notamment pour la découverte de périphériques sur le réseau local.

Si cette fonctionnalité n’est pas nécessaire :

sudo firewall-cmd --permanent --zone=public --remove-service=mdns
sudo firewall-cmd --reload

Vérification finale :

sudo firewall-cmd --get-active-zones

4. Randomisation de l’adresse MAC Wi-Fi

NetworkManager permet de randomiser l’adresse MAC utilisée lors des recherches Wi-Fi et lors de la connexion.

Commencer par afficher les connexions :

nmcli connection show

Créer le fichier de configuration :

sudo nano /etc/NetworkManager/conf.d/90-mac-randomization.conf

Ajouter :

[device]
wifi.scan-rand-mac-address=yes

[connection-wifi]
wifi.cloned-mac-address=random

Recharger NetworkManager :

sudo systemctl reload NetworkManager

Pour vérifier la configuration effective :

sudo NetworkManager --print-config

💡 La randomisation MAC permet de limiter le suivi d’un appareil par son adresse matérielle Wi-Fi. Selon le matériel et la configuration réseau, le comportement peut varier.


5. Changer le nom de la machine

Pour modifier le hostname :

sudo hostnamectl set-hostname hostname

Remplacez hostname par le nom souhaité.

Par exemple :

sudo hostnamectl set-hostname fedora-pc

6. Firefox en Flatpak

Dans ma configuration, Firefox est installé depuis Flathub plutôt que sous forme de paquet RPM pour le cloisoner d’avantage .

Supprimer la version RPM :

sudo dnf remove firefox*

Installer Firefox depuis Flathub :

flatpak install flathub org.mozilla.firefox

7. RPM Fusion

RPM Fusion fournit des paquets supplémentaires qui ne sont pas distribués directement dans les dépôts Fedora officiels.

Installer les dépôts Free et Nonfree :

sudo dnf install \
https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm \
https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm

Mettre ensuite le système à jour :

sudo dnf upgrade --refresh

Vérifier les dépôts :

dnf repolist

8. Codecs multimédias et outils graphiques

Installer le groupe multimédia

sudo dnf group install multimedia

Installer les outils VA-API :

sudo dnf install libva-utils

Installer certains codecs supplémentaires :

sudo dnf install -y gstreamer1-plugins-bad-freeworld gstreamer1-plugins-ugly

Nettoyer le cache GStreamer :

rm -rf ~/.cache/gstreamer-1.0

Outils Vulkan

sudo dnf install vulkan-tools

Outils Mesa

sudo dnf install mesa-demos

Ces outils sont notamment utiles pour vérifier le fonctionnement de l’accélération graphique.


9. Firmware

Fedora peut utiliser fwupd pour gérer les mises à jour de firmware compatibles.

Afficher les périphériques :

fwupdmgr get-devices

Rechercher les mises à jour :

fwupdmgr get-updates

Installer les mises à jour disponibles :

sudo fwupdmgr update

⚠️ Une mise à jour de firmware peut nécessiter un redémarrage. Évitez d’interrompre la machine pendant l’opération.


10. Proton VPN

Pour installer Proton VPN depuis son dépôt Fedora si vous l’utilisez egalement :

wget "https://repo.protonvpn.com/fedora-$(cat /etc/fedora-release | cut -d' ' -f 3)-stable/protonvpn-stable-release/protonvpn-stable-release-1.0.4-1.noarch.rpm"

Installer le dépôt :

sudo dnf install ./protonvpn-stable-release-1.0.4-1.noarch.rpm

Actualiser les dépôts :

sudo dnf check-update --refresh

Installer l’application GNOME :

sudo dnf install proton-vpn-gnome-desktop

11. Fastfetch

Fastfetch permet d’afficher rapidement les informations principales du système dans le terminal.

Installation :

sudo dnf install fastfetch

Créer le répertoire de configuration :

mkdir -p ~/.config/fastfetch

Générer une configuration de départ :

fastfetch --gen-config

Le fichier de configuration peut ensuite être personnalisé.

Ma configuration Fastfetch

{
    "$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",

    "logo": {
        "source": "fedora",
        "color": {
            "1": "blue",
            "2": "cyan"
        },
        "padding": {
            "top": 2,
            "left": 2
        }
    },

    "display": {
        "separator": " ➜ ",
        "color": {
            "keys": "cyan",
            "output": "white"
        }
    },

    "modules": [

        "title",

        "break",

        {
            "type": "custom",
            "format": " \u001b[44m\u001b[97m Fedora Workstation :)   \u001b[0m",
            "key": " "
        },

        "break",

        {
            "type": "os",
            "key": "  🐧 Système   ",
            "format": "{3} {8}"
        },

        {
            "type": "kernel",
            "key": "  ⚙️  Noyau     ",
            "format": "{1} {2}"
        },

        {
            "type": "uptime",
            "key": "  ⏱️  Activité  "
        },

        {
            "type": "shell",
            "key": "  🐚 Shell     "
        },

        {
            "type": "packages",
            "key": "  📦 Paquets   "
        },

        "break",

        {
            "type": "display",
            "key": "  🖥️  Écran     "
        },

        {
            "type": "de",
            "key": "  🪟 Bureau    "
        },

        {
            "type": "terminal",
            "key": "  📟 Terminal  "
        },

        "break",

        {
            "type": "host",
            "key": "  💻 Machine   "
        },

        {
            "type": "cpu",
            "key": "  🧠 CPU       ",
            "temp": true,
            "format": "{6} @ {7} - {8}"
        },

        {
            "type": "gpu",
            "key": "  🎮 GPU       ",
            "hideType": "all",
            "format": "{2}"
        },

        {
            "type": "memory",
            "key": "  💾 Mémoire   ",
            "format": "{1} / {2} ({3})"
        },

        {
            "type": "swap",
            "key": "  🔄 Swap      "
        },

        {
            "type": "disk",
            "key": "  💽 Disque    "
        },

        "break",

        {
            "type": "localip",
            "key": "  🌐 IP v4     ",
            "showIpv6": false
        },

        {
            "type": "wifi",
            "key": "  📡 Wi-Fi     ",
            "format": "{4} ({6}%)"
        },

        {
            "type": "battery",
            "key": "  🔋 Énergie   ",
            "format": "{4} ({5})"
        },

        {
            "type": "poweradapter",
            "key": "  🔌 Secteur   "
        },

        "break",

        {
            "type": "colors",
            "symbol": "circle"
        }
    ]
}

12. Distrobox

Distrobox permet d’utiliser d’autres distributions Linux dans des conteneurs tout en les intégrant à l’environnement Fedora.

J’utilise Podman comme moteur de conteneurs.

sudo dnf install distrobox podman

Créer un conteneur Debian

Par exemple :

distrobox create \
  --name Debian \
  --image docker.io/library/debian:stable

Entrer dans le conteneur :

distrobox enter Debian

Distrobox est particulièrement intéressant pour disposer d’outils provenant d’autres distributions sans remplacer le système Fedora principal.


13. Outils de sécurité

Lynis

Lynis permet d’auditer la configuration de sécurité du système.

sudo dnf install lynis

Après installation, un audit peut être lancé avec :

sudo lynis audit system

ClamAV

Installer ClamAV :

sudo dnf install clamav clamav-freshclam clamav-filesystem

Mettre à jour les signatures :

sudo freshclam

Activer automatiquement la mise à jour :

sudo systemctl enable --now clamav-freshclam

Scanner son répertoire personnel :

clamscan -r -i ~

rkhunter

Installer rkhunter :

sudo dnf install rkhunter

Mettre à jour sa base :

sudo rkhunter --update

Initialiser la base de propriétés :

sudo rkhunter --propupd

Lancer une vérification :

sudo rkhunter --check

Consulter le journal :

sudo less /var/log/rkhunter/rkhunter.log

⚠️ Les outils comme ClamAV et rkhunter peuvent produire des faux positifs. Les résultats doivent être interprétés avant de supprimer ou modifier quoi que ce soit.


14. Durcissement du noyau

Fedora possède déjà une configuration de sécurité solide. Il est néanmoins possible d’ajouter quelques paramètres locaux de durcissement.

Créer :

sudo nano /etc/sysctl.d/99-fedora-hardening.conf

Ajouter :

# Fedora local hardening

# Prevent automatic loading of line disciplines
dev.tty.ldisc_autoload = 0

# Protect FIFOs and regular files in world-writable sticky directories
fs.protected_fifos = 2
fs.protected_regular = 2

# Restrict kernel pointer exposure
kernel.kptr_restrict = 2

# Restrict ptrace between processes
kernel.yama.ptrace_scope = 1

# Disable Magic SysRq
kernel.sysrq = 0

# Do not accept ICMP redirects
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv6.conf.all.accept_redirects = 0
net.ipv6.conf.default.accept_redirects = 0

Appliquer les paramètres :

sudo sysctl --system

15. Désactivation des core dumps

Les core dumps peuvent être utiles au diagnostic de logiciels qui plantent, mais ils peuvent également contenir des informations présentes en mémoire au moment du crash.

Pour les désactiver au niveau des limites utilisateur :

sudo nano /etc/security/limits.conf

Ajouter :

*    hard    core    0

⚠️ Cette modification peut compliquer le diagnostic de certains plantages. Elle est donc surtout pertinente sur une machine où la collecte de dumps n’est pas nécessaire.


16. Politique de mots de passe

Modifier :

sudo nano /etc/login.defs

Paramètres utilisés :

PASS_MAX_DAYS   90
PASS_MIN_DAYS   7
PASS_WARN_AGE   14
UMASK           027

Ces paramètres permettent notamment de définir une durée maximale et minimale des mots de passe, une période d’avertissement et un umask par défaut.


17. Désactivation d’Avahi

Avahi fournit notamment des services de découverte réseau basés sur mDNS.

Si vous n’utilisez pas d’imprimante réseau, de découverte de services ou d’autres fonctionnalités reposant sur mDNS, il peut être désactivé.

sudo systemctl disable --now avahi-daemon.service avahi-daemon.socket

Vérifier son état :

systemctl status avahi-daemon

⚠️ Si vous utilisez une imprimante réseau ou certains services de découverte automatique, ne désactivez pas Avahi sans vérifier les dépendances.


18. Personnalisation de GNOME

Pour accéder à davantage d’options de personnalisation GNOME :

sudo dnf install gnome-tweaks gnome-extensions-app

Il est également possible d’utiliser Extension Manager depuis Flathub :

flatpak install flathub com.mattjakeman.ExtensionManager

19. Extensions GNOME utilisées

Voici les extensions que j’utilise actuellement :

Extension Fonction
Dash to Dock Dock personnalisable
Transparent Top Bar Barre supérieure transparente
Hide Top Bar Masquage automatique de la barre supérieure
Caffeine Empêche la mise en veille
AppIndicator and KStatusNotifierItem Support Icônes de la zone système
Weatherpanel Affichage de la météo

Les extensions GNOME permettent d’adapter l’interface à ses habitudes sans changer complètement d’environnement de bureau.


20. Logiciels Flatpak

Pour les applications graphiques, j’utilise principalement Flathub.

Voici ma sélection :

Application Utilisation
Firefox Navigateur principal
Tor Browser Navigation via le réseau Tor
Signal Messagerie chiffrée
Resources Moniteur système GNOME
Angry IP Scanner Scanner réseau
Warehouse Gestion des Flatpak
Foliate Lecteur d’ebooks
Folio Prise de notes
Dialect Traduction
BoxBuddy Gestion graphique de Distrobox

21. Outils supplémentaires

Quelques logiciels utiles peuvent être installés directement avec DNF :

sudo dnf install okular flatseal metadata-cleaner htop

Outils réseau

sudo dnf install net-tools dnsutils wireshark tcpdump traceroute ethtool qbittorrent nmap filezilla rsync

Cette sélection couvre notamment :

  • diagnostic réseau ;
  • analyse DNS ;
  • capture réseau ;
  • découverte de machines ;
  • analyse de connectivité ;
  • transfert de fichiers ;
  • synchronisation ;
  • administration système.

22. Personnalisation des icônes

Pour personnaliser les icônes de GNOME, il est possible de récupérer un thème compatible avec GNOME sur GNOME-Look.

Une fois le thème téléchargé, le dossier d’icônes peut être placé dans :

/usr/share/icons/

Pour une installation uniquement pour l’utilisateur courant, il est préférable d’utiliser :

~/.local/share/icons/

Pour personnaliser individuellement les icones des applications , installer également :

sudo dnf install alacarte

23. Durcissement de Firefox

Firefox possède de nombreux paramètres avancés accessibles depuis :

about:config

Accepter l’avertissement puis rechercher les paramètres suivants.

Paramètre Valeur
toolkit.telemetry.enabled false
datareporting.healthreport.uploadEnabled false
datareporting.policy.dataSubmissionEnabled false
toolkit.telemetry.unified false
toolkit.telemetry.archive.enabled false
toolkit.telemetry.newProfilePing.enabled false
toolkit.telemetry.firstShutdownPing.enabled false
toolkit.telemetry.updatePing.enabled false
toolkit.telemetry.shutdownPingSender.enabled false
toolkit.telemetry.bhrPing.enabled false
toolkit.telemetry.server vide

⚠️ about:config contient des paramètres avancés. Il est préférable de ne modifier que les paramètres que l’on comprend et de conserver une liste des changements effectués.


24. Virtualisation avec KVM

Pour mettre en place une virtualisation complète avec KVM/QEMU et libvirt, Fedora fournit un groupe de paquets dédié.

Installer la virtualisation :

sudo dnf install @virtualization virt-manager

Activer libvirt :

sudo systemctl enable --now libvirtd

Ajouter l’utilisateur au groupe libvirt :

sudo usermod -aG libvirt "$USER"

Une reconnexion à la session peut être nécessaire pour que l’appartenance au groupe soit prise en compte.

Virtual Machine Manager (virt-manager) permet ensuite de créer et administrer graphiquement les machines virtuelles.


25. Maintenance

Une Fedora correctement entretenue nécessite peu d’interventions manuelles.

Rechercher les mises à jour

sudo dnf check-update --refresh

Installer les mises à jour

sudo dnf upgrade

Il est également possible de faire directement :

sudo dnf upgrade --refresh

Vérifier l’état du SSD NVMe

Pour consulter les informations SMART d’un SSD NVMe :

sudo nvme smart-log /dev/nvme0

Cette commande permet notamment de consulter différents indicateurs concernant l’état du périphérique.


✅ Conclusion

Après ces différentes étapes, Fedora Workstation dispose d’une base adaptée à mon utilisation :

  • 🔐 SELinux et pare-feu vérifiés ;
  • 🌐 configuration réseau personnalisée ;
  • 🕵️ randomisation de l’adresse MAC Wi-Fi ;
  • 🔒 quelques mesures de durcissement système ;
  • 🦊 Firefox installé en Flatpak et configuré pour limiter la télémétrie ;
  • 📦 RPM Fusion et codecs multimédias ;
  • 🔑 Proton VPN ;
  • 🐧 Fastfetch ;
  • 📦 Distrobox/Podman ;
  • 🛡️ Lynis, ClamAV et rkhunter ;
  • 🎨 personnalisation de GNOME ;
  • 📱 applications Flatpak ;
  • 🌐 outils réseau ;
  • 🖥️ virtualisation KVM/QEMU/libvirt ;
  • 💾 outils de maintenance du système et du SSD.

Cette configuration reste volontairement personnelle : il n’est pas nécessaire d’appliquer toutes les étapes sur une installation Fedora. Le mieux est de sélectionner uniquement les modifications correspondant à ses besoins.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *