seppl

Logiciel capture d'écran:
seppl
Détails logiciels:
Version: 0.4
Date de transfert: 3 Jun 15
Développeur: Lennart Poettering
Licence: Gratuit
Popularité: 7

Rating: nan/5 (Total Votes: 0)

Seppl est à la fois une définition de protocole et une implémentation logicielle d'une nouvelle couche de chiffrement pour IPv4. Seppl projet fait usage de la cryptographie symétrique pour chiffrer l'ensemble du trafic sur un réseau. Sa mise en œuvre est conçu autour de Linux netfilter / iptables.
Seppl introduit deux nouvelles cibles de netfilter: CRYPTE et décrypter. Une règle de pare-feu peut ainsi être utilisée pour crypter / décrypter le trafic réseau entrant et sortant. Cela rend Seppl extrêmement facile à utiliser, puisque aucun démon besoin de courir pour la communication sécurisée.
Seppl utilise le moteur de chiffrement de l'API Linux cryptographique qui est disponible dans le noyau 4.2.22 et plus récent.
Seppl est principalement destiné à crypter les réseaux sans fil (comme remplacement sécurisé de cryptage WEP cassée) et des réseaux Ethernet locaux, mais peut être utilisé pour des solutions VPN à grande échelle ainsi.
Le Seppl de protocole repose sur est pas compatible avec tout autre logiciel. Le protocole est ouvert et bien défini, mais il n'y a pas d'autre que ce logiciel de référence mise en œuvre.
Pourquoi Seppl, il ya déjà IPSEC, CIPE, ...?
CIPE peut être utilisé pour des liaisons point-à-point seulement. Il a la structure du tunnel et introduit ainsi de nouvelles adresses IP. Cela ne veut pas toujours souhaitable. Il nécessite un démon de l'espace utilisateur.
IPSEC / FreeSwan est extrêmement compliqué à utiliser. Grâce à son système de routage étrange il est presque impossible d'utiliser avec démons de routage. IPSEC est lourd.
Seppl est vraiment peer-to-peer. Il crypte de façon transparente tout le trafic sortant et donc compatible avec les démons de routage. Il est extrêmement facile à utiliser ainsi, car il ne fait pas de changement dans le comportement de routage normal. Seppl est extrêmement léger.
La Mise En Oeuvre
La mise en œuvre se compose de trois modules du noyau Linux: seppl.o, ipt_CRYPT.o et ipt_DECRYPT.o. Le premier est le gestionnaire de clés dans le noyau, ce dernier sont les deux nouvelles cibles netfilter. Les deux dépendent des seppl.o.
seppl.o doit être insérée dans le noyau en premier lieu. Le gestionnaire de clés peut être accessible avec le fichier / proc / net / seppl_keyring. Il contient des données clés binaires et est initialement vide. Vous pouvez ajouter une nouvelle clé en écrivant à ce fichier.
Les deux scripts Python Seppl-ls et Seppl-gen-Key-moi d'être utilisé pour la gestion des clés. Seppl-ls peuvent être utilisés pour convertir les touches de Seppl entre le format binaire utilisé par / proc / net / seppl_keyring et un format XML lisible par l'homme sur la base. Il suffit d'appeler Seppl-ls pour une liste de toutes les clés actuellement actifs. Seppl-gen-clé génère une nouvelle clé à partir de / dev / urandom. Par défaut, il utilise le format XML. Les forces du paramètre de mode binaire. Vous pouvez générer et activer deux touches "linus" et "alan" en émettant des lignes de commande suivantes:
Seppl-gen-clé -n linus -x> / proc / net / seppl_keyring
Seppl-gen-clé -n alan -x> / proc / net / seppl_keyring
Seppl-ls sans discussion répertorie les nouvelles clés enregistrés dans le trousseau de clés du noyau. Vous pouvez supprimer toutes les touches (non utilisée actuellement) par l'émission:
écho clair> / proc / net / seppl_keyring
Depuis Seppl est basé sur la cryptographie symétrique en utilisant des clés partagées vous devez copier les clés nouvellement générées à chaque hôte vous souhaitez vous connecter à votre infrastructure de Seppl. (De préférence via SSH ou tout autre transfert de fichiers sécurisé) Vous obtenez une copie binaire de votre trousseau de clés actuelle par l'émission:
cat / proc / net / seppl_keyring> keyring.save
Maintenant, copiez ce fichier keyring.save à tous les autres hôtes et exécutez la commande suivante il:
chat keyring.save> / proc / net / seppl_keyring
Qui est simple, non?
Après cela, vous pouvez configurer vos paramètres de pare-feu sur chaque hôte:
iptables -t mangle linus --key -A POSTROUTING -o eth0 -j CRYPTE
iptables -t mangle -A PREROUTING -i eth0 -j DECRYPT
Cela va crypter tout le trafic sortant sur eth0 avec la touche "linus". Tout le trafic entrant est décrypté avec soit "linus" ou "alan", selon le nom de la clé spécifiée dans le paquet de réseau spécifique. Les paquets entrants non chiffrées sont silencieusement abandonnées. Utilisation
iptables -t mangle -A PREROUTING -p 177 -i eth0 -j DECRYPT
pour permettre le trafic entrant à la fois crypté et non crypté.
C'est tout. Vous avez terminé. Tout le trafic sur le sous-réseau local est maintenant cryptée avec Seppl.
Le chiffrement par défaut est AES-128. Si vous ne spécifiez pas le nom de la valeur par défaut les clés utilisées pour "def".
Un script d'initialisation SysV /etc/init.d/seppl est fourni. Il va charger les modules du noyau de Seppl et écrire toutes les touches à partir du répertoire / etc / Seppl au trousseau de clés du noyau. Il ne sera toutefois pas ajouter des règles de pare-feu,.
Problèmes de performances
Les paquets de réseau sont augmentés de taille quand ils sont cryptés, puisque deux nouvelles têtes et de la IV sont ajoutés. (36 octets en moyenne) Cette conflits sur quelque sorte avec la gestion MTU du noyau Linux et les résultats en ayant tous les grands paquets (qui est: la taille du paquet près de MTU) fragmentés dans un grand et un autre tout petit paquet. Cela va affecter les performances du réseau. Un travail autour de cette limitation est d'utiliser la cible TCPMSS de Netfilter pour ajuster la valeur MSS dans l'en-tête TCP pour des valeurs plus petites. Cela permettra d'accroître TCP perfomance, depuis les paquets TCP de la taille de la MTU ne sont générés. Ainsi pas de fragmentation est nécessaire. Cependant, TCPMSS est TCP spécifique, il ne va pas aider sur UDP ou d'autres protocoles IP.
Ajoutez la ligne suivante avant le cryptage à votre configuration de pare-feu:
iptables -t mangle tcp --tcp-drapeaux -p -A POSTROUTING SYN, RST SYN -o eth0 -j TCPMSS --set-mss $ ((1500-40-8-16-6-15))
Le Protocole
Pour le chiffrement chaque paquet non crypté unique est prise et converti à l'un crypté. Pas un seul autre paquet est jamais envoyé.
   Seppl homologue d'origine
+ ------------ + + ----------------------- +
| IP-Header | | modification IP-Header | |
+ ------------ + + ----------------------- + |
| Payload | | Seppl-tête |> Unencrypted
+ ------------ + + ----------------------- + |
                            | Vecteur d'initialisation | |
                            + ----------------------- + /
                            | Seppl-tête |
                            + ----------------------- + | Crypted
                            | Payload | |
                            + ----------------------- + /
L'en-tête IP d'origine est conservé dans la mesure du possible. Seuls trois champs sont remplacés par de nouvelles valeurs. Le numéro de protocole est défini à 177, le décalage de fragment est mis à 0 et la longueur totale est corrigée à la nouvelle longueur. Tous les autres champs sont conservés en l'état, y compris les options IP.
L'en-tête de Seppl en clair se compose d'un certain nombre d'un octet de chiffrement et un nom de touche. Actuellement, seulement 0 et 1 sont définis comme des numéros de chiffrement AES avec pour clé de 128 bits, resp. AES avec clé de 192bit. Le nom de la clé (7 octets) peut être utilisé pour sélectionner une touche spécifique à un trousseau de clés plus grande.
Le IV est utilisé pour CBC codage du chiffrement utilisé. Elle diffère de paquet à paquet, mais n'a pas généré de manière aléatoire. Pour des raisons de perfomance, seule la IV initial au démarrage du système est aléatoire, toutes les perfusions suivantes sont générées par incrémentation les précédents.
L'en-tête de Seppl cryptée se compose de trois champs sauvegardés de l'en-tête IP d'origine (numéro de protocole, fragment offset, longueur totale) et un octet qui est toujours 0 pour détecter les touches dépareillés.
La charge utile est l'IP-playload d'origine, de la TCP / UDP / autre tête à la fin.
Limitations:
· Seppl interfère avec le suivi de connexions de Netfilter en quelque sorte. Ainsi vous ne serez pas en mesure d'utiliser NAT conjointement avec Seppl. Si vous utilisez le suivi de connexion d'une autre manière avec Seppl votre kilométrage peut varier.
· Seppl est testé avec Linux 2.6.1. Utilisez la version 0.3 for Linux 2.4.
Exigences:
· Seppl a été développé et testé sur «testing» de Debian GNU / Linux à partir de novembre 2003, il devrait fonctionner sur la plupart des autres distributions Linux et les versions Unix car il utilise GNU Autoconf et GNU libtool pour la configuration du code source et de la gestion de la bibliothèque partagée.
· Seppl nécessite Linux 2.6. {0,1} (sources configurées installés) et iptables 1.2.8 ou plus récent.
· Le jeu d'outils de l'espace utilisateur complète nécessite Python 2.1 ou plus récent. Un ensemble dépouillé en C est disponible aussi bien.
Installation:
Comme ce paquet est fait avec les autotools GNU vous devez exécuter ./configure dans le répertoire de distribution pour la configuration de l'arborescence source. Après cela, vous devez exécuter pour faire la compilation et make install (en tant que root) pour l'installation de Seppl.
Quoi de neuf dans cette version:
· Port pour Linux 2.6, aucun autre changement. Version 0.4 est plus compatible avec le noyau 2.4. Utilisez la version 0.3 pour le noyau 2.4, il est fonctionnellement équivalent.

D'autres logiciels de développeur Lennart Poettering

PulseAudio
PulseAudio

17 Aug 18

nss-mdns
nss-mdns

3 Jun 15

Commentaires à seppl

Commentaires non trouvées
Ajouter un commentaire
Tourner sur les images!