Différences entre les versions de « mail2sh, l'article dans la presse »
Ligne 70 : | Ligne 70 : | ||
== Comment renforcer la sécurité ?<br> == | == Comment renforcer la sécurité ?<br> == | ||
Il existe un moyen de renforcer la sécurité en utilisant GPG. Cet utilitaire est normalement installé d'office sous Linux. Vous devez le lancer une<br>première fois pour l'initialiser (sans oublier de modifier le fichier options). Puis vous créez vos clés et encodez le fichier «mail» d'essai.<br>Mais comment décoder le courrier électronique ?<br>(echo "votrepassphrase"; cat mel.gpg) l gpg -batch -passphrase-fd 0 | Il existe un moyen de renforcer la sécurité en utilisant GPG. Cet utilitaire est normalement installé d'office sous Linux. Vous devez le lancer une<br>première fois pour l'initialiser (sans oublier de modifier le fichier options). Puis vous créez vos clés et encodez le fichier «mail» d'essai.<br>Mais comment décoder le courrier électronique ?<br>:''(echo "votrepassphrase"; cat mel.gpg) l gpg -batch -passphrase-fd 0 '' | ||
Une solution possible est de récupérer et d'installer «pgp-mine-handler.pl» à l'adresse : | Une solution possible est de récupérer et d'installer «pgp-mine-handler.pl» à l'adresse : [[www.david-guembel.de/gpg-handler.html|www.david-guembel.de/gpg-handler.html]]<br><br>Le principe est de créer un tube qui décodera le courrier électronique codé gpg<br>:cat mel.gpg I /usr/bin/pgp-mime-handler.pl l more | ||
Il ne vous reste plus qu'à transformer votre fichier .forward ou .qmail vi /home/e-smith/files/users/ mail2sh/.qmail<br>l/usr/bin/pgp-mime-handler.pl I /usr/bin/sudo /var/lib/mail2sh/mail2sh | Il ne vous reste plus qu'à transformer votre fichier ''.forward'' ou ''.qmail'' vi /home/e-smith/files/users/ mail2sh/.qmail<br>:'''l'''/usr/bin/pgp-mime-handler.pl I /usr/bin/sudo /var/lib/mail2sh/mail2sh | ||
Il y a quand même un inconvénient : la «passphrase» est demandée pour décoder le courrier électronique. Comme il s'agit d'un processus batch, nous ne pouvons employer l'utilitaire «kdialog» appelé par défaut par le script Perl «gpg-mime-handler.pl» Il sera nécessaire de remplacer cet appel par:<br>$main::dialog_program = "cat /path/to/the/passphrase.txt";<br>Ce qui malheureusement représente un bien faible niveau de sécurité !<br> | Il y a quand même un inconvénient : la «passphrase» est demandée pour décoder le courrier électronique. Comme il s'agit d'un processus batch, nous ne pouvons employer l'utilitaire «kdialog» appelé par défaut par le script Perl «gpg-mime-handler.pl» Il sera nécessaire de remplacer cet appel par:<br>:$main::dialog_program = "cat /path/to/the/passphrase.txt";<br>Ce qui malheureusement représente un bien faible niveau de sécurité !<br> | ||
<br> | <br> | ||
== Améliorations<br> == | == Améliorations<br> == |
Version du 25 novembre 2010 à 20:14
Mail2shell ou comment contrôler son ordinateur à distance par e-mail !
L'idée est déconcertante : un administrateur contrôle un serveur distant par le biais d'un Sheil initié par courrier électronique. Génial !
Par Xavier Leclercq
Posons le problème...
Imaginons la situation suivante : vous êtes chez vous et désirez accéder au serveur passerelle de votre école ou entreprise.
Le moyen le plus simple est sans doute de créer un tunnel ssh sécurisé. Seulement, son fichier /etc/hosts.allow n'autorise que certaines IP fixes à accéder à un service ssh :
:sshd daemon (adresses bidons)
:sshd: 192.168.0.0/255.255.255.0 195.248.8.0 212.88.242.0 212.11.38.0
Le mécanisme tcp-warpers rejettera impitoyablement une tentative d'accès non autorisée au service ssh en envoyant un e-mail à l'administrateur pour l'en avertir (/etc/hosts.deny) :
- sshd:ALL:spawn = (/usr/sbin/safe_finger-l@%h l\
/usr/bin/Mail -s %d-%h-%u.deny root) &
Ce qui donnera par exemple :
:sshd-212.125.94.152-root.deny
Bref, nous sommes ici confronté à un problème : comment accéder au serveur lorsque le client n'a pas d'IP fixe ?
Plusieurs solutions sont possibles comme la création d'un canal VPN ou l'administration par https... Mail2sh nous propose une autre voie : le contrôle à distance par e-mail. Cette solution est très séduisante : vous pouvez l'utiliser quel que soit l'endroit ou vous vous trouvez, sans aucune modification de la configuration du client (le seul critère étant de pouvoir accéder au courrier électronique)
Le principe
Vous envoyez un courrier à une adresse contrôlée par votre serveur passerelle. Cette adresse devra être spécifique à cette utilisation.
Le premier réflexe sera de la baptiser mail2sh@VotreNomdeDomaine mais il est préférable de la nommer autrement pour une raison de sécurité.
A la réception du courrier, l'utilitaire mail2sh est appelé. Il vérifiera la légitimité du courrier. Le mécanisme d'authentification compare le nom de l'utilisateur et son mot de passe au couple username / password de son fichier de configuration. En cas de non rejet, Mail2sh ouvre un Shell et exécute les commandes qui se trouvent à la suite dans le corps du message. Ces dernières seront toutes soumises à l'interpréteur de commandes que l'utilisateur emploie. Attention : les utilisateurs référencés dans le fichier de configuration (mail2sh.conf) ont le droit d'utiliser mail2sh mais ceux-ci devront aussi exister obligatoirement dans /etc/passwd.
Mise en place
Télécharger la version 1.1 à l'adresse http://jmans.gyptis.orq/nouveau/ce_que_je_fais/logiciels_softs/mail2sh/index.asp. Le logiciel est disponible sous format RPM, deb ou tgz. L'auteur, José Mans, que j'ai contacté m'a affirmé que bientôt les sources PERL de Mail2sh seraient disponibles. Pour l'instant, vous pouvez utiliser gratuitement mail2sh dans un but non commercial.
Mail2sh v1.1 n'est pas sous licence GPL.
Voici les opérations à effectuer
- Lancez la commande visudo pour y ajouter la ligne :
mail2sh ALL = (root) NOPASSWD: /var/lib/mail2sh/mail2s - Créez une adresse de courrier électronique, par exemple mail2sh@qqchose.
- Editez (ou créez) le fichier forward (sendmail ou qmail) situé sous l'arborescence de l'utilisateur mail2sh pour y ajouter
- vi /home/e-smith/files/users/ mail2sh/.qmail
- |/usr/bin/sudo /var/lib/mail2sh/mail2sh
- Le contenu du courrier électronique reçu est envoyé à mail2sh qui est exécuté en tant que root (sudo) Editez le fichier
- /etc/mail2sh/mail2sh.conf
single user on - user default root
- site xl
- password ceciestmonmotdepasseenclair
- reply-to xI@endymion.homelinux.com
L'utilisateur xl doit exister mais ne doit pas nécessairement avoir de concordance de mot de passe entre /etc/passwd et mail2sh.conf.
- vi /home/e-smith/files/users/ mail2sh/.qmail
- Vérifiez le fichier /etc/passwd : la possibilité d'ouverture d'un Shell est ici obligatoire. Autrement dit, si vous avez quelque chose comme:
- xl:x:5021:5021:xl xl:/home/e-smith/files/users/xl:/bin/false
- Transformez la ligne en
- xl:x:5021:5021:xl xl:/home/e-smith/files/users/xl:/bin/bash
Un premier essai
Editez un fichier «mail» qui contiendra par exemple
- site xl ceciestmonmotdepasseenclair
- pwd
- ls
- mail root < /etc/mail2sh/mel
- quit
Si vous n'indiquez pas un bon mot de passe (identique à celui de mail2 sh.conf), vous recevrez le message suivant
- « Hello, authentification error, please contacte your administrator
- thx
- mail2sh (c) José Mans (mail2sh-list®gyp-tis.org)
- http://mans.gyptis.org/ »
Il est configurable car il s'agit du fichier /etc/mail2sh/mail2sh.noauth.
Si par contre, l'authentification se passe convenablement, deux courriers sont envoyés. Le premier est le résultat des commandes Shell (Is listera les fichiers de ~xl). Le deuxième est le contenu du fichier «mail» (résultant de la commande mail root < /etc/mail2sh/mel)
Comment renforcer la sécurité ?
Il existe un moyen de renforcer la sécurité en utilisant GPG. Cet utilitaire est normalement installé d'office sous Linux. Vous devez le lancer une
première fois pour l'initialiser (sans oublier de modifier le fichier options). Puis vous créez vos clés et encodez le fichier «mail» d'essai.
Mais comment décoder le courrier électronique ?
:(echo "votrepassphrase"; cat mel.gpg) l gpg -batch -passphrase-fd 0
Une solution possible est de récupérer et d'installer «pgp-mine-handler.pl» à l'adresse : www.david-guembel.de/gpg-handler.html
Le principe est de créer un tube qui décodera le courrier électronique codé gpg
:cat mel.gpg I /usr/bin/pgp-mime-handler.pl l more
Il ne vous reste plus qu'à transformer votre fichier .forward ou .qmail vi /home/e-smith/files/users/ mail2sh/.qmail
:l/usr/bin/pgp-mime-handler.pl I /usr/bin/sudo /var/lib/mail2sh/mail2sh
Il y a quand même un inconvénient : la «passphrase» est demandée pour décoder le courrier électronique. Comme il s'agit d'un processus batch, nous ne pouvons employer l'utilitaire «kdialog» appelé par défaut par le script Perl «gpg-mime-handler.pl» Il sera nécessaire de remplacer cet appel par:
:$main::dialog_program = "cat /path/to/the/passphrase.txt";
Ce qui malheureusement représente un bien faible niveau de sécurité !
Améliorations
A propos de GPG, José Mans déclare : «Disons que GPG peut coder les messages ou envoyer une signature numérique codée avec la clé privée.
Mails2sh emploiera toujours la même clef publique, soit pour vérifier le destinataire, soit pour décoder le mail ; c'est en fonction de ce que voudra faire
celui qui expédie le courrier... »
Mail2sh est un utilitaire quasi unique en son genre. Félicitations à son auteur d'avoir eu cette idée. Mais, attention aux aspects de sécurité que son utilisation implique!