vendredi 28 janvier 2011

[SMSI] Evalsmsi install

Je continue mes péripéties sur l'étude des SMSI mais je fais une pause sur les normes pour vous présenter un outil permettant l'évaluation des SMSI : evalsmsi. Cet outil avait été présenté par Michel Dubois pendant les rump sessions du SSTIC 2009. Une telle solution, libre qui plus est, je n'en connais pas d'autre : il me paraît donc important de s'y intéresser.


En fait, ce poste sert peut-être à rien !

Le but de ce post est d'installer la solution mais la réalité, c'est qu'il existe déjà une image virtuelle toute faite et alors, il n'y a rien à faire si ce n'est de l'importer dans sa virtual box. Sauf que me concernant, j'avais des erreurs avec le fichier *.ova alors je ne me suis pas découragé pour autant et j'ai pris le tar.gz (on est joueur ou on l'est pas ;)).
Pour faire cela, je suis parti d'une nouvelle image Ubuntu 10.10 donc je reprends tout depuis e début. Certaines choses ne vous seront donc certainement pas utiles. En tout cas, même si l'auteur a pensé à faire un README.txt, je pense qu'un tuto pourra faciliter la vie de certains.


Donc ce post va peut-être servir finalement ...

Étape 1 : Installation des packages

La solution repose sur un architecture LAMP. Nous installons les packages en conséquence. Notez que nous devons créer la base de données avant l'installation de phpmyadmin :
jer001@ubuntu:~$ sudo apt-get install apache2
jer001@ubuntu:~$ sudo apt-get install mysq-server
jer001@ubuntu:~$ mysql -u root -p create evalsmsi
jer001@ubuntu:~$ sudo apt-get install phpmyadmin

Étape 2 : Apporter les restrictions principales

Ce serait un outrage de parler de hardening mais un minimum de mesures de sécurité me paraît nécessaire :
  • On commence par changer l'alias pour atteindre l'interface d'administration de phpmyadmin, histoire qu'elle soit moins visible :
jer001@ubuntu:~$ sudo vi /etc/phpmyadmin/apache.conf (rajouter cette ligne) :

  • On évite de fournir la version de PHP, question de principe (variable expose_php à Off) :
jer001@ubuntu:~$ sudo vi /etc/php5/apache/php.ini

  • On passe à la configuration d'Apache pour cacher empêcher l'accès au fichier config.inc.ini de phpmyadmin, cacher les bannières, limiter les accès à l'application par filtrage IP :
jer001@ubuntu:~$ cd /etc/apache2
jer001@ubuntu:~$ sudo vi apache2.conf #rajouter ces lignes ...
jer001@ubuntu:~$ sudo vi conf.d/security #vérifier/changer la valeur de ces variables
jer001@ubuntu:~$ sudo vi sites-available/default #rajouter les lignes
jer001@ubuntu:~$ sudo /etc/init.d/apache2 reload

Étape 3 : Installation et configuration de la solution

# Nous installerons la solution dans un répertoire accessible par le serveur WEB
jer001@ubuntu:~$ cd /var/www
jer001@ubuntu:~$ sudo wget http://downloads.sourceforge.net/project/evalsmsi/evalsmsi_2.3.1.tar.gz
jer001@ubuntu:~$ sudo tar -xzvf evalsmsi_2.3.1.tar.gz
jer001@ubuntu:~$ sudo rm evalsmsi_2.3.1.tar.gz
# On attribue les droits du serveurs WEB au répertoire où est localisée la solution
jer001@ubuntu:~$ sudo chown -R www-data:www-data evalsmsi/
# On récupère le fichier SQL pour configurer la base de données.
jer001@ubuntu:~$ sudo gunzip -d /var/www/evalsmsi/docs/evalsmsi.sql.gz

Pour lancer les requêtes SQL de ce fichier, j'ai fait simple un copier du contenu du fichier et un coller dans phpmyadmin (onglet SQL) et "Go" (cliquer) :


On crée un nouvel utilisateur dans MySQL pour la gestion de la base "evalsmsi". Je le fais via phpmyadmin de nouveau (onglet "Privileges") :


On fournit les données de connexions de la BDD à la solution (renseigner les comptes notamment) :

jer001@ubuntu:~$ sudo vi /var/www/evalsmsi/functions.php
On vérifie que tout fonctionne dans l'interface d'Evalsmsi > Cliquer sur "Accès établissement" ...

... et entrer les crédences d'un admin (ex : compte admin1). Si ça marche, vous verrez cette page :

Success!


Conclusion

Rares sont ceux qui maîtrise la technique et l'organisation de la sécurité. Or, le SMSI est destiné avant tout à cette 2e catégorie de personnes. Alors autant leur permettre d'utiliser une telle solution sans qu'ils soient bloquer par la technique.
Il resterait beaucoup à dire comme la sécurisation de la plateforme et surtout, l'utilisation de la solution. Peut-être l'objet d'un prochain post ?

mercredi 5 janvier 2011

[SECURITY STANDARD] Episode 3: Are you compliant to ... ISO 27003

Dans la continuité de la revue des normes internationales sécurité, il est temps dorénavant de mettre en place le SMSI. Et pour cela, il existe depuis moins d'un an la norme ISO 27003, dédiée à l'implémentation d'un SMSI.


Petit résumé avant de commencer ...

Comme la norme ISO 27002 et toutes les normes qui vont suivre, il s'agit d'un guide et non d'exigence. L'idée principale est de mettre en place un SMSI en construisant un projet. Il s'agit en effet de déterminer les tâches à réaliser et de les synchroniser correctement dans le temps et d'impliquer les ressources nécessaires pour chacune d'entre elles.
Nous allons parcourir cette norme à travers ses clauses 5 à 9 qui nous fournissent les lignes directrices pour le démarrer un projet de SMSI en 5 phases donc qui suivent un ordre logique. Cependant, la norme ne fournira pas d'indication pour faire vivre le système de management en question une fois lancé.


Ce que raconte la norme ...

Clause 5 : Obtenir l'accord de la direction pour initier le projet de SMSI

L'objectif de cette clause est double : obtenir l'accord de la direction et rédiger une première version de la planification du projet de SMSI. Plus précisément, cette clause a pour vocation de définir les besoins en termes de sécurité et de business afin de déterminer les objectifs de la direction et le périmètre qui sera impliqué dans le SMSI. Ceci sera réalisé à travers 3 sous-étapes :
  • Clarifier les priorités qui amènent au déploiement du SMSI ;
  • Définir le périmètre préliminaire du futur SMSI ;
  • Réaliser un plan business et le planning du projet pour approbation.
Finalement, nous cherchons ici les axes stratégiques et les raisons d'une telle implémentation à mettre en accord entre les besoins et les exigences. Le fait de définir et de clarifier l'ensemble des composantes du futur SMSI devraient amener à un consensus entre la sécurité et la direction.

Clause 6 : Définir le périmètre du SMSI, ses limites et la politique du SMSI

Pour ceux qui se sont intéresser à la norme ISO 27001, nous retrouvons ici deux documents requis par celle-ci. Rappelons que la certification ISO 27001 est attribuée à un périmètre précis. Il s'agit donc d'une composante importante. Quant à la politique du SMSI, elle représentera le vecteur de développement tout au long du projet. Cinq sous-étapes sont nécessaires cette fois :
  • Définir le périmètre d'organisation et ses limites en termes (ex : responsables et personnes impliqués dans le projet) ;
  • Définir le périmètre IT et ses limites (ex : logiciels, serveurs, technologies, ...) ;
  • Définir le périmètre physique et ses limites (ex : les sites qui feront partie du périmètre) ;
  • Synthétiser les 3 étapes précédentes pour définir le périmètre global et final avec ses limites (attention : toute exclusion doit être justifiée) ;
  • Rédiger la politique du SMSI et la faire valider.
Nous savons maintenant sur quoi nous allons travailler. En effet, nous avons correctement cadré le projet de SMSI. Les bases étant posées et approuvées, nous pouvons passer à l'étape suivante.

Clause 7 : Analyser les pré-requis sécurité

Tout simplement, il s'agit ici d'établir un état des lieux du périmètre en termes de sécurité. Les résultats de cette analyse nous permettront de mieux appréhender les actions à mener par la suite. Pour obtenir ces informations, 3 sous-étapes sont proposées :
  • Définir les pré-requis sécurité pour les process relatif au SMSI (processus critiques ? contraintes légales ? biens prioritaires ? vulnérabilités impliquées ? besoin de sensibilisation et de formation ?) ;
  • Définir les biens dans le périmètre du SMSI (classification des biens et besoins à partir de l'étape précédente) ;
  • Évaluer le niveau de sécurité (à l'aide d'un audit de conformité (ex: ISO 27002) et des résultats d'audits précédents).
Une fois l'état des lieux établi, il est possible de connaître le travail restant à réaliser. Avant cela, il nous reste à savoir à quel niveau de risque est exposé la société et quel niveau de risque elle est prêt à accepter pour savoir jusqu'où nous devrons aller.

Clause 8 : Réaliser une analyse de risque et rédiger un plan de traitement du risque

Ces éléments sont exigés par la norme ISO 27001, dans la phase PLAN. Pour mener à bien cette partie du projet, nous pourrons nous appuyer sur la norme ISO 27005 que nous verrons dans l'épisode 5 de notre étude. Voici les principales sous étapes de notre projet pour cette 8e clause :
  • Réaliser une analyse de risque (Décrire la méthodologie et fournir les résultats) ;
  • Sélectionner les objectifs de contrôle et les contrôles eux-mêmes (rédaction de la déclaration d'applicabilité et du plan de traitement des risques, cf. Annexe A de la norme ISO 27001) ;
  • Obtenir l'autorisation de la direction pour l'implémentation et la maintenance du SMSI (doit contenir le niveau d'acceptation pour les risques résiduels).
Clause 9 : Concevoir le SMSI

C'est la dernière étape pour que notre SMSI soit prêt et de pouvoir ainsi rentrer dans la phase DO de notre modèle PDCA. 4 sous-étapes sont à prendre en compte cette fois :
  • Concevoir l'organisation sécurité finale (rôles et responsabilités impliqués, gestion de la documentation du SMSI, Politique de sécurité) ;
  • Concevoir les opérations IT et physiques (mise en place et contrôles des mesures de sécurité en définissant chaque tâche et en les assignant à un responsable) ;
  • Concevoir les tâches spécifiques à un SMSI (gestion du SMSI comme la planification de la revue de direction, la formation et la sensibilisation des utilisateurs, enregistrements en vue du contrôle et de l'amélioration du SMSI) ;
  • Produire le planning final du projet de SMSI (décrire l'ensemble des tâches et des méthodes associées en attribuant un responsable (1ère sous étape) de chaque tâche identifiées (2e et 3e sous-étapes).
Voilà, nous sommes prêts à rendre le SMSI opérationnel ! Nous savons qui, quoi, comment et quand réaliser les actions nécessaires à la mise en place, le maintien et l'amélioration continue du SMSI.


Pour être plus précis ...


La norme fournit dans ses annexes des informations utiles pour préciser les sujets abordés dans le corps de la norme et surtout aider l'implémenteur. Voici la liste des annexes et le but de chacune :
  • Annexe A : check-list des tâches à réaliser avec la correspondances ISO 27003 / ISO 27001 ;
  • Annexe B : les rôles et responsabilités de la sécurité de l'information (pour aider à l'organisation) ;
  • Annexe C : Informations concernant l'audit interne (rappel : clause 6 de l'ISO 27001) ;
  • Annexe D : Structure des politiques (hiérarchie des politiques et des procédures et exemple de politique) ;
  • Annexe E : Surveillance du SMSI (mise en place et exploitation d'indicateurs, cf. ISO 27004).
Locations of visitors to this page