php + Passwort

11 views
Skip to first unread message

Sigbert Helle

unread,
Sep 16, 2020, 1:45:47 AM9/16/20
to
Hallo liebe Helfer,

vorweg: Ich hab mit "Passwörtern und php" noch nie was gemacht!

Ich betreue im Internet eine nicht-kommerzielle MySQL-Datenbank
(Bibliographie von Zeitungsartikeln), die durch php-Skripte öffentlich
zugänglich ist:
Das Skript artikel.php erzeugt eine html-Seite, die den Inhalt des
Datensatzes mit der ID 123 zeigt.
In einem Ordner ../texte liegen die Copyright freien Artikel.
Falls vorhanden werden auf der Seite Links zu den zugehörigen Dateien
(123.pdf, 123-F.pdf und 123-D.pdf) angezeigt.
So weit, so gut.

Nun gibt es bundesweit eine Handvoll Leute, die Zugriff haben sollen
auch auf die - noch - geschützten Artikel. Im Augenblick tauschen wir
bei gelegentlichen Treffen Festplatten aus - nicht das Gelbe vom Ei ...

Meine Idee (und bitte keine Zurückhaltung eurer Beurteilung von
"völliger Schwachsinn" bis "ausbaufähig"!):
Ich lege einen zweiten Ordner an (../xtexte), in dem die geschützten
Dateien liegen. Mittels Schalter auf der html-Seite werden Links
sichtbar gemacht, die auf Dateien in ../xtexte verweisen.
Dieser "Schalter" (dessen Ausführung) müsste Passwort geschützt sein
(Wie geht das?).
Zusätzlich, damit sich nicht rumspricht, in welchem Ordner die
geschützten Dateien liegen, bekommt der Ordner einen kryptischen Namen,
den ich dann auch noch jährlich ändere.

Also bitte eure Kommentare ...

Vielen Dank!

Sigbert Helle



Jan Novak

unread,
Sep 16, 2020, 2:56:49 AM9/16/20
to
Am 16.09.20 um 07:45 schrieb Sigbert Helle:
> Nun gibt es bundesweit eine Handvoll Leute, die Zugriff haben sollen
> auch auf die - noch - geschützten Artikel.

also da gibt es doch echt ne Menge Möglichkeiten. Abgesehen von
Tauschseiten (ala Next-/Owncloud/...) kannst du es natürlich auch mit
PHP machen.
1. Punkt wäre ein Benutzersystem, wo jeder Benutzer (oder alle
gemeinsam- obwohl das nicht sinnvoll ist) einen Zugang mit Benutzernamen
udn Passwort haben. Das impliziert (irgend-) eine Art von Datenbank
(auch nur File basierend), wo diese Benutzer gespeichert sind.

Alternativ ein (Webserver-) .htaccess Datei,w elche beim Zugriff auf ein
Verzeichnis den Benutzer Authentifiziert - das hat aber nichts mit PHP
zu tun.

> Ich lege einen zweiten Ordner an (../xtexte), in dem die geschützten
> Dateien liegen. Mittels Schalter auf der html-Seite werden Links
> sichtbar gemacht, die auf Dateien in ../xtexte verweisen.
> Dieser "Schalter" (dessen Ausführung) müsste Passwort geschützt sein
> (Wie geht das?).

> Zusätzlich, damit sich nicht rumspricht, in welchem Ordner die
> geschützten Dateien liegen, bekommt der Ordner einen kryptischen Namen,
> den ich dann auch noch jährlich ändere.

Dennoch keine gute Idee. Schutz durch Unkenntniss ist kein guter Schutz.


Jan

Arno Welzel

unread,
Sep 16, 2020, 5:09:42 PM9/16/20
to
Sigbert Helle:

> Hallo liebe Helfer,
>
> vorweg: Ich hab mit "Passwörtern und php" noch nie was gemacht!
[...]

Mit dieser Voraussetzung würde ich auch nicht anfangen, ein öffentlich
zugängliches System einzurichten, dass Inhalte vor unbefugten Zugriff
schützen soll.

