[VOTING] XH 1.6.10

Discussions and requests related to new CMSimple features, plugins, templates etc. and how to develop.
Please don't ask for support at this forums!
Gert
Posts: 3075
Joined: Fri May 30, 2008 4:53 pm
Location: Berlin
Contact:

Re: [VOTING] XH 1.6.10

Post by Gert » Mon May 25, 2020 10:48 am

frase wrote:
Mon May 25, 2020 9:04 am
Dann müsste wahrscheinlich eine Vorschaltseite erscheinen (ähnlich Gert)
Nur zur Klarstellung:

Wenn die Seite mit Passwort "test" hochgeladen wird, ist sie für Besucher voll zugänglich. Es kann sich aber niemand einloggen. Interessant und sicher für Admins, die grundsätzlich lokal arbeiten und die Inhalte dann per ftp hochladen.

Das Setup kann nur per ftp aktiviert werden, durch hochladen einer Datei setupControl.php per ftp. Ab diesem Augenblickk könnte aber auch ein Angreifer das Setup ausführen. Ist zwar unwahrscheinlich, aber theoretisch möglich.

Wenn aber der Admin das Setup ausgeführt hat, kann der Angreifer nichts mehr machen, denn am Ende des Setup wird die setupControl.php gelöscht, und Setup ist wieder inaktiv. Aber wie auch immer, ein paar Sekunden bleiben für einen Angriff.

Im Augenblick arbeite ich an einer Version, bei der das Setup eine config_setup.php erstellt und da das Passwort ändert. Das geht aber nur, wenn es noch keine config_setup.php gibt. Wenn ein Angreifer also schneller als der Admin ist, gibt es beim Versuch des Admin diese Datei schon, Setup bricht ab und fordert den Admin auf, diese Datei per ftp zu löschen und Setup noch einmal auszuführen.

Nach der erfolgreichen Setup-Vorbereitung muss man dann halt noch per ftp die config.php löschen und die config_setup.php umbenennen in config.php.

Man kommt einfach nicht daran vorbei:

Alles, was nach dem Upload dem Admin erlaubt wird, kann auch jemand anderes ausführen. Im Augenblick solange, bis das Passwort geändert wird. Dagegen kann man nur 2 Dinge tun:

1. Die Seite offline (lokal) vorbereiten. Nicht zumutbar für normale Anwender.

2. Die entscheidenden Schritte gehen nur per ftp. Leider unbequem ...
Gert Ebersbach | CMSimple | Templates - Plugins - Services

frase
Posts: 3356
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Re: [VOTING] XH 1.6.10

Post by frase » Mon May 25, 2020 11:07 am

Gert wrote:
Mon May 25, 2020 10:48 am
Nur zur Klarstellung: ...
Ja, das habe ich alles schon getestet, als es erschien ;-)
Und: Man merkt, dass du dir schon heftige Gedanken darüber gemacht hast.
Für uns hier ist es zwar nicht ganz neu, aber es blieb irgendwo in der Vergangenheit stecken.
Vielleicht ist deine Lösung ja wirklich die einzig richtige? Wenn auch wirklich nicht mehr so einfach wie früher. Weil: Früher war alles besser (und einfacher) :lol:

Sei's drum. Ich hoffe, dass vielleicht noch jemand eine Super-Idee hat.
Wie du aus alten Zeiten weißt, gibt es hier auch ein paar ganz schön kluge Köpfe - und auch ein paar neue, die du noch nicht so kennst.
Die denken manchmal auch ganz verquer - und manchmal kommt was dabei raus.

Gert
Posts: 3075
Joined: Fri May 30, 2008 4:53 pm
Location: Berlin
Contact:

Re: [VOTING] XH 1.6.10

Post by Gert » Mon May 25, 2020 12:13 pm

frase wrote:
Mon May 25, 2020 11:07 am
Vielleicht ist deine Lösung ja wirklich die einzig richtige?
Die einzig richtige Lösung gibt es nicht.

