SSH-Port weiterleiten, um von überall auf meine Heimmaschine zuzugreifen

24

Ich komme von dieser Frage: /superuser/359799/how-to-make-freebsd-box-accessible-from-internet

Ich möchte diesen ganzen Prozess verstehen port forwarding.

Ich habe so viele Dinge gelesen, verstehe aber nicht das grundlegende Konzept der Portweiterleitung.

Was ich habe:

ein freebsd server sitzt bei mir zu hause.
Netgear Router

Das versuche ich zu erreichen:

in der Lage zu sein, von einem Windows-Rechner über das Internet auf freebsd-Server zuzugreifen, um einen Webbrowser zu öffnen und auf das Internet zuzugreifen.

Ich möchte auch von einer Ubuntu-Maschine, die ich habe, auf diese Freebsd-Box zugreifen.

Es wird toll sein, wenn mir jemand helfen kann.

Hier ist das NetGear-Router-Setup, das ich für die Portweiterleitung durchgeführt habe.

Netgear Port Forwarding

hari
quelle
Bitte migrieren Sie, wenn dies eine superuserFrage ist.
Hari
Benötigen Sie ein bisschen mehr Klarheit. Wenn sich die Windows-Maschine irgendwo im Internet befindet und bereits Zugang zum Internet hat, warum möchten Sie sich zu Hause mit der FreeBSD-Box verbinden, um auf das Internet zuzugreifen?
OldTimer
@OldTimer: Ich bin mir nicht sicher, wie relevant Ihre Frage / Ihr Anliegen ist.
hari
Verwenden Sie IPv6-Adressen, kein NAT mehr, keine Probleme mehr ;-)
Stéphane Gimenez
1
Warten!
Stéphane Gimenez

Antworten:

47

Ich werde mit den rohen Fakten beginnen:

  1. Sie haben: A- Ihre FreeBSD-Box, B- Ihren Router und C- einen Computer mit Internetzugang. So sieht es aus:

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

    Beachten Sie, wie Ihr Router normalerweise funktioniert: Er ermöglicht Verbindungen von Computern in Ihrem LAN zum Internet (einfach ausgedrückt). Wenn der A(oder ein anderer Computer im LAN) auf das Internet zugreifen möchte, ist dies zulässig (hier noch einmal nur das grundlegende Verständnis und die Konfiguration):

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

    Und das Folgende ist standardmäßig nicht erlaubt:

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

    (Das heißt, der Router schützt die Computer in Ihrem LAN vor dem Zugriff aus dem Internet.) Beachten Sie, dass der Router der einzige Teil Ihres LAN ist, der vom Internet aus gesehen wird 1) .

  2. Die Portweiterleitung ermöglicht die Ausführung des dritten Schemas. Dies besteht darin, dem Router mitzuteilen, welche Verbindung von C2) zu welchem Rechner im LAN führen soll. Dies geschieht auf der Grundlage von Portnummern - daher wird es als Portweiterleitung bezeichnet . Sie konfigurieren dies, indem Sie den Router anweisen, dass alle über einen bestimmten Port aus dem Internet kommenden Verbindungen zu einem bestimmten Computer im LAN gehen sollen. Hier ist ein Beispiel für Port 22, der an Computer weitergeleitet wurde A:

    .------.     .-------.                        .-----.
    |  A   | ==  |   B   |  - - ( Internet ) - -  |  C  |
    |      |     |       |                        '-----'
    '-|22|-'     ',--|22|'                          |
        `--<-22---'    `---<---- - - - - - --<-22---'
    
  3. Solche Verbindungen über das Internet erfolgen anhand von IP-Adressen. Eine etwas genauere Darstellung des obigen Beispiels wäre also:

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

    Wenn Sie keine Internetverbindung mit einer statischen IP-Adresse haben, müssen Sie irgendwie herausfinden, welche IP-Adresse Ihrem Router derzeit vom Internetdienstanbieter zugewiesen wird. Andernfalls Cwird nicht wissen, zu welcher IP es eine Verbindung herstellen muss, um zu Ihrem Router (und weiter zu A) zu gelangen. Um dies auf einfache Weise zu lösen, können Sie einen Dienst namens dynamisches DNS verwenden . Dadurch sendet Ihr Router regelmäßig Informationen an einen speziellen DNS-Server , der Ihre IP-Adresse protokolliert und Ihnen einen Domänennamen bereitstellt . Es gibt einige kostenlose dynamische DNS-Anbieter. Viele Router verfügen über Konfigurationsoptionen, mit denen Sie problemlos Kontakt aufnehmen können.

1) Dies ist wiederum eine Vereinfachung - das eigentliche Gerät, das für das Internet gesehen wird, ist das Modem - das oft in den Router integriert werden kann, aber auch eine separate Box sein kann.
2) oder ein anderes Gerät mit Internetverbindung.


