.htaccess Passwortgeschützte Bereiche

sameins

Cadet 2nd Year
Registriert
März 2014
Beiträge
31
Hallo, die Problematik ist denkbar einfach und ich bin trotzdem zu blöd.
Ich will einfach nur passwortgeschützte Bereiche auf meiner Website.
Habe einen Vserver mit vollem root-zugriff und wollte das ganze gerade über die .htaccess Datei realisieren, aber es funktioniert einfach nicht und ich sehe den Fehler nicht.

So sieht meine .htaccess Datei gerade aus:
Code:
AuthUserFile /var/www/html/.htpasswd
AuthName "Privat"
AuthType Basic
require valid-user

Die .htpasswd habe ich mithilfe eines .htaccess Passwort Generator erstellt.
und in der .htpasswd Datei sieht es folgendermaßen aus:
Code:
testuser:$1$jQ3TU.P9$FSdvLzdG24Jin5M2yD3sc0

Die .htpasswd Datei liegt im Verzeichnis /var/html genau wie in der .htaccess Datei auch angegeben.
Hab ich irgendwas vergessen? Außerdem bekomme ich in der Konsole immer folgende Fehlermeldung angezeigt:

Code:
[core:warn] [pid 22370] AH00111: Config variable ${APACHE_LOCK_DIR} is not defined
AH00526: Syntax error on line 74 of /etc/apache2/apache2.conf:
Invalid Mutex directory in argument file:${APACHE_LOCK_DIR}

In Zeile 74 der apache2.conf steht
Code:
Mutex file:${APACHE_LOCK_DIR} default

und in der Config steht noch folgendes:
Code:
# Sets the default security model of the Apache2 HTTPD server. It does
# not allow access to the root filesystem outside of /usr/share and /var/www.
# The former is used by web applications packaged in Debian,
# the latter may be used for local directories served by the web server. If
# your system is serving content from a sub-directory in /srv you must allow
# access here, or in any related virtual host.
<Directory />
	Options FollowSymLinks
	AllowOverride None
	Require all denied
</Directory>

<Directory /usr/share>
	AllowOverride None
	Require all granted
</Directory>

<Directory /var/www/html>
	Options Indexes FollowSymLinks
	AllowOverride 
	Require all granted
</Directory>

#<Directory /srv/>
#	Options Indexes FollowSymLinks
#	AllowOverride None
#	Require all granted
#</Directory>




# AccessFileName: The name of the file to look for in each directory
# for additional configuration directives.  See also the AllowOverride
# directive.
#
AccessFileName .htaccess

#
# The following lines prevent .htaccess and .htpasswd files from being
# viewed by Web clients.
#
<FilesMatch "^\.ht">
	Require all denied
</FilesMatch>

Ich hab mir auch ein kleines PHP-Script erstellt, welches mir Anzeigt wo das Hauptverzeichnis liegt.
Die Ausgabe lautet: /var/www/html

PHP Script:
Code:
 <?php echo $_SERVER['DOCUMENT_ROOT'];?>


Viele Grüsse und danke für eure Hilfe :)
 
Zuletzt bearbeitet:
Fang doch am besten erst mal damit an herauszufinden, was mit
AH00526: Syntax error on line 74 of /etc/apache2/apache2.conf:
ist...

Außerdem:
a) Ist es überhaupt ein Apache 2.4, oder hast du eine ältere Distribution, die noch auf 2.2 setzt? (z.B. Ubuntu 12.04, Debian 7, CentOS 6)
b) Die .htpasswd hat aus Sicherheitsgründen nichts im Document Root zu suchen, sondern sollte immer außerhalb davon liegen.
c) Bist du sicher, dass du der Verantwortung gewachsen bist, einen Server zu betreiben? Du haftest für alles, was damit passiert bzw. was Angreifer damit anstellen...
 
Ja ich bin Anfänger, doch man muss ja irgendwie mal anfangen wenn man sich dafür interessiert und auf Theorie hab ich keinen Bock, gleich in die Praxis. Außerdem was hab ich denn zu verlieren?
Ok ihr könntet mir jetzt 1000 Szenarien aufzählen was da alles passieren kann. Aber falls der Server missbraucht wird und zwar so das es Auffällt sollte da nicht der Provider einspringen?
Also es ist vllt. nicht die Pflicht von Strato gegen Missbrauch der gemieteten Anschlüsse vorzugehen, aber in ihrem Interesse ist es trotzdem und deshalb wird man auch den Anschluss sperren wenn er z.B. für eine (D)DoS - Attacke genutzt wird und selbst wenn was passiert wofür ich haftbar gemacht werden kann, ist mir egal. Doch das hat was mit meiner allgemeinen Einstellung zu tun.

Genug Off-Topic hier, das OS ist Ubuntu 14.04 LTS 64 Bit und ich hab Apache 2.4 installiert.

Wo liegt denn jetzt der Fehler genau? Beziehungsweise gibt es noch irgendwelche Informationen die wichtig wären?
Aus Google werde ich nicht so richtig schlau, denn habe mich noch nicht so viel mit Linux befasst.
Stehe quasi noch am Anfang. Der Server war auch ursprünglich gar nicht dafür gedacht sondern den hatte ich mir mit ein paar Freunden geteilt, als Gameserver für Teamspeak, Minecraft, Counter Strike und Call of Duty 4. Daher kommt es auch das ich mich kaum damit auskenne, aber trotzdem schon einen Server habe.
 
sameins schrieb:
Ja ich bin Anfänger, doch man muss ja irgendwie mal anfangen wenn man sich dafür interessiert und auf Theorie hab ich keinen Bock, gleich in die Praxis. Außerdem was hab ich denn zu verlieren?
Was du zu verlieren hast? Nun... Wie wäre es mit "eine große Menge Geld"?

