title image


Smiley Sicherheit von Basic/Digest Authentication
Hi,



> die sicherheit eines mit .htaccess-geschützten bereich



zunächst einmal existiert kein ".htaccess-geschützter Bereich". .htaccess ist nichts weiter als eine Konfigurationsdatei. Was Du meinst ist Basic bzw. Digest Authentication, welche sich beispielsweise auch in der httpd.conf konfigurieren lässt, bzw. bei nicht-Apache-Servern ganz anders einzustellen ist.



Die sicherheitsrelevanten Punkte in Kurzform:



- Es wird (üblicherweise) ein gesamter Verzeichnisbaum geschützt, d.h. es existiert auch kein ungeschützter "Zielpunkt", über den ein Eindringen möglich wäre. Die Möglichkeiten der Konfiguration sind allerdings umfangreich; der Schutz lässt sich bei Bedarf auch auf einzelne Dateien beschränken, oder es werden Unterverzeichnisse ausgenommen etc.



- Die Passwörter werden nicht im Klartext gespeichert, sondern gecryptet, lassen sich also ausschließlich mittels Brute Force ermitteln. (Ausnahme: schlecht konfigurierte Windows-Systeme, "due to excessive paranoia" wird dort kein crypt unterstützt)



- Die Dateien, in denen die Username/crypt(Passwort)-Kombinationen gespeichert werden, lassen sich per HTTP unzugänglich konfigurieren, was zudem Brute Force erschwert.



- Der Server wird nur bei einer schwerwiegenden Fehlkonfiguration einen Zugang trotz fehlender Authentication ermöglichen. Ich kann mir spontan kein Beispiel eines solchen Fehlers vorstellen.



- Die Daten werden trotz allem im Klartext zwischen Client und Server ausgetauscht. Dies kann nur über SSL verhindert werden.



- Ein Client speichert die Username/Passwort-Kombination üblicherweise für die Dauer einer Session, d.h. im Klartext, der Browser muss beendet werden, um "zu vergessen". Ein Logout ist im Mechanismus nicht vorgesehen. Allenfalls kann der Server entscheiden, eine zuvor als gültig erkannte Kombination plötzlich abzulehnen; dies erfordert allerdings zusätzliche Programmlogik.



- Ein authentifizierter Client kann innerhalb des Bereiches so agieren, als wäre er nicht geschützt. Lediglich der Username, unter dem er sich angemeldet hat, ist dem Server bekannt und wird bei der Standardeinstellung auch mitgeloggt. Der Username lässt sich im Zweifel jedoch niemals einer Person zuordnen.



- Der Schutzmechanismus basiert zunächst ausschließlich auf der Username/Passwort-Kombination. Eine zusätzliche Beschränkung auf IP-Adresse(n) lässt sich leicht einrichten; eine auf User-Agent-String ist denkbar. Nichts davon ermöglicht jedoch eine eindeutige Personenzuordnung.



- Da HTTP verbindungslos ist, sind Bedingungen der Art "solange der Client angemeldet ist, darf sich seine IP nicht ändern" unmöglich. Der erste Teilsatz ergibt in HTTP keinen Sinn.



Fazit: Authentication ist, spätestens in Verbindung mit SSL, der sicherste existierende Schutzmechanismus, der sich ohne äußerst hohem Aufwand einrichten lässt. Die Sicherheit ist spätestens dann jedoch nicht mehr gegeben, wenn die Username/Passwort-Kombination bekannt geworden ist. Die von HTTP auferlegten Beschränkungen lassen sich keinesfalls umgehen.



Cheatah



geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: