Introduction au test logiciel/Tests d'intrusion

Un livre de Wikilivres.
Sauter à la navigation Sauter à la recherche

Un test d'intrusion ou pentest, permet de vérifier la sécurité d'un système. Il s'agit de se prémunir de tout espionnage ou sabotage, en particulier venant d'Internet.

Balayage de port[modifier | modifier le wikicode]

Le balayage des ports d'une machine permet d'identifier les points d'entrée potentiels depuis le réseau. Par exemple, le freeware Nmap permet de le faire automatiquement.

Nmapfe screenshot.png

Une fois les ports ouverts listés, un autre programme peut tenter de s'y connecter par attaque par force brute . Pour s'en prémunir, certains pare-feu limitent le nombre de connexions par minutes, comme iptables.

En cas de présence d'un formulaire Web (port 80 ou 443), on vérifiera également l'absence de possibilité d'injection SQL (ex : via sqlmap[1]). Elle peut-être assurée par les fonctions de gestion des caractères d'échappement (ex : mysql_escape_string de PHP[2]).

Scan de vulnérabilité[modifier | modifier le wikicode]

Des logiciels scanneur de vulnérabilité comme Nessus (ou son fork libre OpenVAS) permettent une planification régulière avec envoi de rapport par e-mail, des différentes vulnérabilités visibles depuis le réseau. Par exemple la présence de versions de logiciels avec une faille connue, des mots de passe trop simples, des relais de messagerie ouverts (pouvant être vecteurs de spams) ou des dénis de service. Pour ces derniers, il est recommandé de ne pas lancer le test pendant la production, afin de ne pas impacter les utilisateurs.

Détection d'intrusion[modifier | modifier le wikicode]

Les outils comme Snort permettent de voir venir les attaques côté serveur :

Snort ids console.gif

Intrusion physique[modifier | modifier le wikicode]

Si des personnes inconnues peuvent pénétrer les locaux, il faut sécuriser son BIOS. En effet, pour empêcher un individu de court-circuiter l'authentification du système d'exploitation, il faut lui interdire de booter sur une clé USB ou un CD, en définissant le système en premier dans l'ordre de boot, puis en protégeant l'accès au BIOS par un mot de passe.

Par ailleurs, pour l'empêcher de démonter le disque dur pour le lire depuis une autre machine, ou de réinitialiser le BIOS en enlevant la pile, la plupart des tours d'ordinateur possèdent un trou pour placer un cadenas.

Tests en boite noire, grise et blanche[modifier | modifier le wikicode]

On distingue trois types de tests :

  • Le test en boite noire consiste à lancer le test à partir de l'adresse de la cible uniquement.
  • Le test en boite grise part d'un compte existant avec son mot de passe, pour voir s'il peut effectuer des élévations de permission par exemple.
  • Le test boite blanche est réalisé avec une totale connaissance du système ciblé : code source, comptes...

Normes[modifier | modifier le wikicode]

  • PCI DSS impose de fermer telnet, et d'utiliser des clés de session strictement supérieures à 1024 bits.

Nessus propose d'ailleurs un type de scan pour cette norme.

Références[modifier | modifier le wikicode]

Voir aussi[modifier | modifier le wikicode]