Thématiques principales

lundi 30 mars 2020

Montage Raid

Introduction

Aujourd'hui un article court! et qui va aussi me servir d'aide mémoire: RAID!

Besoin

RAID? Oui RAID [ubuntu-raid], pas le produit anti mouche, mais la solution de résilience du stockage! Attention, ici on ne parle pas de base de données mais d'une solution permettant de gérer la sauvegarde de données en terme de disponibilité et d’intégrité en cas de panne! Il s'agit en fait d'une technique de gestion des données au niveau le plus bas possible, entre autre, au niveau des disques!

Solutions

Ainsi Il va exister différents niveaux RAID, assurant différents types de gestions des disques, allant de RAID 0 a RAID 10:
  • RAID 0: il ne s'agit pas d'une configuration permettant d'assurer de la sauvegarde mais de pouvoir tirer le maximum des performances des disques (en distribuant les données). Cette config nécessite au moins 2 disques.
  • RAID 1: avec deux disques au moins, cette configuration permet de dupliquer a l'identique les informations sur les disques comme s'il n'y en avait qu'un. Ainsi en cas de panne, la redondance permet de garantir les données. Coté performance, vous permettrez d’améliorer le nombre d’accès disque parallèle au meilleur taux de transfert (limité a la vitesse d’accès disque classique)
  • RAID 5: le RAID 5 est une combinaison du RAID 0 et du RAID 1 et nécessite 3 disques au minimum permettant d’améliorer les perf et de se garantir de la perte d'un disque. au delà les données seront perdu.
  • RAID 6: le RAID 6, c'est du RAID 5 mais avec une gestion permettant la perte acceptable de deux disques avant la perte irrémédiable de données. Cela nécessite donc 4 disques...
  • RAID 10: Avec 4 disques, ce mode est une combinaison matricielle du RAID 1 sur n disque et du RAID 0 sur m cluster des disques RAID 1. Le RAID 1 a pour but de garantir l’intégrité des données alors que le RAID 0 se veut optimiser les performances.

Exemple


Le cas du RAID 1

Identification des disques


1
fdisk -l

Creation du RAID 1


1
mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sda1 /dev/sdb1


Formatage du disque


1
mkfs.ext4 /dev/md0

Montage du disque

Ajouter au fichier /etc/fstab la ligne suivante
/dev/md0 /mnt/raid ext4 defaults 0 1
Pour ensuite monter le disque


1
mount -a

References

[ubuntu-raid] https://doc.ubuntu-fr.org/raid_logiciel

dimanche 29 mars 2020

Confinement, articles, boulots, tout ca tout ca....

Je n'ai pas beaucoup donné de signes de vie ce mois ci. Il faut dire que ce mois de mars a ete un peu spécial, je prévoyais d’écrire un peu plus.  J'avais même pas mal de sujets sous le coude, mais tout ça a été perturbé : non seulement je devais normalement changer de mission début mars afin de rejoindre la cellule architecture de la boite dans laquelle je suis en mission, mais en plus de cela, la vague Coronavirus est arrivée!

Mon changement de mission a donc été reporté tout comme les missions dans lesquelles je devais intervenir. Ainsi en attendant, restant dans l'equipe initiale, il a fallu alors trouver de quoi s'occuper.

