Page 1 of 1

SCP für Confixx-Web-User (web1, web2 etc) ohne Shell-Zugriff

Posted: 2003-04-09 22:59
by holtsch
Hi Forum,

wie kann ich denn am elegantesten meinen Root-Server so einrichten, daß Confixx-Benutzer (web1, web2 usw.) ihre Websites via SCP hochladen können?

Wenn ich ihnen shell-Zugriff erlaube (in /etc/passwd /bin/false durch /bin/bash ersetzt), geht's - aber das würde ich gerne vermeiden. Gibt's die Möglichkeit überhaupt?

FTP will ich nicht auf meinem Server...

liebe Grüße,
david

Re: SCP für Confixx-Web-User (web1, web2 etc) ohne Shell-Zugriff

Posted: 2003-04-10 00:00
by dodolin
Wenn ich ihnen shell-Zugriff erlaube (in /etc/passwd /bin/false durch /bin/bash ersetzt), geht's
Jo, das wird sich wohl nicht vermeiden lassen. Ã?berdenke das doch nochmal: Was meinst du, ist es, wenn du dich per SSH einloggst? Vielleicht eine Shell? Vielleicht genau die Shell, die in /etc/passwd als Shell für den jeweiligen User definiert ist?
FTP will ich nicht auf meinem Server...
Jo, warum deinstallierst du dann nicht einfach den FTP Dämon?

Oder du konfigurierst deinen FTP Dämon entsprechend, dass bestimmte User eben keinen FTP Zugriff haben. Geht alles, man muss nur die Anleitungen lesen...

Re: SCP für Confixx-Web-User (web1, web2 etc) ohne Shell-Zugriff

Posted: 2003-04-10 09:52
by kase
wenn es dir um die Sicherheit geht:

Es ist IMHO sicherer, einem User FTP und /bin/false zu geben, als /bin/bash und SCP. Was spricht denn gegen FTP, wenn der User /bin/false hat. Ok, wenn man FTP nicht tunnelt, werden die PWs Klartext übertragen, aber schau doch mal wie viele Millionen FTPs es gibt.

Natürlich solltest du anonymous FTP verbieten...

Leider ist soviel ich weiß, SCP nur mit /bin/bash möglich.

Re: SCP für Confixx-Web-User (web1, web2 etc) ohne Shell-Zugriff

Posted: 2003-04-10 11:31
by holtsch
dodolin wrote: Was meinst du, ist es, wenn du dich per SSH einloggst? Vielleicht eine Shell? Vielleicht genau die Shell, die in /etc/passwd als Shell für den jeweiligen User definiert ist?
Da hätte ich mir vielleicht SCP etwas genauer ansehen sollen, sorry.
dodolin wrote:
FTP will ich nicht auf meinem Server...
Jo, warum deinstallierst du dann nicht einfach den FTP Dämon?
Wieso glaubst Du, wollte ich wohl SCP-Zugriff für die web[0-9]+ User? Natürlich habe ich den FTP Daemon deinstalliert. Nur benötige ich eben etwas funktional äquivalentes. Und ich dachte, SCP wäre funktional äquivalent zu FTP - ist es aber nicht, wenn man eben SCP nur mit Shell ausführen kann (was logisch ist, wenn man weiß, daß SCP eben ein Shell-Befehl ist, und nicht ein Protokoll).
kase wrote: Es ist IMHO sicherer, einem User FTP und /bin/false zu geben, als /bin/bash und SCP. Was spricht denn gegen FTP, wenn der User /bin/false hat. Ok, wenn man FTP nicht tunnelt, werden die PWs Klartext übertragen, aber schau doch mal wie viele Millionen FTPs es gibt.
Du hast wohl Recht. Ich versuche halt, auf alle Dienste zu verzichten, die nicht unbedingt notwendig sind. Für jeden Dienst, den ich zusätzlich installiere, brauche ich wieder das entsprechende Know How, muß dafür sorgen, daß er immer "up-to-date" ist usw. - System Administration ist einfach nicht meine Lieblingsbeschäftigung...

SSH und SCP brauche ich, und ich dachte, FTP und SCP wären äquivalent (so ungefähr "SCP = FTP, aber sicherer"). Damit wäre FTP nicht nötig.

Nach dem, was ich jetzt gelesen habe, scheint es aber so, als wäre für den Anwendungsfall "Benutzer darf Dateien in sein Home-Verzeichnis übertragen - und sonst nichts" doch FTP die bessere Wahl. Jetzt muß ich halt wieder recherchieren, welcher FTP-Daemon optimal ist usw.

Re: SCP für Confixx-Web-User (web1, web2 etc) ohne Shell-Zugriff

Posted: 2003-04-10 12:05
by captaincrunch
Jetzt muß ich halt wieder recherchieren, welcher FTP-Daemon optimal ist usw
Musst du nicht ... nimm einfach vsftp, einen sichereren FTPD wirst du nicht finden ... :wink:

Re: SCP für Confixx-Web-User (web1, web2 etc) ohne Shell-Zugriff

Posted: 2003-04-10 12:39
by rootmaster
kase wrote: Leider ist soviel ich weiß, SCP nur mit /bin/bash möglich.
oder mit einer "eingeschränkten shell" ;)

http://www.pizzashack.org/rssh

"back to the roots"

Re: SCP für Confixx-Web-User (web1, web2 etc) ohne Shell-Zugriff

Posted: 2003-04-10 12:42
by floschi
vsftpd oder proftpd, die beiden nehmen sich derzeit nix ;)

Re: SCP für Confixx-Web-User (web1, web2 etc) ohne Shell-Zugriff

