Sicherheit oder bessere Benutzbarkeit?

Mitglied: StefanKittel

StefanKittel (Level 5) - Jetzt verbinden

03.12.2020, aktualisiert 08:03 Uhr, 1018 Aufrufe, 19 Kommentare, 3 Danke

Hallo,

ich habe eine Webanwendung programmiert und sehe mich nun mit einer Frage zur Benutzbarkeit konfrontiert.

Bei der Anmeldung gibt es die 3 Felder Benutzername, Kennwort und 2FA-Code.
Der 2FA-Code ist nur für die Benutzer relevant die dies aktiviert haben. Das sind ca. 50% der Anwender.

Ich prüfe alle 3 Felder gleichzeitig.
Wenn eines der 3 Felder nicht passt gibt es eine Fehlermeldung aus der man nicht schließen kann was falsch ist.
Denn sonst könnte ein Angreifer zumindest prüfen ob Benutzername und Kennwort korrekt sind.
(Es gibt auch einen Brute-Force-Schutz mit IP- und User-Blocking)


Nun haben doch relativ viele Kunden angemerkt, dass diese Anmeldung "doof" sein.
Die ohne 2FA meckern, dass sie nicht wüssten warum das Feld überhaupt da sei, da sie ja 2FA nicht aktiviert hätten.
Es soll doch bitte gar nicht sichtbar sein. (Genau wie der Hinweis nach der Anmeldung dass 2FA die Sicherheit erhöhen kann).

Die mit 2FA meckern, dass sie bei einer Fehleingabe nicht wüssten ob es am Kennwort oder 2FA-Code liegt.


Die Alternative 1 wäre die 2FA-Abfrage auf eine 2. Seite zu verlagern die nur angezeigt wird wenn man dies auch aktiviert hat.
Ist Sicherheitstechnisch eigentlich nicht gut, denn so kann ein Angreifer das Kennwort überprüfen. Wenn auch nicht anmelden.
Viele Webseiten handhaben das so. Selbst meine Bank macht das so.

Die Alternative 2 wäre die Fehlermeldung zu ändern, so dass dort steht ob der 2FA Code falsch ist oder fehlt.
Hat Sicherheitstechnisch den gleichen Nachteil.


Wie seht Ihr das?

Stefan
Mitglied: Lochkartenstanzer
LÖSUNG 03.12.2020 um 08:13 Uhr
Zitat von StefanKittel:

Wie seht Ihr das?



Ich würde das davon abhängig machen, welches Sicherheitsbedürfnis für die Anwendung und deren Daten notwendig oder gefordert ist.


Werden die Credentials noch woanders genutzt oder nur singulär für diese Anwendung?

lks
Bitte warten ..
Mitglied: emeriks
LÖSUNG 03.12.2020 um 08:21 Uhr
Hi,
einfach "absitzen".
Wenn Deine Anwendung gut genug ist, die Leute diese haben wollen, dann werden sie das mit der Anmeldung irgendwann akzeptieren.

Eine dritte Alternative hätte ich noch:
  1. Anmeldung mit Benutzername und Passwort
  2. Benutzer, welche 2FA aktiviert haben, bekommen eine Mail oder SMS mit einem Sicherheitscode. Diesen müssen sie dann innerhalb einer festgelegten Zeitspanne eingeben.
  3. Benutzer ohne 2FA kommen dann "schön bequem" ohne dies weiter.

E.
Bitte warten ..
Mitglied: sabines
LÖSUNG 03.12.2020 um 08:23 Uhr
Moin,

die meisten Anwendungen machen das nach der Alternative 1 (gefühlt jedenfalls), die Alternative 2 ist, wie Du schon selbst sagst, nicht sinnvoll, weil dann der unerlaubte User schon mal erkennen kann wie "weit" er gekommen ist.

Gruss
Bitte warten ..
Mitglied: StefanKittel
03.12.2020 um 08:31 Uhr
Zitat von Lochkartenstanzer:
Werden die Credentials noch woanders genutzt oder nur singulär für diese Anwendung?
Da habe ich keinen Einfluss drauf.
Die Nutzer haben einen Hinweis bei der Einrichtung erhalten ein gesondertes Kennwort zu verwenden.
A) Ob das Jemand macht bezweifel ich. Kann ich aber nicht prüfen.
B) Regelmäßige Kennwortänderungen haben die, die ich befragt habe, strikt abgelehnt.
C) Die zwangsweise Einführung von 2FA haben die, die ich befragt habe, strikt abgelehnt.

