Ingé
INSECA est un ensemble d'outils pour créer et gérer des systèmes de points de terminaison en direct très sécurisés.
Il s'appuie sur la technologie LiveBuild de Debian et ajoute de nombreuses fonctionnalités orientées vers la sécurité pour assurer un niveau élevé de sécurité tout en gardant l'utilisation globale aussi simple que n'importe quel système.
Les principales caractéristiques des systèmes résultants comprennent:
- possibilité d'être installée sur n'importe quel périphérique de stockage de masse (qui sera rendu démarrable), disque dur PC interne ou disque de machine virtuelle
- Toutes les données non encore publiques (c'est-à-dire ce qui n'est pas déjà présent sur Internet) est cryptée, les données sont également signées numériquement
- Partitions cryptées dédiées au stockage des données du système et de l'utilisateur final, ce que l'accès n'est possible qu'après l'authentification de l'utilisateur et si l'appareil n'a pas été modifié
- Et plus
Pour plus d'infos, reportez-vous à la documentation dans le doc/ Directory.
Introduction
INSECA fonctionne à partir de plusieurs fichiers de configuration, tous regroupés dans un seul répertoire de configuration globale, pointé par la variable d'environnement $INSECA_ROOT ou en utilisant l'argument de la ligne de commande --root de l'outil inseca .
Ces fichiers de configuration définissent des ensembles d'objets qui sont les principaux:
- Créer des configurations décrivant le contenu d'un linde live à construire, allant des packages, des scripts de configuration et similaires aux clés cryptographiques utilisées pour protéger les données;
- Installez des configurations décrivant comment une construction linux en direct sera installée (touches et secrets cryptographiques et divers autres paramètres)
- Configurations de domaine répertoriant un ensemble cohérent de configurations d'installation toutes bulles dans un domaine qui peut être considéré comme un besoin commercial
Les paramètres globaux sont décrits dans le fichier $INSECA_ROOT/inseca.json .
AVERTISSEMENT Ce programme est utilisable mais toujours rude , du moins en ce qui concerne les domaines tels que:
- Langue: la plupart sont en anglais, avec quelques chaînes toujours en français (GetText a commencé à être utilisé)
- La documentation, qui est uniquement sur le français
- Rapports d'erreur, en particulier dans les fichiers de configuration, le traitement des fichiers où l'on est enclin à faire des erreurs
- Installation: il n'y a pas de procédure d'installation, il suffit de télécharger et d'exécuter
- Certains composants ne sont pas encore terminés, certaines fonctionnalités ne fonctionnent pas encore comme prévu
- Attendez-vous à certains bugs
Démarrage rapide
Ce qui suit devrait fonctionner hors de la boîte sur n'importe quelle distribution Linux, mais n'a été testé qu'à l'aide de Debian et Fedora. Ymmv.
Installation
Installation manuelle
Installez les dépendances:
- rclone: https://rclone.org/downloads/
- Borgbackup: https://www.borgbackup.org/
- Python3 et Python3-PacParser (Python 3 avec le PacParser)
- git: https://git-scm.com/
- dbus
- faire
- Demandes (déjà incluses avec Python3)
- modules sqlite3 (déjà inclus avec Python3)
- libgtk-3-dev (bibliothèques GTK3)
- Le moteur Docker: https://docs.docker.com/ngine/install/
Téléchargez l'inséca dans le répertoire dédié (appelé $SRCDIR par la suite)
Créez les images Docker requises: Exécutez make à partir du $SRCDIR/docker-images/grub-bios/ et le $SRCDIR/docker-images/livebuild/ répertoires
Téléchargez Veracrypt en tant que fichier deb à partir de https://www.veracrypt.fr/en/downloads.html dans le $SRCDIR/components/veracrypt/packages.deb/ répertoire
L'une des installations est terminée, vérifiez que le programme $SRCDIR/inseca peut être exécuté: inseca -h devrait afficher l'aide.
Installation scénarisée
- Téléchargez l'inséca dans le répertoire dédié (appelé
$SRCDIR par la suite) - Exécutez la
setup-debian.sh ou setup-fedora.sh à partir du répertoire $SRCDIR
Première configuration
Pour créer une configuration globale:
- Définissez les variables d'environnement locales:
cd $SRCDIR/tools && source ./set-env.sh (où Srcdir pointe vers le répertoire où l'inséca a été installée) si vous utilisez Bash - Créez un répertoire dédié et définissez la variable d'environnement
$INSECA_ROOT pour le pointer - Initialiser la structure de la configuration, exécuter:
inseca init - Créer une configuration de build par défaut:
inseca config-create build "My first INSECA build" - Construire le live live associé:
inseca build "My first INSECA build"
Ces étapes, si elles réussissent, garantissent que l'inséca est opérationnelle, à partir de ce point, se réfèrent à la documentation et construisez votre propre écosystème.