Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

SSH sur le port 80

50 réponses
Avatar
Etienne Marcel
Bonjour,

Afin de traverser sans soucis les routeurs les plus récalcitrants, j'ai
pensé sur les machines que je dois maintenir à distance à faire
tourner/écouter le serveur SSH sur le port 80 au lieu du classique port
22.

Est-ce que cela pose un problème particulier ?

En particulier, je ne sais pas comment fonctionnent les routeurs
existants... est-ce qu'ils transmettent effectivement tout ce qu'ils
reçoivent sur le port 80 ou bien ce port particulier est-il lui aussi
bloqué ?
J'ai une règle iptables de ce genre sur mon routeur qui n'accepte que
les demandes provenant d'une connexion initiée par moi...

Sinon j'ai configuré un des routeurs pour faire de la translation de
port sur le port 22 et je me suis posé la question : comme je me
connecte en utilisant l'adresse IP du routeur, quelle est la machine
qui me répond lorsque je fais un "ssh toto@adresse.ip.routeur" ?

Est-ce la première machine ou bien est-ce la première qui accepte la
connexion ?

Merci d'avance pour ces quelques éclaircissements...

10 réponses

1 2 3 4 5
Avatar
Etienne Marcel
On Tue, 05 Jun 2007 19:48:36 +0200, Nina Popravka
wrote :

C'est l'idéal pour protéger son système alors ? Les utilisateurs de
Windows peuvent être tranquille au moins pour les agressions
extérieures sans avoir à se soucier de désactiver tous les
serveurs...
Oui, dans ces conditions la machine est sécurisée tant que l'interface

chaise clavier n'est pas sur la chaise. Dès qu'elle est sur la chaise,
elle s'occupe activement de faire tout ce qui faut pour se retrouver
vérolée :-)


Oui bon disons pour un utilisateur averti et intelligent qui n'a pas
envie de suivre les bulletins de sécurité toutes les semaines et de
trop mettre les mains dans le cambouis ! ;-)

Pour peu qu'il ne télécharge pas de programmes piratés et n'ouvre pas à
tout va n'importe quelle pièce jointe à un email, on peut
raisonnablement dire qu'il est bien protégé.

Ah oui il faut aussi qu'il n'utilise pas Internet Explorer et
Outlook. ;-)

D'autre part chaque machine située derrière le modem-routeur
biduleBox a une adresse IP spécifique (je ne parle pas de l'adresse
IP interne au réseau du genre 192.168.x.x) donc peut-être contacté
de l'extérieure sans aucun problème ?
Un port ne peut être redirigé que vers *une* machine. Donc si on veut

accéder à 10 bécanes du réseau interne via ssh, il faudra en faire
tourner un sur le port 22, un autre sur le 23, etc etc etc. Ou, plus
simplement, on monte un VPN.


Ah ?
Ce n'est pas possible dans un parc de plusieurs machines de les faire
toutes écouter sur le port 22 et c'est au routeur de se démerder (je ne
sais pas comment...).

Ce doit être l'enfer d'administrer un parc de machine de cette façon
avec des machines qui rentrent et qui sortent tout le temps et pour
lequel on doit donc à chaque fois jouer avec les ports...
Gloups.


Avatar
Etienne Marcel
On Tue, 5 Jun 2007 17:41:27 +0000 (UTC),

D'autre part chaque machine située derrière le modem-routeur
biduleBox a une adresse IP spécifique (je ne parle pas de l'adresse
IP interne au réseau du genre 192.168.x.x) donc peut-être contacté
de l'extérieure sans aucun problème ?


Non. Les FAI ne te fournissent usuellement qu'une seule adresse IP,
qui est prise par le modem routeur. Lequel remplace l'adresse IP
source des paquets sortants (en 192.168) par son adresse IP publique.
Il mémorise aussi les connexions ainsi initiée, et quand il reçoit un
paquet appartenant à l'une de ces connexions (lequel paquet a comme
IP cible l'adresse IP publique du routeur, puisque la machine
distante a reçu la demande de connexion avec cette adresse comme
source), il le retransmet à la machine intérieure qui a initié la
connexion, en modifiant son adresse IP cible.


Ok mais je parlais d'une connexion initiée de l'extérieure.
Par exemple dans le cas d'un contact SSH.
Apparemment dans le cas de plusieurs machines, ça doit marcher par
adresse MAC : un port sur le modem-routeur est redirigé vers une
adresse MAC ?


Avatar
Etienne Marcel
On Tue, 05 Jun 2007 19:38:45 +0200, Fabien LE LEZ

Revenons à nos moutons : si tu veux mettre un sshd sur une machine qui
se trouve derrière un routeur, il va falloir dire au routeur de router
les connexions entrantes sur un port précis (22 par défaut) vers la
machine en question.
Le port peut être le port 22 (pour simplifier, vu que c'est le port
par défaut de SSH), ou bien un port choisi aléatoirement entre 4000 et
65535 (pour éviter le bruit de fond).
Il n'y a, dans ton cas, aucun intérêt à choisir le port 80.


