Putty WinSCP3 Sicherheit
Putty WinSCP3 Sicherheit
Ich knabbere an folgenden Problem:
Auf meinen RootServer der beim Provider steht loge ich mich mit ssh (Putty) ein. Dazu benutze ich NICHT den ROOT account sondern einen der eben nur das einloggen möglich macht.
Benötige ich ROOT Rechte hole ich sie mir eben mittels "su"
Ich möchte auf dem Server KEINEN FTP laufen haben und verwende deshalb WinSCP3 für sshftp.
Nun der Ärger. Sobald ich micht damit (WinSCP3) einlogge habe ich logischerweise nur die Rechte die der spezielle einloguser hat. Da ich aber sehr oft Dateien vom localen Wndowsrechner auf dem Server schieben muss und dazu auch Verzeichnise etc. anlegen muss benötige ich Rootrechte, die ich mir aber über WinSCR3 nicht besorgen kann.
Gibt es irgendeine einfachere Methode? Es nervt einfach wenn ich mittels sslftp nicht mal Dateien löschen kann.
Danke
Auf meinen RootServer der beim Provider steht loge ich mich mit ssh (Putty) ein. Dazu benutze ich NICHT den ROOT account sondern einen der eben nur das einloggen möglich macht.
Benötige ich ROOT Rechte hole ich sie mir eben mittels "su"
Ich möchte auf dem Server KEINEN FTP laufen haben und verwende deshalb WinSCP3 für sshftp.
Nun der Ärger. Sobald ich micht damit (WinSCP3) einlogge habe ich logischerweise nur die Rechte die der spezielle einloguser hat. Da ich aber sehr oft Dateien vom localen Wndowsrechner auf dem Server schieben muss und dazu auch Verzeichnise etc. anlegen muss benötige ich Rootrechte, die ich mir aber über WinSCR3 nicht besorgen kann.
Gibt es irgendeine einfachere Methode? Es nervt einfach wenn ich mittels sslftp nicht mal Dateien löschen kann.
Danke
- finupsen
- Beiträge: 1327
- Registriert: 21.04.2004 20:07:05
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Dortmund
-
Kontaktdaten:
Als root solltest du ohnehin nicht arbeiten (weder ftp noch ssh) . Du könntest deinem user die
rechte verschaffen, die du für deine upload-verzeichnisse benötigst. Wo liegt das problem ?
Wenn es um ein webverzeichnis geht, könntest du deinen upload-user in die gruppe www-data
stecken und die entsprechenden webdirs anpassen (nur mal so als beispiel).
rechte verschaffen, die du für deine upload-verzeichnisse benötigst. Wo liegt das problem ?
Wenn es um ein webverzeichnis geht, könntest du deinen upload-user in die gruppe www-data
stecken und die entsprechenden webdirs anpassen (nur mal so als beispiel).
Niemand hat vor eine zentrale Datensammelbehörde aufzubauen. Es handelt sich vielmehr um dezentrale IT-Systeme die miteinander vernetzt werden.
... und Wasser ist naß.
... und Wasser ist naß.
Nun der einzige User bin ich.
Ich logge mich per ssh mit einem Remoteadmin (kein Root) ein
Danach muss ich z.B. in /var/ www ein CMS installieren das umfangreiche verzeichnisse anlegen will - was aber nicht geht da ich ja als Remoteadmin dazu keine Rechte habe.
Also werfe ich Putty an, mach su, werde Root und erstelle die Verzeichnise per Hand. Dann muss ich wieder chown etc machen damit die Rechte stimmen.
Das muss aber irgendwie doch einfacher gehen.
ich könnte natürlich auch dem Remoteadmin mehr Rechte gegen - das will ich auch nicht.
Ich logge mich per ssh mit einem Remoteadmin (kein Root) ein
Danach muss ich z.B. in /var/ www ein CMS installieren das umfangreiche verzeichnisse anlegen will - was aber nicht geht da ich ja als Remoteadmin dazu keine Rechte habe.
Also werfe ich Putty an, mach su, werde Root und erstelle die Verzeichnise per Hand. Dann muss ich wieder chown etc machen damit die Rechte stimmen.
Das muss aber irgendwie doch einfacher gehen.
ich könnte natürlich auch dem Remoteadmin mehr Rechte gegen - das will ich auch nicht.
- finupsen
- Beiträge: 1327
- Registriert: 21.04.2004 20:07:05
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Dortmund
-
Kontaktdaten:
wie schon gesagt, stecke deinen remoteuser in die gruppe www-data.
Du kannst nicht gleichzeitig rechte verlangen, ohne diese zu vergeben....
alternativ wäre noch ~/public_html, ein feature das es dir ermöglicht, webverzeichnisse im
eigenen home zu verwalten.
edit:
mod_userdir schimpft sich das teil:
http://httpd.apache.org/docs/2.0/howto/public_html.html
Du kannst nicht gleichzeitig rechte verlangen, ohne diese zu vergeben....
alternativ wäre noch ~/public_html, ein feature das es dir ermöglicht, webverzeichnisse im
eigenen home zu verwalten.
edit:
mod_userdir schimpft sich das teil:
http://httpd.apache.org/docs/2.0/howto/public_html.html
Niemand hat vor eine zentrale Datensammelbehörde aufzubauen. Es handelt sich vielmehr um dezentrale IT-Systeme die miteinander vernetzt werden.
... und Wasser ist naß.
... und Wasser ist naß.
Lösungsansatz:
1.) /etc/sshd_config kopieren nach /etc/sshd_config2222 und ändern:
- ListenAdress 127.0.0.1
- Port 2222
- PidFile /var/run/sshd2222.pid
- PermitRootLogin yes
2.) Starten mit sshd -f /etc/ssh/sshd_config2222
(evtl. automatisieren oder temporär, mit dem pid-File aufpassen)
und nun darf localhost -> localhost:2222 als root genutzt werden, ist noch kein Sicherheitsrisiko
dann:
a) normale SSH-Verbindung aufbauen (z.B. puty)
b) LocalForwarding: -L 2222:localhost:2222 localhost
c) SCP unter Windows nutzen (Servername: localhost, Port: 2222, Benutzer: root)
1.) /etc/sshd_config kopieren nach /etc/sshd_config2222 und ändern:
- ListenAdress 127.0.0.1
- Port 2222
- PidFile /var/run/sshd2222.pid
- PermitRootLogin yes
2.) Starten mit sshd -f /etc/ssh/sshd_config2222
(evtl. automatisieren oder temporär, mit dem pid-File aufpassen)
und nun darf localhost -> localhost:2222 als root genutzt werden, ist noch kein Sicherheitsrisiko
dann:
a) normale SSH-Verbindung aufbauen (z.B. puty)
b) LocalForwarding: -L 2222:localhost:2222 localhost
c) SCP unter Windows nutzen (Servername: localhost, Port: 2222, Benutzer: root)
Danke erstmal aber "adduser remoteadm www-data" geht nicht das "www-data" ROOTRECHTE benötigt.finupsen hat geschrieben:wie schon gesagt, stecke deinen remoteuser in die gruppe www-data.
Du kannst nicht gleichzeitig rechte verlangen, ohne diese zu vergeben....
alternativ wäre noch ~/public_html, ein feature das es dir ermöglicht, webverzeichnisse im
eigenen home zu verwalten.
edit:
mod_userdir schimpft sich das teil:
http://httpd.apache.org/docs/2.0/howto/public_html.html
Der anderen Weg het auch nicht weil ich dann zuviel neu konfigurieren müsste.
Dennoch danke.
Horcht sich nach Profi an ...nil hat geschrieben:Lösungsansatz:
1.) /etc/sshd_config kopieren nach /etc/sshd_config2222 und ändern:
- ListenAdress 127.0.0.1
- Port 2222
- PidFile /var/run/sshd2222.pid
- PermitRootLogin yes
2.) Starten mit sshd -f /etc/ssh/sshd_config2222
(evtl. automatisieren oder temporär, mit dem pid-File aufpassen)
und nun darf localhost -> localhost:2222 als root genutzt werden, ist noch kein Sicherheitsrisiko
dann:
a) normale SSH-Verbindung aufbauen (z.B. puty)
b) LocalForwarding: -L 2222:localhost:2222 localhost
c) SCP unter Windows nutzen (Servername: localhost, Port: 2222, Benutzer: root)
kanst du mir das als Anfänger ausführlicher erläutern?
Sowie ich das verstehe nehme ich den MC und verändere die ssh_config. Was bedeutet Port 2222? Heißt das, nun wird auf 2222 statt auf 22 gehorcht - ich muss also bei Putty dann 2222 und nicht mehr 22 nehmen?
Sorry aber bin nicht so fit
Ok, ein wenig zur Erklärung:
SSHD läuft auf dem Port 22, root darf nach deiner Definition nicht zugreifen und ist ja auch so gewollt.
Mit dem Configfile kannst du einen weiteren SSHD laufen lassen (z.B. Port 2222), der erstens nur lokale Verbindungen (127.0.0.1) annimmt und zweitens den root-Zugriff erlaubt. Es ist eigentlich unkritisch, da nur jemand das System erreicht, der Nicht-root ist. Natürlich benötigt er weiterhin das root-Passwort.
Das alles hilft dir erst mal nichts, jedoch kann man mit SSH auch Ports weiterleiten bzw. umleiten. So loggst du dich dann ganz normal ein und definierst eine Portweiterleitung (SSH-Tunnel) von deinem Arbeitsplatz-Windows (localhost:2222) über deinen Server (server:22) zu deinem Server (localhost:2222).
Nun kannst du SCP nutzen, Servername ist localhost (dein Windows-Rechner), Port ist 2222 (Tunnel-Anfang). Benutzername ist root und Passwort das root-Passwort. Indirekt führst du damit eine Anmeldung an SSHD (Port 2222) durch.
PS.: solltest du es fertig bringen deinem Original-SSHD beizubringen für root nur Zugiffe von localhost zu erlauben, so könntest du es vereinfachen. Leider kenne ich keinen Parameter in /etc/ssh/sshd_config. Vielleicht gibt es eine Möglichkeit über /etc/pam.d/ssh. Vielleicht kann ja jemand hier weiterhelfen.
SSHD läuft auf dem Port 22, root darf nach deiner Definition nicht zugreifen und ist ja auch so gewollt.
Mit dem Configfile kannst du einen weiteren SSHD laufen lassen (z.B. Port 2222), der erstens nur lokale Verbindungen (127.0.0.1) annimmt und zweitens den root-Zugriff erlaubt. Es ist eigentlich unkritisch, da nur jemand das System erreicht, der Nicht-root ist. Natürlich benötigt er weiterhin das root-Passwort.
Das alles hilft dir erst mal nichts, jedoch kann man mit SSH auch Ports weiterleiten bzw. umleiten. So loggst du dich dann ganz normal ein und definierst eine Portweiterleitung (SSH-Tunnel) von deinem Arbeitsplatz-Windows (localhost:2222) über deinen Server (server:22) zu deinem Server (localhost:2222).
Nun kannst du SCP nutzen, Servername ist localhost (dein Windows-Rechner), Port ist 2222 (Tunnel-Anfang). Benutzername ist root und Passwort das root-Passwort. Indirekt führst du damit eine Anmeldung an SSHD (Port 2222) durch.
PS.: solltest du es fertig bringen deinem Original-SSHD beizubringen für root nur Zugiffe von localhost zu erlauben, so könntest du es vereinfachen. Leider kenne ich keinen Parameter in /etc/ssh/sshd_config. Vielleicht gibt es eine Möglichkeit über /etc/pam.d/ssh. Vielleicht kann ja jemand hier weiterhelfen.
Sofern man weiß was man tut ist ein Login als root per ssh übers Internet nicht schädlich. Wir sind ja nicht mehr in der Steinzeit. Verwende public-key authorisation für den root User. Damit kann man sich nur mit dem einen Schlüssel als root anmelden. Du kannst auch die Rechner eingrenzen von denen aus dieser Schlüssel akzeptiert wird. Dafür registrierst du dir einen Rechnernamen bei einem dyndns Service und trägst diesen Namen ein im Schlüssel ein. Um dich also als root an deinem Server anzumelden brauchst du:
1. Den richtigen Schlüssel
2. Muss dieser vom einem bestimmten durch DNS auflösbarem Rechnernamen kommen.
Ich hab den zweiten Teil nicht getestet.
1. Den richtigen Schlüssel
2. Muss dieser vom einem bestimmten durch DNS auflösbarem Rechnernamen kommen.
Ich hab den zweiten Teil nicht getestet.
Ach ja, und nix schrotten.
Ich habe einen schlechten Stil, ich weiss, Danke, wurde mir bereits gesagt.
Ich habe einen schlechten Stil, ich weiss, Danke, wurde mir bereits gesagt.
- finupsen
- Beiträge: 1327
- Registriert: 21.04.2004 20:07:05
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Dortmund
-
Kontaktdaten:
könntest du diesen satz nochmal erklären ? Ich verstehe grad nicht wie eine gruppe root-rechteBogo hat geschrieben: Danke erstmal aber "adduser remoteadm www-data" geht nicht das "www-data" ROOTRECHTE benötigt.
benötigen kann ...
nochmal...
Ich bin der user "finup" und befinde mich u.a. in der gruppe www-data. Ich kann in meinem
/var/www/ (webroot) schreiben und lesen.
Ist es das was du möchtest ?
wenn ja: stecke deinen user in die gruppe www-data und es funktioniert ! (versprochen)
edit:
vielleicht nochn tip wie man das macht:
öffne deine /etc/group und suche nach www-data. Füge deinen benutzernamen ein. Das sieht dann etwa so aus:
www-data33:finup
danach re-login machen....
Zuletzt geändert von finupsen am 15.03.2006 12:26:18, insgesamt 1-mal geändert.
Niemand hat vor eine zentrale Datensammelbehörde aufzubauen. Es handelt sich vielmehr um dezentrale IT-Systeme die miteinander vernetzt werden.
... und Wasser ist naß.
... und Wasser ist naß.
Nun, auf meinen Sever sieht das so aus das ROOT der Eigentümer von WWW-DATA ist.
Nun benötigen alle darunterliegenden Verzeichnisse eben auch ROOT Rechte. Habe den Server selber nicht eingerichtet wundere mich aber schon etwas das WWW-DATA Rootrechte benötigt.
Ich denke das es vielleicht besser ist www-data einem user zuzuordnen, mir erschließt sich nicht ganz warum www-data unter root laufen soll. oder ist das ein Sicherheitsrisiko?
Nun benötigen alle darunterliegenden Verzeichnisse eben auch ROOT Rechte. Habe den Server selber nicht eingerichtet wundere mich aber schon etwas das WWW-DATA Rootrechte benötigt.
Ich denke das es vielleicht besser ist www-data einem user zuzuordnen, mir erschließt sich nicht ganz warum www-data unter root laufen soll. oder ist das ein Sicherheitsrisiko?
- finupsen
- Beiträge: 1327
- Registriert: 21.04.2004 20:07:05
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Dortmund
-
Kontaktdaten:
> Nun, auf meinen Sever sieht das so aus das ROOT der Eigentümer von WWW-DATA ist.
sag mir, wie ich dich von diesem irrtum befreien kann und ich tue es ...
www-data ist eine gruppe und wird mit der installation von apache erzeugt.
root ist ein user bzw. der superuser.
www-data hat keinen besitzer, gruppen haben genrell keinen besitzer.
root kann demnach nicht besitzer von www-data sein (genau da liegt dein irrtum)
bisher klar ?
so. www-data ist ausserdem ein user, der ebenfalls mit der installation von apache angelegt wird.
Der apache-prozess läuft als user www-data. Ermitteln kannst du das mit dem befehl "ps aux".
Der user www-data ist widerum in der gruppe www-data.
Damit apache selbst auf die html-dateien zugreifen kann, müssen diese dateien die
richtigen rechte besitzen. Daher befinden diese sich in der gruppe www-data.
Wenn du selbst auch in der gruppe www-data bist, kannst du natürlich auch
auf diese dateien zugreifen.... logisch ?
sag mir, wie ich dich von diesem irrtum befreien kann und ich tue es ...
www-data ist eine gruppe und wird mit der installation von apache erzeugt.
root ist ein user bzw. der superuser.
www-data hat keinen besitzer, gruppen haben genrell keinen besitzer.
root kann demnach nicht besitzer von www-data sein (genau da liegt dein irrtum)
bisher klar ?
so. www-data ist ausserdem ein user, der ebenfalls mit der installation von apache angelegt wird.
Der apache-prozess läuft als user www-data. Ermitteln kannst du das mit dem befehl "ps aux".
Der user www-data ist widerum in der gruppe www-data.
Damit apache selbst auf die html-dateien zugreifen kann, müssen diese dateien die
richtigen rechte besitzen. Daher befinden diese sich in der gruppe www-data.
Wenn du selbst auch in der gruppe www-data bist, kannst du natürlich auch
auf diese dateien zugreifen.... logisch ?
Niemand hat vor eine zentrale Datensammelbehörde aufzubauen. Es handelt sich vielmehr um dezentrale IT-Systeme die miteinander vernetzt werden.
... und Wasser ist naß.
... und Wasser ist naß.
Wer hindert dich dran für jeden Admin einen anderen Key zu verwenden?nil hat geschrieben:Oder so. Obwohl wenn mehrere Benutzer einen Server administrieren ist es doch immer ganz schön zu sehen, wer sonst noch alles das System "besucht".
Als alleiniger Systemadministrator kann man so vorgehen, aber public-key-Authentication auf JEDEN Fall mit geeigneter Passphrase durchführen.
Ach ja, und nix schrotten.
Ich habe einen schlechten Stil, ich weiss, Danke, wurde mir bereits gesagt.
Ich habe einen schlechten Stil, ich weiss, Danke, wurde mir bereits gesagt.
natürlich niemand und jeder Admin sollte einen eigenen Key mit eigener Passphrase haben, die wirklich nur er kennt. Es geht mir mehr darum, dass man auch mal schauen kann, wer z.B. am System angemeldet war, z.B. mit "last". Und "root" ist eben unpersonalisiert.Wer hindert dich dran für jeden Admin einen anderen Key zu verwenden?
finupsen hat geschrieben:> Nun, auf meinen Sever sieht das so aus das ROOT der Eigentümer von WWW-DATA ist.
sag mir, wie ich dich von diesem irrtum befreien kann und ich tue es ...
www-data ist eine gruppe und wird mit der installation von apache erzeugt.
root ist ein user bzw. der superuser.
www-data hat keinen besitzer, gruppen haben genrell keinen besitzer.
root kann demnach nicht besitzer von www-data sein (genau da liegt dein irrtum)
bisher klar ?
www-data ist ausserdem ein user, der ebenfalls mit der installation von apache angelegt wird.
Der apache-prozess läuft als user www-data. Ermitteln kannst du das mit dem befehl "ps aux".
Der user www-data ist widerum in der gruppe www-data.
Damit apache selbst auf die html-dateien zugreifen kann, müssen diese dateien die
richtigen rechte besitzen. Daher befinden diese sich in der gruppe www-data.
Wenn du selbst auch in der gruppe www-data bist, kannst du natürlich auch
auf diese dateien zugreifen.... logisch ?
OK. Ich habe das eben getestet. Mit adduser einen testuser angelegt in die Gruppe von www-data geben und der hat dennoch keine Rechte eine Datei anzulegen oder irgendwas zu löschen.
/var/www benötigt ROOTRECHTE um darin etwas zu verändern - genau das ist ja auch mein Problem. MC sagt zudem bei www-data : Name des Besitzers "root" Name der Gruppe: "root"
Was nun? Warum Root?
Es gibt den Benutzer root und die Gruppe root.
sollte helfen.
Code: Alles auswählen
chgrp www-data /verzeichnis/zum/webserver