Blog ENI : Toute la veille numérique !
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
  1. Livres et vidéos
  2. Linux
  3. La sécurité
Extrait - Linux Préparation à la certification LPIC-1 (examens LPI 101 et LPI 102) - [7e édition]
Extraits du livre
Linux Préparation à la certification LPIC-1 (examens LPI 101 et LPI 102) - [7e édition] Revenir à la page d'achat du livre

La sécurité

Prérequis et objectifs

1. Prérequis

Disposer des connaissances réseau du chapitre Le réseau.

Disposer des connaissances d’administration du chapitre Les tâches administratives.

Avoir les accès administrateur root.

Être connecté à un réseau.

Pouvoir, si possible, tester les accès depuis une autre machine du réseau.

2. Objectifs

À la fin de ce chapitre, vous serez en mesure :

D’acquérir les bases de sécurité.

De contrôler les droits SUID/SGID.

De vérifier l’intégrité d’un système de paquets logiciels.

De modifier la politique des mots de passe.

De gérer les connexions et limites des utilisateurs.

De tester les mots de passe.

De contrôler la sécurité du réseau avec nmap.

De désactiver les services inutiles.

De sécuriser les services avec les TCP wrappers.

Les bases de la sécurité

Les objectifs principaux de la sécurité informatique concernent :

  • La sécurité de la connexion : il s’agit de contrôler que les utilisateurs qui se connectent sont autorisés à le faire et de leur interdire l’accès au système dans le cas contraire.

  • L’intégrité des données : il s’agit de faire en sorte que les fichiers et les bases de données ne soient pas corrompus et de maintenir la cohérence entre les données.

  • La confidentialité des données : l’accès aux données en consultation et en modification doit être limité aux seuls utilisateurs autorisés.

Pour cela, Linux dispose de différentes fonctionnalités, parmi lesquelles :

  • L’identification des utilisateurs par un compte utilisateur défini par un nom d’utilisateur et son UID.

  • L’authentification des utilisateurs par un mot de passe.

  • Le chiffrement des données.

  • Les modules PAM (Pluggable Authentication Modules) qui permettent de configurer et de renforcer les méthodes d’identification et d’authentification.

L’activation de SELinux, module de sécurité du noyau, renforce considérablement la sécurité du système, au prix d’une certaine complexité de configuration.

Plus généralement, les points suivants contribuent à renforcer la sécurité des systèmes Linux :

  • Le contrôle fréquent des droits d’accès aux fichiers et aux bases de données.

  • Le contrôle des accès aux serveurs et aux logiciels.

  • Le contrôle des « checksum » des fichiers pour s’assurer de leur intégrité.

  • La sauvegarde régulière des données.

  • L’audit des principaux événements du système.

  • L’installation de pare-feux (firewall) qui contrôlent les accès au système informatique depuis l’extérieur et limitent l’accès vers des services externes.

  • L’utilisation de pare-feux applicatifs, pour analyser les flux de données, par exemple pour détecter les attaques sur les serveurs web.

  • L’utilisation d’outils de détection et de prévention...

Sécurité des services et du réseau

Les services réseau serveurs d’un système sont généralement accessibles depuis d’autres systèmes. Ces services peuvent présenter des failles de sécurité, il est donc important de n’activer que ceux qui sont indispensables et de contrôler leur activité.

1. Vérifier les ports ouverts

Différentes commandes permettent de connaître les ports sur lesquels des services réseau sont en attente.

a. Informations depuis netstat

La commande netstat, décrite dans le chapitre Le réseau, permet d’obtenir des informations et des statistiques réseau sur le système local. Elle permet notamment de vérifier quels sont les ports sur lesquels des services sont accessibles, les connexions en cours, et les processus locaux à l’écoute.

Syntaxe

netstat -apnt -A inet 

Avec :

  • -a : connexions actives ou attente sur un port

  • -p : affiche le processus local (PID, exécutable)

  • -n : affiche les valeurs numériques au lieu des noms

  • -t : protocole de transport TCP

  • -A inet : uniquement les connexions en IPv4

Exemple

# netstat -apnt -A inet 
Connexions Internet actives (serveurs et établies) 
Proto Recv-Q Send-Q Adresse locale      Adresse distante     Etat        PID/Program name 
tcp        0      0 127.0.0.1:25        .0.0.0:*             LISTEN      999/exim4 
tcp        0      0 0.0.0.0:22          0.0.0.0:*            LISTEN      622/sshd: /usr/sbin 
tcp        0      0 0.0.0.0:631         0.0.0.0:*            LISTEN      655/cupsd 
tcp        0    208...

Validation des acquis : questions/réponses

1. Questions

