Sécurité De votre système Ubuntu
Ubuntu est un système relativement sûr1), mais cela ne doit pas vous empêcher d'être vigilant et de suivre quelques recommandations.
Voici comment protéger efficacement vos données personnelles.
Pourquoi sécuriser votre système ?
Parce que vos informations personnelles sont enregistrées à l'intérieur de votre système, et sans sécurisation il serait facile d'accéder à toutes vos données à distance et encore plus facilement physiquement.
C'est pourquoi il est nécessaire de définir une méthode de sécurité fiable .
Pour les particuliers
Pour le particulier, l'enjeu est plutôt la tranquillité et la stabilité du système.
Cela signifie un système régulièrement mis à jour et l'installation de logiciels uniquement à partir des dépôts officiels. Éventuellement un disque dur chiffré, afin d'éviter le vol d'informations et de protéger les données personnelles en cas de vol de la machine.
Pour les entreprises
On ne le répétera jamais assez, surtout aux PME/PMI : la sécurité est un enjeu majeur d'une politique économique !
Nous sommes entrés dans l'ère d'un capitalisme sauvage, où tous les coups sont permis pour semer et/ou abattre la concurrence.
Avec le développement des moyens de communication numériques dans l'entreprise, un nombre colossal d'informations, y compris vitales, deviennent accessibles par le réseau.
Ainsi voit-on se développer les « Officines d'intelligence économique », c.-à-d. des boîtes d'espionnage, pour parler sans euphémismes, tenues par des anciens de la DGSE ou de la PJ et avec elles les intrusions dans les réseaux, les vols de matériel… « EDF, le pirate et les officines » ; site : Archives Le Point ; auteurs : Jean-Michel Décugis, Christope Labbé, Olivia Recasens ; date : 23 avril 2009.
À ce propos, la DCRI organise régulièrement des stages de sensibilisation à la sécurité informatique2), avec des difficultés certaines, étant donné l'ignorance totale des utilisateurs à l'égard de cette menace. - Lien mort ! Voir aussi : Formations de l'ANSSI sur la sécurité informatique.
La sécurité dans les entreprises passe donc :
- par la limitation de l'accès au matériel (zones réservées, restrictions…) ;
- par la sécurisation physique du matériel (antivols, armoires fortes…) ;
- par la sécurisation virtuelle du matériel, des données et informations (lecteurs biométriques, disques chiffrés…) ;
- par la sécurisation des réseaux et des communications (formats de transfert chiffré : SSH…) ;
- par la formation du personnel aux risques.
Pour aller plus loin :
blog spécialisé Défense et IE(Le Blog n'existe plus)- et bien sûr, Google
reste votre amiest un faux ami. (ce lien n'est plus maintenu)
Notions avancées
La sécurité en informatique est un terme très large. Voici quelques liens particulièrement intéressants :
Ces articles sont assez complets et permettent d'entrevoir les problématiques liées à la sécurité informatique.
Entre autres notions de base expliquées dans les liens ci-dessus, voici les points les plus importants :
- la sécurité comporte un aspect psychologique et un aspect objectif ;
- l'approche objective de la sécurité s'intéresse aux causes (anglais : causes) et aux effets (anglais : effects) ;
- la notion de sécurité met en relation les milieux technique et humain : elle touche directement la formation des personnes ;
- la sécurité augmente avec la connaissance et diminue avec l'ignorance : tout ce que je ne sais pas mais que les autres savent est un danger potentiel (paranoïa) ;
- la sécurité d'un système d'informations est égale à celle de son maillon le plus faible ;
- il convient d'adapter les mesures de protection aux risques encourus.
Se protéger des attaques distantes
Quelques points si votre ordinateur est connecté à Internet ou à un réseau.
Mettre à jour ses routeurs
- Chuck Norris Botnet Karate-chops Routers Hard (chuck norris)
Solutions à ce jour :
- rebooter le routeur pour remettre la configuration à zéro
- ou installer un firmware libre dont vous pourrez surveiller l'activité et que vous pourrez mettre à jour. C'est d'ailleurs le seul moyen, car vous n'avez pas la possibilité de voir l'activité avec les firmwares fournis par défaut (qui sont, comme beaucoup de choses propriétaires, non mis à jour pour la sécurité).
Mettre Ubuntu à jour régulièrement
Mettez votre système régulièrement à jour afin de profiter des derniers correctifs de sécurité. Par défaut, Ubuntu recherche les mises à jour tout seul, mais si vous souhaitez vérifier manuellement cliquez ici.
Utiliser un pare-feu (Firewall)
Voir la page concernant les Pare-feu.
Voici une liste non exhaustive des principaux outils pour filtrer les connexions réseaux :
- ufw : est un utilitaire pour régler facilement le firewall
- iptables - Iptables, le firewall en ligne de commande pour Linux;
- Leopard Flower : un firewall applicatif;
- shorewall : un outil pour configurer plus facilement Netfilter;
- fail2ban : bloque les tentatives de connexions;
- snort : détection d'intrusions par règles;
- Hosts : Blocage d'adresse dangereuse;
- PGLD : Blocage d'adresse dangereuse - chargement des listes peerguardian sur internet automatiquement;
- denyhosts : bloque aussi les tentatives de connexions;
- picviz - Analyseur des fichiers log sous forme de graphique.
Navigateurs Web
La plupart des navigateurs Web intègrent un gestionnaire de mots de passe. Si vous ne le protégez pas avec un mot de passe maître (ou principal), les mots de passe enregistrés seront accessibles en clair, à certains programmes et à toute personne ayant accès à votre navigateur.
Pour Firefox, vous pouvez ajouter les modules:
UblockOrigin qui permet de bloquer notamment les publicités et certains cookies intrusifs.
NoScript Security Suite, moins facile d'usage, ne permet l'exécution de scripts JavaScript que sur les domaines de confiance de votre choix (p.ex. le site de votre banque).
Détecte et empêche le crossitescripting, et améliore la sécurité des greffons , java (attention ce sont des greffons propriétaires)…
Éviter la session super-utilisateur en mode graphique
Un programme n'est pas à l'abri de failles de sécurité.
Si une faille est présente et que le programme est lancé en tant qu'utilisateur normal, dans le pire des cas, ce seront vos données personnelles qui seront endommagées.
Par contre, si le programme est lancé en tant que super-utilisateur, une faille pourrait éventuellement permettre d'effectuer toutes les actions permises aux super-utilisateurs (suppressions de fichiers systèmes, installation de programmes…).
Un autre risque est celui d'une erreur humaine. Par exemple, si vous lancez Nautilus en super-utilisateur, vous pouvez supprimer des fichiers systèmes, modifier n'importe quel fichier…
Ainsi, il est recommandé d'éviter de lancer les programmes graphiques en tant que super-utilisateur, quand cela peut être évité. À plus large échelle, il est fortement recommandé de ne jamais démarrer un environnement de bureau (Gnome Shell, KDE…) en tant que super-utilisateur.
Désactiver le "Bureau à distance"
Le "Bureau à distance" est une fonctionnalité permettant de contrôler graphiquement votre ordinateur de l'extérieur.
Avoir cette fonctionnalité activée peut être dangereux, surtout si le mot de passe utilisé n'est pas suffisamment efficace.
Un utilisateur malicieux pourrait alors prendre le contrôle de votre ordinateur (avec les droits d'utilisateur normaux) et accéder à vos fichiers…
Ainsi, il est conseillé de le désactiver lorsqu'il ne vous est pas utile.
Voir la page Bureau à distance.
Pour le désactiver, entrez la commande suivante dans un terminal :
gsettings set org.gnome.Vino enabled false
Vous pouvez mettre cette commande dans les programmes au démarrage, afin d'automatiser la dévalidation à la connexion.
Sécuriser sa connexion internet sans fil (wifi)
Voir la page wifi.
Sécuriser son réseau d'ordinateurs
Antivirus (pour éviter d'infecter des postes Windows)
Consulter "la page dédiée aux antivirus".
Logiciels
- SSH : SSH permet de connecter une console distante sécurisée sur une autre machine;
- Openvpn : Installation du client OpenVPN (tunneling sécurisé sur IP), tutoriel complet sur les possibilités de OpenVPN;
- vpnc- Installation du client VPNC (compatible Cisco System);
- Protocole PPTP : Installation de pptp dans le NetworkManager;
- openvas : Logiciel pour scanner les réseaux et les failles des terminaux présents sur le réseaux, clone libre du scanner réseau Nessus;
- netdiscover : Outil actif/passif de découverte d'adresses réseaux utilisant des requètes ARP. Installez le paquet netdiscover.
Voir aussi la page Réseau.
Sécuriser son serveur
- Ce logiciel nikto contient des scripts déjà écrits et prêts à l'emploi (ce qui fait gagner un temps précieux), ainsi vous pourrez tester les failles de sécurité de votre site web.
Voir le portail Serveur.
Isoler votre ordinateur via un réseau local ou une box ADSL
Explication :
Dans cette méthode, votre ordinateur a une adresse IP qui est directement accessible depuis internet ce qui facilite amplement les attaques et vous rend vulnérable à celles les plus élaborées (notamment sous linux).
Cette méthode est simple et consiste à créer un réseau privé qui isole en partie (via des ports) vos ordinateurs par rapport à internet et pour l'appliquer, il s'appuie sur les box ADSL. En effet ces dernières comportent un mode routeur qui sépare en quelque sorte internet de votre propre réseau en vous attribuant des IP privées (192.168.0.0/16, 172.16.0.0/12 ou 10.0.0.0/8).
Toutes les requêtes provenant d'internet sont interceptées par votre box ADSL qui agit comme un tampon entre internet et vos ordinateurs.
Il suffit ensuite d'autoriser la redirection (forward) de ports pour certains logiciels (p2p, bittorent, …) tel que aMule, bitTorrent ou Transmission.
- Freebox ADSL
Voir freebox pour savoir ouvrir des ports de connexions.
- SFR ADSL
Limiter l'accès aux fichiers
Limiter les droits d'accès aux fichiers
Cette rubrique concerne les droits d'accès à vos données ou aux données de tiers.
Définitions :
Quelques outils :
- Sudo : Qu'est-ce que
sudo
? Comment avoir des privilèges sans être root ? - apparmor : un outil qui permet de verrouiller les applications en limitant strictement leur accès aux seules ressources auxquelles elles ont droit sans perturber leur fonctionnement. Installation facile sur ubuntu, et mis à jour par canonical.
- SELinux : qui permet de définir une politique de contrôle d'accès obligatoire aux éléments d'un système basé sur Linux.
Chiffrer ses données
Le chiffrement (la cryptographie) est une façon efficace de conserver et d'échanger des données sans que quiconque ne puisse les interpréter.
Chiffrer un disque
Voir ce chapitre
Chiffrer des dossiers
- encfs : Chiffrer des répertoires avec EncFS.
- Créer un dossier privé et chiffré dans le /home avec Ecryptfs.
- Créer une archive Zip : sélectionner le dossier à chiffrer avec un clic-gauche, faire un clic-droit ⇒ Compresser, sélectionner le format .zip ⇒ cliquer sur la flèche à côté d'Autres options, écrire le mot de passe souhaité (à conserver précieusement ) puis cliquer sur créer.
- Veracrypt un outil de grande qualité, multi-plateforme, et qui a été développé sur base de Truecrypt et permet de créer un "conteneur" de fichiers chiffré très sûr et portable.
- Cryptomator3) logiciel libre multi-plateformes de chiffrement à la volée.
Chiffrer des communications
Chiffrement portable : chiffrer ses données n'importe où (compatibilité multi-os, sans privilèges administrateur)
- Peazip Ideal pour chiffrer ses dossiers professionel. Peazip est un outil de compression des données, mais qui permet de chiffrer les archives avec une clé AES-256 bit. Les versions portable (linux (i386, arm…), windows et Mac) sont téléchargeable sur le site officiel.
- Gpg4usb: logiciel de chiffrement basé sur GnuPG. Mais en version portable. Il est compatible avec Windows, Mac, et Linux, et ne pèse que quelque Mo. Un incontournable.
- Veracrypt Veracrypt est aussi disponible en mode portable pour windows et Linux/Mac (necessite possiblement les droit root à l'utilisation).
- Les applications Android : C'est du bricolage, mais les applications Android peuvent tourner dans Chromium ou google-chrome. L'astuce ici consiste à télécharger Chrome/Chromium en mode portable (sur Linux, le format portable est appimage), ainsi que l'extension ARC-Welder (par exemple). Vous n'avez plus qu'à utiliser l'application de chiffrement Android de votre choix, n'importe où.
Effacer / Détruire définitivement un fichier
Outil | Action | Dans la distribution |
---|---|---|
shred | Détruire un fichier pour qu'il ne soit pas récupérable. | Oui , installer coreutils |
wipe | Pour détruire un dossier, utiliser. | Oui, installer wipe |
nwipe | Pour effacer un disque dur sans qu'il ne soit récupérable. | Oui, installer nwipe |
secure-delete | Contient plusieurs outils : sdmem sfill srm sswap | Oui, installer secure-delete |
dcfldd | Peut effacer un disque en utilisant un pattern | Oui, installer dcfldd |
bleachbit | Effacer des fichiers ,rendre l'espace libre irrécupérable. | Oui, installer bleachbit |
Il existe des extensions pour nautilus telle que apt://nautilus-wipe qui ajoute les entrées « Effacer en toute sécurité » et « Remplir l'espace vide de manière sécurisée » au menu accessible par le clic-droit.
tutoriel court et didactique sur la série d'outils Secure-Delete, dont un des outils (sfill) permet notamment d'effacer réellement (en réécrivant par-dessus des données aléatoires en multiples passes) tout l'espace inutilisé du disque dur (c'est-à-dire notamment tous les fichiers et répertoires que l'utilisateur a déjà effacés "classiquement").
Sauvegarder régulièrement ses fichiers
La sécurité de vos données passe aussi par leur sauvegarde, car vous n'êtes pas à l'abri de divers problèmes (suppression par erreur, mise à zéro,…)
Pour plus d'informations, consulter le portail sauvegarde.
Bien gérer ses mots de passe
Logiciels de gestion de mots de passe
- keepassx : génération, gestion et stockage sécurisé de mots de passe et autres données personnelles.
- Seahorse est le logiciel de gestion de mots de passe par défaut d'Ubuntu.
- KeepassXC Fork communautaire de keepassX
- pwgen : générer des mots de passe pour vos sessions
- revelation : Un gestionnaire de mots de passe.
- pasaffe : Un gestionnaire de mots de passe.
- Bitwarden : Un gestionnaire de mot de passe open source (peut également sauvegarder dans le cloud si vous préférez).
Choisir de bons mots de passe
Ressources
Méthode de choix de mots de passe plus particulièrement appliqué à la connexion de site internet.
- Comment construire un mot de passe sûr : proposé par le site de la CNIL
- Calculer la « force » d’un mot de passe : sur le site de l' ANSSI
Principe
- Un bon mot de passe contient au moins 8 caractères alphanumériques. Il est le plus aléatoire possible, c'est-à-dire qu'il contient des majuscules, des minuscules, des symboles, des chiffres et des caractères spéciaux. Le mot de passe ne doit pas pouvoir être trouvé dans un dictionnaire.
- → Déconseillé : Alice (nom) - Voiture (mot) - 12345 (combinaison "basique") - 12091990 (date de naissance)
- → Déjà mieux : gHnvKKpm (variation majuscules/minuscules, mais il manque les chiffres et les symboles)
- → Conseillé : ?acE5Ght67! (variation majuscules/minuscules/lettres/chiffres/symboles)
- Il est recommandé de changer de mot de passe régulièrement.
De ne pas l'écrire autre part que dans son cerveau.- De ne pas utiliser le même mot de passe pour s'authentifier en des lieux différents.
Astuce
- Pour se souvenir d'un mot de passe complexe on peut utiliser les premières lettres de chaque mot d'une poésie, d'un texte…
- → « Lsldvdl'a. » : « Les sanglots longs des violons de l'automne. »
- → « L,jmscdbh. » : « Longtemps, je me suis couché de bonne heure. »
- → « Tlm,jmlà8h. » : « Tous les matins, je me lève à 8 heures. »
- Pour créer un mot de passe complexe facilement ( Pour le forum Ubuntu par exemple )
- Liste numérotéePrenez votre prénom : Frédéric
- Supprimer les e : Frdric
- Ajouter des chiffres ( "c" est la 3ème lettre dans l'alphabet, puis 4 pour suivre ) : Frdri34
- Ajouter un caractère spécial ( le fµ pour forum Ubuntu ) : Frdri34fµ
Résultat : quelques années pour craquer ce mot de passe facile à mémoriser.
L'astuce dite de la méthode des « bases »
Pour mieux diversifier ses mots de passe et s'en souvenir facilement, on peut avoir recours à la technique des « bases ».
Par principe, chacune de ces bases sera utilisée selon le contexte d'identification :
- Liste numérotée une pour votre OS
- Une pour verrouiller le matériel (BIOS)
- Une autre pour le web et comptes messageries instantanées ou non
- Un dernier pour allonger le tout ou l'utiliser en dépannage.
L'objectif et l'avantage est de pouvoir ensuite cumuler les bases pour obtenir une super passe-phrase, donc plus de sécurité si nécessaire.
La mémorisation de petites sections est d'autant plus facile qu'on les utilise indépendamment et couramment.
Pour être encore plus sûr, tout en étant facilement mémorisable, on ajoute des variables et des séparateurs : un séparateur sera inséré entre chaque base et sa variable s'il y en a.
Ainsi vous avez des repères logiques et des contextes où appliquer ces mots de passe, fluctuants, mais bien structurés pour vous.
Par exemple :
Base 1 [moi] : 8-12 caractères. C'est votre mot de passe courant pour votre OS. Par exemple une citation ou un acronyme comme expliqué plus haut.
+ séparateur(s) (dièse, arobase, astérisque, virgule, parenthèse, point d'interrogation, etc.)
Base 2 [mon matos] : 4-6 caractères. C'est le mot de passe bref pour, par exemple, votre BIOS.
Choisissez-le bien : on y va rarement tous les jours, à moins de verrouiller le poste.
Dans ce cas, ce ne doit pas être le même…
+ séparateur
Base 3 [les tiers] : 6-8 caractères.
Votre mot de passe web (plus variantes : voir plus bas).
+ séparateur
Base 4 [pré carré] : 6-10 caractères ou plus. Un mot de passe numérique, facile à retenir, mais avec l'insertion de séparateurs (exemple : date de naissance « 13:06:1924:8h », date historique « Marignan:1515 »).
ette base est uniquement destinée à allonger les trois autres en passe-phrases, mais ne doit jamais être utilisée seule sans variables.
Cas de la base 3
Méfiez vous des sites web qui, à la souscription, vous confirment par mail l'ouverture de votre compte et y indique votre mot de passe en clair.
Il vaut mieux éviter d'utiliser toujours le même… Ou mieux, d'en donner un simple genre 12345678 puis de changer cela ensuite.
Il est recommandé d'ajouter une sécurité supplémentaire à cette base 3 : par exemple des caractères extraits du nom de domaine du site (invariant).
Un mot de passe sur un compte du forum.ubuntu-fr.org peut devenir monpasseweb%FURO. Ainsi les mots de passe sont faciles à mémoriser et toujours différents…
Pour le changement de mot de passe, on peut choisir de lire à l'envers monpasseweb%ORUF ou n'utiliser que les consonnes, etc.
En résumé
- Vous pouvez utiliser couramment base1.
- Vous pouvez utiliser base1 + séparateur+ base2 comme super mot de passe (compte administrateur).
- Vous pouvez utiliser Base3 et une variable comme mot de passe avec les tiers.
- Vous pouvez utiliser la Base4 et une variable comme mot de passe confié ponctuellement à une connaissance.
- Vous pouvez utiliser l'ensemble des bases avec leur séparateur pour une passe-phrase de plus de 40 caractères.
Évitez de changer plus d'une base à la fois ainsi que de modifier les séparateurs, ils sont structurants.
Si vous avez un doute sur la confidentialité d'une base, ajoutez seulement le séparateur suivant et si vous voulez, la base suivante !
Bien entendu il faut personnaliser tout cela et que cela corresponde à votre logique. Gardez seulement le principe des bases, des séparateurs et des variantes.
Le tout bien structuré et chaque partie mémorisée et contextualisée empêchera tout voyeur de faire comme dans les films : craquer votre login en vingt secondes avec le nom du chien.
Éviter les utilisateurs sans mot de passe
Risque: il est possible de supprimer tout mot de passe sur un compte utilisateur, en
- cochant l'option "connexion automatique" dans le cas d'un utilisateur unique
- ou dans le cas d'utilisateurs multiples en éditant le fichier /etc/passwd et supprimer le deuxième champ dans les lignes pour les utilisateurs concernés, afin que les lignes commencent par l'identifiant, puis :: (sans rien entre les 2 deux points).
Pour se connecter il suffira d'appuyer sur entrée à la demande du mot de passe (mot de passe vide).
Ceci peut être pratique par exemple dans le cas d'un système multi-utilisateur lorsque ceux ci ne veulent pas se connecter avec un mot de passe.
Solution : ne pas supprimer le mot de passe sur un compte utilisateur.
Solution alternative : si vous avez un compte utilisateur sans mot de passe, attention à supprimer tout accès à distance à la machine pour limiter les risques d'intrusions, et empêcher tout intrus d'avoir un accès physique à la machine.
Se protéger des attaques locales (physiques)
Limiter l'accès physique à l'ordinateur
Pour empêcher un intrus de vider la mémoire du BIOS (et donc la protection par mot de passe) en ouvrant l'unité centrale, puis booter sur un live-CD ou live-USB (ce qui lui confère un équivalent des droits root sur la machine), il faut :
- Premièrement, rendre difficile l'accès physique à la machine (salle fermée et surveillée par exemple pour une entreprise)
- Deuxièmement, rendre difficile à un intrus d'ouvrir la machine (cadenas sur l'unité centrale par exemple)
Sécuriser le démarrage de l'ordinateur (BIOS)
Pour empêcher un intrus de changer l'ordre de boot pour démarrer sur un live-CD ou live-USB par exemple (ce qui lui confère un équivalent des droits root sur la machine), il suffit de mettre un mot de passe au BIOS.
Pour cela, il faut trouver "Administrator password" ou "password" dans le menu du BIOS (l'interface change suivant les cartes-mères) et définir un mot de passe.
Remarque : Il faudra aussi empêcher les intrus d'ouvrir la machine car la majorité des cartes-mères sont équipées d'un petit cavalier, en général à coté de la pile du BIOS, qui permet de « remettre à zéro » tout ce qui a été paramétré au niveau du BIOS, y compris le mot de passe.
Parfois, le simple fait de retirer la pile du BIOS pendant plusieurs secondes aboutit au même résultat.
Sécuriser le démarrage d'Ubuntu (GRUB)
1ère méthode
Risque :
Par défaut, le logiciel chargeur de système Grub inclut dans la liste des choix de système Ubuntu en Recovery mode.
Sur un ordinateur isolé (= sur lequel la gestion d'accès est gérée localement et non pas par un serveur) il suffit de choisir cette option pour profiter des droits root sur la machine, sans avoir à montrer patte blanche (pas de nécessité de mot de passe pour accéder aux droits administrateurs) !
Solution : empêcher un intrus de démarrer votre ordinateur en mode recovery.
Attention, la solution dépend de la version de grub ( ie grub vs grub2 qui est maintenant déployé par défaut )
Pour GRUB 1 ( <= 0.97 )
Pour cela, éditer le fichier « /boot/grub/menu.lst », au choix :
Mettre un mot de passe à GRUB pour les opérations de modification d'une entrée :
## password ['--md5'] passwd # If used in the first section of a menu file, disable all interactive editing # control (menu entry editor and command-line) and entries protected by the # command 'lock' # e.g. password topsecret # password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/ password --md5 "hash md5 de votre mot ou phrase de passe"
ou
password "votre mot de passe"
Pour obtenir le hash md5 d'un mot de passe utilisez la commande :
grub-md5-crypt
Enlever la création automatique d'une entrée recovery
## altoption boot targets option ## multiple altoptions lines are allowed ## e.g. altoptions=(extra menu suffix) extra boot options ## altoptions=(recovery mode) single # altoptions=
ou
Faire que ces entrées soient protégées par mot de passe.
## should update-grub lock alternative automagic boot options ## e.g. lockalternative=true ## lockalternative=false # lockalternative=true
Puis, mettre à jour GRUB :
sudo update-grub
Pour Grub 2 ( version >= 1.98 )
L'idée est d'empêcher un utilisateur ayant la possibilité de redémarrer votre machine et d’accéder à grub puisse réinitialiser votre mot de passe et accéder à vos données sans même avoir à démonter le disque de votre machine, la procédure est tellement courante qu'elle fait l'objet d'un tutoriel : https://doc.ubuntu-fr.org/tutoriel/comment_changer_son_mot_de_passe_principal
Grub2 ( version > 1.98 ) est vraiment plus configurable que Grub1 ( version ⇐ 0.97 )
Mais cela va aussi avec deux niveaux de générations de scripts (bash, sh) utilisant le contenu de /etc/grub.d/ et /etc/default/grub pour générer un /boot/grub/grub.cfg avec la commande sudo update-grub.
Donc toutes les modifications faites à la main dans grub.cfg seront perdues à chaque mise à jour, c'est pourquoi il faut ajouter les modifications dans des sources utilisée pour la génération.
Il est possible avec grub2 d'entrer en mode commande ou d"éditer les entrées, ainsi tout devient possible et il est très facile de devenir root, même sans utiliser le recovery-mode.
Ce que je propose ici est de mettre un mot de passe pour l'utilisation des modes editions 'e' et commande 'c' de grub.
L'idéal serait de disposer d'un script… ce que je vous propose plus bas.
En attendant en se basant sur https://www.justegeek.fr/proteger-ledition-du-grub-avec-mot-de-passe/ en français ( et des commentaires de ce post ) on peut avancer.
Personnellement j'ai décidé de créer un fichier /etc/grub.d/00_security_header
Qui contient :
#! /bin/sh cat <<EOF # Password set superusers="ubuntufr" password_pbkdf2 ubuntuffr grub.pbkdf2.sha512.10000.92491FF0E518FFB426EEEFFD33A9506CE8F8F70DAFA4669EDB58C13DC8BEC65EB95BD306F62CD360E8C7B20D5EB0B61B1A45D60A5779168584D7A60134C29079.671C3CFA286229CAF7C561232EFC70549BFFE4F20B34E376830769CCB647569F9504CAA3948F11C96DBBA574EC47B8DA42972E41E7A6F1501188BFE84A45455E set menuentry_id_option="--unrestricted \$menuentry_id_option" EOF
Puis on donne les droits en exécution dessus :
sudo chmod +x /etc/grub.d/00_security_header
Nous exécutons update-grub :
sudo update-grub
Pour une raison non déterminée, les droits du fichier généré /boot/grub/grub.cfg ne sont pas bons.
Il faut donc faire ceci :
chmod 444 /boot/grub/grub.cfg
Le contenu grub.pbkdf2 correspond ici au mot de passe 'test' et a été généré à l'aide du programme grub-mkpasswd-pbkdf2
Voici un script qui doit faire le boulot, j'en suis l'auteur donc vous pouvez en faire ce que bon vous semble mais sans garantie aucune autre que le fait que je l'ai utilisé sur ma machine et que cela a marché ( Ubuntu 16.04.1 LTS 64 bits avec grub 2.02~beta2-36ubuntu3.2 ).
#!/bin/bash usage() { echo "Creating a grub password to protect grub menu from edition at boot" echo "Basé sur https://www.justegeek.fr/proteger-ledition-du-grub-avec-mot-de-passe/ (french)" echo "With help from https://help.ubuntu.com/community/Grub2/Passwords" } create_private_dir() { if [[ -d ~/.grubedit ]] then echo "~/.grubedit already exists" else mkdir ~/.grubedit fi } create_stamp_if_not_set() { if [[ -z $stamp ]] then stamp=$(date +%d%m%Y%H%M%S) # guess why sleep 1 fi } private_grub_backup() { cp /boot/grub/grub.cfg ~/.grubedit/grub.cfg.$stamp.backup cp /etc/grub.d/00_security_header ~/.grubedit/00_security_header.$stamp.backup } update_header_with_password() { LANG=C grub-mkpasswd-pbkdf2 | { echo "Entrez le mot de passe deux fois" while read LINE do if [[ $LINE =~ (grub\.pbkdf2\..*) ]] then PDKDF2=${BASH_REMATCH[1]} echo "see $OUTFILE" cat <<EOFE >$OUTFILE #! /bin/sh cat <<EOF # Password set superusers="$USER" password_pbkdf2 $USER $PDKDF2 set menuentry_id_option="--unrestricted \\\$menuentry_id_option" EOF EOFE fi done } if [[ -f $OUTFILE ]] then sudo cp $OUTFILE $OUTSYSFILE sudo chmod a+x $OUTSYSFILE sudo update-grub # looks weird, but when addding a script this had an impact on generated permissions sudo chmod 444 /boot/grub/grub.cfg else echo "[ERROR] no security password grub file generated ( $OUTFILE does nor exists )" >&2 fi } remove_security_password() { if [[ -n $OUTSYSFILE ]] then echo "Suppression de $OUTSYSFILE" sudo rm $OUTSYSFILE fi } create_private_dir create_stamp_if_not_set OUTFILE=~/.grubedit/00_security_header.$stamp.new OUTSYSFILE=/etc/grub.d/00_security_header while [[ $# > 0 ]] do case $1 in remove) remove=1 break ;; create) create=1 break ;; help) usage exit 0 break ;; *) echo "[ERROR] unrecognized option $0" >&2 exit 1 ;; esac shift done private_grub_backup if [[ $remove == 1 ]] then remove_security_password sudo update-grub else update_header_with_password fi echo "Fait"
Sauvez-le dans un fichier createagrubpasswd.sh
Pour le lancer il faut d'abord le rendre exécutable pour tous :
chown u+x ./createagrubpasswd.sh
Puis nous exécutons le script :
./createagrubpasswd.sh
Entrez le mot de passe en validant avec entrée, et refaites le une seconde fois pour vous assurer de ne pas avoir fait une faute de frappe.
Au prochain redémarrage, si vous désirez édtier le menu de grub ( 'e' ) ou entrer en ligne de commande ( 'c' ) l'utilisateur, votre utilisateur courant vous sera demandé et le mot de passe que vous avez choisi.
Pour supprimer ce que vous venez de mettre en place relancez le script avec l'option remove
./createagrubpasswd.sh remove
Remarque pour protéger toutes les entrées toujours avec le même mot passe, il suffit de commenter la ligne contenant –unrestricted dans le script.
2ème méthode
La deuxième méthode consiste à mettre un mot de passe au compte superutilisateur, veuillez pour cela vous référer à la section 2 de la page root.
Chiffrer un disque dur ou une partition
- Chiffrez aisément vos répertoires avec EncFS.
Sécuriser son Bluetooth
Voir la page Bluetooth.
Logiciel antivol
Si vous utilisez la connexion automatique et que vous craignez de vous faire voler votre ordinateur, il peut être intéressant d'utiliser le logiciel Pombo qui vous aidera à récupérer votre ordinateur en cas de vol.
Voir aussi le logiciel Prey qui propose la même chose sans avoir a installer de serveur
Vidéo-surveillance / détecteur de mouvements
- Zoneminder, Camserv; solutions opensource de vidéo-surveillance;
- Motion : détecteur de mouvements;
- Voir cette discussion.
Voir Vidéo-surveillance.
Restreindre les actions des utilisateurs de votre machine
Restreindre les horaires de connexion
- Les restrictions horaires sous Linux: empêcher des utilisateurs de se connecter à leur session à des horaires choisis.
Préserver son anonymat sur internet
Chiffrer et authentifier ses conversations sur messagerie instantanée
- Off-the-Record (OTR) Messaging : permet d'avoir des conversations privées sur de multiples protocoles (XMPP/Jabber, IRC, MSN, …)
Tester la sécurité de son système
Afin de boucler la boucle (feedback/système) vous pouvez tester la sécurité en place, ou que vous désirez mettre en place, et décider en conséquence.
Pour cela vous pouvez utiliser ces outils :
- Réseau :
Liens
- Discussion sur le forum ubuntu-fr : "Sécuriser mon PC"
- Notifications de sécurités pour Ubuntu : "Ubuntu Security Notice"
Liste des pages sur la sécurité
Contributeurs : Reneca et Judibet.