Stefan
Bitte warten ..
Mitglied: StefanKittel
03.12.2020 um 08:33 Uhr
Zitat von sabines:
die meisten Anwendungen machen das nach der Alternative 1 (gefühlt jedenfalls), die Alternative 2 ist, wie Du schon selbst sagst, nicht sinnvoll, weil dann der unerlaubte User schon mal erkennen kann wie "weit" er gekommen ist.
Aber bei Alternative ist doch das gleiche Problem. Wenn ich auf die 2. Seite komme weiß ich, dass Benutzername und Kennwort korrekt sind.

Hinweis: Wenn Benutzername und Kennwort nicht korrekt sind, erscheint nur die typische Meldung.

Stefan
Bitte warten ..
Mitglied: certifiedit.net
LÖSUNG 03.12.2020 um 08:49 Uhr
Moin Stefan,

Wie schon angemerkt. Es kommt auf die Webanwendung an. Um was geht es? Ansonsten, schlechte Fehlermeldungen sind schlechte Fehlermeldungen. Ganz generell kannst du hinzufügen, wenn sie 2fa aktiviert haben, geben sie bitte den Code ein.

Grüßt
Bitte warten ..
Mitglied: Lochkartenstanzer
LÖSUNG 03.12.2020 um 08:50 Uhr
Zitat von StefanKittel:

Zitat von sabines:
die meisten Anwendungen machen das nach der Alternative 1 (gefühlt jedenfalls), die Alternative 2 ist, wie Du schon selbst sagst, nicht sinnvoll, weil dann der unerlaubte User schon mal erkennen kann wie "weit" er gekommen ist.
Aber bei Alternative ist doch das gleiche Problem. Wenn ich auf die 2. Seite komme weiß ich, dass Benutzername und Kennwort korrekt sind.

Hinweis: Wenn Benutzername und Kennwort nicht korrekt sind, erscheint nur die typische Meldung.


Mach es doch so, daß Du Variante 1 nimmst und bei denen die ein falsches Paßwort eingeben, auf jeden Fall noch eine 2FA-Abfrage hinterherkommt und erst dann die Fehlermeldung.

Dann weiß der Angreifer nicht, ob 2FA aktiviert ist und es daran liegt oder am Paßwort.

Der User sollte dann wissen, daß er ein falsches pwd eingegeben hat.

lks
Bitte warten ..
Mitglied: Xolger
LÖSUNG 03.12.2020 um 08:54 Uhr
Moin,

3. Alternative:

das 2FA Feld "ausgrauen" und nach dem Benutzernamen prüfen, ob dieser 2FA nutzt.
Wenn ja, dann sichtbar und beschreibbar.
Wenn nein, dann bleibt es grau.

Hätte für einen Angreifer "nur" den Vorteil, das er weiß ob ein User 2FA nutzt oder nicht.

Die Prüfung, ob Kennwort oder 2FA falsch eingeben wurden, würde ich nicht abfangen.
Konzentration ist alles ;-) face-wink

Gruß
Xolger
Bitte warten ..
Mitglied: ottinho
LÖSUNG 03.12.2020 um 09:11 Uhr
Moin zusammen,

oder Variante 4: nur ein Passwortfeld. Allerdings müssen die 2FA Benutzer den Token direkt hinter dem Passwort mit in das Feld eintragen. Quasi "TollesPasswort123456".

So läuft das zumindest bei Sophos mit OpenVPN und 2FA...

Den Hinweis, dass 2FA sicherer ist würde ich beibehalten. Wenn sie das nervt, können sie es ja aktivieren ;)

Viele Grüße
Hendrik
Bitte warten ..
Mitglied: chgorges
LÖSUNG 03.12.2020 um 09:21 Uhr
Moin,
ich versteh die Diskussion nicht, weil 2FA kein Funfact ist.
Für mich alternativlos: Alle Benutzer müssen 2FA machen. Fertig.