Ok et le lien avec la machine est fait avec l'adresse MAC ?
Ce qui fait que lorsque l'on a plusieurs machines il faut jongler avec
une table de correspondance port-adresse MAC ?

Merci !

Avatar
Nina Popravka
On Wed, 6 Jun 2007 13:41:14 +0200, Etienne Marcel
wrote:

La dernière fois je suis allé sur la configuration du routeur via
http://192.168.1.1 et j'ai juste eu à demander d'activer la translation
(ou traduction) de port pour le port 22 sans rien dire d'autre.


Tu as mal regardé. Ils demandent *tous* l'adresse IP de la machine du
LAN et le port de destination (enfin je les connais pas *tous*, mais
j'en connais un paquet)
--
Nina

Avatar
Nina Popravka
On Wed, 6 Jun 2007 13:42:35 +0200, Etienne Marcel
wrote:

Ce n'est pas possible dans un parc de plusieurs machines de les faire
toutes écouter sur le port 22 et c'est au routeur de se démerder (je ne
sais pas comment...).


Le routeur sait pas non plus, alors c'est pas possible.
--
Nina

Avatar
Fabien LE LEZ
On Wed, 6 Jun 2007 13:41:14 +0200, Etienne Marcel :

La dernière fois je suis allé sur la configuration du routeur via
http://192.168.1.1 et j'ai juste eu à demander d'activer la translation
(ou traduction) de port pour le port 22 sans rien dire d'autre.


En allant sur http://192.168.1.1, tu ouvres une connexion de ta
machine vers le routeur (sur le port 80). Le routeur connaît donc bien
évidemment l'adresse IP de ta machine.

Avatar
sansflotusspam
Etienne Marcel a commis :

On Tue, 05 Jun 2007 08:19:04 +0200, Nina Popravka
Ok mais je parle ici de routeurs de base : c'est pour administrer
les machines de mes amis à qui j'ai installé linux (Debian). Donc je
ne pense pas que le port 80 soit filtré (à moins que je ne me trompe
complètement sur la puissance de ces petites bêtes...).


Il s'agit de rentrer sur une machine située derrière le routeur, si
j'ai compris la question ?
Dans ce cas, le 80 n'est pas plus ouvert qu'autre chose, et ça n'est
pas plus difficile d'ouvrir autre chose que le 80.
Et on ouvre vers une machine interne explicitement désignée,
évidemment.
Les réponses données concernent le filtrage en sortie, qui n'existe
en général pas, par défaut, sur les routeurs SOHO.


Ok donc il faut que j'ouvre quand même le port 80.
Si je comprends bien une machine (même avec Windows !) située derrière
un de ces modems-routeurs (Freebox, Livebox, Neufbox, etc...) n'a
aucune chance de pouvoir être contactée (et par conséquent d'être
piratée) si le firewall est activé et la translation de ports
désactivée ?
C'est l'idéal pour protéger son système alors ? Les utilisateurs de
Windows peuvent être tranquille au moins pour les agressions
extérieures sans avoir à se soucier de désactiver tous les serveurs...

D'autre part chaque machine située derrière le modem-routeur biduleBox
a une adresse IP spécifique (je ne parle pas de l'adresse IP interne
au réseau du genre 192.168.x.x) donc peut-être contacté de
l'extérieure sans aucun problème ?

Merci pour ton aide,


FAUX, désolé !
pas plus tard que ce matin, j'ai relevé dans les logs 378 attaques en
deux jours sur le workgroup Win$ d'un client derrière une FreeBox V5 et
une passerelle linux ; heureusement qu'iptables a fait son boulot,
toutes les tentatives de connexion sur le lan (local) étaient faites à
partir d'adresses 192.168.10.x spoofées et visaient les ports 137,139
et 445 en proto smb.
si la passerelle avait été en NT, W2000 ou W2003, ça passait comme dans
du beurre.



Avatar
octane
On 6 juin, 13:41, Etienne Marcel wrote:
Je me demande donc comment le modem-routeur s'y retrouve quand une
demande de connexion SSH sur le port 22 lui arrive ? A qui
envoie-t-il la requête ? à la première machine ou bien la deuxi ème ?


ca depend de son parametrage, et de la maniere dont tu
peux le configurer.
Avec une regle iptables je peux rediriger le port 80 vers
la machine A, le port 22 vers la machine B, etc..

Les modems routeurs cherchant la simplicite, j'aurais tendance
a dire qu'ils masquent au maximum ce genre de finesse.


D'accord mais comment font-ils ?


ca va dependre de ton modele, la.
Pour faire simple, on peut imaginer qu'il redirige vers la premiere
machine connectee. Ou vers la machine qui lui a demande. Ou vers
la derniere connectee, ou n'importe quoi.
Mais ca doit etre ecrit dans une doc technique quelquepart.

La dernière fois je suis allé sur la configuration du routeur via
http://192.168.1.1 et j'ai juste eu à demander d'activer la translation
(ou traduction) de port pour le port 22 sans rien dire d'autre.
Donc j'imagine qu'il a du faire le lien d'une façon ou d'une autre avec
ma machine, par exemple avec l'adresse MAC ?


