Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: Ssh toegang bieden met beperte programma's  (gelezen 2167 keer)

Offline decrypt

  • Lid
Ssh toegang bieden met beperte programma's
« Gepost op: 2009/05/30, 15:43:54 »
Ik probeer erachter te komen wat er nodig is om SSH toegang aan te bieden met een beperkt aantal commando's.
Kortom iemand logt in; komt in zijn eigen map en daar daarin staat ook (in een bin-directory bijv.) de commando's waar hij/zij gebruik van kan maken zoals (ls,rm,mkdir,chmod,wget,etc,etc.)

Ik kan nergens een goed begin vinden hoe ik dit aan moet pakken.
Moet gewoon de bin-files binnen hun directory-structuur plaatsen en hun path zo aanpassen dat 'ie daarnaar verwijst?
Of is er een programma die dit ondersteund?

Alvast bedankt voor de nuttige reacties!  =D

Re: Ssh toegang bieden met beperte programma's
« Reactie #1 Gepost op: 2009/05/30, 15:51:13 »
Hm, ik denk dat je de dan de uitvoerrechten voor alle programma's moet afnemen voor die gebruiker, behalve voor de programma's die beschikbaar moeten zijn.

Offline vanadium

  • Lid
Re: Ssh toegang bieden met beperte programma's
« Reactie #2 Gepost op: 2009/05/31, 10:52:53 »
Je moet ook niet al te restrictief willen zijn. Met het systeem van linux permissies en eigenaren is er standaard al heel wat dichtgetimmerd: standaard kan een gebruiker al enkel in zijn eigen ruimte iets doen. Dat gezegd zijnde, door de PATH instelling aan te passen, kan je een gebruiker het al moeilijk maken systeembrede applicaties te gebruiken. Om die helemaal niet te kunnen gebruiken moet je de rechten voor "others" in uw systeemdirectories volledig dichtgooien (standaard veelal: read/execute). Begin daar niet aan als je niet heel goed weet wat je doet.

Re: Ssh toegang bieden met beperte programma's
« Reactie #3 Gepost op: 2009/05/31, 11:29:33 »
Je moet ook niet al te restrictief willen zijn. Met het systeem van linux permissies en eigenaren is er standaard al heel wat dichtgetimmerd: standaard kan een gebruiker al enkel in zijn eigen ruimte iets doen. Dat gezegd zijnde, door de PATH instelling aan te passen, kan je een gebruiker het al moeilijk maken systeembrede applicaties te gebruiken. Om die helemaal niet te kunnen gebruiken moet je de rechten voor "others" in uw systeemdirectories volledig dichtgooien (standaard veelal: read/execute). Begin daar niet aan als je niet heel goed weet wat je doet.
Ik zat ook al aan de PATH te denken, maar dan kun je altijd nog absolute paden gebruiken...

Offline Scormen

  • Lid
    • LinuxOntdekt.Be