VG
Bitte warten ..
Mitglied: certifiedit.net
LÖSUNG 03.12.2020 um 09:55 Uhr
Zitat von chgorges:

Moin,
ich versteh die Diskussion nicht, weil 2FA kein Funfact ist.
Für mich alternativlos: Alle Benutzer müssen 2FA machen. Fertig.

VG

Moin,

1. nichts ist alternativlos
2. Wenn es dem Benutzer zu kompliziert ist, schaltet er es ab.
3. Wenn du dem Benutzer eine unnötig negative Option gibst, wird er Sie nicht oder nur mangelhaft nutzen.

Am Ende läuft es darauf hinaus: Welche weiteren Optionen gibt es zur Absicherung? Welche Kreise betrifft es, was für ein Dienst ist es.

Soweit, so gut, es muss eben Anforderungssensitiv sein. Eine Ablage für sensible Internas verlangt andere Sicherheit als ein privater Smalltalk-Chatdienst.
Bitte warten ..
Mitglied: Lochkartenstanzer
LÖSUNG 03.12.2020 um 10:09 Uhr
Zitat von chgorges:

ich versteh die Diskussion nicht, weil 2FA kein Funfact ist.
Für mich alternativlos: Alle Benutzer müssen 2FA machen. Fertig.

Das kannst Du dort machen, wo die "Kundenbindung" nicht von der Kundenzufriedenheit abhängt, d.h. z.B. Du bist der Chef in einem betrieb udn alle User(=Angestellten) müssen mitziehen.

Wenn Kunden das System für zu umständlich halten und nicht mögen, wandern diese ab und werden dann ehmalige Kunden. Von daher muß die "Sicherheit" oft ein Kompromiß zwischen Erfordernissen und Bequemlichkeit sein.

Beispiele:

Wenn Du in einer Diskothek verlangst, daß die mal kurz zum Rauchen rausgehen sich jedesmal mit Ausweis und Eintrittskarte ausweisen statt nur mit dem Stempel auf der Hand, wirst Du deutlich weniger Kunden haben.

Bei dem Zutritt zu einer Waffenkammer sollte man hingegen nicht zu lasch sein und da außer Ausweis und Tagesparole vielleicht auch biometrische Daten abprüfen.

Solche Diskussionen sind immer dann notwendig, wenn die User genug "Marktmacht" haben, um Dich zu übergehen.

Abgesehen davon halte ich gut implementierte Paßwortverfahren für 0815-Zugänge als völlig ausreichend, sofern die User wohlerzogen sind. 2FA braucht man nur, wenn die User zu sorglos sind oder das zu schützende Gut wertvoll genug ist.

lks
Bitte warten ..
Mitglied: Lochkartenstanzer
LÖSUNG 03.12.2020 um 10:11 Uhr
Zitat von ottinho:

Moin zusammen,

oder Variante 4: nur ein Passwortfeld. Allerdings müssen die 2FA Benutzer den Token direkt hinter dem Passwort mit in das Feld eintragen. Quasi "TollesPasswort123456".

