Hackerboard WikiHaboBlog

[HaBo]

 
(In)security allgemein Sicherheit, Anonymität im Netz. Schutz und Maßnahmen. Prävention und Konzepte. Sicherheitsarchitekturen allgemein und auf der Netzwerkebene.

Tutorial: .htaccess und .htpasswd

Diskussion: Tutorial: .htaccess und .htpasswd im Forum (In)security allgemein, in der Kategorie Security Area; Hallo Habo, ich habe mich neulich nach einem Tutorial für .htaccess usw. umgeschaut, und hier im Board gab es dazu ...

Antwort
Alt 06.03.09, 15:32   #1 (permalink)
 
Registriert seit: 26.12.08
Athelstan Leistung: Facit NTK
Athelstan eine Nachricht über ICQ schicken
Likes: 0
Standard Tutorial: .htaccess und .htpasswd


Hallo Habo,

ich habe mich neulich nach einem Tutorial für .htaccess usw. umgeschaut, und hier im Board gab es dazu anscheinend noch nichts genaueres. Da es aber für viele andere wahrscheinlich auch eine der ersten Anlaufstellen ist, will ich hier mal ein Tutorial dazu veröffentlichen, wie man in Grundzügen Sicherheit von Daten auf Webservern realisieren kann.

Um Daten vor Fremdbenutzern zu schützen braucht man zwei Dateien:
1) .htaccess
2) .htpasswd
Die erste der beiden beinhaltet generelle Einstellungen, den Pfad zur .htpasswd-Datei und eventuelle Optionen. Die zweite beinhaltet alle Usernames, die auf das Verzeichnis zugreifen dürfen, und in verschlüsselter Form deren Passwörter. Eine .htaccess-Datei könnte so aussehen:

Code:
AuthUserFile ./.htpasswd
AuthGroupFile /dev/null
AuthName "Zugriff auf Daten"
AuthType Basic
<Limit GET>
require valid-user
</Limit>
ErrorDocument 401 Error 401
ErrorDocument 403 Error 403
ErrorDocument 404 Error 404
ErrorDocument 500 Error 500
Die erste Zeile beschreibt die Lage der Datei .htpasswd, die gleich noch benötigt wird. Hier ist sie einfach im selben Verzeichnis. Die zweite Zeile beschreibt die Lage der Datei .htusers, die die erlaubten Gruppen beinhaltet. Das werde ich in diesem Tutorial aber nicht ansprechen, deswegen nehmen wir mal /dev/null . Die dritte Zeile ist nichts weiter als die Ausgabe, die im späteren Loginfenster über den Formulareingaben steht. Zeile vier beschreibt den Typ der Authentifizierung, in diesem Fall, da es ja nur grundlegend sein soll, "Basic". In den nächsten 3 Zeilen steht, was benötigt wird, um Daten einsehen zu können. Hier wird ein User, der in der .htpasswd steht, und sein korrektes Passwort verlangt. Danach kommen die Definitionen für Errorpages. Wenn ich mich also auf einem Webserver mit dieser .htaccess-Datei per Browser einloggen würde und eine Seite aufrufen würde, die es nicht gibt, stände da "Error 404". Stattdessen kann man auch etwas schöneres nehmen, zum Beispiel "Diese Seite gibt es nicht." oder "Heute sind deine Lottozahlen 4,0,4.". Das ist dann der Kreativität des Benutzers überlassen.
Kommen wir zur .htpasswd-Datei. Die ist ganz simpel und könnte beispielsweise so aussehen:
Code:
Athelstan:RLjXiyxx56D9s
Mama:RLMzFazUFPVRE
Papa:RL8wKTlBoVLKk
Jede Zeile für einen Benutzer und sein verschlüsseltes Passwort.

Diese zwei Dateien müsst ihr einfach in das Verzeichnis kopieren, das geschützt werden soll. Dann kann nur jemand, der Username und Passwort kennt, per Browser auf das Verzeichnis zugreifen.

mfg,

Athelstan

//edit: Hier gibt es ein Tool zum erstellen einer .htaccess- bzw, .htpasswd-Datei: Link
Athelstan ist offline   Mit Zitat antworten
Alt 06.03.09, 16:03   #2 (permalink)
 
Registriert seit: 22.10.07
AmShaegar Leistung: Facit NTK
Likes: 0
Standard

Spitze, ist alles drin, was man für den Anfang braucht. Weitere Infos kann man ja erfragen oder im Internet suchen. Eine Anmerkung aber noch:
Ändert den Pfad zur .htpasswd nicht dahingehend ab, dass ihr die nachher in einem ungeschützten ordner liegen habt. Das wär fatal. ein Angreifer könnte diese einfach direkt runterladen und hätte so die Benutzernamen und verschlüsselten Passwörter. Am besten liegt die .htpasswd in dem zu schützenden Ordner.

MfG AmShaegar
AmShaegar ist offline   Mit Zitat antworten
   
HaBOT
 

Werbung ist gerade online    
Alt 06.03.09, 16:30   #3 (permalink)
 
Benutzerbild von rami
 
