Utilisation de Systrace

Posté par  (site web personnel) . Modéré par Fabien Penso.
Étiquettes : aucune
0
2
fév.
2003
Sécurité
Le site O'ReillyNet propose un article d'introduction à Systrace.

Systrace est un outil développé par Niels Provos (développeur d'OpenSSH entre autres) présent sur OpenBSD et NetBSD permettant de renforcer la sécurité de son système. Pour chaque programme exécuté sur une machine, Systrace permet de définir un ensemble d'appels système (system call) que le logiciel a le droit ou non d'éxecuter : ouverture/écriture de fichiers, ouverture, lecture/écriture d'une socket TCP/IP, allocation de mémoire...

Pour un programme donné, on peut définir une politique de sécurité avec Systrace lors de sa première exécution ou alors récupérer sur le Net une signature déjà rédigée.

Dans le cas d'un programme bogué et utilisé pour commettre un "hack", si Systrace est utilisé et correctement configuré pour ce logiciel, il permet d'empêcher une utilisation malicieuse (piping d'un shell sur un serveur Wu-FTP lors d'un buffer-overflow distant par exemple).

Aller plus loin

  • # Systrace

    Posté par  . Évalué à 10.

    A utiliser avec parcimonie selon http://www.linuxfrench.net/article.php3?id_article=1049(...) (posté sur linuxfr http://linuxfr.org/2003/01/30/11206.html(...) ) :
    - "La restriction des appels systèmes par application (cf systrace) nous semble une bonne chose utilisable par tous les administrateurs Unix. L'escalade des privilèges (qui ont été ajoutés à systrace) est plus dangereuse : dans le cas où l'administrateur se trompe il offre alors le contrôle de sa machine à une application potentiellement vulnérable. L'escalade des privilèges n'est à réserver qu'aux administrateurs ayant de grandes compétences, cette fonction ayant les mêmes défauts que les privilèges, une partie du domaine de confiance du système disparaissant."
  • # GNU/Linux port

    Posté par  . Évalué à 10.

    il y a une adaptation qui a ete ecrite pour linux et qui (d'apres le site) serait presque terminée
    est ce qu'il y a des gens qui l'ont testé ?

    j'aimerais bien avoir du retour sur ce genre d'experience :)
  • # Audit du système

    Posté par  . Évalué à 3.

    Disposer d'un choix consequent d'alternatives logiciellles, c'est le credo des distributions Linux... du monde libre en général...
    On peut toujours (?) trouver son bonheur... et si ce n'est pas le cas, il est alors possible d'adapter un logiciel existant, d'en développer un soi-même ou... de patienter jusqu'à ce que la "communauté" s'y mette (ce qui ne saurait tarder ;o)

    Mais inversement, la pléthore de choix a tendance a perdre l'utilisateur; aucun choix / stratégie n'est disponible pour faciliter ce choix. Et pourtant ce ne sont pas les documents, How-To, sites d'information qui manquent... Chacun a sa vision partielle des choses.

    En matière d'administration / sécurisation système, cette réalité est d'autant plus vraie.
    Dans le désordre ... Tripwire, setuid, chattr, rp_filter, nmap, sudo, snort, md5sum, sshd, access.conf...
    Un peu de tout dans cette liste, de l'attribut de sécurité "Unice" à la fonctionnalité du noyau en passant par le logiciel dédié.

    Alors un "outil" de plus... soit... l'idée est bonne même si elle n'a rien de nouvelle. Mais le développement des différents composants étant décorrelé de la "distribution" du système (même s'il est toujours possible de télécharger librement les différents composants) contrairement aux systèmes propriétaires... ne serait-il pas temps que les distributions établissent une stratégie plus claire quant aux "packages" proposés. Une distribution sur 5 à 7 CDs, pourquoi pas mais gérer 2 à 3000 packages, est-ce bien raisonnable ?

    La philosophie initiale Redhat était séduisante, 2 à 3 CDs de base puis x CDs "applicatifs". Mais en y regardant de plus près, la dichotomie n'était qu'illusoire... un gros "bazard" à la sortie.

    C'est pour cela que j'aime bien Debian... Une "stable" pas vraiment "up-to-date"... mais 3 CDs de base cohérents. Mais il reste encore pas mal de travail à faire pour aller dans le sens d'un système minimal (sans être "nu" tot de même) fonctionnel... Je crois que nous aurions tous à y gagner.

    Quant à Systrace, well... disons que ça existe mais mon système, j'en ai marre qu'il soit en perpétuelle intégration... je souhaite juste qu'il soit fonctionnel et sécurisé. En l'occurrence, ce sont plutôt la multitude de solutions qui le rendent vulnérables et tous ces bidules installés pour "essayer" mais pas maîtrisés.
    • [^] # Re: Audit du système

      Posté par  . Évalué à 3.

      > La philosophie initiale Redhat était séduisante,
      > un gros "bazard" à la sortie.
      Marrant, il est souvent reproché à RedHat de ne pas mettre beaucoup de paquets.

      Au-delà de ton avis distribe (presque un troll), je suis d'accord avec toi. C'est aux distributeurs de faire des choix pour que l'utilisateur final n'est pas à se prendre la tête. Les mordus de sécurité pouvant aller plus loin.

      > En l'occurrence, ce sont plutôt la multitude de solutions qui le rendent vulnérables et tous ces bidules installés pour "essayer" mais pas maîtrisés.

      Je reste toujours simple avec mes configs. Je doit reconnaitre que Systrace, je m'en fous un peu voir complètement. Unix a un système de protection plutôt cohérant. L'utilisation de Systrace, avec l'accroissement de privilège, est un détournement des principes de base d'unix et rend le système moins cohérant, il y a un moins bonne visibilité sur la sécurité. Attention, je ne nie pas son intérêt dans quelques cas particuliers.
      • [^] # Re: Audit du système

        Posté par  (site web personnel) . Évalué à 2.

        Je reste toujours simple avec mes configs. Je doit reconnaitre que Systrace, je m'en fous un peu voir complètement. Unix a un système de protection plutôt cohérant. L'utilisation de Systrace, avec l'accroissement de privilège, est un détournement des principes de base d'unix et rend le système moins cohérant, il y a un moins bonne visibilité sur la sécurité. Attention, je ne nie pas son intérêt dans quelques cas particuliers.

        Je suis d'accord que pour le "commun des utilisateurs Linux", Systrace est un outil complexe et peut-être pas nécessaire.

        Néanmoins, je pense que sur des configs serveurs, cela peut être utile de "blinder" des applications avec Systrace afin qu'elles ne puissent pas être détournées. Pour moi, le problème que je cite en exemple (un buffer overflow distant sur WU-FTP donnant un shell root sur la machine) pourrait être évité avec une config Systrace correcte pour le démon ftpd.

        Mais il est vrai que l'on peut déjà sécuriser un serveur de nombreuses façons (chrooting, utilisation de LIDS sur Linux...) et que pour des non-spécialistes, cela reste complexe et surperflu.

        Systrace est développé par les "furieux" de la sécurité sur OpenBSD et sur cet OS, toute amélioration de ce point est primordiale (voir aussi l'ajout actuel de Propolice à OpenBSD).
        • [^] # Re: Audit du système

          Posté par  . Évalué à 2.

          Systrace est développé par les "furieux" de la sécurité sur OpenBSD et sur cet OS, toute amélioration de ce point est primordiale (voir aussi l'ajout actuel de Propolice à OpenBSD Et bien justement... Sans vouloir nier l'utilité d'un logiciel comme Systrace, de manière plus générale je m'étonne que l'on souhaite vouloir savoir systématiquement tout faire... à défaut de bien faire ce pour quoi un logiciel / OS est destiné. Vouloir "tout faire", j'appelle ça une usine à gaz... "tout faire parfaitement"... de la vanité. Pour exemple, j'aime Windows pour son interface utilisateur (là je vois déjà les commentaires exacerbés...) même s'il y a mille autres choses que j'exècre. MS le présente comme un serveur de domaine... ça laisse rêveur... Pour Linux, c'est le côté Unix qui me séduit, son approche... sa notion de sécurité "intrinsèque" en l'occurence. Utiliser des logiciels comme Systrace, à mes yeux, c'est introduire une faille. Cela sous-entend aussi ignorer l'administration système de base ce qui est souvent voire systématiquement le cas : quel administrateur "Linux" change le mot de passe root au moins une fois par semaine, vérifie régulièrement l'intégrité des file-systems "critiques", détaille ses logs systèmes, fait les mises à jour de sécurité, n'installe QUE les services/logiciels utiles, a spécifié ses arborescences avant installation / défini les droits de chaque fichier installé ... ? Le choix d'une solution vis-à-vis d'une autre se base justement sur la capacité de chacune d'elles à répondre de fait à un besoin / une envie. Si ce besoin n'est satisfait que par l'ajout d'une "couche" supplémentaire... autant aller voir si celle d'à côté ne le fait pas non ? En l'occurence, si on veut un OS sécurisé... on ne choisit pas Linux ou Windows mais OpenBSD ou un Unix commercial.
          • [^] # Re: Audit du système

            Posté par  . Évalué à 3.

            > quel administrateur "Linux" change le mot de passe root au moins une fois par semaine, vérifie régulièrement l'intégrité des file-systems "critiques", détaille ses logs systèmes, fait les mises à jour de sécurité, n'installe QUE les services/logiciels utiles, a spécifié ses arborescences avant installation / défini les droits de chaque fichier installé ... ?

            Exactement ! La bonne maintenance d'un système rend le système OK pour 99,99 % des cas. Malheureusement ces opérations de base sont faites par 30 % maximum des admins. Alors faut-il passer 5 % de sont temps avec systrace pour s'occuper des 0,01 % restant. Dans la très très très grande majorité des cas : non. <troll> Les admins aiment bien "perdre" leur temps dans le déployement de solution "high tech" pour se la pêter comme des oufs au lieu d'être sur l'essentiel mais qui perçu comment moins noble. </troll>

            Systrace ajout de la complexité. La complexité est l'ennemie de l'imformatique. C'est source de bugs, d'erreur humaine, de perte temps, de problème de passage de connaissance, etc...

            Ce n'est pas parce que l'on a la possibilité de faire quelque chose avec un outil qu'il faut forcément l'utiliser.

            Ceci dit, j'ai rien contre systrace. Il peut être utile dans quelques cas particuliers. Ce qui me gène c'est cette réputation <troll> "d'outil indispendable pour sécurisé son système" </troll>. Alors que dans la majorité des cas il n'apporte que 0,01 % de sécurité.

            > En l'occurence, si on veut un OS sécurisé... on ne choisit pas Linux
            Je ne pense pas que les serveurs GNU/linux soit en "danger" s'il sont bien maintenu. Çà reste des systèmes très sures mais avec "seulement" un noyau 2.0 et sans une dizaine d'outils dédiés sécurité.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.