Es gibt nur ein paar Eckpunkte, an denen man nicht vorbeikommt, wenn es sicher sein soll.

Defacto sicher ist CMSimple jetzt schon. Denn normalerweise wird sich jeder Anwender sofort nach dem Upload einloggen, und dann wird er bei mir ordentlich geärgert und belästigt, solange er das Passwort nicht ändert ;)

Wenn aber beim Upload das Telefon klingelt, und er vergisst die Installation, dann gibt es halt ein Sicherheitsrisiko, das ich in den folgenden Versionen wohl zu Lasten der Bequemlichkeit und im Interesse des guten Rufes von CMSimple beseitigen werde.

frase wrote:
Mon May 25, 2020 11:07 am
Man merkt, dass du dir schon heftige Gedanken darüber gemacht hast.
Ein paar Wochen geht das nun schon. Und die Eckpunkte, die sich herauskristallisiert haben, sind eben folgende:

1. Im Auslieferungszustand kein Login möglich

2. Aktivierung des Setup (also die Freischaltung der Änderung des Passwortes ohne Login) nur per ftp möglich

3. Freischaltung des neuen Passwortes (Umbenennung der von Setup erzeugten config_setup.php in config.php) nur per ftp möglich

Nur dann ist es wirklich sicher, wenn man nicht alles offline vorbereitet. Leider kann man sich dann aber nicht mehr direkt nach dem Online-Setup mit dem neuen Passwort einloggen, weder als Angreifer noch als Admin.
Gert Ebersbach | CMSimple | Templates - Plugins - Services

Tata
Posts: 3188
Joined: Tue May 20, 2008 5:34 am
Location: Slovakia
Contact:

Re: [VOTING] XH 1.6.10

Post by Tata » Mon May 25, 2020 1:25 pm

Gibt es in dieser Lösung einige Vulnerabilities?
login2.jpg
You do not have the required permissions to view the files attached to this post.
CMSimple.sk
It's no shame to ask for an answer if all efforts failed.
But it's awful to ask without any effort to find the answer yourself.

olape
Posts: 1180
Joined: Fri Mar 13, 2015 8:47 am
Contact:

Re: [VOTING] XH 1.6.10

Post by olape » Mon May 25, 2020 2:06 pm

Es wird nie zu 100% sicher und trotzdem einfach und bequem nutzbar sein. (Die 100% nicht wörtlich nehmen! Ich weiss ...)

Wenn man sich mal andere Systeme anschaut, die z.B. mit einem Installer daher kommen, dann sind auch diese in dem Moment, wenn man die Installation starten kann angreifbar. Denn genau dann könnte ja jemand anderes das Setup aufrufen.
Es gibt aktuelle Systeme, die setzen auf htaccess und htpasswd, wobei man das dann aber trotzdem aus dem Backend managen kann.
Aber da ist der Passwortschutz nicht mal aktiviert im Standard.
Es gibt Systeme, die am Ende der Installation nur darauf hinweisen, dass der Installer entfernt werden sollte, usw.

Es wird immer Schwachstellen geben. Die Frage ist doch, wie wahrscheinlich ist es, dass genau in dem Moment, wo das entsprechende Script online ist, jemand anderes darauf zugreift. Ich halte das für recht unwahrscheinlich. Es sei denn, es vergisst jemand, dass es online ist und es bleibt dann lange genug online.
Aber gegen solche Eventualitäten kann man nichts machen, bzw. kann man nicht alle User dafür "bestrafen".

Ich glaube, wenn ich Gerts letzte Ausführungen lese
Gert wrote:
Mon May 25, 2020 12:13 pm
3. Freischaltung des neuen Passwortes (Umbenennung der von Setup erzeugten config_setup.php in config.php) nur per ftp möglich
, dann ist es vielleicht sehr sicher, aber irgendwie am Slogan "Simple" vorbei.