Registriert seit: 09.02.08
rami Leistung: Facit NTK
rami eine Nachricht über ICQ schicken rami eine Nachricht über Skype™ schicken
Likes: 0
Standard

Zitat:
Original von AmShaegar
Ändert den Pfad zur .htpasswd nicht dahingehend ab, dass ihr die nachher in einem ungeschützten ordner liegen habt. Das wär fatal. ein Angreifer könnte diese einfach direkt runterladen und hätte so die Benutzernamen und verschlüsselten Passwörter. Am besten liegt die .htpasswd in dem zu schützenden Ordner.
Unsinn. In den Apache-Standardeinstellungen wird für alle Dateien, die mit ".ht*" beginnen ein "Deny from all" gesetzt... Solange der Ordner nicht über öffentlichen FTP erreichbar ist, muss man sich da keine Sorgen machen.
__________________
rami ist offline   Mit Zitat antworten
Alt 06.03.09, 16:40   #4 (permalink)
 
Registriert seit: 22.10.07
AmShaegar Leistung: Facit NTK
Likes: 0
Standard

Umso besser Dann hatte ich da wohl was falsch verstanden. Aber es ist möglich, die Datei über ein "fehlerhaftes" Script einzubinden:
http://terraemotus.de/passwd.php?page=.htpasswd
Code:
<?php
include($_GET['page']);
?>
Aber das ist nicht das Thema. Entschuldige für die falschen Infos.
AmShaegar ist offline   Mit Zitat antworten
Alt 06.03.09, 18:34   #5 (permalink)
Senior Member
 
Registriert seit: 27.06.04
Cyberm@ster Leistung: Facit NTK
Likes: 0
Standard

Zitat:
Original von AmShaegar
Code:
<?php
include($_GET['page']);
?>
Wer so einen Code verwendet ist selbst schuld.

Zum Thema: Dein Tutorial ist ein guter Einstieg, du könntest aber noch hinzufügen wie man ein verschlüsseltes Passwort erstellt.
Cyberm@ster ist offline   Mit Zitat antworten
Alt 06.03.09, 18:55   #6 (permalink)
Themenstarter
 
Registriert seit: 26.12.08
Athelstan Leistung: Facit NTK
Athelstan eine Nachricht über ICQ schicken
Likes: 0
Standard

Hi,

danke für die Idee. Das ganze kann man sich auch ganz einfach machen und diesen htaccess-Generator benutzen: Link

Verschlüsselt auch Passwörter

mfg,

Athelstan
Athelstan ist offline   Mit Zitat antworten
Alt 06.03.09, 19:07   #7 (permalink)
Moderator
 
Benutzerbild von xeno
 
Registriert seit: 09.09.04
xeno Leistung: 8086xeno Leistung: 8086
xeno eine Nachricht über ICQ schicken
Likes: 65
Standard

unter linux mit dem tool 'htpasswd' aus den apache2-utils:

Zitat:
htpasswd -c .htpasswd username
-c legt die datei an, muss also bei der zweiten anwendung nicht mehr angegeben werden.
xeno ist offline   Mit Zitat antworten
Alt 06.03.09, 19:56   #8 (permalink)
Moderator
 
Benutzerbild von bitmuncher
 
Registriert seit: 30.09.06
bitmuncher Leistung: Opteronbitmuncher Leistung: Opteronbitmuncher Leistung: Opteronbitmuncher Leistung: Opteronbitmuncher Leistung: Opteronbitmuncher Leistung: Opteron
Likes: 371
Standard

Die .htpasswd im Webhome. *schauder*

Nachtrag: Und evtl. sollte man noch erwähnen, dass die .htaccess nicht auf jedem Webserver ausgewertet wird und dass für das Verzeichnis entsprechende AllowOverwrite-Optionen gesetzt sein müssen, damit die Passwort-Authentifizierung auch funktioniert.
__________________
Mein Blog - Mein Job - Diaspora

Der Ring uns zu knechten besteht aus 12 Sternen auf blauem Grund.

Neue Beiträge im Habo via Twitter - Das HaBo auf FB - Das HaBo bei G+
bitmuncher ist offline   Mit Zitat antworten
Alt 06.03.09, 22:20   #9 (permalink)
 
Benutzerbild von overflow
 
Registriert seit: 17.01.04
overflow Leistung: Z3
overflow eine Nachricht über ICQ schicken overflow eine Nachricht über MSN schicken
Likes: 14
Standard

Hi,

ich habe auch mal ein Tutorial dazu geschrieben.
Vielleicht gibt es einiges was du hinzufügen könntest.

Zitat:
<Directory "/var/www/domain/phpmyadmin">
AuthType Basic
AuthName "Privat"
AuthUserFile /etc/apache2/htpasswd/pmapasswd
Require valid-user
</Directory>

Dieses Script muss in eure Virtualhostscripts rein.
Diese befinden sich Standartmässig im /etc/apache2/sites-available/

Achtung: Passwortdatei muss erstellt werden. Mit folgendem Kommando erreicht man dies:
htpasswd -c /etc/apache2/htpasswd/pmapasswd username
/* Der Username entspricht euren Wunschloginname und das Verzeichnis htpasswd muss vorhanden sein */

