Beschränken Sie SSH auf eine Schnittstelle

10

Wie kann ich eingehende SSH-Verbindungsanfragen auf nur eine Schnittstelle beschränken? Ich verwende Ubuntu Server 10.04 LST.

Ich möchte den Zugriff auf SSH nur für eine Schnittstelle sperren, da ich den Server als Gateway zu meinem Heimnetzwerk verwende. Eine Schnittstelle ist mit dem DSL-Modem / Router verbunden und die andere mit dem Heimnetzwerk. Ich möchte nur den Zugriff auf SSH-Formulare innerhalb des Heimnetzwerks zulassen.

Ist es in diesem Fall ausreichend, SSH auf eine IP zu beschränken? Oder muss ich es auf eine Schnittstelle sperren?

Wowpatrick
quelle
1
Können Sie klarer sagen, was Sie unter "nur einer Schnittstelle" verstehen? Meinen Sie, dass der Computer mehr als eine IP-Adresse hat und Sie möchten, dass SSH nur eine IP-Adresse abhört? Oder möchten Sie, dass eingehende Pakete an den SSH-Port anderer Schnittstellen verworfen werden? (Ihre Anfrage ist sehr ungewöhnlich und es ist möglich, dass Sie die falsche Frage stellen.)
David Schwartz
@DavidSchwartz Ich habe um eine Einschränkung der Schnittstelle gebeten, weil ich nicht sicher war, ob es ausreicht, den SSH-Zugriff auf nur eine IP zu beschränken. Ich habe meine Frage auch ausführlicher ergänzt.
Wowpatrick

Antworten:

12

In der folgenden Datei:

 /etc/ssh/sshd_config 

Sie sehen eine Linie wie:

#ListenAddress 0.0.0.0

Dies ist auskommentiert, aber standardmäßig werden alle IP-Adressen für SSH-Anforderungen aufgelistet. Sie können dies so ändern, dass es sich um die IP-Adresse der Schnittstelle handelt, auf der Sie Verbindungen akzeptieren möchten, und dass nur diese IP-Adresse SSH-Verbindungen akzeptiert:

ListenAddress 111.222.111.222

Starten Sie den sshd-Dienst neu, sobald er geändert wurde.

Paul
quelle
4
Dies schränkt nicht die Schnittstellen ein, auf denen SSH arbeiten kann, sondern nur die Ziel-IP-Adresse. (Das ist vielleicht das, was das OP wirklich wollte. Aber das hat das OP nicht gefragt.)
David Schwartz
@ DavidSchwartz danke - kannst du das klären? Wenn eine IP-Adresse an eine Schnittstelle gebunden ist, kann eine andere Schnittstelle eine Verbindung mit diesem Setup irgendwie akzeptieren (ich nehme an, wenn die Weiterleitung aktiviert war, funktioniert sie möglicherweise).
Paul
@ DavidSchwartz ah, ich sehe deinen Kommentar oben.
Paul
1
Die Weiterleitung bezieht sich nur auf ein Paket, das auf einer Schnittstelle empfangen wurde und von einer anderen gesendet werden muss. Es ist nicht erforderlich, ein Paket zu akzeptieren, das auf einer anderen Schnittstelle als der empfangenen Adresse empfangen wurde. Linux verwendet ein Modell, bei dem IP-Adressen zum System gehören, nicht zu Schnittstellen - alle Schnittstellen verbinden einen einzelnen Host.
David Schwartz
2

Versuchen Sie, eine Firewall zu installieren, und lassen Sie SSH nur auf einer Schnittstelle zu. Meine Präferenzen sind Shorewall, ein unter Ubuntu installierbares Paket. Sie müssen es konfigurieren, bevor es gestartet wird. Es ist jedoch gut dokumentiert und enthält mehrere Beispielkonfigurationen.

Ich verwende eine größtenteils geschlossene Firewall, bei der nur die erforderlichen Ports geöffnet sind. Wenn Sie nur die Schnittstelle einschränken möchten, für die SSH zulässig ist, können Sie für die anderen Schnittstellen eine REJECT- oder DROP-Aktion für ssh verwenden. Ich würde vorschlagen, wenn Sie eine Firewall erstellen, beschränken Sie zumindest den Zugriff auf mit dem Internet verbundene Schnittstellen.

BillThor
quelle