Ich würde da noch ein Trennzeichen (@, #, / o.ö. mit reinpacken), damit der User das korrekt hinbekommt. Dem Parser dürfte es egal sein.

lks
Bitte warten ..
Mitglied: Daemmerung
LÖSUNG 03.12.2020 um 12:45 Uhr
Moin,

ich würde zur Benutzerfreundlichkeit tendieren, jedoch mit dem ein oder anderen Sicherheitsmechanismus:
- erste Seite nur zwei Felder: Benutzername und Passwort
- zur ersten Seite noch eine Captcha-Abfrage (vorzugsweise die von Google)
- Weitere Sicherheitsvorkehrungen: Schwieriges Passwort, min 8 Zeichen, Sonderzeichen, Großbuchstaben, Zahlen
- Wenn 2-Faktor-Auth aktiv ist, dann auf der nächsten Seite den Code abfragen, ansonsten Anmeldung durchführen.

Im Backend fängst du Mehrfacheingaben bzw. Mehrfachversuche ab. Bei jeder Fehleingabe erhöht sich ein Timer, bis zum nächsten Versuch, bis hin zum permanenten Ausschluss. Dass ein Angreifer das Passwort errät, ist dann eigentlich bei null, es sei denn, der Angreifer kennt das Passwort. Damit hat der Nutzer aber auch anderswo ein Problem. Außerdem kommt der Angreifer dann immer noch nicht rein, da der Code noch benötigt wird. Am Ende ist es doch eher unwahrscheinlich, dass da ein Schaden entstehen könnte. Du willst dich also für einen Fall absichern, der so nie eintritt, und wenn, dann wird es damit keinen Schaden geben können.
Bitte warten ..
Mitglied: ichbindernikolaus
LÖSUNG 03.12.2020 um 14:36 Uhr
Meiner Meinung nach die beste Idee.
Fand/finde das bei Sophos VPN zB wirklich gut gelöst.
Hab allerdings von Programmierung keine Ahnung und weiß nicht ob sowas schwierig umzusetzen ist. Ist nur auffällig dass das sonst scheinbar niemand auf diese Art und Weise umsetzt.

Und bitte nix mit Mail oder SMS schicken... alles was sich nicht über einen (QR-)Code in einer Software einbinden lässt, ist meiner Meinung nach einfach nur lästig.
Bitte warten ..
Mitglied: rzlbrnft
LÖSUNG 03.12.2020, aktualisiert um 15:50 Uhr
Zitat von StefanKittel:
Die Alternative 1 wäre die 2FA-Abfrage auf eine 2. Seite zu verlagern die nur angezeigt wird wenn man dies auch aktiviert hat.
Ist Sicherheitstechnisch eigentlich nicht gut, denn so kann ein Angreifer das Kennwort überprüfen. Wenn auch nicht anmelden.
Viele Webseiten handhaben das so. Selbst meine Bank macht das so.
Wie seht Ihr das?

Ich würd das so machen wie Microsoft und fast jeder andere Cloud Anbieter, mehrere 2FA Optionen anbieten, da sollte eine Authenticator App und z.B. SMS oder Email dabei sein, das ist sehr einfach zu nutzen, und der zweite Faktor ist dann aber nur nötig, wenn ein neues Gerät sich anmeldet. Werden wir demnächst für alle Cloud Dienste so handhaben.

Heißt also du müsstest die 2FA Information auf dem Gerät das sich anmeldet als Cookie speichern, das kann ein ellenlanger Hashcode sein, der da hinterlegt ist, und von deiner 2FA Methode generiert wird.
So wird der User, wenn er immer das selbe Gerät bzw. Browser nutzt nur einmal genervt, aber Hacker auf anderen Geräten können sich nicht einfach mit Benutzername und Passwort anmelden.

Ob du das verpflichtend machst würde ich davon abhängig machen ob Daten verarbeitet werden, die unter DSGVO fallen, was aber eigentlich so gut wie immer der Fall ist.
Bitte warten ..
Mitglied: altmetaller
03.12.2020 um 18:25 Uhr
Hallo,

Zitat von StefanKittel:

Die ohne 2FA meckern, dass sie nicht wüssten warum das Feld überhaupt da sei, da sie ja 2FA nicht aktiviert hätten.

Ich würde das auch ziemlich doof finden und hätte zudem kein Vertrauen. Der zweite Faktor sollte meiner Meinung nach erst dann angestupst werden, wenn der erste Faktor erfolgreich war. Ansonsten käme man ja irgendwann auch per BruteForce durch.

Gruß,
Jörg
Bitte warten ..
Mitglied: StefanKittel
04.12.2020 um 00:11 Uhr
Hallo,

ich hatten eben angefangen zu jedem Kommentar wieder ein Kommentar zu schreiben.
Ich lasse das mal aus Zeitgründen :-) face-smile

Danke für die vielen Kommentare und Gedankenanstöße.

Ich habe mich (erstmal) für folgendes Entschieden
- Es bleiben 3 Felder für Benutzername, Kennwort und 2FA
- Wenn Benutzername und Kennwort korrekt sind aber der 2FA fehlt. erscheint ein Hinweis dass der 2FA fehlt
- Wenn Benutzername und Kennwort korrekt sind aber der 2FA falsch ist, erscheint ein Hinweis dass der 2FA falsch sei

