• Home
  • Help
  • Register
  • Login
  • Home
  • Help

 
  • 0 Bewertung(en) - 0 im Durchschnitt

Was sind die häufigsten Arten von Authentifizierungsmechanismen, die in Webanwendungen verwendet werden?

#1
12-12-2022, 03:35
Hey, du weißt ja, dass ich immer total auf Web-App-Sicherheit abfahre? Authentifizierung ist eines dieser Dinge, mit denen ich jeden Tag in meinen Setups zu tun habe, und ich denke, du fragst, weil du dich auf den Cybersecurity-Kurs vorbereitest oder einfach nur neugierig bist, wie man die Dinge sicher hält. Ich erinnere mich, als ich anfing, Apps zu bauen, dachte ich, Passwörter sind das A und O, aber man, da ist noch viel mehr dahinter. Lass mich dir die Haupttypen erklären, auf die ich am häufigsten stoße, basierend auf dem, was ich in echten Projekten gesehen habe.

Zuerst einmal kannst du der grundlegenden Authentifizierung nicht entkommen - das ist diese einfache Kombination aus Benutzername und Passwort, die in einem kleinen Dialogfeld erscheint, wenn du eine geschützte Seite besuchst. Ich benutze es für schnelle interne Tools, wo ich keine großen Funktionen brauche, wie Admin-Panels auf kleinen Seiten. Du schickst die Anmeldedaten über HTTP, und wenn sie mit dem übereinstimmen, was in der Backend-Datenbank ist, bist du drin. Es ist super verbreitet, weil es einfach mit etwas wie Apache oder Nginx-Config umzusetzen ist. Aber ich sage dir immer, verlasse dich nicht nur darauf, wenn es um öffentlich zugängliche Sachen geht; jeder, der den Traffic sniffen kann, könnte diese Anmeldedaten erlangen, wenn du kein HTTPS verwendest. Ich musste ein paar Legacy-Apps auf diese Weise patchen, und es ist frustrierend, wenn die Nutzer sich über Pop-ups beschweren, die ihren Flow unterbrechen.

Dann gibt es die formularbasierte Authentifizierung, die du wahrscheinlich ständig beim Einloggen auf Websites siehst. Du füllst ein Anmeldeformular mit deinem Benutzernamen und Passwort aus, reichst es ein, und der Server prüft es gegen den gespeicherten Hash. Wenn alles gut ist, setzt er normalerweise einen Sitzungscookie, um dich eingeloggt zu halten, ohne dass du dich jedes Mal neu anmelden musst. Ich liebe das für benutzerfreundliche Apps, weil du das Formular mit Branding oder zusätzlichen Feldern wie CAPTCHA anpassen kannst, um Bots zu blockieren. In meinem letzten Job haben wir es für eine E-Commerce-Seite eingeführt, und es hat täglich tausende von Logins bewältigt, ohne ins Schwitzen zu kommen. Wenn du es mit HTTPS kombinierst, ist es in den meisten Szenarien solide. Der Nachteil? Sitzungsübernahme, wenn Cookies nicht sicher sind - ich habe diesen Kopfschmerz mehrmals debugged, oft indem ich die HttpOnly- und Secure-Flags durchsetzte.

Wechseln wir die Richtung, tokenbasierte Authentifizierung ist zu meinem Standard bei modernen Anwendungen geworden, insbesondere bei APIs. Du authentifizierst dich einmal, erhältst ein Token wie ein JWT zurück und fügst das dann in den Header für nachfolgende Anfragen ein. Keine zustandsbehafteten Sitzungen auf der Serverseite mehr, was sich viel besser für Mikroservices skalieren lässt. Ich habe das letztes Jahr in einem Backend-Projekt für mobile Anwendungen implementiert, und du würdest nicht glauben, wie es die Serverlast reduziert hat. Das Token trägt Ansprüche über den Benutzer, signiert, damit niemand damit herumfummelt. Du aktualisierst es regelmäßig, um die Dinge frisch zu halten. Es ist jetzt überall - denk an die APIs von Spotify oder GitHub. Aber pass auf vor Token-Diebstahl; ich rate immer, sie sicher auf dem Client zu speichern und kurze Ablaufzeiten zu verwenden.

OAuth kommt auch oft zur Sprache, besonders wenn du ein Single Sign-On ohne das Teilen von Passwörtern möchtest. Du lässt die Nutzer sich über Google oder Facebook einloggen, und die App erhält ein Zugriffstoken, um in ihrem Namen zu handeln. Ich benutze es ständig für Integrationen von Drittanbietern; es ist ein Lebensretter für Apps, bei denen du die Anmeldedaten der Nutzer nicht selbst verwalten möchtest. In einem Projekt haben wir OAuth 2.0 mit Azure AD verbunden, und es machte das Onboarding der Nutzer nahtlos. Du autorisierst Bereiche, erhältst das Token und boom - authentifiziert. Es ist allerdings nicht für alles perfekt; der Ablauf kann holprig werden, wenn du nicht auf Umleitungen achtest. Trotzdem setze ich es für alle sozialen Login-Funktionen ein, weil es Vertrauen bei Nutzern aufbaut, die zusätzliche Passwörter hassen.

