vendredi 6 janvier 2012

Scanner les ports avec Nmap - Sécuriser un réseau informatique - Comment protéger son réseau

Scanner les ports

Compte tenu de la vulnérabilité potentielle des protocoles, des applications et des systèmes d’exploitation

(cf section 2.2 et section 2.3), il est très important qu’un administrateur ait une parfaite connaissance des services qui fonctionnent sur l’ensemble du parc de machines qu’il gère. Les scanners de ports sont des outils de découverte automatique des services disponibles. Ils permettent d’examiner l’ensemble des machines d’un réseau et produisent des rapports de synthèses très précis.

Comme dans le cas des renifleurs (cf. chapitre 3), ces outils sont également très intéressants pour les personnes mal intentionnées. Ils permettent à distance, de tenter de découvrir quels sont les services installés, quels sont les systèmes d’exploitation déployés, ... Le scanner de ports est un des outils de base des pirates informatiques.

La suite de ce chapitre est consacrée à Nmap (Network Mapper) un des scanners de ports les plus utilisés.

1 - Nmap

Nmap peut être utilisé pour scanner une machine, un sous-ensemble ou la totalité d’un réseau, et fournit un rapport d’analyse dont la table des ports intéressants est l’élément essentiel. Lorsqu’une machine est accessible, Nmap affecte un statut aux ports scannés, il peut prendre les valeurs suivantes :

  • fermé : le port est accessible mais n’est pas en service (il n’y a pas d’application à l’écoute) ;
  • filtré : le port est filtré par un dispositif de contrôle (pare-feu, ACLs de routeurs). Nmap ne peut pas déterminer s’il y a effectivement un service à l’écoute ;
  • ouvert : un service utilise ce port et répond aux sollicitations ;
  • ouvert ou filtré : Nmap est incapable de déterminer si le port est ouvert ou filtré . Cet état se présente avec certains types d’analyses et dépend aussi de la con?guration des pare-feux rencontrés (que font-ils lorsque un paquet est indésirable ? en général ils ne répondent pas (filtré donc), dans certains cas ils émettent un paquet RST, qui a émis le paquet RST une application ou un pare-feu ?) ;

  • non filtré : Nmap est incapable de déterminer si le port est ouvert ou fermé. Cet état se présente uniquement avec le type d’analyse ACK ;
  • fermé ou filtré : Nmap est incapable de déterminer si le port est fermé ou filtré . Cet état se présente uniquement avec le type d’analyse Idle.

1.1 - Les différents types de scan de Nmap

Nmap permet d’effectuer des scans en utilisant différentes techniques issues de l’étude du comportement des machines respectant le RFC793 (TCP). Parmi la douzaine de techniques de scan connues, on peut citer les suivantes :

  • SYN Stealth scan : le scan SYN furtif est celui proposé par défaut. Il est très rapide car il n’effectue pas une connexion TCP complète. Nmap émet un paquet sur le port ciblé et attend la réponse qui peut être :
  • un paquet SYN/ACK qui indique que le port est ouvert ;
  • un paquet RST qui indique que le port est fermé ;
  • pas de réponse si le port est filtré.

Dans tous les cas Nmap n’effectue pas la connexion complète et émet un paquet RST pour fermer la connexion. C’est pourquoi ce type de scan est également appelé demi-ouvert (half open scan).

  • Connect scan : le scan le plus anodin. Il effectue un appel système connect() et se comporte donc comme un client TCP normal. Il ne nécessite pas de droits particuliers (contrairement au SYN Stealth scan) mais son exécution est plus lente ;
  • UDP port scan : le scan des ports UDP ;
  • consulter la documentation de tous les types de scan sur


1.2 - Quelques exemples de scans


Les exemples suivants utilisent nmapfe, l’interface X-Window de la commande Nmap.
1.2.1 Un scan sur un serveur ouvert

Figure 1: Un scan sur un serveur ouvert

Le résultat de ce Connect scan sur un serveur non protégé par un pare-feu révèle la version d’Apache utilisée (il est donc nécessaire de rendre Apache plus furtif. Par ailleurs on peut constater qu’un service SSH existe et que les services rsh, rlogin ne sont pas désarmés (il faut le faire).

1.2.2 Un scan sur un serveur protégé par un pare-feu



Figure 2: Un scan sur un serveur protégé par un pare-feu

L’exemple de la figure 2 montre le résultat d’un SYN Stealth scan sur un serveur qui héberge un service Web ouvert et d’autres services filtrés. On notera que malgré la sélection de l’option Version probe (afficher les versions de serveurs), Nmap ne peut indiquer quelle est la version d’Apache utilisée. Dans un bon réflexe, l’administrateur du serveur WWW a configuré de masquer cette information.

1.3 - Conclusion
Les scanners de ports sont des outils de base pour les pirates, ils doivent donc l’être aussi pour les administrateurs de réseaux. Ceux-ci doivent soumettre régulièrement les réseaux qu’ils gèrent à une analyse complète. Notamment après l’installation de toute nouvelle machine (des services inutiles peuvent être ouverts) ou pour vérifier que les bonnes résolutions initiales sont toujours effectives.

L’usage d’un scanner de ports (tel Nmap) améliore la sécurité des réseaux car il permet aux administrateurs de suivre très précisément l’état des services ouverts, c’est un élément important pour maîtriser les usages.

0 commentaires:

Enregistrer un commentaire

Share

Twitter Delicious Facebook Digg Stumbleupon Favorites

 

IP