[...]
> Nun gibt es bundesweit eine Handvoll Leute, die Zugriff haben sollen
> auch auf die - noch - geschützten Artikel. Im Augenblick tauschen wir
> bei gelegentlichen Treffen Festplatten aus - nicht das Gelbe vom Ei ...

Dann nehmt eine Plattform wie Nextcloud dafür oder einen Webspace, in
dem man passwortgeschützte Verzeichnisse anlegen kann.

[...]
> Zusätzlich, damit sich nicht rumspricht, in welchem Ordner die
> geschützten Dateien liegen, bekommt der Ordner einen kryptischen Namen,
> den ich dann auch noch jährlich ändere.

Wenn das auch noch mehrere *Jahre* so laufen soll - Nextcloud auf einem
eigenen Server installieren und für die berechtigten Personen einen
freigegebenen Ordner anlegen, wo man die Dateien ablegen kann.
Alternativ mieten:

<https://www.goneo.de/blog/so-einfach-erstellst-du-deinen-eigenen-online-speicher/>

<https://www.hetzner.de/storage/storage-share>

<https://rackspeed.de/nextcloud-hosting/>


--
Arno Welzel
https://arnowelzel.de

Matthias P. Würfl

unread,
Sep 17, 2020, 3:19:18 AM9/17/20
to
Sigbert Helle schrieb am Mittwoch, 16. September 2020 um 05:45:47 UTC:

> Ich lege einen zweiten Ordner an (../xtexte), in dem die geschützten
> Dateien liegen. Mittels Schalter auf der html-Seite werden Links
> sichtbar gemacht, die auf Dateien in ../xtexte verweisen.

So weit, so gut.

> Dieser "Schalter" (dessen Ausführung) müsste Passwort geschützt sein

Nein.

Du musst zusehen, dass die schützenswerten Dateien ordentlich geschützt sind. Dies macht man (wenn es sich um Dateien in einem Ordner handelt) am praktischsten mittels http_auth. Das kann jeder Webserver von Haus aus und das muss man nicht extra programmieren. Im schlimmsten Falle muss man vielleicht eine ".htaccess"-Datei dafür anlegen. In der Regel hat man aber beim Hoster irgendein Webfrontend, wo man das einrichten kann. Wenn die Zieldateien nicht geschützt sind, dann kann man durch URL-Erraten auf sie zugreifen und in den heutigen Zeiten braucht es nicht mal mehr das, die Browser sind oft schon so geschwätzig, das spricht sich rum.

Wenn Du die Zieldateien ordentlich geschützt hast, dann kannst Du ein kleines Schalterchen auf der html-Seite einbauen, denn der erlauchte Personenkreis möchte ja auch gerne per Klicken auf die geschützten Dateien kommen. Das Schalterchen braucht jetzt nicht mehr "sicher" zu sein, denn die Zieldateien sind ja geschützt. Es dient nur noch dem praktischen Aktivieren der zusätzlichen Links.

Grüße, Matthias

Matthias P. Würfl

unread,
Sep 17, 2020, 3:22:59 AM9/17/20
to
Arno Welzel schrieb am Mittwoch, 16. September 2020 um 21:09:42 UTC:

> Nextcloud auf einem eigenen Server installieren

Damit habe ich keinen Spaß und ich kenne noch mehr Leute, die damit wenig Spaß haben. Mit dem Installieren vielleicht noch, aber mit dem administrieren dann nicht mehr. Wenn ich es noch mal machen müsste, dann würde ich auf ein gemietetes Nextcloud gehen (irgendso ein SaaS-Ding). De facto überlegen wir sogar zumindest eine der zwei Installationen umzuziehen.

Grüße Matthias

Stefan Mayer

unread,
Sep 17, 2020, 4:37:58 AM9/17/20
to
Welche Schwierigkeiten ergeben sich den da so? Ich selbst benutzte die
nc seit Jahren für den Dateiaustausch und die Synchronisation zwischen
Rechnern. Die Kernfunktion? scheint gut zu funktionieren, hatte schon
länger keine Beanstandungen mehr … Moment, außer dem Überschreiben der
.htaccess beim Update, das nervt doch schon ein bisschen.

ciao, stefan

Matthias P. Würfl

