Wie legt man am besten einen (ssh-)Zugang für ext. Support an?

Hi.
Ich frage mich gerade, wie man am schlausten vorgeht, wenn man einem externen Dienstleister “mal kurz” einen Zugang auf dem Schulserver einrichten will?

Ich würde ja nur ungern das root-PW rausrücken (und danach ändern) sondern stattdessen einen weiteren User mit vollen Rechten einrichten, den ich später wieder löschen/deaktivieren kann.
Oder wie macht ihr das? Und wie gelangt er überhaupt auf den Server? OpenVPN gleich mit aktivieren?

Michael

Hallo Michael,

Ich frage mich gerade, wie man am schlausten vorgeht, wenn man einem
externen Dienstleister “mal kurz” einen Zugang auf dem Schulserver
einrichten will?

Ich würde ja nur ungern das root-PW rausrücken (und danach ändern)
sondern stattdessen einen weiteren User mit vollen Rechten einrichten,
den ich später wieder löschen/deaktivieren kann.
Oder wie macht ihr das? Und wie gelangt er überhaupt auf den Server?
OpenVPN gleich mit aktivieren?

erstmal ist der SSH Zugang immer mit sshkeys ab zu sichern: man will ja
keine bösen Überraschungen erleben.
Wenn du das hast, dann gibt es zwei einfache Möglichkeiten:

  1. “mal schnell” würde ich es so machen, dass der Dienstleister eine
    TeamViewer Sitzung auf meinen Rechner macht und da ist eine ssh Shell offen

  2. "mal nicht ganz so schnell"
    Seperates ssh key Paar erstellen (mit Passwort).
    Den privaten Schlüssel dem Dienstleister zukommen lassen, das Passwort
    auf anderem Wege mitteilen und dann den pub key auf dem Server per
    cat .pub >> /root/.ssh/authorized_keys
    in die authorized_keys einfügen.
    Ist er fertig oder will man ihm den Zugang entziehen, dann löscht man
    die eine Zeile in der authorized_keys wieder (es ist die letzte).

Will er später nochmal drauf ud ich will das auch, dann wieder den cat
Befehl.

Die Sache mit den ssh keys ist im wiki beschrieben:

http://www.linuxmuster.net/wiki/anwenderwiki:ssh:ssh-keys?s[]=ssh&s[]=keys

VIele Grüße

Holger

Hallo Holger,

da mein Szenario auch andere haben können:

Bei mir kommt man so aber noch nicht in die root-Umgebung, sondern ist
nur als der Benutzer auf der Konsole, der beim Installieren von Ubuntu
angegeben wurde. Direkt root, also root@ im ssh-Befehl, geht zumindest
bei mir nicht, da schließt sich das ssh-Fenster sofort wieder.

Ist ja auch logisch, denn root hat kein Passwort (will ich auch nicht)
und die Pub-Keys liegen bei mir nicht in root/.ssh sondern
/home/benutzer/.ssh
Außerdem habe ich in der Datei root@10.16.1.1. durch benutzer@10.16.1.1
ersetzt und die authorized_keys, in der der Schlüssel enthalten ist, liegt auch bei dem User.

Das ist wegen doppelter Passwortangabe zwar umständlicher, schafft aber
eine weitere Sicherheitsstufe. Wenn jemand je an den private-Key kommen
sollte (wozu er meinen verschlüsselten PC hacken müsste), bräuchte er
neben dem Passwort für den Key für das Anrichten von wirklichem Schaden
noch das Passwort des Benutzers.

Man muss sich (bei mir) also noch per sudo -i zu root machen.

Man müsste dem Dienstleister also in dem Fall noch das PW dieses
Benutzers geben (was man nicht will), oder einen weiteren Benutzer
anlegen, der sich zu root machen darf.

Statt aus den authorized_keys wieder was zu löschen und eventuell doch
was falsches zu erwischen, würde ich

  1. die Originaldatei wegsichern (Kopie erstellen)
  2. den Key anhängen
  3. die geänderte Datei wieder wegsichern

So kann man durch austauschen der authorized_keys den Zugang gewähren
und entziehen und hat immer ein Backup der jeweiligen Version.

Viele Grüße
Steffen

Hallo Steffen,
Passwortauthentifizierung abschalten und mit zusätzlichen Benutzern über Key einloggen, klingt nach dem besten Weg. Auf dem eigenen Notebook ist der key ja auch schnell abgelegt und man hat eigentlich keinen Komfortverlust. Aber wie geht man dann damit um, wenn man mal von einem Client auf den Server will, bspw. um dort die printers.conf fürs postsync abzulegen o.ä.?
Das ist schon sehr bequem, wenn man das von dem Rechner aus machen kann, wo man gerade sitzt - Selbstverständlich nachdem man alle SuS aus dem Raum geschickt hat und alle hardware-keylogger vom Rechner abgezogen hat :wink:

Gibts da ein gutes Vorgehen? So als Kompromiss zwischen Sicherheit und Effizienz?
Mit starkem Passwort gesicherten Key auf dem Client ablegen?

Grüße
Michael

Hallo Michael,

Aber wie geht man dann damit um, wenn man mal von einem
Client auf den Server will, bspw. um dort die printers.conf fürs
postsync abzulegen o.ä.?
Das ist schon sehr bequem, wenn man das von dem Rechner aus machen kann,
wo man gerade sitzt - Selbstverständlich nachdem man alle SuS aus dem
Raum geschickt hat und alle hardware-keylogger vom Rechner abgezogen hat
:wink:

tja, dank benötigtem Key verschafft denen der Keylogger ja erst mal
auch noch keinen Zugriff :smiley:

Gibts da ein gutes Vorgehen? So als Kompromiss zwischen Sicherheit und
Effizienz?
Mit starkem Passwort gesicherten Key auf dem Client ablegen?

Nein, nicht auf dem Client, und schon gar nicht einfach so, egal wie gut
das Passwort ist.

Ich mache das so:
Ich habe einen USB-Stick mit Veracrypt-Container, in dem derselbe Key
liegt, den ich auch am privaten, vollverschlüsselten PC/NB nutze.

Den Stick habe ich immer dabei.

Zusätzlich zum Key liegt ein Shellskript im Container, das die
ssh-Sitzung in der Konsole startet (und das den Pfad zum Key integriert
hat).

Zwischenzeitlich habe ich den Container auch in meinem Lehrerhome auf
dem Server liegen. Ob ich jetzt den Stick irgendwo vergesse oder mein
Lehrerhome geknackt wird, macht imho für die Sicherheit keinen Unterschied.

Der Container hat ein gutes PW :smiley:

Das ist zwar nicht ganz so komfortabel wie wenn man den Key einfach so
da liegen hat (weil mal den Container erst aufschließen muss), aber es
ist sicher und nur wenig aufwändiger.

Viele Grüße
Steffen

Hallo,

Passwortauthentifizierung abschalten und mit zusätzlichen Benutzern über
Key einloggen, klingt nach dem besten Weg. Auf dem eigenen Notebook ist
der key ja auch schnell abgelegt und man hat eigentlich keinen
Komfortverlust. Aber wie geht man dann damit um, wenn man mal von einem
Client auf den Server will, bspw. um dort die printers.conf fürs
postsync abzulegen o.ä.?
Das ist schon sehr bequem, wenn man das von dem Rechner aus machen kann,
wo man gerade sitzt - Selbstverständlich nachdem man alle SuS aus dem
Raum geschickt hat und alle hardware-keylogger vom Rechner abgezogen hat
:wink:

Gibts da ein gutes Vorgehen? So als Kompromiss zwischen Sicherheit und
Effizienz?
Mit starkem Passwort gesicherten Key auf dem Client ablegen?

mein ssh Key liegt im Home meines Lehreraccounts …
Ich finde das ist sicher genug.

Viele Grüße

Holger