port ssh en avant pour accéder à ma machine à domicile de n'importe où


24

Je viens de cette question: /superuser/359799/how-to-make-freebsd-box-accessible-from-internet

Je veux comprendre tout ce processus de port forwarding.

J'ai lu tellement de choses, mais je n'arrive pas à comprendre le concept de base même de la redirection de port.

Ce que j'ai:

un serveur freebsd assis chez moi.
routeur netgear

Voici ce que j'essaie de réaliser:

pour pouvoir accéder au serveur freebsd à partir d'une machine Windows sur Internet pour pouvoir ouvrir un navigateur Web et accéder à Internet.

Je veux également accéder à cette boîte freebsd à partir d'une machine Ubuntu que j'ai.

Ce sera génial si quelqu'un peut m'aider.

Voici la configuration du routeur netgear que j'ai effectuée pour la redirection de port.

redirection de port netgear


Veuillez migrer s'il s'agit d'une superuserquestion.
hari

Besoin d'un peu plus de clarification. Si la machine Windows se trouve quelque part sur Internet et a déjà accès à Internet, pourquoi voulez-vous vous connecter à la boîte FreeBSD à la maison pour accéder à Internet?
OldTimer

@OldTimer: Je ne sais pas dans quelle mesure votre question / préoccupation est pertinente.
hari

Utilisez des adresses ipv6, plus de NAT, plus de soucis ;-)
Stéphane Gimenez

1
Attendez! je viens de dire que : - /
Stéphane Gimenez

Réponses:


47

Je vais commencer par les faits bruts:

  1. Vous avez: A- votre box FreeBSD, B- votre routeur et C- une machine avec accès Internet. C'est à ça que ça ressemble:

    .-----.      .-----.                        .-----.
    |  A  |  ==  |  B  |  - - ( Internet ) - -  |  C  |
    '-----'      '-----'                        '-----'
    \_________ ________/
              v
               `- this is your LAN
    

    Remarquez comment fonctionne normalement votre routeur : il permet les connexions des machines de votre réseau local à Internet (pour parler simplement). Donc, si la A(ou toute autre machine sur le LAN) veut accéder à Internet, cela sera autorisé (encore une fois, il suffit de parler de compréhension et de configuration de base):

    .-----.      .-----.                        .-----.
    |  A  |  ==  |  B  |  - - ( Internet ) - -  |  C  |
    '-----'      '-----'                        '-----'
          `-->----'  `--->--->---^  
    

    Et ce qui suit n'est pas autorisé par défaut:

    .-----.      .-----.                        .-----.
    |  A  |  ==  |  B  |  - - ( Internet ) - -  |  C  |
    '-----'      '-----'                        '-----'
          `--<----'  `---<--- - - - - --<---<-----'
    

    (C'est-à-dire que le routeur protège les machines de votre LAN contre tout accès à Internet.) Notez que le routeur est la seule partie de votre LAN visible depuis Internet 1) .

  2. La redirection de port est ce qui permet au troisième schéma d'avoir lieu. Cela consiste à dire au routeur quelle connexion à partir de C2) doit aller vers quelle machine sur le LAN. Cela se fait en fonction des numéros de port - c'est pourquoi il est appelé redirection de port . Vous configurez cela en indiquant au routeur que toutes les connexions provenant d'un port donné à partir d'Internet doivent aller vers une certaine machine sur le LAN. Voici un exemple pour le port 22 transmis à la machine A:

    .------.     .-------.                        .-----.
    |  A   | ==  |   B   |  - - ( Internet ) - -  |  C  |
    |      |     |       |                        '-----'
    '-|22|-'     ',--|22|'                          |
        `--<-22---'    `---<---- - - - - - --<-22---'
    
  3. Ces connexions via Internet sont basées sur des adresses IP. Une représentation un peu plus précise de l'exemple ci-dessus serait donc:

    .------.      .-------.                                .-----.
    |  A   |  ==  |   B   | - - - - - ( Internet ) - - - - |  C  |
    |      |      |       |                                '-----'
    '-|22|-'      ',--|22|'                                   |
        `--<-A:22--'    `--<-YourIP:22 - - - - --<-YourIP:22--'
    

    Si vous n'avez pas de connexion Internet avec une adresse IP statique , vous devrez en quelque sorte savoir quelle adresse IP est actuellement attribuée à votre routeur par le FAI. Sinon, Cne saura pas à quelle adresse IP il doit se connecter pour accéder à votre routeur (et plus encore A). Pour résoudre ce problème de manière simple, vous pouvez utiliser un service appelé DNS dynamique . Cela obligerait votre routeur à envoyer régulièrement des informations à un serveur DNS spécial qui suivra votre adresse IP et vous fournira un nom de domaine . Il existe de nombreux fournisseurs de DNS dynamiques gratuits. De nombreux routeurs sont livrés avec des options de configuration permettant de les contacter facilement.

1) Il s'agit, là encore, d'une simplification - le périphérique réel visible sur Internet est le modem - qui peut souvent être intégré au routeur, mais peut également être un boîtier séparé.
2) ou toute autre machine avec connexion Internet.


Maintenant pour ce que vous voulez:

  1. Autoriser simplement ssh à accéder à votre machine depuis Internet est une mauvaise idée. Il existe des milliers de bots installés par des crackers qui recherchent sur Internet des machines avec un port SSH ouvert. Ils "frappent" généralement sur le port SSH par défaut d'autant d'adresses IP que possible et une fois qu'ils trouvent un démon SSH en cours d'exécution quelque part, essayez d'obtenir un accès brutal à la machine. Il s'agit non seulement d'un risque d'effraction potentielle, mais également de ralentissements du réseau pendant que la machine est renforcée.

  2. Si vous avez vraiment besoin d'un tel accès, vous devez au moins

    • assurez-vous d'avoir des mots de passe solides pour tous les comptes d'utilisateurs,

    • interdire l'accès root via SSH (vous pouvez toujours vous connecter en tant qu'utilisateur normal et / suou sudoalors),

    • changer le port par défaut sur lequel votre serveur SSH s'exécuterait,

    • introduire un mécanisme pour interdire de nombreuses tentatives de connexion SSH (avec un temps d'attente plus long pour les tentatives suivantes - je ne me souviens pas exactement comment cela s'appelle - je l'avais activé il y a quelque temps sur FreeBSD et je me souviens que c'était assez facile - essayez en cherchant sur certains forums FreeBSD, etc. sur la sécurisation de SSH, vous le trouverez.)

    • Si possible, essayez d'exécuter le démon ssh uniquement lorsque vous savez que vous accéderez à la machine dans un avenir proche et éteignez-le ensuite

  3. Habituez-vous à parcourir vos journaux système. Si vous commencez à remarquer quelque chose de suspect, introduisez des mécanismes de sécurité supplémentaires comme les tables IP ou le détournement de port .


10
Voté pour ascii bonté ...
jasonwryan

Merci pour l'explication détaillée. Je vais digérer cela un peu et commenter.
hari

J'ai bien compris votre point. Ma question est, j'ai configuré (bien ou mal - je ne suis pas sûr) mon routeur netgear. Que dois-je faire ensuite?
hari

2
Jetez un œil à ma modification (en bas) sur l'accès SSH externe.
rozcietrzewiacz

Merci pour l'information. J'ai ce que vous essayez de transmettre. Ma question est, que dois-je faire pour que quiconque (qui a accès) sur Internet puisse par exemple exécuter un navigateur sur freebsd box. Comment configurer cela?
hari

3

Il y a deux façons d'y parvenir. Le plus simple est probablement de configurer ce que l'on appelle une DMZ. Le moyen le plus sûr, cependant, est sur votre routeur pour configurer une route statique sur le port 22 vers l'IP de votre serveur.

Ressources:


Merci. J'ai fait la partie sur le routeur netgear: j'ai configuré le portforwarding de cette façon: service: port HTTP: 80 ip serveur: 192.168.1.16 - ici cette ip est l'ip de ma boîte freebsd. Que devrais-je faire ensuite?
hari

Configurez un test depuis l'extérieur de votre emplacement, personnellement, je laisse simplement mon téléphone à mon ordinateur portable et j'essaye de le transférer dans mon adresse IP. Je suppose que vous connaissez votre adresse IP externe. Vous pouvez également essayer de visiter votre serveur Web.
Mark D

SSH ne fonctionne pas sur mon IP externe. Dois-je faire quelque chose sur mon serveur freebsd?
hari

Pouvez-vous SSH à partir de votre réseau interne?
Mark D

Oui. Je peux le faire
hari

1

Cela peut être fait par votre routeur. Sur certains routeurs, cette fonction est appeléeVirtual Server

Voir dans la partie ci-dessous de l'image, il y a deux exemples de redirection de port. L'un est du Web et un autre de SSH. Dans le premier cas, toute demande sur votre IP WAN, c'est-à-dire l'IP de votre routeur avec port 80sera transmise à un IP LAN ( 192.168.2.4dans ce cas)
Avec cette fonctionnalité, vous pouvez obtenir des services exécutés sur votre PC / serveur fonctionnant en LAN de n'importe où dans le monde. c'est-à-dire que ces services ne sont pas limités au LAN
Transfert de port ou serveur virtuel sur un routeur

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.