SSH/Gateway: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
|||
Zeile 170: | Zeile 170: | ||
; Zusätzliche Absicherung | ; Zusätzliche Absicherung | ||
* | * Durch die Supporter benutzte SSH-Schlüssel auf Smartcard ablegen | ||
* Die können z.B., wie unter "[http://www.unitas-network.de/support/wiki/smartcards/ssh-login-mit-openpgp-card/ SSH-Login mit OpenPGP Card]" beschrieben, auf einer Smartcard abgelegt werden | * Die können z.B., wie unter "[http://www.unitas-network.de/support/wiki/smartcards/ssh-login-mit-openpgp-card/ SSH-Login mit OpenPGP Card]" beschrieben, auf einer Smartcard abgelegt werden | ||
== Dokumentation == | == Dokumentation == | ||
== Siehe auch == | |||
=== Unterseiten === | |||
== Links == | {{Special:PrefixIndex/{{BASEPAGENAME}}}} | ||
=== Weblinks === | === Dokumentation === | ||
==== RFC ==== | |||
==== Man-Pages ==== | |||
==== Info-Pages ==== | |||
=== Links === | |||
==== Einzelnachweise ==== | |||
<references /> | |||
==== Projekt ==== | |||
==== Weblinks ==== | |||
# http://www.unitas-network.de/support/wiki/management/remote-management-mit-ssh-tunnel/ | # http://www.unitas-network.de/support/wiki/management/remote-management-mit-ssh-tunnel/ | ||
== Testfragen == | == Testfragen == | ||
Zeile 204: | Zeile 209: | ||
<div class="mw-collapsible-content">'''Antwort5'''</div> | <div class="mw-collapsible-content">'''Antwort5'''</div> | ||
</div> | </div> | ||
[[Kategorie:SSH]] | [[Kategorie:SSH]] |
Version vom 3. April 2023, 15:22 Uhr
SSH-Gateway - vermittelt verschlüsselte Tunnelverbindungen zwischen SSH-Clients
Beschreibung
- Kunden und Supporter bauen aktiv einen Tunnel zum Gateway auf
- Keine Portweiterleitungen auf Client-Seite erforderlich
- Keine Namensauflösung des Clients erforderlich
- Gateway vermittelt den Kontakt
- Gateway ist ein SSH-Server im Internet
- Trennung verschiedener Kunden/Dienstleiter
- Je Tunnel (Kombination aus Kunde/Dienstleiter) ein Zugang
Szenario
Hostname | Username |
---|---|
gateway.foxtom.de | sshTnlKunde001 |
kunde001 | support |
support | user |
Gateway
SSH-Server
- UNIX Sockets
Damit sich Kunden nicht mit dem System eines anderen Kunden verbinden können, werden hier UNIX Sockets verwandt.
- Diese besitzen im Gegensatz zu TCP-Ports eine Zugriffssteuerung
Damit der Socket beim Abbau des Tunnels eine neue Socket-Datei erstellt wird, wird die Konfiguration des SSH-Dienstes ergänzt
- ein erneuter Aufbau des Tunnels ist ansonsten mit dem gleichen Socket-Namen nicht möglich
- Specifies whether to remove an existing Unix-domain socket file for local or remote port forwarding before creating a new one.
- /etc/ssh/sshd_config
StreamLocalBindUnlink yes
Kunden-Zugang
Tunnel-Benutzerkonto
root@gateway# useradd --create-home --groups users --shell /bin/bash --comment "Tunnel-User Kunden001" sshTnlKunde001
Passwort vergeben
root@gateway# passwd sshTnlKunde001 New password: Retype new password: passwd: password updated successfully
Zugang testen
user@support# ssh -p22 sshTnlKunde001@gateway.foxtom.de sshTnlKunde001@gateway's password:
Kunden-Rechner
Tunnel-Benutzerkonto
root@kunde001# useradd -m -G users -s /bin/bash kunde001Tnl
SSH-Key erzeugen
root@kunde001# sudo -u support -i support@kunde001$ ssh-keygen -f /home/support/.ssh/gateway -t ecdsa
Keine Passphrase eingeben (Enter)
Public-Key übertragen
support@kunde001$ ssh-copy-id -p22 -i /home/support/.ssh/gateway.foxtom.de.pub sshTnlKunde001@gateway.foxtom.de
Public-Key-Zugang testen
support@kunde001$ ssh -i /home/support/.ssh/gateway.foxtom.de -p22 sshTnlKunde001@gateway.foxtom.de
- Fingerprint vergleichen
- Bestätigung durch Eingabe von "yes"
Fehlermeldung "PTY allocation request failed on channel 0" und die Verbindung wird abgebrochen. Das ist beabsichtigt.
Automatisierung
Support-Rechner
Public-Key-Zugang
Public-Key übertragen
user@support# ssh-copy-id -p22 sshTnlKunde001@gateway.foxtom.de
Public-Key-Zugang testen
user@support# ssh -p22 sshTnlKunde001@gateway.foxtom.de sshTnlKunde001@gateway:~$ exit
Anwendung
Public-Key-Zugang
support@kunde001$ ssh -i /home/support/.ssh/gateway.foxtom.de.pub -p22 sshTnlKunde001@gateway.foxtom.de
- Fingerprint vergleichen
- Bestätigung durch Eingabe von "yes"
"PTY allocation request failed on channel 0"
Fehlermeldung und die Verbindung wird abgebrochen, das ist beabsichtigt.
Tunnel starten
user@support$ ssh -nNT -L 10022:localhost:10001 sshTnlKunde001@gateway
Damit wird ein Tunnel vom lokalen Port 10022 zum Port 10001 auf dem Gateway erstellt
Tunnelaufbau
- Manueller Aufbau
support@debian01:~$ ssh -N -T -C -o ServerAliveInterval=60 -o ExitOnForwardFailure=yes -o StrictHostKeyChecking=no -i ${SSHKEY} -R ${GWSOCK}:localhost:${LOCALPORT} ${GWUSER}@${GWHOST}
Optionen | Bedeutung |
---|---|
-N | Keinen Befehl in der Ferne ausführen |
-T | Deaktiviert Pseudo-Terminal-Zuweisung |
-C | Komprimierung sämtlicher Daten |
-o ServerAliveInterval=60 | |
-o ExitOnForwardFailure=yes | |
-o StrictHostKeyChecking=no | |
-i ${SSHKEY} | absoluter Pfad zum SSH-Key, z.B. ~/.ssh/gateway |
-R ${GWSOCK}:localhost:${LOCALPORT} | Reverse Tunnel erstellt, um vom Gateway aus auf den Kundenrechner zugreifen zu können |
Parameter | Bedeutung |
---|---|
${SSHKEY} | Der komplette Pfad zum SSH-Key, z.B. ~/.ssh/gateway |
${GWSOCK} | Der Socket, welcher auf dem Gateway für den Tunnel verwendet wird
|
${LOCALPORT} |
|
${GWUSER} |
|
${GWHOST} |
|
- Beispiel
$ ssh -N -T -C -o ServerAliveInterval=60 -o ExitOnForwardFailure=yes -o StrictHostKeyChecking=no -i ~/.ssh/gateway.foxtom.de -R 227:localhost:22 -p22 sshTnlKunde001@gateway.foxtom.de
Sicherheit
- Angriffsmöglichkeiten
Es wird ein Tunnel durch die Firewall gebohrt, welche das Netzwerk mit dem Zielsystem schützt
- Risiken
Angreifer erlangt Zugriff auf das Gateway
- könnte von dort alle zu managenden Zielsysteme erreichen
- Das Zielsystem und das dahinter liegende Netzwerk ist dann nur noch durch die Sicherheitsmechanismen geschützt, welche die über den Tunnel erreichbare Anwendung auf dem Zielsystem bietet (z.B. SSH- oder Webserver).
- Gateway gut absichern
Das ist gar nicht so anspruchsvoll
- weil es sich beim Gateway um ein Minimalsystem handelt
- welches vergleichsweise einfach upgedatet und sicher konfiguriert werden kann
- Sicherheitsmaßnahmen auf dem Zielsystem
- laufende Updates
- sichere Passwörter
- Bewertung
Insgesamt ist bei Einhaltung dieser Maßnahmen die Sicherheit im Vergleich zu anderen Varianten (proprietäre Fernwartungstools, Port-Forwarding durch Firewalls) als höher einzuschätzen
- Zusätzliche Absicherung
- Durch die Supporter benutzte SSH-Schlüssel auf Smartcard ablegen
- Die können z.B., wie unter "SSH-Login mit OpenPGP Card" beschrieben, auf einer Smartcard abgelegt werden
Dokumentation
Siehe auch
Unterseiten
Dokumentation
RFC
Man-Pages
Info-Pages
Links
Einzelnachweise
Projekt
Weblinks
Testfragen
Testfrage 1
Testfrage 2
Testfrage 3
Testfrage 4
Testfrage 5