Manuel sécurité 0.9

Un article de Eyeosfr.

Jump to: navigation, search

Cette page fournit des informations à propos de la sécurité dans les applications web et eyeOS.

Toutes les caractéristiques exposées ici sont présentes dans eyeOS >= 0.8.5. Merci d'effectuer une montée de version vers la version 0.8.5 ou ultérieure si vous voulez appliquer les nouvelles options de sécurité. La sécurité des applications web est un problème complexe dépendant, de la façon dont c'est fait, d'un certain nombre de composants, les principaux sont :

  • Les fondements du système d'exploitation
  • le composant serveur web
  • l'installation de PHP
  • le code d'eyeOS

Une vulnérabilité dans l'un des composants peut affecter tous les autres composants. Tous les composants ne sont pas forcément sous le contrôle de l'utilisateur qui doit travailler avec la configuration définie.

Il y a de nombreux documents disponibles sur la façon de sécuriser les serveurs web et PHP et nous vous encourageons à vous référer à ceux qui couvrent, particulièrement, votre installation.

Ce document s'adresse principalement aux problèmes directement liés au code eyeOS.

Le niveau de sécurité requis dépend de l'usage fait du système. Un système eyeOS utilisé comme gestionnaire privé d'informations et utilisé sur une seule machine n’à pas nécessairement besoin d'une analyse compliquée de sécurité.

D'un autre côté, une attitude prudente doit être prise pour une installation d'eyeOS sur un serveur public fournissant un service à de nombreux utilisateurs. La plus ample mesure de sécurité peut être requise selon la sensibilité des informations conservées par le système eyeOS.

Une attention spéciale doit être prise pour s'assurer que n'importe quelle donnée personnelle est protégée par la plus grande protection possible.

Sécurité et convenance sont souvent en conflit. Un compromis doit souvent être fait. Ce compromis dépend de divers facteurs décrits dans ce document.

Etablir un accès public à un système eyeOS ne devrait pas être pris légèrement. Plusieurs aspects de sécurité doivent être compris et les décisions prises pour un niveau de risque et une sécurité acceptables.

L'équipe d'eyeOS a choisi de faire une configuration par défaut aussi ouverte et libre que possible, c'est au responsable de l'installation d'implémenter tous les moyens de sécurité pour considérer celle-ci comme nécessaire sur son système.

eyeOS est un système souple fournissant une grande variété de services possibles.

Certains d'eux ne sont pas compatibles avec un système entièrement sécurisé.

Par exemple, un système eyeOS par défaut fournit des facilités pour autoriser n'importe quel utilisateur à installer des nouvelles applications qui peuvent, potentiellement, devenir des failles de sécurité.

L'équipe d'eyeOS ne peut garantir la sécurité de n'importe quelle installation d'eyeOS, nous nous efforcerons, cependant, d'assurer que le code PHP d'eyeOS est aussi sécurisé que possible pour fournir des options de sécurité où que possible.

Le reste de ce document liste un nombre de caractéristiques d'eyeOS qui vous aideront plus ou moins à sécuriser votre système.

Certaines d'entres eux requièrent un accès plus ou moins limité au système de fichiers serveurs et une connaissance basique des techniques et termes de l'administration système.

Sommaire

[modifier] Permissions générales des fichiers et dossiers

Le système de fichiers du serveur peut fournir un certain niveau de protection contre des utilisateurs non autorisés.

Le système eyeOS requiert un accès en écriture à certains répertoires et fichiers, sur certains systèmes ces accès peuvent être fournis en dehors du système eyeOS.

En dehors des répertoires etc/, usr/ et etc/ (et le répertoire usr_apps/ si activé), eyeOs ne requiert pas d'accès en écriture à d'autres fichiers ou répertoires qui peuvent être désactivés pour un niveau complémentaire de sécurité. Notez, cependant, que ces fichiers et répertoires pourront de nouveau avoir besoin des droits d'écriture pour les mises à jour du système.

[modifier] Protection contre la navigation fichiers

L'ensemble du système de fichiers d'eyeOS pour tous les utilisateurs et par nécessité une part du système de fichiers accessible par le web.

Cela signifie qu'un utilisateur peut obtenir un accès à n'importe quel fichier à partir du moment où il connaît son nom et sa localisation et en tapant cela dans une URL.

La plupart des informations d'eyeOS sont sauvegardées au format .xml qui est facilement lisible. Dans le but de cacher les données de configuration, qui peuvent inclure des mots de passe cryptés, vous pouvez changer divers paramètres systèmes dans les paramètres de sécurité de l'installation avancée. Un changement convenable serait de changer tout les fichiers .xml vers l'extension .php qui ne peuvent être lus depuis une simple URL.

En général il est impossible de garantir qu'un fichier utilisateur eyeOS ne peut être accédé depuis un autre nom d'utilisateur, tous les fichiers étant sauvegardés à l'intérieur du même espace web.

Cependant, si les noms des répertoires /usr et /home sont changés dans les paramètres avancés, un utilisateur malicieux sera ignorant des noms véritablement utilisés

Pour plus de sécurité dans les systèmes publics Multi-Utilisateurs il est aussi recommandé que le nom de l'administrateur (NdT root) soit également changé.

Il est possible de restreindre les utilisateurs à accéder à n'importe quel fichiers et répertoires autres que ceux spécifiquement autorisés.

Cela est fait en utilisant les possibilités de sécurité des navigateurs web.

Ceci devrait ajouter une nouvelle couche renforçant la sécurité du système et le rendre plus sécurisé avec le coût d'une deuxième connexion.

[modifier] Chargement d'application

La configuration par défaut d'eyeOS autorise n'importe quel utilisateur à déposer, au format approprié, dans l'espace des applications eyeOS.

C'est clairement un risque potentiel de vulnérabilités de sécurité. Il est relativement facile d'écrire des applications eyeOS qui autorise un utilisateur à naviguer à travers le système de fichiers. Une option dans le fichier sysdefs.php autorise deux niveaux de restrictions sur le chargement des applications.

Le premier est de limiter le dépôt d'application seulement à l'utilisateur administrateur (NdT root), le second désactiver tout dépôts d'applications.

Une sécurité complémentaire peut être obtenue en supprimant les applications eyeApps.eyeapp dans le répertoire /apps si d'autres caractéristiques ne sont pas nécessaires.

L'utilisateur administrateur peut limiter n'importe quel utilisateur particulier aux applications qu'ils sont autorisés en éditant le fichier usrinfo.xml pour ces utilisateurs dans le répertoire /usr.

L'élément apps est une liste d'applications séparée par une virgule qui apparaîtront sur dans la barre d'icônes sur les bureaux utilisateurs.

Si l'application eyeApps.eyeapp n'est pas listée alors cet utilisateur sera incapable de changer cette liste d'applications.

[modifier] Mots de passe

Bien que ce ne soit pas spécifique à eyeOS la question des mots de passe est fondamentale pour une bonne sécurité. Utiliser des mots de passe longs plutôt que courts, mélanger majuscules et minuscules avec un ou plusieurs caractères numériques et de ponctuation.

[modifier] Sysdefs.php

Le fichier sysdefs est utilisé pour spécifier certains paramètres du coeur du système.

Il est automatiquement chargé quand une requête eyeOS est faite. Certaines valeurs peuvent être changées dans ce fichier AVANT l'installation d'eyeOS par le panneau des paramètres de sécurité de l'installation avancée.

Notez que si n'importe quel changement est fait à ces paramètres, une attention spéciale devra être faite quand vous mettrez à jour la base du système eyeOS.