OnionJuggler

Gestionnaire de services onion riche en fonctionnalités pour les systèmes de type UNIX, écrit en shellscript compatible POSIX
OnionJuggler est un ensemble portable de scripts et de documentation à faible prérequis, destiné à aider l'opérateur de service à jongler (gérer) ses onions.
ATTENTION : ne faites pas encore confiance à ce dépôt, sauvegardez vos clés hs dans un autre emplacement. Ce projet n'a pas encore été publié et ne doit être considéré que pour le développement.
Lien rapide vers ce dépôt : git.io/onionjuggler
Table des matières
Introduction
Images

Historique
Ce projet est né après avoir vu les étonnants scripts CLI Python d'OnionShare, qui permettent des services onion éphémères qui ne touchent jamais au disque et peuvent être exécutés facilement sur Tails ou Whonix. Puis, après avoir vu le script bash pour service onion de RaspiBlitz pour le Raspberry Pi, l'idée de le porter sur n'importe quelle distribution Debian a germé. Au fur et à mesure que l'idée grandissait, l'utilisation de GNU Bash et Linux constituait un point de défaillance unique 1 2, donc rendre le script compatible POSIX pour être compatible avec tout système de type Unix est devenu un objectif définitif.
Objectif
L'objectif de ce projet est de :
- faciliter la gestion des services onion, de l'activation d'un service à l'ajout d'autorisation client, en offrant toutes les capacités de modification manuelle des fichiers, mais avec moins de saisie.
- montrer que la gestion d'un service onion va bien au-delà de l'utilisation d'un serveur web avec vos pages.
- distribution, du niveau du code source (FOSS) à l'effet produit lorsqu'il permet à quiconque d'exécuter le code sur n'importe quel système d'exploitation, shell ou gestionnaire de services. Atténuation d'un point de défaillance unique
Atténuation d'un point de défaillance unique :
- Noyau : de
Linux prédominant à BSD et tout autre système de type Unix.
- Shell : de
Bash prédominant à tout shell POSIX tel que ksh, (y,d)ash et Zsh (émulant sh).
- Gestionnaire de services : de
Systemd prédominant à RC, OpenRC, SysVinit, Runit.
Modifier le fichier de configuration de tor (torrc) n'est pas difficile, mais l'automatisation résout les problèmes de mauvaise configuration et permet :
- moins de temps passé en exécutant une seule commande
- aucune indisponibilité en rejetant les configurations invalides avant de les appliquer
- une uniformité complète
- une interface graphique pour aider les débutants
Fonctionnalités
- Activer un service - Crée le répertoire s'il n'existe pas (HiddenServiceDir), sélectionne la version onion (HiddenServiceVersion), type de socket personnalisé (unix ou tcp), avec autant de ports virtuels que souhaité, ainsi que les cibles (HiddenServicePort).
- Désactiver un service - Supprime la configuration du service du torrc ; le service ne sera plus accessible, mais vous pouvez le réactiver à tout moment. Optionnellement, purger le service, supprimant sa configuration et son répertoire, ce qui supprimera ses clés définitivement.
- Renouveler l'adresse du service - Destiné aux services onion privés ; si vous fuyez son adresse, vous pouvez changer son nom d'hôte ; attention, tous vos clients autorisés seront déconnectés et les clés du service seront définitivement supprimées.
- Credentials - Affiche le nom d'hôte, les clients, le bloc torrc, le nom d'hôte encodé en QR code.
- Authentification onion - Uniquement pour les services onion v3. Cela dépend de la configuration côté client et serveur et fonctionne avec une paire de clés ; le client détient la partie privée (soit générée par lui, plus sûre, soit donnée par l'opérateur du service) et l'opérateur du service onion détient la partie publique. Si l'un des éléments suivants est configuré :
- Serveur - Génère une paire de clés ou ajoute la partie publique, liste les noms des clients et leurs clés publiques depuis
<HiddenServiceDir>/authorized_clients/<client>.auth. Si un client est configuré, le service ne sera pas accessible sans authentification.
- Client - Génère une paire de clés ou ajoute la partie publique, liste vos
<ClientOnionAuthDir>/<SOME_ONION>.auth_private.
- Onion-Location - Pour les services onion publics : vous pouvez rediriger vos utilisateurs du clearnet vers votre service onion grâce à ce guide pour nginx, apache2 et les attributs d'en-tête HTML.
- OpSec - Sécurité opérationnelle
- Socket Unix - Prise en charge de l'activation d'un service onion via un socket Unix pour éviter les contournements localhost.
- Serveur web - Servez des fichiers avec votre service caché en utilisant les serveurs web Nginx ou Apache2.
- Utilisabilité - Deux boîtes de dialogue sont compatibles avec le projet :
dialog et whiptail.
- Traitement en masse - Certaines commandes peuvent être exécutées en masse avec l'argument
@all pour inclure tous les services ou clients selon l'option --service ou --client ; liste des arguments activés [SERV1,SERV2,...] et [CLIENT1,CLIENT2,...] ; la commande parcourra les variables et appliquera la combinaison.
- Infaillible - Le script fait de son mieux pour filtrer les commandes invalides et la syntaxe incorrecte. Les commandes ne sont pas difficiles mais peuvent effrayer au premier abord. Ne vous inquiétez pas, si c'est invalide, cela ne sera pas exécuté pour éviter que le démon tor ne recharge à cause d'une configuration invalide. Si une commande invalide est exécutée, veuillez ouvrir un problème.
Prérequis