La sécurité
Bases de sécurité
1. Sécurité informatique
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 bien 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.
Vous disposez de plusieurs moyens :
-
L’authentification des utilisateurs par un mot de passe.
-
L’encodage (cryptage est un anglicisme) des données.
-
La sécurité physique en contrôlant l’accès des personnes aux salles informatiques, en utilisant des circuits inviolables matériellement.
-
L’information sur les risques pénaux encourus en cas d’infraction. Un « braquage » informatique est un délit, pas un jeu.
-
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 murs de feu « firewall » qui contrôlent les accès au système informatique depuis l’extérieur et limitent l’accès à des services externes par des utilisateurs non avertis ou qui n’en ont pas besoin pour, par exemple, limiter le risque de rapatriement de virus.
-
L’utilisation de firewall 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 d’intrusion (par corrélation des traces) et bannissement des adresses ou personnes concernées.
-
L’utilisation de bastions, pour un meilleur filtrage...
Sécurité des services et du réseau
1. Vérifier les ports ouverts
a. Les sockets
Les connexions réseau entre deux machines s’effectuent par des sockets. Une socket est une connexion entre deux points via un réseau. Une machine dispose d’une adresse IP et de ports (virtuels) de connexion numérotés, auxquels sont rattachés des services (voir pour cela le chapitre Le réseau). Un client établit une connexion depuis un port de sa machine (port > 1024, généralement choisi aléatoirement parmi les ports libres) vers un port donné d’une autre machine, par exemple un serveur Web sur le port 80. La communication établie entre les deux passe par une socket.
Le système peut être configuré pour accepter ou rejeter des connexions depuis ou vers certains ports locaux ou distants, idem pour les adresses IP. C’est le rôle du firewall (mur de feu) comme Netfilter.
Sur une installation Linux de base, sauf si l’option était présente lors de l’installation, le firewall n’est pas toujours activé par défaut. Les ports ne sont pas filtrés et toute machine extérieure peut tenter d’établir une connexion sur un port de votre machine : ce qui s’appelle ouvrir une socket.
Cela ne signifie pas forcément qu’il y a un trou de sécurité : si aucun service n’est à l’écoute, la connexion est impossible. C’est cependant rarement le cas. De nombreux services sont présents et démarrés par défaut. Si certains souffrent de vulnérabilités, ou sont configurés de manière trop laxiste, il existe un risque réel d’intrusion.
b. Informations depuis netstat
Le chapitre Le réseau vous a présenté l’outil netstat qui permet d’obtenir des informations et des statistiques réseau sur une machine locale. Notamment vous pouvez vérifier quels sont les ports à l’écoute sur votre machine, qui a établi une connexion, et quels sont les processus (services) locaux à l’écoute :
? $ sudo netstat -apnt -A inet
Connexions Internet actives (serveurs et établies)
Proto Recv-Q Send-Q Adresse locale Adresse...