Si l’état de vos connaissances sur ce chapitre vous semble suffisant, répondez aux questions ci-après.

Sécurité locale

1 Pourquoi est-il important de contrôler les droits SUID et SGID des fichiers exécutables ?

2 Indiquez une ligne de commande qui permet de rechercher et d’afficher les informations détaillées sur les fichiers ordinaires dans /usr dont le propriétaire est root et disposant du droit SUID.

3 Un fichier du paquet logiciel rpm bash semble incorrect. Le résultat de la vérification RPM indique .M... T /bin/bash. Que s’est-il passé ?

4 Comment vérifier les informations de mot de passe de l’utilisateur user ?

  • A - chage -l user

  • B - passwd -l user

  • C - grep ^user /etc/shadow

  • D - passwd -S user

5 Générez six mots de passe aléatoires d’une longueur de 8 caractères.

6 L’utilisateur ftponly ne doit pas pouvoir se connecter de manière interactive. Quelle commande pouvez-vous taper pour modifier son shell de connexion en conséquence ?

7 Comment bloquer toute nouvelle connexion interactive, hormis root ?

  • A - en passant en niveau d’exécution init 1.

  • B - en modifiant tous les shells de connexion en /bin/false.

  • C - en bloquant tous les terminaux via /etc/securetty.

  • D - en créant le fichier /etc/nologin.

8 Comment empêcher vos utilisateurs de créer trop de processus ?

9 Comment conserver au démarrage les réglages de ulimit ?

  • A - en créant un script lancé par init.

  • B - en modifiant /etc/security/limits.conf.

  • C - en modifiant le fichier /etc/profile avec une série de ulimit.

  • D - en modifiant le fichier ~/.bashrc des utilisateurs et celui présent dans /etc/skel.

Sécurité du réseau

10 Comment connaître les ports ouverts et les connexions actives sur votre machine ?

11 À quoi sert la commande nmap ?

  • A - À fournir une carte du réseau.

  • B - À tester les ports distants d’une machine du réseau.

  • C - À obtenir des informations de sécurité sur une machine du réseau.

  • D - À connaître le système d’exploitation d’une machine distante.

12 Comment les informations retournées...

Travaux pratiques

1. Contrôle des fichiers

But : contrôler les fichiers et les droits associés.

1.

Affichez la liste des fichiers du système appartenant à root et ayant le SUID bit positionné.

Solutions possibles

But : contrôler les fichiers et les droits associés.

1.

Affichez la liste des fichiers du système appartenant à root et ayant le SUID bit positionné.

# find / -user root -perm -4000 2>/dev/null 
/usr/sbin/pppd 
/usr/sbin/exim4 
/usr/bin/umount 
/usr/bin/newgrp 
/usr/bin/passwd 
/usr/bin/fusermount3 
/usr/bin/mount 
/usr/bin/chfn 
/usr/bin/sudo 
/usr/bin/su 
/usr/bin/ntfs-3g 
/usr/bin/chsh 
/usr/bin/pkexec 
/usr/bin/gpasswd 
/usr/lib/polkit-1/polkit-agent-helper-1 
/usr/lib/dbus-1.0/dbus-daemon-launch-helper 
/usr/lib/xorg/Xorg.wrap 
/usr/lib/openssh/ssh-keysign 

2. Sécurité des utilisateurs

But : gérer la politique de sécurité des mots de passe des utilisateurs.

1.

Fixer la politique de sécurité des mots de passe pour tous les utilisateurs futurs : changement de mot de passe tous les 40 jours, interdiction de changer de mot de passe avant 7 jours et avertir 10 jours avant l’expiration du mot de passe.

Solutions possibles

But : gérer la politique de sécurité des mots de passe des utilisateurs.

1.

Fixer la politique de sécurité des mots de passe pour tous les utilisateurs futurs : changement de mot de passe tous les 40 jours, interdiction de changer de mot de passe avant 7 jours et avertir 10 jours avant l’expiration du mot de passe.

Dans le fichier /etc/login.defs :

PASS_MAX_DAYS 40 
PASS_MIN_DAYS 7 
PASS_WARN_AGE 10 

Pour vérifier :

# useradd pba1 
# chage -l pba1 
Dernière modification du mot de passe :août 08, 2023 
Le mot de passe expire :sept. 17, 2023 
Mot de passe inactif : jamais 
Le compte expire : jamais 
Nombre minimal de jours entre deux changements de mot de passe : 7 
Nombre maximal de jours entre deux changements du mot de passe : 40 
Nombre de jours d'avertissements avant que le mot de passe n'expire : 10 

3. Sécurité générale du système

But : contrôler les limites et tenir à jour les paquets logiciels....