Das reduziert die Sicherheit des Systems, aber nur geringfügig.
Denn es gibt einen Brute-Force-Schutz pro IP und pro Benutzer. Nach 5 falschen Eingaben innerhalb von 24h ist für 24h die IP oder der Benutzer gesperrt.

Es erhöht die Transparenz, da der Anwender weiß was er falsch eingegeben hat.

Zudem werde ich die Kunden anschreiben und dringend empfehlen 2FA als Vorraussetzung für ihre Mitarbeiter zu konfigurieren.

Btw. 2FA ist in diesem Fall TOTP oder Windows-Hello (Yubikey).

Viele Grüße

Stefan
Bitte warten ..
Mitglied: StefanKittel
04.12.2020 um 00:14 Uhr
Zitat von altmetaller:
Zitat von StefanKittel:
Die ohne 2FA meckern, dass sie nicht wüssten warum das Feld überhaupt da sei, da sie ja 2FA nicht aktiviert hätten.
Ich würde das auch ziemlich doof finden und hätte zudem kein Vertrauen. Der zweite Faktor sollte meiner Meinung nach erst dann angestupst werden, wenn der erste Faktor erfolgreich war. Ansonsten käme man ja irgendwann auch per BruteForce durch.

Das verstehe ich nicht.
Wenn der 2FA erst als Abfrage erscheint wenn das System Benutzername und Kennwort geprüft haben, dann ist doch eine Bestätigung für den Angreifer dass das Kennwort korrekt war. Er hat damit mehr Informationen um gegen den Anwender vorzugehen.

Stefan
Bitte warten ..
Heiß diskutierte Inhalte
Internet
Kein Internet nach Windows 2019 Server Installation
gelöst ZygmundVor 1 TagFrageInternet25 Kommentare

Computer : HP ProLiant DL580 Gen7 , 4x CPU , 16 GB ECC Ram, 1 TB SAS Installation von - Windows 8 Server - ...

Windows Server
GPO verschieben von Benutzern
gelöst AnGi1964Vor 1 TagFrageWindows Server10 Kommentare

Hallo in die Runde! Ich habe als Neuling hier gleich 2 Fragen und hoffe, das mir geholfen werden kann. 1. Ich habe bei einem ...

Firewall
Kennt jemand Forcepoint Firewalls oder setzt diese sogar ein?
ZeroTrustVor 1 TagFrageFirewall2 Kommentare

Ich wäre interessiert an User Meinungen über diese Firewall Lösungen. Kenne ich absolut nicht und habe auch noch nie davon gehört, geschweige jemals damit ...

Outlook & Mail
Outlook 2019 stürzt bei Erhalt von Besprechungsanfrage ab
gelöst PhiltaerVor 1 TagFrageOutlook & Mail17 Kommentare

Hallo, ich habe ein ganz merkwürdiges Problem. Outlook 2019 stürzt beim Erhalt von Emails die Besprechungsanfragen enthält ab. Das Programm friert ein mit "Reagiert ...

Netzwerke
Windows 10 - Netzwerk Speedlimit?
alwayshungryVor 13 StundenFrageNetzwerke11 Kommentare

Hallo, ich bin noch neu hier und hoffe, dass ihr mir helfen könnt. Gibt es eine Limitierung für Windows 10 bei der Netzwerkgeschwindigkeit? Leider ...

Router & Routing
Router Firewall gesucht
HamBamVor 1 TagFrageRouter & Routing9 Kommentare

Hallo zusammen, ich schaue mich für die Firma aktuell nach neuen Routern für unsere Außenstellen um. Aktuell haben wir da diese silbernen, bei Administratoren ...

Windows Server
Server 2019 - VM (DC) hängt sporadisch
zer0g2224Vor 1 TagFrageWindows Server13 Kommentare

Hallo liebe Kolleginnen und Kollegen, ich habe mal wieder eine Frage zu einem Problem: Eine VM (DC) bleibt im Betrieb sporadisch "hängen". Das äußert ...

Windows 10
Inaccessible boot device bei Windows 10
jensgebkenVor 21 StundenFrageWindows 1013 Kommentare

Hallo Gemeinschaft, habe Probleme bei einem Windows 10 Pro PC beim Start - blue screen mit inaccessible boot device habe folgendes probiert - automatische ...