Sécurisation des données et du stockage
Introduction à la donnée
Jusque-là, nous avons parcouru les divers mécanismes de sécurisation et les différentes applications pouvant être mises en œuvre et devant être sécurisées. Mais s’il y a bien une chose qu’il ne faut jamais perdre de vue, c’est que l’essentiel d’une campagne de protection vise avant tout à sécuriser efficacement la donnée. Pour ce faire, nous devons d’abord connaître ce qu’est une donnée et ensuite, il faut savoir la stocker en masse. Il faut donc aussi pouvoir héberger différents types de données, sous forme de silos que l’on appelle indifféremment des baies de stockage ou de façon plus récente, le Cloud. Les chapitres Sécurisation de l’Internet des objets et Sécurité et Cloud sont consacrés à cet aspect des choses afin de mieux comprendre l’enjeu et la façon de sécuriser les données.
1. Qu’est-ce qu’une donnée ?
En informatique, une donnée se représente sous forme d’informations au sein des différents programmes. Cela peut prendre l’apparence d’un code source, lorsque la donnée se trouve dans le texte du programme, ou d’information en mémoire, lorsqu’il s’agit d’une exécution. Ces données décrivent l’ensemble des éléments du programme (qu’il s’agisse d’un format en clair ou chiffré) pour les points suivants :
-
entité
-
interaction
-
transaction
-
événement
-
sous-système
Ces données peuvent être de différentes natures et sont alors classifiées sous diverses rubriques :
-
texte ou chaînes de caractères
-
format numérique
-
multimédia (images et sons)
Les données sont généralement lues depuis un périphérique d’entrée tel que le clavier, la souris ou encore depuis un fichier ou le réseau, lorsqu’il s’agit d’échanges. On parle de mémorisation lorsque les données sont contenues en mémoire. Les données, de façon plus générale, représentent l’un des piliers de n’importe quelle stratégie...
Notion de stockage
Nous avons évoqué précédemment les bases de données et les baies de stockage. Il s’agit là de deux voies permettant effectivement d’héberger des données au sein d’une infrastructure. Mais nous allons voir qu’il existe différentes catégories de bases de données ainsi que différents types de baies ayant leurs caractéristiques propres ainsi que différents médias susceptibles de stocker l’information.
1. Les bases de données
Fonctionnellement, une base de données est un outil gérant le stockage des données brutes d’un métier ou d’une application. Une base peut être isolée ou en relation avec d’autres. Comme nous l’avons mentionné précédemment, dans la grande majorité des situations, les informations qui s’y trouvent sont structurées et la base de données est hébergée dans un même endroit au sein de l’infrastructure d’entreprise. Une base de données est au centre des dispositifs informatiques existants, car elle permet non seulement d’héberger les données, mais aussi de les collecter, les mettre en forme et de les utiliser, le cas échéant, en vue de traitements divers et variés.
Ces bases comportent souvent des mécanismes sous forme de logiciels, de règles ou de programmes, capables de fournir l’accès et l’utilisation des informations. Lorsque plusieurs bases de données sont agrégées, on parle alors de banque de données.
Les bases de données...
Protection des bases de données
Outre la nature de la base de données : OLTP ou OLAP, on peut également noter qu’il existe à ce jour différentes catégories de moteur. On trouve notamment deux grandes familles :
-
les bases SQL
-
les bases NOSQL
Le terme NOSQL fait référence à l’abréviation Not Only SQL. Il ne s’agit pas de la négation du langage SQL !
Parmi les moteurs SQL les plus utilisés sur Debian, il est possible de citer MariaDB, PostgreSQL et pour l’autre catégorie, mentionnons Cassandra et MongoDB. Il est également rappelé que le moteur Oracle est soumis à licence et, si l’on souhaite utiliser gratuitement un tel moteur, il faut installer Oracle Express qui est malheureusement limité en fonctionnalités et ne peut être utilisé en production. Par ailleurs, si les bases SQLite présentent une réelle facilité d’utilisation, il n’existe à ce jour aucun moyen de véritablement les sécuriser. Nous allons donc détailler la façon de protéger les moteurs suivants :
-
bases SQL : PostgreSQL, MariaDB
-
base NOSQL : Cassandra, MongoDB
1. Sécurisation de PostgreSQL
Le moteur PostgreSQL est un système de gestion de bases de données relationnelles, distribué sous licence type BSD. Ce système est un bon concurrent des systèmes de gestion de bases de données open source, tel que MySQL et Firebird, ou des SGBD propriétaires, comme Oracle, Sybase ou Informix, etc. PostgreSQL fonctionne aussi bien sur les systèmes d’exploitation Microsoft Windows, qu’Unix (HP-UX, AIX, Digital Unix), ou encore GNU/Linux. Cela permet de stocker plus de types de données que n’importe quel autre moteur traditionnel. Afin de disposer de toutes les informations et des outils d’administration, il est conseillé d’installer les packages suivants :
postgresql |
pour le serveur base de données. |
postgresql-client |
pour disposer d’un client de connexion. |
postgresql-doc |
pour visualiser la documentation en ligne. |
pgadmin3 |
pour disposer d’une interface graphique d’administration. |
phppgadmin |
pour pouvoir administrer en mode web les bases. |
Pour ce faire, vous pouvez exécuter l’instruction suivante :...
Comment protéger le stockage
Dans l’ouvrage Debian GNU/Linux - Maîtrisez la sécurité des infrastructures - chapitre De la redondance au cluster paru aux Éditions ENI, nous avions évoqué le fait de protéger l’infrastructure d’entreprise via une redondance des volumes de stockage présentés aux différents serveurs, au travers de l’utilisation du réseau de stockage SAN. Mais, pour être complet, il faut aussi parler de l’autre type de stockage, plus centralisé, et permettant d’accéder de façon parallèle aux données de l’entreprise : le stockage NAS (Network Attached Storage). Peut-être faut-il rapidement rappeler ce qu’offre le stockage SAN et le comparer au stockage NAS ?
1. Différents types de stockage
À l’origine, les serveurs disposaient d’un système de stockage dit « attaché », on le nommait d’ailleurs Direct Attached System (également noté DAS). Cela constituait un ensemble de disques liés entre eux grâce à une entité unique de pilotage qui peut être un serveur de fichiers ou un système central. Les sauvegardes étaient déjà, à l’époque, effectuées sur bandes magnétiques et on commençait à voir apparaître les stockages sous forme de matrices RAID. Le problème, c’est que ce genre d’architecture peut entraîner l’inaccessibilité aux données, lors d’une panne ou d’une indisponibilité de la structure. De fait, la technologie a été obligée d’évoluer afin d’améliorer notamment les performances ainsi que la volumétrie à partager entre les différentes applications réparties, telles que le web ou les messageries. Ainsi, depuis le système centralisé DA, deux autres modèles d’architectures ont vu le jour :
-
Le SAN (dont nous avons déjà mentionné l’existence et caractérisé certains moyens de sécurisation)
-
Le NAS, permettant de remplacer, dans certains cas, les serveurs de fichiers coûteux.
En effet, on peut rappeler que l’ensemble des composants d’un réseau...
Mise en œuvre d’un serveur NAS OpenMediaVault
Contrairement au SAN, où l’on trouve peu de suites open source, les serveurs NAS sont assez répandus. On trouve par exemple FreeNAS, OpenMediaVault. Nous pouvons aussi citer quelques solutions embarquées telles que Synology, Qnap, etc. Parmi les nombreuses solutions open source de logiciels NAS, nous allons maintenant voir comment mettre en œuvre la solution OpenMediaVault, également abrégée en OMV qui permet d’illustrer parfaitement les possibilités de ce genre de solution.
1. Présentation
Le logiciel OpenMediaVault est une distribution orientée NAS (Network Attached Storage), créée par un ancien développeur de la firme FreeNAS et adossée à une distribution Debian. Celle-ci possède une interface d’administration web, permettant de transformer un ordinateur en espace de stockage, accessible par le réseau au travers de différents protocoles :
-
ssh
-
ftp
-
ssl
-
samba
-
nfs
ATTENTION : comme l’installation s’effectue depuis une image ISO, et qu’il faut formater le système intégralement pour initialiser OpenMediaVault, cela implique que l’on installera une distribution Debian (de préférence, une Debian 8 ou 9 officielle), pour pouvoir disposer de OMV.
On peut y créer également ses propres certificats SSL et configurer des matrices RAID : RAID0, RAID1, RAID5, RAID6, JBOD… Cela est surtout pratique pour les serveurs disposant de plusieurs disques. Ce système s’adapte à la surveillance de type SMART et même aux systèmes de supervision, type Centreon ou Shinken.
Vous pouvez facilement paramétrer la gestion des droits avancés, via des acl et également recevoir des alertes grâce au mécanisme de notifications d’alertes par messagerie.
Vous pouvez l’utiliser de plusieurs manières possibles. À la base, vous pouvez vous servir du système faisant uniquement du transfert de fichiers, via FTP (File Transfer Protocol). Cela offre la possibilité de mettre en place un "media center". Cela s’apparente à ce que fait le logiciel FreeNAS, ou encore NAS4free (un fork de FreeNAS). Avec OMV, il est aussi tout à fait possible de présenter les données, sous forme...