SSH LOGIN und dann...

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
logg
Beiträge: 9
Registriert: 19.09.2005 18:28:08

SSH LOGIN und dann...

Beitrag von logg » 29.11.2005 19:35:56

Hi leute, ich würde gerne wissen, ob man einrichten kann, dass wenn sich ein user über ssh einloggt nur eine datei gestartet wird, und dass dieser benutzer nicht mehr rechte hat, als diese Datei zu starten.

Weil das wäre ganz interessant für meinen Server

Benutzeravatar
rkrueger
Beiträge: 1044
Registriert: 17.06.2004 17:57:17

Beitrag von rkrueger » 29.11.2005 19:43:27

Der User hat nach der Anmeldung auf dem System die gleichen Rechte wie sonst auch auf dem System. Ist dieser User auf der Maschine als User angemeldet, hat er die gleichen rechte, als wenn er an der Maschine selbst sitzen würde. Das Gleiche gilt für root.

Für den Server sollte folgendes gelten: Nicht jedem User die Möglichkeit geben sich per ssh einwählen zu dürfen und, root darf sich als root überhaupt nicht einwählen! Erst als Benutzer anmelden und dann mit su wechseln. 2x Paßworteingabe erforderlich.

Benutzeravatar
cpeine
Beiträge: 170
Registriert: 13.08.2003 15:16:22

Beitrag von cpeine » 29.11.2005 19:46:16

Hallo,

so ganz spontan würde mir da chroot einfallen um den User in seinem home (bzw. einem anderen Verz.) 'einzusperren.
Ein HowTo findest du hier: http://www.debian.org/doc/manuals/secur ... nv.de.html

hth
c.peine
Avoid the Gates of Hell, use Linux!

logg
Beiträge: 9
Registriert: 19.09.2005 18:28:08

Beitrag von logg » 29.11.2005 20:04:56

das meine ich garnicht.
ich meine nur, ob es vllt. ein programm gibt, das, wenn man sich eingeloggt hat, eine Datei startet, die dann die person, die sich eingeloggt hat kontrolliert.

mfg
logg

Benutzeravatar
cpeine
Beiträge: 170
Registriert: 13.08.2003 15:16:22

Beitrag von cpeine » 29.11.2005 20:09:36

Das wird wohl nicht so einfach gehen, wie rkrueger schon sagte, hat jeder user mit shell zugang auch entsprechende Rechte. Entweder du baust dem User also ein SSH-Jail in dem du nur das eine Programm bereitstellst oder du benutzt deine eigene shell, die nichts anders kann wie diesen einen Befehl ...

Nebenbei, vielleicht wäre es hilfreich mal zu erfahren was genau du eigentlich vor hast, um welches Programm dreht sich das Ganze denn?
Avoid the Gates of Hell, use Linux!

logg
Beiträge: 9
Registriert: 19.09.2005 18:28:08

Beitrag von logg » 29.11.2005 20:12:48

es dreht sich um ein webinterface für meinen AA Server...
welche anderen shells gibt es denn da, die ich dafür benutzen könnte?

Benutzeravatar
cpeine
Beiträge: 170
Registriert: 13.08.2003 15:16:22

Beitrag von cpeine » 29.11.2005 20:17:57

Man möge es mir verzeihen, aber ein webinterface sollte doch über einen webserver laufen... :?:
Avoid the Gates of Hell, use Linux!

Benutzeravatar
deadeye
Beiträge: 561
Registriert: 14.04.2004 15:32:18
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Ukio, rechts hinterm Feld
Kontaktdaten:

Beitrag von deadeye » 29.11.2005 20:18:41

Du willst, dass wenn ein User sich einloggt, er nur eine Datei bearbeiten kann?

Leg Dir doch ein Script an, in dem steht:

Code: Alles auswählen

/usr/bin/vi /pfad/zur/datei
Und das Script schreibst Du dann bei dem entsprechenden User als Shell in die /etc/passwd.

Weiß jetzt nich, wie sicher das is, evtl. könnte der User beim Aufrufen des Scriptes bis zur Ausführung von vi irgendwie ausbrechen, aber so könnte es erstmal gehen, allerdings nur theorethisch, also hab nix getestet.