Bon de ce coté la, il y avait encore de quoi faire, surtout dans la thématique de soutien d’équipe (ce que l'on pourrait appeler DevOps aujourd'hui) et c'est justement sur ces sujets que les prochains articles vont s'appuyer (ba oui tant que c'est chaud).

Pourtant, pas d'articles! Ba oui en fait avec tout ca, il a fallu etre sur le pont! Car le coronavirus nous a un peu mis dehors de l'entreprise! Et il a fallu s'adapter au mode teletravail mais toutes les contraintes que cela peut appeler: déménagement, autorisations, VPN, organisation etc.. un grand pas en avant malgré tout!

Et finalement j'ai quand même changé d’équipe! donc forcement, de nouveaux sujets a aborder, des nouvelles contraintes de nouvelles réunions! Enfin bref, beaucoup de taff!

Du coup bien sur j'ai pris du retard, un bon mois même! Mais cela va se tasser, la routine commence a se remettre en place autant a la maison qu'au boulot! (pas dur c'est le même lieu du coup!) et on va aussi pouvoir se reallouer un peu de temps pour les articles!

Donc voila, je suis pas mort et prochainement, il devrait y avoir une petite série sur le DevOps qui devrait arriver! a bientôt donc!

dimanche 15 mars 2020

Samhain

Introduction

Samhain [samhain] est un outil de control d’intégrité pour les OS ou il importe de vérifier qu'une configuration n'est pas altéré dans le temps et qu'aucune intrusion n'a été réalisé.

Pour ce faire l'outil va procéder au stockage de l'ensemble des empreintes des fichiers du système pour lesquels vous souhaitez assurer des garanties.

Pour cela il faudra configurer le fichier /etc/samhainrc avec l'ensemble des fichiers et répertoire sur lesquels opérer la surveillance.

Par défaut, cette configuration est largement déjà pertinente: surveillance des répertoires /etc, /var etc...

En pratique

Installation

Dans la pratique, Samhain est plutôt simple à utiliser:

D'abord l'installer depuis le dépôt:
 
1
$sudo apt-get install samhain

Ou depuis le targz sur le site officiel ce qui permet d avoir la derniere version:

1
$wget https://la-samhna.de/samhain/samhain-current.tar.gz

on depackage:

1
2
3
4
$gunzip /tmp/samhain-current.tar.gz
$tar -xf /tmp/samhain-current.tar
$gunzip samhain-4.4.1.tar.gz
$tar -xf samhain-4.4.1.tar

Et on build:

1
2
3
4
$cd /tmp/samhain-4.4.1
$sudo ./configure
$sudo make
$sudo make install

Et si vous souhaitez qu'un check soit fait lors des reboot:

1
$sudo make install-boot

 

Initialisation

Enfin suite à l'installation, il faut initialiser la base de données (a faire qu'une seule fois):

1
$sudo samhain -t init

 

Utilisation

Ensuite dans son utilisation on procédé a des checks réguliers:

1
$sudo samhain -t check

Et si il est nécessaire de mettre a jour la base des empreintes (suite a l'installation d'une nouvelle application), on appelle la commande update

1
$sudo samhain -t update

 

Configuration

Comme precisé dans l'introduction, la configuration (chapitre 5, [samhain]),  de samhain se réalise dans le fichier /etc/samhainrc
 
Cette configuration se realise par l'application de regles sur des repertoires ou des fichiers (attention qui peuvent etre des repertoires sous unix tout est fichier)

Les relgles s'appliquent par des instructions precisées entre []. Ces instructions peuvent etre soit definies par l'utilisateur (ce que nous ne verons pas ici) soit utilisées via un pool d'instruction et regles pre-existantes.

Par exemple:


1
2
[ReadOnly]
dir = /some/directory

La liste des instructions regles pre-existante ReadOnly, LogFiles, GrowingLogFiles, Attributes, IgnoreAll, IgnoreNone, etc... reponds deja globalement à l'ensemble des besoins pouvant être exprimés en terme de vérification d’intégrité.

Notification

Dernier point important, lors d'un check, même si celui ci est réalisé manuellement, il est important d'informer des anomalies éventuelles détectées mais aussi de les remonter auprès des systèmes d'informations en charge du monitoring.

D'une part en tant que producteur de log et l'alerte, la configuration des niveau de criticité des messages se gère dans la section [EventSeverity] du même fichier de configuration.

De même, le type de flux d'alerte peut être configurer dans ce même fichier auprès de la même section permettant de produire ces alertes sous la forme de mail (chapitre 4.4), de flux syslog (chapitre 4.11) ou de messages (chapitre 7) a destination d'un serveur distant Samhain nommé Yule.

Le propos n'est pas de rentrer dans le détails ici de cette configuration mais syslog étant un type support standard pour la gestion de messages au travers d'un SI, il n'est déconnant de se tourner vers lui pour gérer ensuite agrégation du suivi et des alertes.

 References


[samhain] https://la-samhna.de/samhain/
[simple] http://www.lestutosdenico.com/outils/samhain-multi-systeme-exploitation
[more-difficult] https://www.howtoforge.com/host-based-intrusion-detection-samhain