TP COMMUNICATION ENTRE OS (Windows/Linux)

Download Report

Transcript TP COMMUNICATION ENTRE OS (Windows/Linux)

COMMUNICATION
Inter-OS
Pour ce TP, nous avons besoin de:






PuTTY
MobaSSH (à installer)
TinyWeb
Xming
XEYES ou autre (coté Linux : apt-get install xeyes)
Créer un utilisateur de type Administrateur
-PuTTY, va nous permettre de lancer un Shell SSH géré par MobaSSH
-MobaSSH est un serveur SSH, SCP et SFTP. Il permet d'établir une connexion à distance chiffrée sur
votre PC sous Windows depuis un autre ordinateur, quel que soit son système d'exploitation.
L'application facilite l'exécution de commandes à distance, le transfert des fichiers de manière
sécurisée, la sauvegarde de données, etc. Pour les utilisateurs confirmés, un mode Expert propose de
choisir le port, d'autoriser ou non la redirection de trafic, et bien d'autres options à configurer.
-TinyWeb, un serveur web pour windows, le plus petit du monde !
-Xming est un portage sous Windows du système de fenêtrage X ouvert des systèmes Unix, Linux et
BSD. Il est fondé sur le serveur X.org et compilé avec MinGW. Il permet ainsi de rediriger l'affichage
sous Windows d'une application graphique tournant sur une machine distante, sous un autre
système supporté par X.org.
-Xeyes est un programme informatique qui servira à afficher des yeux qui suivent la souris depuis
Linux vers Windows
Afin de vérifier que notre serveur SSH fonctionne et en route, on devrait notamment voir apparaitre
l'utilisateur créé (User1 pour moi) dans la console de MobaSSH (onglet Users)
1
EMERY Olivier
| IUT Lannion lp aGSRI TP Windows
Autre vérification, PuTTY devrait ouvrir une console SSH à l'effigie de Moba, du coup en local depuis
Windows (127.0.0.1 port 22). On se connecte avec notre User1 et son mot de passe:
Vérification des accès, comme au disque par exemple :
2
EMERY Olivier
| IUT Lannion lp aGSRI TP Windows
On va ensuite créer un répertoire WWW à la racine de notre dique dur C: puis créer une page HTML
dans ce nouveau dossier.
Une petite manipulation pour lancer les services dans un CMD et on devrait avoir accès à notre page
internet (http://127.0.0.1)
Communication CAS 1
En paramétrant notre serveur Xming (fichier X0.hosts) et autorisant ainsi une machine distante de
communiquer avec nous, on va pouvoir faire apparaitre par exemple notre XEYES dans la session
Windows.
Comment ça marche ?
Il faut un serveur X (Xming) qui tourne sous Windows et qui permettra le déport d'affichage d'une
machine distante. Tout simplement. La connexion n'est pas cryptée mais sécurisé (enfin on parle d'IP
là, si on se fait passer pour la machine...) puisque seul les IP renseignées dans le fichier de
configuration coté Windows les y autorise. Dans le cas où aucune IP n'est indiqué il n'y a aucune
chance d'accéder à l'hôte distant.
3
EMERY Olivier
| IUT Lannion lp aGSRI TP Windows
Exemple avec cette commande sous Debian: xeyes -display 172.16.35.138:0.0
On utilise le protocole X11 par méthode de transport TCP
Communication Cas 2
Sur Debian si je tape l’adresse IP de la machine Windows dans un navigateur, la page index.html va
se lancer (protocole http). Cet échange n’est pas du tout sécurisé, n’importe quelle machine sur ce
réseau peut aller voir cette page…
Communication Cas 3
Une connexion sécurisé en SSH permet d’afficher la page Web du serveur Windows dans une page
web ouverte dans un Linux avec une adresse locale (127.0.0.1) et cela sur le port 8080.
Dans le bash de Linux, j’ai demandé une connexion SSH sur l’hôte Windows avec des paramètres
d’authentification (Utilisateur de Windows et son mot de passe). Si les identifiants sont correctes, un
tunnel s’ouvrira et redirigera toute les requêtes HTTP d’un client utilisant le port 8080 sur le serveur
Web Windows. Exemple en voulant accéder à mon adresse locale 127.0.0.1, je serais redirigé vers
celle de Windows
4
EMERY Olivier
| IUT Lannion lp aGSRI TP Windows
Ouverture de connexion dans Linux, vers Windows avec des identifiants d’un utilisateur
Connexion SSH et création du tunnel entre les deux OS. Clé de cryptage et chiffrement des données
qui y transiteront. Voilà le déroulement :
- Le serveur envoie la clé publique en clair au client pour qu'il puisse crypter.
- Le client génère une clé de cryptage qu'il crypte grâce à la clé publique qu'il a reçue. C’est
automatique et défini dans le protocole SSH.
- Le client envoie la clé symétrique cryptée au serveur. On peut l'intercepter, mais on ne peut pas la
décrypter car il faut pour cela la clé privée, connue seulement du serveur.
- Le serveur décrypte la clé reçue grâce à sa clé privée qu’il a conservée.
- Le client et le serveur connaissent maintenant tous les deux la clé symétrique, et à aucun moment
ils ne l'ont échangée en clair sur le réseau ! Ils peuvent donc communiquer en toute tranquillité.
- Le client peut se connecter au serveur (demande du password).
5
EMERY Olivier
| IUT Lannion lp aGSRI TP Windows
Accès sous Debian à la page Web Windows en passant par l’adresse locale de Linux
6
EMERY Olivier
| IUT Lannion lp aGSRI TP Windows