Gruß
deadeye

logg
Beiträge: 9
Registriert: 19.09.2005 18:28:08

Beitrag von logg » 29.11.2005 20:19:09

naja, das stimmt ja,
aber wenn der server bei dir zu hause steht...
die anderen webinterfaces nciht mit der neuesten AA Version kompatibel sind...
Das PB Webinterface nichts taugt....

Was soll man da machen???

nil
Beiträge: 989
Registriert: 08.06.2005 13:28:36

Beitrag von nil » 30.11.2005 08:53:18

Ein paar Anregungen:

vi würde ich nicht eintragen -> :sh bricht vom vi in die Shell aus
restricted-shell kann helfen

wenn ein Webinterface genutzt werden soll und dieses wird per localhost:port angeboten, so könnte man SSH-Forwarding ohne Shell-Anmeldung (/bin/false) nutzen, siehe:

http://www.debianforum.de/forum/viewtopic.php?t=54351

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Beitrag von nepos » 30.11.2005 09:24:28

Du koenntest dir auch mal durchlesen, was man bei den authorized_keys von SSH noch alles einstellen kann.
Ich hab hier z.B. was am Laufen, dass ein Programm mit rsync Daten rueberschiebt. Der dafuer benutzte Key hat eingestellt, dass nur rsync im Server-Modus gestartet wird. Mehr geht da nicht.

nil
Beiträge: 989
Registriert: 08.06.2005 13:28:36

Beitrag von nil » 30.11.2005 09:51:40

Cool, wo und wie kann man das denn konfigurieren. Bitte mal genauer beschreiben.

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Beitrag von nepos » 30.11.2005 12:22:16

Du musst das ganze auf dem Rechner konfigurieren, auf dem eingeloggt wird. Dort ist unter /home/<user>/.ssh/ die Datei authorized_keys.
Da kannst du z.B. folgendes machen indem du die Optionen vor den Key schreibst:

Code: Alles auswählen

from="172.20.129.14,172.20.129.12"
Laesst diesen Key z.B. nur zu, wenn die Verbindungen von einer der anegebenen IP-Adressen kommt.
Mit

Code: Alles auswählen

command=...
kannst du festlegen, welches Kommando beim Login ausgefuehrt werden soll.
Gibt da noch ne Latte weiterer Optionen.

logg
Beiträge: 9
Registriert: 19.09.2005 18:28:08

Beitrag von logg » 30.11.2005 19:43:26

thx, das ist schonmal hilffreich.
geht das aber auch nur auf einen User bezogen???
Weil nicht jeder hat eine dynamische ip...

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Beitrag von nepos » 01.12.2005 12:07:34

Oehm, naja, die Datei authorized_keys liegt im Home des Users, der sich anmelden will, das ist also immer userbezogen ;)
Du musst halt nur den entsprechenden Key des Users eintragen und die noetigen Optionen noch dazupacken. Damit kann man z.B. auch Dinge wie Port-Forwarding und X-Forwarding verhindern.
Die Variante oben nutzen wir hier, um von einem Rechner per Skript Daten mittels rsync zu uebertragen. Durch das angeben von command= ist sichergestellt, dass da nur der rsync als Server gestartet wird und der ganze Key auch nur akzeptiert wird, wenn er von den angegebenen IP-Adressen kommt.
Leider weiss ich im Moment nicht, in welcher Man-Page das ganze beschrieben war :-\

Benutzeravatar
Bert
Beiträge: 3751
Registriert: 16.07.2002 14:06:52
Wohnort: Dresden
Kontaktdaten:

Beitrag von Bert » 01.12.2005 22:33:50

nepos hat geschrieben:Leider weiss ich im Moment nicht, in welcher Man-Page das ganze beschrieben war :-\
inder Manpage vom sshd,... habs dort auch nicht gleich vermutet.

Der Thread hat mir gestern auch gut geholfen, danke ;-)

Bert
Programmer: A biological machine designed to convert caffeine into code.
xmpp:bert@debianforum.de

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Beitrag von nepos » 02.12.2005 09:12:42

Immer gern :)
Hatte das auch lange nicht gewusst, bis mich ein Kollege drauf hingewiesen hat ;)

Antworten