unread,
Sep 17, 2020, 5:17:26 AM9/17/20
to
Stefan Mayer schrieb am Donnerstag, 17. September 2020 um 08:37:58 UTC:
> Am Donnerstag, den 17.09.2020, 00:22 -0700 schrieb Matthias P. Würfl:
> > Arno Welzel schrieb am Mittwoch, 16. September 2020 um 21:09:42 UTC:
> >
> > > Nextcloud auf einem eigenen Server installieren
> >
> > Damit habe ich keinen Spaß
>
> Welche Schwierigkeiten ergeben sich den da so?

Nichts Spannendes, aber es ist halt ein komplexes Stück Software, welches gewartet werden will. Man muss Updates einspielen, unter Umständen die Installationsart ändern (hier: Umsteg auf snap-Paket), weil es das OS so "will", man muss sich Gedanken um Ausfallsicherheit und Backups (mit funktionierendem restore!) machen und so weiter und so fort. Zwischendrin geht einem dann das LetsEncrypt kaputt und man steht ohne Zertifikat da und man muss *das* wieder in Gang setzen. Dann hat's mal immer wieder gesponnen und man musste es mal neu starten (keine Ahnung warum, hat sich von selbst wieder gegeben). Alles in Allem also nichts Schlimmes, aber wenn man es intensiv nutzt (für mehr als nur paar Dateien zwischen paar Geräten zu syncen), darauf angewiesen ist und man nur mit einer oder zwei Installationen zu tun hat (so dass man keine Übung entwickelt) ist mir das zu aufwändig. Wenn ich noch mal zu entscheiden hätte, dann würde ich was "Fertiges" nehmen.

Grüße, Matthias

Stefan Mayer

unread,
Sep 17, 2020, 6:34:29 AM9/17/20
to
Verstehe, geht mir genauso mit vielen anderen Dingen :-)


schönen Tag noch.
ciao, Stefan

Arno Welzel

unread,
Sep 17, 2020, 11:49:07 AM9/17/20
to
Matthias P. Würfl:

> Stefan Mayer schrieb am Donnerstag, 17. September 2020 um 08:37:58
> UTC:
>> Am Donnerstag, den 17.09.2020, 00:22 -0700 schrieb Matthias P.
>> Würfl:
>>> Arno Welzel schrieb am Mittwoch, 16. September 2020 um 21:09:42
>>> UTC:
>>>
>>>> Nextcloud auf einem eigenen Server installieren
>>>
>>> Damit habe ich keinen Spaß
>>
>> Welche Schwierigkeiten ergeben sich den da so?
>
> Nichts Spannendes, aber es ist halt ein komplexes Stück Software,
> welches gewartet werden will. Man muss Updates einspielen, unter

Das läuft hier aber recht unspektakulär.

> Umständen die Installationsart ändern (hier: Umsteg auf snap-Paket),
> weil es das OS so "will", man muss sich Gedanken um Ausfallsicherheit

Wieso "snap-Paket"?

Ich habe immer das Server-Paket von <https://nextcloud.com/install/>
verwendet, in den Root-Ordner des dafür vorgesehenen Webspace entpackt
und die Installation im Browser aufgerufen, was dann in ein paar Minuten
erledigt ist.

Wenn man keine größere Zahl an Benutzern hat, genügt auch die
SQLite-Datenbank, die Nextcloud dann anlegt. Updates gehen dann
ebenfalls über die Weboberfläche recht problemlos.

> und Backups (mit funktionierendem restore!) machen und so weiter und
> so fort. Zwischendrin geht einem dann das LetsEncrypt kaputt und man

Und bei der von Dir angedachten Lösung mit Datein in irgendwelchen
Verzeichnissen ist kein Backup des Servers nötig?

> steht ohne Zertifikat da und man muss *das* wieder in Gang setzen.

Wieso geht Let's Encrypt kaputt? Ich betreibe schon seit etlichen Jahren
eine ganze Reihe von Servern mit aktuell etwas über 40 Domains und
betreue auch diverse Installationen beruflich. Let's Encrypt ist da noch
nie einfach "kaputt gegangen".

> Dann hat's mal immer wieder gesponnen und man musste es mal neu
> starten (keine Ahnung warum, hat sich von selbst wieder gegeben).