Außerdem: Wie gut gefallen dir Spam-Mails? Kriegst du gern welche? Wie gut gefallen dir DDoS auf interessante Dienste (z.B. das Playstation Network)? So richtig schön ist das alles nicht, oder? Am Ende sind es aber Pseudo-Administratoren wie du, die die Schuld an dieser Angriffsschwemme tragen.
Verhalte dich also sozial und sichere deine Kisten nicht nur im Eigeninteresse ab, sondern auch im Interesse deiner Mitmenschen.

Und wenn du irgendwie anfangen willst, dann eben NICHT mit einer Maschine, die du irgendwo gemietet hast. Wenn du etwas LERNEN willst, dann verwende ne Virtuelle Maschine auf dem heimischen PC, im heimischen Netzwerk. Da kannst du verdammt viele Grundkenntnisse erlangen.

Aber falls der Server missbraucht wird und zwar so das es Auffällt sollte da nicht der Provider einspringen?
Nein, warum sollte er? Du hast die Maschine gebucht, also bist du auch für sie verantwortlich... und zwar vollständig. Ausgenommen sind hier Managed VServer, die aber entsprechend kostenintensiv sind.
Lies am besten deine Verträge noch einmal gründlich durch, vor allem den Teil mit der Haftung. Ich wette, da werden dir die Augen aufgehen...

Wo liegt denn jetzt der Fehler genau?...
...denn habe mich noch nicht so viel mit Linux befasst.
Du hast den Fehler soeben selbst erkannt.
Unwissenheit + blauäugige Herangehensweise

Was steht denn in Zeile 74 der apache2.conf? Was könnte denn da einen Syntax Error auslösen? Weißt du überhaupt, was ein Syntax Error ist?
 
sameins schrieb:
[...] und selbst wenn was passiert wofür ich haftbar gemacht werden kann, ist mir egal. Doch das hat was mit meiner allgemeinen Einstellung zu tun.

Bitte schalte deinen Server ab, und zwar so lange bis du diese Einstellung grundlegend überdacht hast! Ich nehme an, dass du dich dann auch allgemein nicht weiter um eine Absicherung deines Servers gekümmert hast? In dem Fall brauchst du das htpasswd-Problem gar nicht weiter zu lösen. Es gibt dann eh mehr als genug Einfallstore für Menschen, die sich für deine passwortgeschützten Dateien interessieren.

Um nicht nur zu nörgeln: bei HTTP Basic Auth wird das Passwort und der Benutzername quasi im Klartext übertragen und kann deshalb sehr leicht mitgeschnitten werden. Sobald du deine Fehler in der Konfiguration behoben hast solltest du das ändern. Sieh dir zumindest mal Digest Authentification an. Einen leicht verständlichen Einstieg in das Thema für Anfänger bietet zum Beispiel http://de.m.wikipedia.org/wiki/HTTP-Authentifizierung
 
Kurz und knapp: Mit der Einstellung findest du hier sicher keine Hilfe.

Ganz schön cool bist du ja mit deinen englischen Zitaten. Einen Server solltest du trotzdem nicht betreiben. Jeder darf unwissend sein und üben wollen. Wenn es mit Einsicht und Schritt für Schritt geschieht muss das für mich auch nicht unbedingt eine VM sein, auf der man anfängt. Man sollte dann aber lernen wollen und auf Kritik anderer eingehen können. Du hingegen hast deine Meinung und möchtest diese offenbar ja auch gar nicht ändern. Dann konfiguriere deinen Apache bitte auch alleine.

Edit: So scheißegal wie dir das auch sein mag, es soll nochmal gesagt sein, damit du nicht irgendwann überrascht bist: "Eine ganze Menge Geld" heißt nicht zwei Monate Taschengeld und auch nicht ein Monatsverdienst einer gut verdienenden Person. Fahrlässig konfigurierte Server können dich durchaus auf Jahre verschulden und dich in die Privatinsolvenz treiben.
 
Zuletzt bearbeitet:
sameins schrieb:
Meine Güte, seid ihr ein paar Moralapostel, sorry aber ich hab mich erklärt, weshalb ich einen Server habe und der ist halt da und wird auch noch für Teamspeak und Minecraft genutzt. Doch ich hab mir halt gedacht, dass Ding kann doch auch noch mehr. Außerdem checke ich ja die Logs regelmäßig.
Auch wenn der Server wegen etwas anderem da ist, sollte er trotzdem FACHGERECHT abgesichert werden. Kannst du das? Ganz sicher nicht.
Und was bringen dir die Logfiles? Was siehst du da? Verstehst du die Dinger auch nur im Ansatz? Ich bezweifle es. Ich verwalte beruflich selbst einige Server und weiß, wie schnell Logs wachsen.

Ein Syntax Error ist meines wissens nach ein "Satzbaufehler" in einer Sprache. Also ein Fehler im Quellcode.
Code:
Mutex file:${APACHE_LOCK_DIR} default
das steht in Zeile 74 der apache2.conf
Das weißt im Zweifel darauf hin, dass du den Server grundlegend falsch bedienst.
Wie genau startest du den Apachen? Beachtest du fleißig, dass das ein DIENST ist und entsprechend eben auch gestartet, gestoppt,... werden muss?

Ansonsten: Konfiguration komplett zurücksetzen, indem du das gesamte Apache-Paket nebst aller Anhängsel mit "apt-get purge PAKETNAME" (z.B. apt-get purge apache2) restlos bereinigst.
 
Zurück
Oben