Recommandations sur la priorité d'audit des paquets

Lors de l'audit de la distribution Debian, l'un des premiers problèmes est de décider quels paquets il faut examiner.

Idéalement, tous les paquets devraient être examinés, mais la taille manifeste de l'archive nécessite de trouver un moyen simple d'ordonner le travail.

Comme premières recommandations simples, voici les paquets qui valent la peine d'être examinés :

  1. tout binaire installé en mode setuid ou setgid ;
  2. tout élément fournissant un service accessible par le réseau ;
  3. tout script CGI/PHP accessible à distance ;
  4. tout élément contenant une tâche cron ou un autre type de script automatisé qui fonctionne avec les droits du superutilisateur.

Les paquets couramment utilisés devraient être traités plus prioritairement, puisqu'un problème toucherait un plus grand nombre d'utilisateurs.

Le concours de popularité Debian a pour rôle de montrer quels sont les paquets les plus populaires chez les volontaires participant au sondage.

En particulier, jetez un coup d'œil aux paquets triés par vote. La liste par vote classe les paquets par fréquence d'utilisation chez les gens participant au sondage.

Si un paquet est important du point de vue de sa sécurité, plus particulièrement s'il remplit un des critères ci-dessus, et qu'il est populaire (d'après un sondage comme celui-ci), c'est définitivement un candidat à l'audit.

Les binaires en mode setuid ou setgid

Les binaires en mode setuid ou setgid sont les cibles habituelles des audits de sécurité, puisque la compromission d'un binaire avec de telles permissions permet à un utilisateur local d'accéder à des privilèges qu'il n'aurait pas atteints autrement.

Afin de faciliter la recherche, une liste des binaires en mode setuid ou setgid de l'actuelle distribution stable est disponible :

Quand vient le choix de ces binaires, il est important de se rappeler que certains binaires sont plus sensibles que d'autres. Les binaires setuid root devraient être examinés avant ceux setgid games ou setuid bugs par exemple.

Les serveurs de réseau

Les serveurs de réseau sont un autre objet évident d'attention lors d'un audit de sécurité, puisqu'une faille permettrait la compromission des machines à distance.

Les compromissions distantes sont généralement plus graves que les locales.

Scripts accessibles en ligne

La sécurité des scripts en ligne, spécialement les scripts CGI, est vraiment aussi importante que celle des serveurs de réseau. En effet, bien que le serveur web lui-même puisse être sécurisé, la sécurité des scripts qui y tournent est aussi importante.

Un bogue dans un script disponible par le réseau est aussi grave qu'un bogue dans un serveur à l'écoute des connexions : les deux peuvent compromettre une machine aussi sérieusement.

Les tâches cron et les services systèmes

Bien qu'ils ne soient pas très nombreux, cela vaut la peine de regarder les scripts automatiques, les tâches cron, etc., qui sont inclus dans les paquets.

Beaucoup d'outils de support se lancent par défaut en tant que superutilisateur pour le nettoyage des journaux d'événements.

Une attaque de type lien symbolique réussie peut mener à une compromission locale.