Ihr werdet nun nach einem Passwort gefragt. Nach erfolgreicher Eingabe wird es
verschlüsselt in der Datei .pmapasswd angelegt.

Erklärung:
- http://www.eure-domain.de/phpmyadmin wird durch htaccess geschützt.
- Titel, welches im Browser angezeigt wird lautet "Privat"
- Die Passwortdatei htpasswd befindet sich im /etc/apache2/htpasswd/ und lautet pmapasswd

In dieser Datei ist der username:password(verschlüsselt).

Beispiel:
- ihr wollt www.eure-domain.de/forum/acp/ durch htaccess schützen
- Titel soll "Nur für Administratoren" lauten
- htpasswd-datei soll acppw lauten
- Username: admin
- Passwort: 12345

<Directory "/var/www/forum/acp">
AuthType Basic
AuthName "Nur für Administratoren"
AuthUserFile /etc/apache2/htpasswd/acppw
Require valid-user
</Directory>

htpasswd -c /etc/apache2/htpasswd/acppw admin
Passworteingabe: 12345

Bei Fragen und Anregungen könnt ihr euch gerne an mich wenden.
overflow ist offline   Mit Zitat antworten
Alt 06.03.09, 22:34   #10 (permalink)
Moderator
 
Benutzerbild von bitmuncher
 
Registriert seit: 30.09.06
bitmuncher Leistung: Opteronbitmuncher Leistung: Opteronbitmuncher Leistung: Opteronbitmuncher Leistung: Opteronbitmuncher Leistung: Opteronbitmuncher Leistung: Opteron
Likes: 371
Standard

Ein paar Anregungen:

Zitat:
Original von overflow
Dieses Script muss in eure Virtualhostscripts rein.
Diese befinden sich Standartmässig im /etc/apache2/sites-available/
Wer einmal Apache aus dem Source installiert hat weiss, dass es standardmässig keine extra Datei für die VirtualHosts gibt, sondern lediglich eine httpd.conf im conf-Ordner des Installationsordners. Dieser "Standard" existiert nur auf einigen Distros wie SuSE und Debian (sowie deren Abkömmlingen).

Zitat:
Original von overflow
Achtung: Passwortdatei muss erstellt werden. Mit folgendem Kommando erreicht man dies:
htpasswd -c /etc/apache2/htpasswd/pmapasswd username
Man sollte erwähnen, dass dieses Tool auf einigen Distros auch htpasswd2 heissen kann.
__________________
Mein Blog - Mein Job - Diaspora

Der Ring uns zu knechten besteht aus 12 Sternen auf blauem Grund.

Neue Beiträge im Habo via Twitter - Das HaBo auf FB - Das HaBo bei G+
bitmuncher ist offline   Mit Zitat antworten
Alt 06.03.09, 23:17   #11 (permalink)
 
Benutzerbild von overflow
 
Registriert seit: 17.01.04
overflow Leistung: Z3
overflow eine Nachricht über ICQ schicken overflow eine Nachricht über MSN schicken
Likes: 14
Standard

Ja da hast du recht.
Benutze als Server Debian
overflow ist offline   Mit Zitat antworten
Alt 01.12.10, 20:41   #12 (permalink)
 
Registriert seit: 01.12.10
Mammutz Leistung: Facit NTK
Likes: 0
Standard .htaccess funktioniert nicht

Hallo zusammen,

als Neuling gebe ich meinen Einstand hier in diesem Thread.

Mein Problem: Ich habe die Anweisungen in diesem Toturial soweit befolgt.
Ich habe einen Ordner angelegt, der sich "kunden" nennt. Anschließend habe ich die beiden Dateien hinzugefügt und weitere Unterordner angelegt, die sich dann "kd0001", "kd0002" usw. nennen. Wenn ich jetzt aber auf einen dieser Ordner zugreifen will funktioniert das nicht, ich bekomme immer den Fehler 500.

Wo habe ich mich im Eventualfall nicht genau an das Toturial gehalten?

MfG, Florian
Mammutz ist offline   Mit Zitat antworten
Alt 01.12.10, 20:46   #13 (permalink)
 
Registriert seit: 20.01.03
Zwirni Leistung: Z3
Likes: 0
Standard

Das können wir dir schwer sagen, wenn Du nicht den von dir verwendeten Code zeigst. Allerdings ist es mitunter hilfreich ins error-log des Webservers zu schauen um die Ursache heraus zu bekommen.
Zwirni ist offline   Mit Zitat antworten
Antwort
   

Werbung ist gerade online    

[HaBo] » Security Area » (In)security allgemein » Tutorial: .htaccess und .htpasswd
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
.htaccess realpfad DaYwAlKeRII (In)security allgemein 9 14.06.04 17:49
.htaccess spy (Web-) Design und webbasierte Sprachen 5 06.03.04 17:56
Wirklich gutes Tutorial zu htaccess für Anfänger Chris Internet Allgemein 0 07.08.03 18:46
.htaccess steffen (Web-) Design und webbasierte Sprachen 2 13.04.03 22:56
Help: HTACCESS ?!?! Indi (Web-) Design und webbasierte Sprachen 6 19.10.01 15:19


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61