Posted: 2003-04-10 13:36
by holtsch
olfi wrote:vsftpd oder proftpd, die beiden nehmen sich derzeit nix ;)
vsftpd ist schon installiert und konfiguriert - den nehm ich dann wohl. Sieht auch so aus, als könnte ich den relativ einfach ausreichend absichern...

danke für den Tip!

david[/b]

Re: SCP für Confixx-Web-User (web1, web2 etc) ohne Shell-Zugriff

Posted: 2003-04-16 21:56
by mark
Hallo,

ich habs ja selber noch nicht benutzt, aber wie sieht es mit sftp aus ?

ftp + openssl ...

"man sftp" und bei google mal nach "sftp" und "sftpd" suchen...

Vielleicht wäre das noch eine alternative.

Gruß
mark

Re: SCP für Confixx-Web-User (web1, web2 etc) ohne Shell-Zugriff

Posted: 2003-04-20 12:24
by majortermi
Es gibt da schon eine Möglichkeit scp zu benutzen, ohne dem Benutzer etwas anderes zu erlauben:

Die Login-Shell für den Benutzer auf /usr/bin/rbash setzen und in die ".profile" des Benutzers am Ende einfügen:

Code: Select all

export PATH=/home/<user>/rbin
Dann in /home/<user>/rbin Symbollinks für die wichtigsten Tools erzeugen:

Code: Select all

cd /home/<user>
mkdir rbin
cd rbin
ln -s /bin/chmod ./
ln -s /bin/ls ./
ln -s /bin/mkdir ./
ln -s /bin/mv ./
ln -s /bin/rm ./
ln -s /usr/bin/scp ./
Zu guter letzt noch verhindern, dass der User daran etwas ändert:

Code: Select all

cd ..
chown root.root .profile rbin
Danach lässt sich wunderbar "scp" benutzen, der Benutzer kann ansonsten aber eigentlich gar nichts machen. Einen Nachteil - das muss man dazu sagen - hat die Lösung allerdings.
Wenn man "WinSCP" benutzt, kann man für kein Verzeichnis, außer dem Homeverzeichnis, mehr ein Verzeichnis-Listing anzeigen lassen. Dies liegt daran, dass WinSCP versucht zunächst mit "cd" in das Verzeichnis zu wechseln und dann ein "ls" anzufordern, statt einfach ein "ls Verzeichnis" zu machen.

Re: SCP für Confixx-Web-User (web1, web2 etc) ohne Shell-Zugriff

Posted: 2003-06-13 16:21
by Anonymous
was wird dagegen getan dass der user nicht einen neuen PATH exportiert?

Re: SCP für Confixx-Web-User (web1, web2 etc) ohne Shell-Zugriff

Posted: 2003-06-14 17:59
by majortermi
tobi_ wrote:was wird dagegen getan dass der user nicht einen neuen PATH exportiert?
Das verhindert die rbash.
Ich bin gerade dabei, das ganze noch etwas zu verfeinern, so dass der User auch in Verzeichnisse wechseln kann, die unterhalb seines Home-Verzeichnisses liegen:
Dazu legt man im "rbin"-Verzeichnis noch ein Skript mit dem Namen "cd.sh" an mit folgendem Inhalt:

Code: Select all

#!/bin/sh
RPATH=/daten/users/testscp
if [ ! $1 ]; then 
  cd
  exec /usr/bin/rbash --login
fi
cd $1
nwd=`pwd -P`
if [[ ${nwd} = ${nwd#$RPATH} ]]; then 
  echo "cd: restricted"
  exit 1
fi
exec /usr/bin/rbash --login
RPATH muss natürlich auf das Verzeichnis gesetzt werden, aus dem der Benutzer nicht herauskommen soll.

Außerdem fügt man in der ".profile" ein:

Code: Select all

function cd() 
{
 if cd.sh $1; then
   exit;
 fi
}
Diese Methode scheint recht gut zu funktionieren, der einzige Nachteil ist, dass bei jedem Verzeichniswechsel ein zusätzlicher Prozess aufgemacht wird, der erst beim Logout wieder beendet wird, aber da ein User pro SCP-Session wahrscheinlich keine paar tausend Verzeichniswechsel machen wird, sollte das bei nicht großartig belasteten Systemen kein Problem darstellen.

Re: SCP für Confixx-Web-User (web1, web2 etc) ohne Shell-Zugriff

Posted: 2003-06-19 13:56
by majortermi
Ich habe gerade noch etwas viel, viel besseres gefunden: http://www.pizzashack.org/rssh/
Das ist eine spezielle Shell, die so konzipiert ist, dass der entsprechende Benutzer nur scp und sftp benutzen kann - und sie ist schön einfach zu benutzten - man muss einfach nur die Login-Shell des entsprechenden Benutzers auf die Shell setzen.

Re: SCP für Confixx-Web-User (web1, web2 etc) ohne Shell-Zugriff

Posted: 2003-06-19 16:48
by rootmaster
MajorTermi wrote:Ich habe gerade noch etwas viel, viel besseres gefunden: http://www.pizzashack.org/rssh/
Das ist eine spezielle Shell, die so konzipiert ist, dass der entsprechende Benutzer nur scp und sftp benutzen kann - und sie ist schön einfach zu benutzten - man muss einfach nur die Login-Shell des entsprechenden Benutzers auf die Shell setzen.
guten morgen, major :)

ps: schau mal ein paar postings weiter oben ;)

"back to the roots"

Re: SCP für Confixx-Web-User (web1, web2 etc) ohne Shell-Zugriff

Posted: 2003-06-19 21:26
by majortermi
rootmaster wrote: guten morgen, major :)

ps: schau mal ein paar postings weiter oben ;)
Ups, manchmal müsste man halt lesen können :wink: