SSH - root-Zugriff nur über localhost?

Rund um die Sicherheit des Systems und die Applikationen
Post Reply
felixs
Posts: 119
Joined: 2003-06-01 20:57
Contact:
 

SSH - root-Zugriff nur über localhost?

Post by felixs »

Hallo,

um die Sicherheit zu erhöhen, möchte ich auf meinem Server nach außen hin keinen root-Zugriff per (Open-)SSH zulassen. Zur (automatisierten) Systemwartung brauche ich aber manchmal root-Rechte per SSH von zu Hause aus.

Daher würde ich gerne den root-Zugang per SSH nur über localhost zulassen und sonst generell verbieten. Leider scheint es in der /etc/ssh/sshd_config bei OpenSSH nur ein "PermitRootLogin no" zu geben und keine Einstellmöglichkeiten, für welche Hosts das gelten soll. Gibt es da eine Möglichkeit?

Auch für Alternativ-Vorschläge wäre ich dankbar. Wichtige Randbedingungen: Sichere Verschlüsselung, keine Passworte oder private keys auf dem Server, automatisiertes Login muss per Skript ohne Passworteingabe möglich sein. Die Skripte werden bei mir zu Hause gestartet und sollen dann ihre Arbeit auf dem Server verrichten, remote-Zugang über das Netz ist also Pflicht. Außerdem soll die Ausführung beliebiger Skripte sowie Datentransfer zum Server hin möglich sein, sudo scheidet also imho aus.

vielen Dank für eure Hilfe
fs
gamecrash
Posts: 339
Joined: 2002-05-27 10:52
 

Re: SSH - root-Zugriff nur über localhost?

Post by gamecrash »

Alternative:

- Zugang nur normalen User erlauben, nicht root (PermitRootLogin no)
- Einloggen als ein normaler Benutzer
- su

Das is ja dann quasi wie "eingeloggt unter localhost"... oder hab ich Dich falsch verstanden?
felixs
Posts: 119
Joined: 2003-06-01 20:57
Contact:
 

Re: SSH - root-Zugriff nur über localhost?

Post by felixs »

GameCrash wrote:Alternative:

- Zugang nur normalen User erlauben, nicht root (PermitRootLogin no)
- Einloggen als ein normaler Benutzer
- su

Das is ja dann quasi wie "eingeloggt unter localhost"... oder hab ich Dich falsch verstanden?
na ja, su hat den Nachteil, dass interaktiv Passwörter eingegeben werden müssen (wenn ich da nichts übersehen habe), was natürlich bei der Automatisierung sehr hinderlich ist (ich verwende selbstverständlich ausschließlich SSH-Keys).

Die SSH-Lösung hat für mich deswegen solchen Charme, weil auf dem Server nie irgendwelche Passwörter oder äquivalente Dateien wie private keys abgelegt werden müssen. Ich verwende SSH-Agent und agent forwarding per SSH. Folglich kann sich ein Skript von zu Hause als user einloggen, ein ssh auf root@localhost machen und dann Root-Rechte bekommen, ohne dass ich extern einen Root-Zugriff freigeben müsste. Per SSH agent könnte ich auf die private keys zu Hause zugreifen und trotzdem eine sichere Verbindung herstellen.

Wenn ich per "su" Passwörter automatisch mit übergeben könnte, wäre das schon mal eine Notlösung, auch wenn ich dann die ~/.bash_history ggf. manuell vom Passwort befreien müsste.

fs
dodolin
Posts: 3840
Joined: 2003-01-21 01:59
Location: Sinsheim/Karlsruhe
Contact:
 

Re: SSH - root-Zugriff nur über localhost?

Post by dodolin »

na ja, su hat den Nachteil, dass interaktiv Passwörter eingegeben werden müssen (wenn ich da nichts übersehen habe)
And again... komme ich mit meinem PAM: ;)

Du hast PAM-Wheel übersehen.

Eventuell könnte man mit PAM auch das erreichen, was du ursprünglich wolltest, dass root nur von localhost per ssh einloggen kann. Aber da müsste ich jetzt länger nachlesen, ob und wie das geht...
fubbel
Posts: 84
Joined: 2003-02-17 14:49
 

Re: SSH - root-Zugriff nur über localhost?

Post by fubbel »

hi

also ich weiß ja nicht.

aber wenn ich ein su root mache
dann wird das passwort nicht in der history gespeichert!
so sollte das ja auch sein. Sonst ist das ganze ja schon schwachsinnig.

hmmm du kannst doch für den user mit dem du dich anmeldst einen rsa schlüssel erstellen. in der sshd config lässt du permitrootlogin off
und machst dann von dem user aus ein su root
es muss ja wohl möglich sein das passwort über ein script bei dir zu hause dann einzugeben.
oder einfach selbst eingeben :wink:

ich finde das ganze eine ganz gute lösung.

mit PAM kenn ich mich nicht aus
captaincrunch
Userprojekt
Userprojekt
Posts: 7066
Joined: 2002-10-09 14:30
Location: Dorsten
Contact:
 

Re: SSH - root-Zugriff nur über localhost?

Post by captaincrunch »

aber wenn ich ein su root mache
dann wird das passwort nicht in der history gespeichert!
so sollte das ja auch sein. Sonst ist das ganze ja schon schwachsinnig.
Passworte werden von /bin/login intern gehandhabt und sind in keiner History gespeichert (außer natürlich, es läuft ein Keylogger ;) ).
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
dea
Posts: 532
Joined: 2002-08-13 12:05
 

Re: SSH - root-Zugriff nur über localhost?

Post by dea »

PAM und PK-Authentisierung - dis hilft :)

Nichtsdestotrotz würde ich mich nie als root auf eine Kiste verbinden. Nicht wegen der Gefahr, ausgespäht/belauscht zu werden (die ist latent und unabhängig vom Login) sondern vielmehr wegen der Gefahr von "Flüchtigkeitsfehlern". Es ist ein wirklich guter Grundsatz in der UNIX-Welt, so weit wie irgend möglich als unprivilegierter Benutzer zu arbeiten und nur wenn es unumgänglich ist, auf den root-Acccount zu wechseln (s.a. rootmasters Anmerkung zu absoluten Pfaden als root).
cjhbabel
Posts: 63
Joined: 2002-07-18 12:09
 

Re: SSH - root-Zugriff nur über localhost?

Post by cjhbabel »

felixs wrote:Daher würde ich gerne den root-Zugang per SSH nur über localhost zulassen und sonst generell verbieten. Leider scheint es in der /etc/ssh/sshd_config bei OpenSSH nur ein "PermitRootLogin no" zu geben und keine Einstellmöglichkeiten, für welche Hosts das gelten soll. Gibt es da eine Möglichkeit?
Was mir gerade noch einfällt. Wie wäre es wenn du den sshd 2x startest? Den öffentlichen bindest du an eth0 und setzt "PermitRootLogin" auf "no". Den zweiten bindest du an localhost und setzt "PermitRootLogin" auf "yes". Ich weiss jetzt nicht ob das klappt aber ich denke im Prinzip spricht nichts gegen diese Lösung.
Post Reply