Also, der Ansatz, es irgendwie zu gestallten, dass das Standardpasswort geändert werden muss, oder, dass es gar kein Standardpasswort gibt, sondern per Installer eines gesetzt werden muss ist gut und wichtig. Es sollte aber nicht zu kompliziert werden.
Meine Meinung

frase
Posts: 3356
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Re: [VOTING] XH 1.6.10

Post by frase » Mon May 25, 2020 3:09 pm

Was soll's?
"simple" war füher. Jeden Tag wachsen neue böse Menschen heran, die dir Schlechtes wollen ;-)
Man muss halt versuchen, diesen Leuten (oder auch Algorithmen) so wenig wie möglich Angriffsfläche zu bieten.
100% Sicherheit gibt es aber wahrscheinlich wirklich nicht.

Gedankenspiel:
XH wird ausgeliefert wie bisher ("test").
Zusätzlich gibt es eine Datei z.B. mit Namen "sys.lock" (Speicherort muss noch geklärt werden).

Ruft irgendjemand die Login-Maske auf (und nur dann) geschehen ein paar Dinge:
  1. Es wird geprüft, ob das Passwort "test" ist UND ob die Datei "sys.lock" vorhanden ist.
  2. Falls beides nicht zutrifft - also NEIN,
    dann wird die Login-Maske angezeigt und man kann arbeiten wie bisher.
  3. Falls JA:
    Es wird eine neue XH-Seite angezeigt mit irgendeinem allgemeinen Hinweis:
    z.B. "Hier entsteht einen neue CMSimple_XH-Seite. Bitte lesen Sie die Anleitung ..."
    In der "Anleitung" steht dann eben, dass man die Datei "sys.lock" per FTP löschen und anschließend sofort das Passwort ändern muss.
  4. Falls nur das Passwort "test" ist aber die Datei "sys.lock" NICHT vorhanden ist:
    Dann greift Christophs Patch: Es wird die Login-Maske angezeigt und leitet sofort zu "Passwort ändern" weiter.
Problem dabei (wie bei allen anderen Vorschlägen auch):
  • Es könnte in der Zwischenzeit, in der die "sys.lock" gelöscht wurde und noch kein neues Passwort erstellt ist, ein Angriff erfolgen.
  • Vergisst der User das Passwort sofort zu ändern (Unterbrechung durch Telefon usw.), dann können wir auch nix mehr tun.
  • Ändert ein User, nachdem er erstmal alles richtig gemacht hat, irgendwann das Passwort wieder zu "test", können wir auch nix machen.
Das ist zwar auch keine 100%ige Sicherheit, aber doch recht simple.
Wer Dateien per FTP hochladen kann, der kann auch eine Datei löschen.

Schön wäre natürlich , die ganzen Prüfungen am localhost zu übergehen - oder?

Gert
Posts: 3075
Joined: Fri May 30, 2008 4:53 pm
Location: Berlin
Contact:

Re: [VOTING] XH 1.6.10

Post by Gert » Mon May 25, 2020 3:33 pm

olape wrote:
Mon May 25, 2020 2:06 pm
dann ist es vielleicht sehr sicher, aber irgendwie am Slogan "Simple" vorbei.
Dann nenne ich das einach CMSafe ;)

Als Software Entwickler ist man ja ein Getriebener.

Da tragen irgendwelche Leute das System als "vulnerable" in irgendwelche Datenbanken ein. Der Laie findet es mit Google, versteht nix und merkt sich nur "CMSimple ist unsicher". Und wenn der dann noch ein Blog hat, schreibt er dann noch irgendwelchen Unsinn, den man dann auch wieder mit Google findet.