Nun zu dem, was Sie wollen:

  1. Das einfache Zulassen des SSH-Zugriffs auf Ihren Computer aus dem Internet ist eine schlechte Idee. Es gibt Tausende von Bots, die von Crackern eingerichtet wurden , die im Internet nach Computern mit offenem SSH-Port suchen. Sie "klopfen" normalerweise an den Standard-SSH-Port von so vielen IP-Adressen wie möglich, und sobald sie einen SSH-Daemon finden, der irgendwo läuft, versuchen sie, Bruteforce- Zugriff auf den Computer zu erlangen . Dies birgt nicht nur die Gefahr eines möglichen Einbruchs, sondern auch die Gefahr einer Netzwerkverlangsamung, während die Maschine überlastet wird.

  2. Wenn Sie einen solchen Zugang wirklich brauchen, sollten Sie zumindest

    • versichere dich, dass du sichere Passwörter für alle Benutzerkonten hast ,

    • Root-Zugriff über SSH nicht zulassen (Sie können sich immer als normaler Benutzer anmelden und suoder sudodann),

    • Ändern Sie den Standardport, auf dem Ihr SSH-Server ausgeführt wird.

    • einen Mechanismus einführen, der zahlreiche SSH-Anmeldeversuche nicht zulässt (mit einer kürzeren Wartezeit für nachfolgende Versuche - ich kann mich nicht erinnern, wie genau dies heißt - ich hatte es vor einiger Zeit unter FreeBSD aktiviert und erinnere mich, dass es recht einfach war - versuchen Sie es Durchsuchen Sie einige FreeBSD-Foren usw., um SSH zu sichern, und Sie werden es finden.)

    • Versuchen Sie nach Möglichkeit, den ssh-Daemon nur dann auszuführen, wenn Sie wissen, dass Sie in naher Zukunft auf den Computer zugreifen und ihn anschließend ausschalten werden

  3. Gewöhnen Sie sich daran, Ihre Systemprotokolle zu durchsuchen. Wenn Sie Verdachtsmomente bemerken, führen Sie zusätzliche Sicherheitsmechanismen wie IP-Tabellen oder Port-Knocking ein .

rozcietrzewiacz
quelle
10
Upvoted for ascii goodness ...
jasonwryan
Danke für die ausführliche Erklärung. Ich werde das in Kürze verdauen und kommentieren.
Hari
Ich habe deinen Standpunkt vollständig verstanden. Meine Frage ist, ich habe meinen Netgear-Router konfiguriert (richtig oder falsch - da bin ich mir nicht sicher). Was muss ich als nächstes tun?
Hari
2
Werfen Sie einen Blick auf meine Bearbeitung (unten) zum externen SSH-Zugriff.
rozcietrzewiacz
Danke für die Information. Ich habe, was Sie zu vermitteln versuchen. Meine Frage ist, was muss ich tun, damit jeder (der Zugang hat) im Internet zum Beispiel einen Browser auf freebsd box ausführen kann. Wie richte ich das ein?
Hari
3

Es gibt verschiedene Möglichkeiten, dies zu erreichen. Am einfachsten ist es wahrscheinlich, eine sogenannte DMZ einzurichten. Die sicherere Möglichkeit besteht jedoch darin, auf Ihrem Router eine statische Route an Port 22 zur IP-Adresse Ihres Servers einzurichten.

Ressourcen:

Mark D
quelle
Vielen Dank. Ich habe den Teil auf dem NetGear-Router erledigt: Ich habe die Portweiterleitung folgendermaßen eingerichtet: Dienst: HTTP-Port: 80 Server-IP: 192.168.1.16 - hier ist diese IP die IP meiner Freebsd-Box. Was soll ich als nächstes tun?
Hari
Richten Sie einen Test von außerhalb Ihres Standorts ein. Ich persönlich schließe mein Telefon an meinen Laptop an und versuche, meine IP-Adresse einzugeben. Ich gehe davon aus, dass Sie Ihre externe IP-Adresse kennen. Alternativ können Sie auch versuchen, Ihren Webserver zu besuchen.
Mark D
SSH funktioniert nicht auf meine externe IP. Muss ich irgendetwas auf meinem freebsd Server machen?
Hari
Können Sie SSH aus Ihrem internen Netzwerk?
Mark D
Ja. Ich kann es schaffen
hari
1

Dies kann von Ihrem Router durchgeführt werden. Auf einigen Routern wird diese Funktion aufgerufenVirtual Server

Im unteren Teil des Bildes sehen Sie zwei Beispiele für die Portweiterleitung. Einer ist von Web und ein anderer ist von SSH. Im ersten Fall wird jede Anfrage auf Ihrer WAN-IP, dh die IP Ihres Routers mit Port 80, an eine LAN-IP weitergeleitet ( 192.168.2.4in diesem Fall).
Mit dieser Funktion können Sie Dienste von überall auf der Welt auf Ihrem PC / Server im LAN ausführen dh diese Dienste sind nicht auf LAN beschränkt
Portweiterleitung oder virtueller Server auf einem Router

Edward Torvalds
quelle