La sécurité
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 192.168.1.140:22 192.168.1.142:65008 ESTABLISHED...