Dann erarbeitet man eine Lösung mit einer Lücke von ein paar Sekunden, und dann kommt sowas:
cmb wrote:The typical solution would rather be, that after uploading, the software runs some setup script, which finally offers to download a configuration file, which has to be uploaded to the site; only afterwards, the software can be used. If an attacker would intercept before the configuration file has been uploaded, they could run the setup, but would not be able to upload the resulting configuration script afterwards, so nothing bad could happen.
Daraufhin erarbeitet man eine sichere Lösung, und dann ... siehe oben.

Es gibt halt 3 Lösungen:

1. sicher - oder:
2. bequem - oder:
3. Kompromiss

Wofür auch immer man sich entscheidet - es wird nicht jedem gefallen :mrgreen:

Die Kompromisslösung ist das, was man zur Zeit als Preview bei mir herunterladen kann, mit der "ein paar Sekunden Lücke" zwischen Aktivierung und Ausführung des Setups und der Gefahr, dass der Anwender die Prozedur genau an der Stelle abbricht, wo Setup aktiviert und noch nicht ausgeführt ist. Mit dem Ergebnis, dass jeder, der sich auskennt, die Installation kapern kann.

WENN sowas mal passieren sollte (was ich für sehr unwahrscheinlich halte), fragt niemand mehr danach, wer daran schuld war, dann wird nur gefragt: "Warum hast Du nichts dagegen unternommen, sowas kann man doch unterbinden?".

Also: Vielen Dank für die Diskussion hier, ich warte mal ab ;)
Gert Ebersbach | CMSimple | Templates - Plugins - Services

Gert
Posts: 3075
Joined: Fri May 30, 2008 4:53 pm
Location: Berlin
Contact:

Re: [VOTING] XH 1.6.10

Post by Gert » Mon May 25, 2020 3:46 pm

frase wrote:
Mon May 25, 2020 3:09 pm
Problem dabei (wie bei allen anderen Vorschlägen auch):
  • Es könnte in der Zwischenzeit, in der die "sys.lock" gelöscht wurde und noch kein neues Passwort erstellt ist, ein Angriff erfolgen.
  • Vergisst der User das Passwort sofort zu ändern (Unterbrechung durch Telefon usw.), dann können wir auch nix mehr tun.
  • Ändert ein User, nachdem er erstmal alles richtig gemacht hat, irgendwann das Passwort wieder zu "test", können wir auch nix machen.
Also bei meinem letzten Vorschlag und auch bei dem von mir zitierten Vorschlag von Christoph ist das nicht möglich. Bei mir ist ausserdem bei Passwort "test" kein Login möglich.

Leider muss man aber nach dem Setup bei mir eine Datei löschen und eine andere umbenennen, und bei Christoph eine Datei downloaden und in die Installation hochladen. Das ist der Preis der Sicherheit, nun muss man sich entscheiden, ob dieser Preis akzeptabel oder zu hoch ist.
Gert Ebersbach | CMSimple | Templates - Plugins - Services

frase
Posts: 3356
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Re: [VOTING] XH 1.6.10

Post by frase » Mon May 25, 2020 3:53 pm

Gert wrote:
Mon May 25, 2020 3:46 pm
Das ist der Preis der Sicherheit, nun muss man sich entscheiden, ob dieser Preis akzeptabel oder zu hoch ist.
Richtig. Und deshalb dürfte ein Brainstorming darüber auch nicht schaden - oder?

Gert
Posts: 3075
Joined: Fri May 30, 2008 4:53 pm
Location: Berlin
Contact:

Re: [VOTING] XH 1.6.10

Post by Gert » Mon May 25, 2020 3:58 pm

frase wrote:
Mon May 25, 2020 3:53 pm
Und deshalb dürfte ein Brainstorming darüber auch nicht schaden - oder?
Hab mich ja schon artig bedankt ;) :
Gert wrote:
Mon May 25, 2020 3:33 pm
Also: Vielen Dank für die Diskussion hier, ich warte mal ab ;)
Gert Ebersbach | CMSimple | Templates - Plugins - Services

Post Reply