Table des matières


Sécurité

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, sans sécurisation il est facile d'accéder à toutes vos données à distance et encore plus facilement physiquement.

Pour les particuliers

Pour le particulier, l'enjeu est plutôt la tranquillité et la stabilité du système.
Cela signifie un pare-feu convenablement configuré (voir ci-dessous), afin d'éviter les intrusions malveillantes, et é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

Nous ne le répéterons jamais assez, surtout aux PME/PMI : la sécurité est un enjeu majeur d'une politique économique !
L'époque du capitalisme à la bonne franquette est révolue, 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 », i.e. 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… Quand le cracker travaille pour EDF, ça la met mal !

À ce propos, la DCRI organise régulièrement des stages de sensibilisation à la sécurité informatique, avec des difficultés certaines, étant donné l'ignorance totale des utilisateurs à l'égard de cette menace.

La sécurité dans les entreprises passe donc :

Pour aller plus loin :

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 :

Se protéger des attaques distantes

Quelques points si votre ordinateur est connecté à Internet ou à un réseau.

Mettre à jour ses routeurs

Les virus sont aussi sur vos routeurs et BOX ADSL :

Solutions à ce jour :

  1. rebooter le routeur pour remettre la configuration à zéro
  2. 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 :

Pour votre navigateur Firefox vous pouvez ajouter le module Noscript : NoScript 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 flash, 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-utilisateur (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, 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)

Logiciels

Voir aussi la page Réseau.

Sécuriser son serveur

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.

Voir freebox pour savoir ouvrir des ports de connexions.

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 :

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

Chiffrer des communications

Chiffrement portable: chiffrer ses données n'importe où (compatibilité multi-os, en mode portable, et sans privilèges administrateur)

Néanmoins, cette dernière méthode (celle utilisant android) n'est pas recommandé car elle dépend de la sureté de l'application Android selectionné, et de la confidentialité de ARC-Welder. A ma connaissance, la sécurité n'en a jamais été testé.

Détruire définitivement un fichier

Dans l'attente que les infos de cette section soient complétées par un autre contributeur, signalons un 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

Choisir de bons mots de passe

Ce tutoriel est valable pour tous les mots de passe que vous pouvez avoir: au démarrage d'Ubuntu mais aussi votre messagerie mail, certains logiciels et certains sites internet.
Ressources

Méthode de choix de mots de passe plus particulièrement appliqué à la connexion de site internet.

Ci-dessous des éléments de méthodes de choix et d'organisation de ses mots de passe en prenant en comptes les lieux de connexion en ligne et matériels.

Principe

→ 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é : ?ce5ght67! (variation lettres/chiffres/symboles)

Astuce

→ « 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. »

- Prenez 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.

Le truc 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 :

  1. Liste numérotée une pour votre OS
  2. Une pour verrouiller le matériel (BIOS)
  3. Une autre pour le web et comptes messageries instantanées ou non
  4. 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é

É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

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)

Ces mesures sont bien sûr à adapter à votre besoin.

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 :

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épends de la version de grub ( ie grub vs grub2 qui est maintenant déployé par défault )

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 executions 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

Usage de Truecrypt non conseillé, voyez de préférence Veracrypt qui fonctionne de façon similaire

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

Voir Vidéo-surveillance.

Restreindre les actions des utilisateurs de votre machine

Restreindre les horaires de connexion

Préserver son anonymat sur internet

L'anonymat sur internet est un mythe. On peut seulement limiter les possibilités d'être identifié.

Chiffrer et authentifier ses conversations sur messagerie instantanée

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 :

Liens

Liste des pages sur la sécurité


Contributeurs : Reneca et Judibet.

1)
notamment par rapport à Windows