Re: Ssh toegang bieden met beperte programma's
« Reactie #4 Gepost op: 2009/05/31, 14:14:36 »
Hier had ik nog nooit van gehoord, maar ben even gaan googlen omdat het me ook wel interesseert.
Wat ik heb kunnen vinden is rssh (zit in de Ubuntu repo's).
Een howto: http://egloo.wordpress.com/2008/08/17/linux-restricted-shell/

Laat ons horen hoe het werkt!
Ubuntu gebruiker #18341 | Linux gebruiker #456955
· Mijn persoonlijke Linux blog

Offline vanadium

  • Lid
Re: Ssh toegang bieden met beperte programma's
« Reactie #5 Gepost op: 2009/05/31, 15:10:25 »
Citaat van: Cumulus007
Ik zat ook al aan de PATH te denken, maar dan kun je altijd nog absolute paden gebruiken...
Inderdaad. Vandaar dat ik verwees naar de linuxrechten om de boel helemaal dicht te gooien.

Veel handiger zal Scormens tip zijn: zo kan je beperkte toegang geven zonder je ganse systeem te moeten aanpassen/dichtgooien.

Offline testcees

  • Documentatieteam
    • testcees
    • www.testcees.nl
Re: Ssh toegang bieden met beperte programma's
« Reactie #6 Gepost op: 2009/06/01, 12:40:07 »
Ik probeer erachter te komen wat er nodig is om SSH toegang aan te bieden met een beperkt aantal commando's.

bash -r, is hetzelfde als rbash, een restricted shell.

zie ook man bash
RESTRICTED SHELL
       If bash is started with the name rbash, or the -r option is supplied at
       invocation, the shell becomes restricted.  A restricted shell  is  used
       to  set  up an environment more controlled than the standard shell.  It
       behaves identically to bash with the exception that the  following  are
       disallowed or not performed:
Klik links bovenin op Documentatie

Offline decrypt

  • Lid
Re: Ssh toegang bieden met beperte programma's
« Reactie #7 Gepost op: 2009/06/14, 21:49:09 »
Bedankt voor jullie reacties! Ik ga daar zeker gebruik van maken.
Alleen zit de kern van me vraag er nog niet in.
Misschien ben ik onvolledig. Ik zal het aan de hand van een voorbeeld proberen uit te leggen wat ik wil bereiken.

Een gebruiker logt in via SSH op mijn machine en komt in de volgende omgeving terecht:
Als deze gebruiker 'cd /' doet komt hij uit op '/' wat zijn eigen $HOME directory is.
Als de gebruiker 'echo $PATH' doet dan ziet hij/zij PATH='/usr/bin:/bin:/etc'
Dus bijvoorbeeld de '/bin' bevind zich in zijn eigen omgeving en daarin staan bijvoorbeeld 'ls, rm, wget, tar, sed, mkdir, chmod'
De gebruiker kan dus alleen die commando's uitvoeren die in zijn eigen omgeving aanwezig zijn.
En daarnaast kan hij nooit ook maar bij directories komen van het verdere filesysteem.

Hoe begin ik met het opzetten van zoiets dergelijks? Ik weet dat het kan.
Maar zijn het virtuele omgevingen, is het een programma die dit verzorgt, moet ik het handmatig inrichten?
Ik weet niet waar ik hiermee moet beginnen.

Offline Johan van Dijk

  • Administrator
    • johanvandijk
Re: Ssh toegang bieden met beperte programma's
« Reactie #8 Gepost op: 2009/06/15, 09:11:36 »
Dat kan.
Je moet dan even /etc/ssh/sshd_config aanpassen.

Zie ook man sshd_config:
    ChrootDirectory
             Specifies a path to chroot(2) to after authentication.  This path, and all its components, must be root-owned directories that are not writable by any other user or group.

             The path may contain the following tokens that are expanded at runtime once the connecting user has been authenticated: %% is replaced by a literal ’%’, %h is replaced by the home directory of the user being authenti‐
             cated, and %u is replaced by the username of that user.

             The ChrootDirectory must contain the necessary files and directories to support the users’ session.  For an interactive session this requires at least a shell, typically sh(1), and basic /dev nodes such as null(4),
             zero(4), stdin(4), stdout(4), stderr(4), arandom(4) and tty(4) devices.  For file transfer sessions using “sftp”, no additional configuration of the environment is necessary if the in-process sftp server is used (see
             Subsystem for details).

             The default is not to chroot(2)

Offline vis

  • Lid
Re: Ssh toegang bieden met beperte programma's
« Reactie #9 Gepost op: 2009/06/20, 00:34:40 »
Ik lees in het laatse berichtje van decrypt:

"Een gebruiker logt in via SSH op mijn machine en komt in de volgende omgeving terecht:
Als deze gebruiker 'cd /' doet komt hij uit op '/' wat zijn eigen $HOME directory is."

Ik vraag mij af hoe dit is ingesteld. Elke keer als er bij mij een gebruiker is ingelogd, dan kan deze gebruiker door heel mijn systeem lopen, wat ik niet wil. Heb gekeken naar rbash, maar dit werkte voor mijn probleem niet.....

Vis.

Offline Johan van Dijk

  • Administrator
    • johanvandijk
Re: Ssh toegang bieden met beperte programma's
« Reactie #10 Gepost op: 2009/06/20, 01:34:22 »
Ik weet ook niet hoe dat precies moet.
Maar de optie die ik gaf lijkt wel heel erg op wat hij wil. Alleen is de uitleg niet compleet, maar dat komt omdat ik dat zelf ook niet weet :)

Maar met Google en de zoektermen SSH, ChrootDirectory en sshd_config moet je er toch wel uit kunnen komen?
Of even zoeken op de site van SSH?

Als dit goed is ingesteld kan een gebruiker niet buiten zijn eigen home map komen, en kan alleen de commando's uitvoeren die de beheerder heeft toegestaan.

Offline decrypt

  • Lid
Re: Ssh toegang bieden met beperte programma's
« Reactie #11 Gepost op: 2009/06/21, 23:33:28 »
Johan bedankt voor je reacties.
Ik ga dit zodra ik kan uitzoeken en zal mijn bevindingen hier plaatsen.