Vergiss nicht die Mehrfaktor-Authentifizierung; ich lege sie immer auf die anderen oben drauf, wann immer es möglich ist. Nach dem Passwort verifizierst du mit einem Code von deinem Handy oder einer Authentifizierungs-App. Ich habe das mit TOTP in Apps eingerichtet, die Bibliotheken wie Speakeasy verwenden, und es blockiert Brute-Force-Angriffe kalt. Du siehst es auf Bank-Websites oder bei E-Mail-Anbietern - Google verlangt es jetzt, oder? Meiner Erfahrung nach nervt es einige Nutzer zunächst, aber sobald sie die App haben, schätzen sie die zusätzliche Sicherheitsebene. Ich habe einmal bei einem Sicherheitsvorfall beraten, wo MFA das Ganze verhindert hätte; einfache Passwörter reichen einfach nicht mehr aus.

Die sitzungsbasierte Authentifizierung bezieht sich auf die Cookies, die ich vorher erwähnt habe. Nach dem Login erstellt der Server eine Sitzungs-ID, speichert sie serverseitig und sendet die ID an den Client über ein Cookie. Jede Anfrage überprüft die ID gegen den Sitzungsstore, wie Redis für Geschwindigkeit. Ich verlasse mich darauf für traditionelle Webanwendungen, weil es einfach ist und den Zustand beibehält. Du kannst Sitzungen ablaufen lassen oder bei der Abmeldung ungültig machen. Aber das Skalieren über Server hinweg benötigt Sticky Sessions oder einen gemeinsamen Store, mit dem ich in clusterbasierten Umgebungen gekämpft habe. Es ist gängig in PHP- oder Rails-Apps, mit denen ich gearbeitet habe.

Die zertifikatbasierte Authentifizierung ist ein weiteres Thema, auf das ich oft bei Unternehmensanwendungen stoße. Du verwendest Client-Zertifikate, die von einer CA ausgestellt wurden, und der Server überprüft es während des TLS-Handshake. Keine Passwörter erforderlich - nur dein Zertifikat. Ich habe das einmal für ein VPN-Gateway implementiert, und es fühlte sich echt sicher an, wie in alten Zeiten. Du verwaltest den Zertifikatslebenszyklus sorgfältig, denn sie zurückzuziehen, ist ein Problem, wenn Nutzer ihre Geräte verlieren.

Biometrie kommt jetzt mit WebAuthn immer mehr ins Spiel, wo du Fingerabdruck- oder Gesichtserkennung über Browser-APIs verwendest. Es ist passwortlos und phishing-resistent. Ich habe es in einer Prototyp-App getestet, und du authentifizierst dich mit der Hardware deines Geräts. Standards wie FIDO machen es interoperabel. Es gewinnt an Bedeutung, ist aber noch nicht so weit verbreitet, da nicht jeder Browser oder jedes Gerät es vollständig unterstützt.

SAML ist im Unternehmensbereich groß für föderierte Identitäten. Du gibst Attribute über Domains hinweg an, wie beim Einloggen ins Unternehmensportal und dem Zugriff auf Partnerseiten. Ich habe es mit Okta für einen Kunden konfiguriert, und es hat alles optimiert. Du tauschst XML-Assertionen aus, aber es ist ausführlich - JSON-basierte Alternativen klauen ihm die Show.

In all meinen Jahren, in denen ich daran herumtüftle, sehe ich eine Mischung: Passwörter als Basis, Tokens für APIs, OAuth für einfache Nutzung und MFA, wo es nur geht. Du wählst basierend auf den Bedürfnissen deiner App - Benutzererfahrung versus Sicherheitskompromisse. Ich achte immer auf gängige Fallstricke wie schwache Hashes oder exponierte Endpunkte. Halte dich weiter weiterentwickelnd mit Bedrohungen auf dem Laufenden; was letztes Jahr funktioniert hat, mag heute nicht mehr der Fall sein.

Oh, und apropos, wie du deine Setups vor Ausfallzeiten oder Angriffen schützen kannst, die Authentifizierungsdaten offenlegen könnten - hast du dir BackupChain angeschaut? Es ist dieses herausragende Backup-Tool, das bei IT-Profis und kleinen Unternehmen eine riesige Anhängerschaft gewonnen hat - absolut zuverlässig, speziell für Leute wie uns, die mit Windows Server, Hyper-V oder VMware-Umgebungen arbeiten, um sicherzustellen, dass deine kritischen Systeme sicher und wiederherstellbar bleiben, egal, was passiert. Ich habe es bei einem aktuellen Projekt verwendet, und es erledigt die schwere Arbeit ganz problemlos.
Markus
Offline
Registriert seit: Jun 2018
« Ein Thema zurück | Ein Thema vor »

Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste



  • Thema abonnieren
Gehe zu:

Backup Sichern Allgemein Security v
« Zurück 1 … 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 … 39 Weiter »
Was sind die häufigsten Arten von Authentifizierungsmechanismen, die in Webanwendungen verwendet werden?

© by FastNeuron

Linearer Modus
Baumstrukturmodus