Mir scheint eher, es fehlt einfach an Erfahrung, wie man einen Server
generell so einrichtet, dass er stabil läuft.

Ja, dann ist eine gemietete Nextcloud-Instanz sicher hilfreicher.

JFTR: Ich betreibe mehrere Nextcloud-Server für aktuell ca. 90 Benutzer.
Der erste davon ist seit etwa drei Jahren im Einsatz und wurde
ursprünglich mit Nextcloud 12 eingerichtet und hat alle Updates bis auf
das aktuelle Nextcloud 19.0.3 ohne Probleme mitgemacht. Einzig bei ein
paar Drittanbieter-Apps gab es zwischendruch mal das Problem, dass sie
noch nicht für die jeweils aktuelle Nextcloud-Version freigegeben waren.
Aber das betraf eher "exotische" Sachen wie Keeweb.

Matthias P. Würfl

unread,
Sep 18, 2020, 4:52:51 AM9/18/20
to
Arno Welzel schrieb am Donnerstag, 17. September 2020 um 15:49:07 UTC:

> Wieso "snap-Paket"?

Weil ich mit Ubuntu arbeite und da alles Mögliche als snap daher kommt. Die snap-Variante war auch die Referenzimplementation direkt nach dem Fork. Wenn's als der Standard für mein OS ist und der Standard für die Software, dann brauche ich keinen Grund für snap, sondern einen dagegen um was anderes zu nutzen.

> Ich habe immer das Server-Paket von <https://nextcloud.com/install/>
> verwendet, in den Root-Ordner des dafür vorgesehenen Webspace entpackt
> und die Installation im Browser aufgerufen, was dann in ein paar Minuten
> erledigt ist.

So etwas mache ich sehr ungern, da ich immer zusehe, dass ich dem Webserver keine Schreibrechte auf ausführbare Dateien gebe. Das mag bisschen pienzig klingen, hat sich aber als sehr gut für Schlaf und Urlaub erwiesen.

> Und bei der von Dir angedachten Lösung mit Datein in irgendwelchen
> Verzeichnissen ist kein Backup des Servers nötig?

Ich sah die NC-Diskussion jetzt bisschen unabhängig von der ursprünglichen Frage.

> Wieso geht Let's Encrypt kaputt?

Ich weiß es nicht genau, denn ich kenne mich damit nicht so gut aus. Entweder funktionierte das Erneuern des Zertifikats nicht oder es wurde nicht angestoßen. Auf jeden Fall war es abgelaufen. Ich habe dann "manuell" ein neues besorgt, seitdem geht es wieder.

> Ich betreibe schon seit etlichen Jahren
> eine ganze Reihe von Servern mit aktuell etwas über 40 Domains und
> betreue auch diverse Installationen beruflich. Let's Encrypt ist da noch
> nie einfach "kaputt gegangen".

Dann sind 40 Domains vielleicht einfach zu wenig und Du hast nur Glück gehabt. Bzw. kennst Du Dich mit dem LetsEncrypt vielleicht auch so gut aus, dass Du immer weißt, warum etwas nicht funktioniert.

Ich betreibe auch eine Reihe von Servern mit einer Reihe von Domains und da funktioniert das ganz gut, denn mein ACME-Client ist ein bisschen "handgetrickt" und ich habe einen eigenen ACME-Server, der die http challenge fulfillt, sowie eigene DNS-Server, die das für die DNS-Challenges machen. Logs gehen da in eine DB und werden mir im Dashboard angezeigt, so dass ich im Falle eines Fehlers (Monitoring zeit Zertifikat, das in weniger als X Tagen abläuft) exakt nachvollziehen kann wo das Problem liegt. In der Regel hat das dann mit Alias-Domains zu tun, welche nur per 301 auf die Website weiterleiten, das aber auch per https tun sollen. Die haben mit der "Haupt-Domain" zusammen ein Zertifikat, damit unter http2 das Channel Coalescing funktioniert und nach dem Redirect kein TCP Verbindungsaufbau mehr gemacht werden muss. Solche Alias-Domains werden von Kunden oft mitten im Umzug vergessen und wenn das Konfigurations-Management sagt dass Zertifikat für die Domain gemacht werden soll, die Domain aber noch gar nicht zu uns umgezogen wurde, dann hängt das ab und zu. Das ist nicht schön, aber Routine und ich kenne mich damit aus.

Kompliziert wird es, wenn ich ein "Standard-LetsEncrypt-Client" in einem snap-Paket habe, denn damit kenne ich mich nicht aus. Das geht dann nicht aus einem bestimmten Grund kaputt, sondern "einfach nur so" (sprich: keine Ahnung warum).

> Mir scheint eher, es fehlt einfach an Erfahrung, wie man einen Server
> generell so einrichtet, dass er stabil läuft.

Och, ich fühle mich eigentlich nicht unerfahren. Ich mache das jetzt seit über 20 Jahren, seit 10 Jahren "Vollzeit", habe hier irgendwas zwischen 50 und 100 Server und grob 1000 Domains. Und weil ich von dem, was ich hauptberuflich mache (WP auf Nginx) so viel Ahnung habe kommt mir vielleicht nur die Ahnung von Nextcloud im Vergleich so wenig vor.

> Ja, dann ist eine gemietete Nextcloud-Instanz sicher hilfreicher.

Sage ich doch. Spezialisten ran lassen. Ich kann das auch nicht sehen, wie Leute, die das nicht X mal am Tag machen, Wordpress installieren. Da schlage ich die Hände über dem Kopf zusammen.

Grüße, Matthias

Arno Welzel

unread,
Sep 18, 2020, 3:06:30 PM9/18/20
to
Matthias P. Würfl:

> Arno Welzel schrieb am Donnerstag, 17. September 2020 um 15:49:07
> UTC:
[...]
>> Ich betreibe schon seit etlichen Jahren eine ganze Reihe von
>> Servern mit aktuell etwas über 40 Domains und betreue auch diverse
>> Installationen beruflich. Let's Encrypt ist da noch nie einfach
>> "kaputt gegangen".
>
> Dann sind 40 Domains vielleicht einfach zu wenig und Du hast nur
> Glück gehabt. Bzw. kennst Du Dich mit dem LetsEncrypt vielleicht auch
> so gut aus, dass Du immer weißt, warum etwas nicht funktioniert.
>
> Ich betreibe auch eine Reihe von Servern mit einer Reihe von Domains
> und da funktioniert das ganz gut, denn mein ACME-Client ist ein
> bisschen "handgetrickt" und ich habe einen eigenen ACME-Server, der
[...]

Ja, das wird wohl das Problem sein. Schuld ist dann wohl eher dein
"handgestrickter" ACME-Client und nicht Let's Encrypt.

Wieso ist das dann für Dich akzeptabel, aber ein Webserver, der
vorrübergehend Schreibrechte für Installation oder Updates bekommt, nicht?

[...]
>> Mir scheint eher, es fehlt einfach an Erfahrung, wie man einen
>> Server generell so einrichtet, dass er stabil läuft.
>
> Och, ich fühle mich eigentlich nicht unerfahren. Ich mache das jetzt
> seit über 20 Jahren, seit 10 Jahren "Vollzeit", habe hier irgendwas
> zwischen 50 und 100 Server und grob 1000 Domains. Und weil ich von
> dem, was ich hauptberuflich mache (WP auf Nginx) so viel Ahnung habe
> kommt mir vielleicht nur die Ahnung von Nextcloud im Vergleich so
> wenig vor.

Dann wundert es mich aber um so mehr, wieso Du gerade für so wichtige
Aspekte wie Let's Encrypt selbstgebastelte Lösungen verwendest und nicht
einen offiziellen Client.

Sigbert Helle

unread,
Sep 23, 2020, 3:05:53 PM9/23/20
to
Hallo Leute,
danke für eure Vorschläge.
Ich hab jetzt mit einer htaccess-Datei gearbeitet.
Besondere Sicherheitsanforderungen sind da nicht. Es geht nur drum, dass
die VG Wort mir nicht was anhaben kann.
Aber ich hab da jetzt das nächste Problem - s. meinen nächsten Post.

Gruß

Sigbert

Reply all
Reply to author
Forward
0 new messages