ou l'IP. Ou n'importe quel autre choix du routeur. Tu n'as
pas une page de configuration genre "avancee" ou "expert" qui
permettra de definir plus finement ce genre de translations?

Pour ce genre de questions, essaie de trouver de l'aide
sur un autre ng, c'est un peu off topic ici.

Mais comme l'adresse MAC est facilement falsifiable/modifiable cela
peut-être dangereux si on a un réseau ouvert ?

pourquoi? En imaginant que le modem renvoie les paquets vers

la mauvaise machine, en quoi est-ce dangereux?

Et cela implique aussi qu'il n'est pas possible dans le cas de
plusieurs machines de mettre le serveur SSH sur le port 22 partout ?

Toutes les machines de ton LAN ont le ssh qui ecoute

sur le port 22, OK. Le modem dont tu parles ne peut rediriger
que vers une machine. Donc il faudra choisir vers quelle
machine rediriger les requetes.

A moins qu'il soit un peu plus malin, et qu'il puisse rediriger
par exemple le port 22 vers le port 22 de la machine A, le
port 2222 vers le port 22 de la machine B, etc..
Toi, depuis l'internet, si tu te connectes sur le port 22
du modem, tu es redirige vers A. Si tu te connectes sur le
port 2222, vers la machine B. (Attention néanmoins, cette
manipulation qui fonctionne très bien te forcera a
tweaker un peu la conf de ssh. Mais laissons ca de cote
pour l'instant.)

le 8000 est le numero de port sur lequel le serveur web ecoute.
Tu peux essayer de fairewww.google.fr:80, ca fonctionnera aussi.


Oui mais est-ce que c'est aussi le numéro du port sur lequel ma machine
écoute ?

Eh non!

Reprenons un peu de theorie.
L'egalite port <-> application est toujours respecte.
Un serveur ecoute sur un port. Le 22 pour ssh par exemple. Un
client n'ecoute sur aucun port.
Un client qui va se connecter va utiliser un autre port, toujours
superieur a 1024.

Ainsi, la machine A a un serveur ssh. La machine B veut se connecter
dessus. Le client sur la machine B va utiliser le premier port
disponible > a 1024.
La connexion sera donc:
B:1025 <---> A:22

Lorsque je fais unhttp://www.blabla.fr:8000, j'ai compris que je me
connecte au server Web sur le port 8000, mais est-ce que le port sur
lequel moi je reçois les informations est aussi le port 8000 ?


du tout. De ton cote, c'est le premier port libre superieur a 1024.
Fais un netstat -n et regarde. Tu as bien tes connexions.

Et dans ce cas que se passe-t-il si un serveur SSH tourne dessus ?

Si le port 1024 est utilise par un serveur ssh, le programme

client essaie d'utiliser le 1025. S'il est utilise, il prend le
1026, etc..

Que se passe-t-il donc si un serveur SSH se trouve aussi sur ce
port ?


Si tu lances un navigateur web en direction d'une IP sur le port 80,
sur laquelle ecoute non pas un serveur web mais un serveur ssh, la
connexion ne va pas durer longtemps. Le client va parler HTTP,
le serveur va parler SSH. Fin de la connexion.


Cf. réponse précédente.

Differencie bien le port client et le port serveur.

-Un port ne peut etre utilise que par une application a un
moment donne.
-Le port client est generalement different du port serveur.
-Une connexion est caracterisee par le quadruplet
{IP source:port source, IP destination: port destination}



Avatar
Nina Popravka
On Wed, 06 Jun 2007 14:54:44 +0200, sansflotusspam
wrote:

pas plus tard que ce matin, j'ai relevé dans les logs 378 attaques en
deux jours sur le workgroup Win$ d'un client derrière une FreeBox V5 et
une passerelle linux ; heureusement qu'iptables a fait son boulot,
toutes les tentatives de connexion sur le lan (local) étaient faites à
partir d'adresses 192.168.10.x spoofées et visaient les ports 137,139
et 445 en proto smb.


En bridge, ou en routeur, ta freeboîte ?
A part ça, il est exact que je vois des paquets spoofés de temps en
temps.
Et entre nous soit dit, à la minute où je te cause, la foultitude
d'attaques sur les ports netbios en tout genre me laissent totalement
froide. Une bécane à jour s'en contrefout ; plante même pô,
pffftttt...
--
Nina

Avatar
Fabien LE LEZ
On Wed, 6 Jun 2007 13:42:35 +0200, Etienne Marcel :

Ce n'est pas possible dans un parc de plusieurs machines de les faire
toutes écouter sur le port 22


Si, bien sûr.
Sauf que évidemment, si la connexion sur le port 22 vient de
l'extérieur, elle sera routée vers au plus une machine .

et c'est au routeur de se démerder


Non. On contourne le problème soit par un VPN, soit en assignant un
port différent par machine.

1 2 3 4 5