Mieszanie hasła i wsparcie dla użytkownika

10

Niedawno przeszliśmy na lepszą strategię przechowywania haseł, która przyniosła wszystkie dobre rzeczy:

  • Hasła są przechowywane po przejściu przez bCrypt
  • Użytkownik otrzymuje link aktywacyjny podczas tworzenia konta w celu potwierdzenia własności adresu
  • Zapomniałem hasła bez pytania zabezpieczającego, link jest wysyłany na ich adres e-mail.
  • Link wygasa po 24 godzinach, kiedy to będą musieli poprosić o nowy.
  • Jeśli konto zostało utworzone przez naszych pracowników, wysyłany jest e-mail z losowym silnym hasłem. Po zalogowaniu się użytkownik musi zresetować go do czegoś, czego nie wiemy i jest to bCrypt.

Teraz jest to zgodne z „najlepszymi praktykami”, ale znacznie zwiększyło to naszą prośbę o wsparcie od zwykłych użytkowników, którzy nie rozumieją tego wszystkiego, chcą się tylko zalogować.

Często otrzymujemy zapytanie od użytkowników, którzy narzekają na:

  • Niepoprawne hasło (z tego, które muszą zresetować, często wklejają je ze spacją na końcu). Mówią nam, z czego korzystają, ale nie możemy powiedzieć im, jakie jest ich rzeczywiste hasło.
  • Mówiąc, że nie otrzymują wiadomości e-mail, którą im wysyłamy (aktywacja, reset itp.). Często tak się nie dzieje, po wielu rozwiązywaniach problemów zwykle okazało się, że popełnili literówkę w wiadomości e-mail, że nie sprawdzają właściwego konta e-mail lub że po prostu poszło do folderu ze spamem.

Oczywiście nie możemy tego wypróbować, ponieważ nie mamy hasła. Rejestrujemy nieudane próby, ale usuwamy również hasło, którego użyli, ponieważ prawdopodobnie jest to hasło używane dla innego konta i nie chcieliśmy przechowywać w zwykłym pliku dziennika. To pozostawia nam prawie nic, co może im pomóc, gdy zgłaszają problemy.

Jestem ciekawy, jak większość ludzi radzi sobie z takimi problemami?

jfrobishow
źródło
2
Poza tym, że jest trochę bardziej opisowy w wiadomościach e-mail wysyłanych przez system do użytkowników, nie widzę, co można zrobić inaczej, zachowując najlepsze praktyki. Sprawia, że ​​chcesz po prostu uderzyć głupich użytkowników.
Bernard
1
Ludzie są głupi, twoi użytkownicy, bardziej niż większość innych, nie widzę tutaj pytania?
8
Jarrod, tylko obrażasz swoich użytkowników. Ten głupi jesteś tutaj. Nie rozumiesz poziomu znajomości obsługi komputera przez użytkowników. Bez obrazy człowieka, ale piszesz oprogramowanie dla ludzi, a nie dla maniaków komputerowych. Jeśli nie widzisz pytania, prawdopodobnie oznacza to, że wszyscy eksperci od użyteczności mogliby zostać zwolnieni, ponieważ tak naprawdę nie są potrzebni. To tylko problem z „głupimi ludźmi”, więc my - sprytni programiści, po prostu banujemy ich z sieci, a problem zniknie :) Jeśli ktoś napisał system, z którego może korzystać tylko autor, nie widzisz problemu?
Sławek
2
@Slawek: nie, naprawdę, ludzie są głupi.
Bryan Boettcher
@JarrodRoberson, to prawie nie tylko jego użytkownicy - gdy masz do czynienia z publicznie dostępnymi aplikacjami internetowymi, to na ogół dostajesz. To powiedziawszy, czy ci się to podoba, czy nie , wciąż zajmuje zasoby wsparcia i jest to bardzo ważne pytanie.
GrandmasterB

Odpowiedzi:

7

Niepoprawne hasło (z tego, które muszą zresetować, często wklejają je ze spacją na końcu). Mówią nam, z czego korzystają, ale nie możemy powiedzieć im, jakie jest ich rzeczywiste hasło.

Można to naprawić, dołączając link z jednorazowym identyfikatorem GUID, który loguje je i zmusza do zresetowania hasła. Nie zmuszaj użytkownika do kopiowania-wklejania. (Dlaczego też nie usunąć białych znaków na końcu hasła w formularzu).

Mówiąc, że nie otrzymują wiadomości e-mail, którą im wysyłamy (aktywacja, reset itp.). Często tak się nie dzieje, po wielu rozwiązywaniach problemów zwykle okazało się, że popełnili literówkę w wiadomości e-mail, że nie sprawdzają właściwego konta e-mail lub że po prostu poszło do folderu ze spamem.

Upewnij się, że wychodząca wiadomość e-mail nie jest spamowana (być może skonfiguruj konta testowe w niektórych popularnych usługach pocztowych), zaloguj wszystko, co się stanie, a może zgłoś to użytkownikowi, jeśli spróbuje poprosić o nowy reset (np. Poczta do johndoee @ gmail .com nie powiodło się, użytkownik nie został znaleziony, czy poprawnie go przeliterowałeś?). Należy również wyraźnie informować użytkowników o problemach z pisownią i spamem.

Również OpenID i inne uwierzytelnienia stron trzecich są również opcją, jak powiedzieli inni.

Macke
źródło
niektórzy ludzie umieszczają spacje w swoich hasłach?
soandos 27.04.16
Niektóre osoby wycinają i wklejają automatycznie generowane hasła i zawierają spacje na początku i / lub na końcu przypadkowo. (Przeczytaj pytanie.)
Macke,
3

Powiedziałbym, że użyj metody uwierzytelniania innej firmy, takiej jak Facebook, OpenID, Google ... cokolwiek jest odpowiednie dla twoich użytkowników. Jeśli jednak użytkownicy nie pamiętają hasła, być może nie będą mogli korzystać z zewnętrznego systemu uwierzytelniania ...

W zależności od sytuacji możesz użyć innego systemu, takiego jak certyfikaty klienta SSL (zdecydowanie są one trudne do zainstalowania dla użytkowników końcowych, ale jeśli jest to firma i możesz zautomatyzować jej instalację, to świetnie), Windows SSO, aplikacja mobilna itp.

alex
źródło
Certyfikaty klienta to okropny pomysł. Są niepewne i koszmar, aby zdalnie naprawić, jeśli coś pójdzie nie tak. Openid jest jednak dobrym pomysłem
Tom Squires
W jaki sposób certyfikaty są niepewne?
Bernard
@bernard każdy, kto jest na tym komputerze, ma certyfikat. Jest również dość łatwo uzyskać. Jeden z wirusem
Tom Squires
1
Zgadzam się, że są one tak bezpieczne, jak komputer, na którym rezydują, ale to zupełnie inna sprawa.
Bernard,
3

Czy ty w ogóle musisz to robić? Pierwszą rzeczą, którą musisz to zrobić, określ, przed czym chronisz i przed kim ją chronisz. Może po prostu nie jest to warte kosztu najlepszej praktyki, a może najlepsza praktyka nawet nie powstrzyma atakującego.

Jeśli walczysz z NSA i masz coś, czego chcą, poddaj się i ułatw użytkownikom życie. Jeśli masz numery kart kredytowych, będziesz musiał pogodzić się z problemami wymaganymi przez wymagany poziom bezpieczeństwa, ponieważ są tam źli faceci, którzy ich chcą i będą wydawać pieniądze i czas, aby je zdobyć. To dostęp do rodzinnego albumu fotograficznego, czy potrzebujesz całego bezpieczeństwa.

Przeczytaj o działaniach Buce Scheiners (Sekrety i kłamstwa), które stanowią dobry początek zrozumienia bezpieczeństwa.

mattnz
źródło
3

Pierwszą rzeczą, która wyskakuje, jest to, że twoje e-maile trafiają do śmieci. Konfigurowanie wiadomości e-mail, aby była rozpoznawana jako prawdziwa, nie jest trywialna. Sugeruję, aby zastanowić się, jak zatrzymać nieprawidłowe oznaczanie wiadomości e-mail (osobne pytanie na temat SO?)

Drugą rzeczą, którą poleciłbym, jest udostępnienie użytkownikom witryny internetowej / aplikacji, która inicjuje hasło do odzyskiwania wiadomości e-mail. Odmowa zrobienia tego w jakikolwiek inny sposób niż e-mail, jest niepewny i stanowi zły precedens.

Tom Squires
źródło
Nie dlatego, że e-mail jest szczególnie bezpiecznym sposobem przesyłania poufnych informacji. Gdyby tylko zwykłym użytkownikom przeszkadzały klucze GPG i ssh ...
tdammers
@tdammers Zgadzam się, że to nie jest tak bezpieczne. Stało się to jednak podstawą twojej tożsamości online (na lepsze lub gorsze). Obecnie nie ma lepszej realnej alternatywy.
Tom Squires,
Tak jest. Zaszyfrowana wiadomość e-mail. Używam go cały czas i denerwuje mnie, że nawet wielkie korporacje nie zawracają sobie głowy oferowaniem szyfrowania klucza publicznego dla poufnych wiadomości e-mail. Nie jest nawet trudny do wdrożenia. Wydaje mi się dziwne, że istnieją przepisy (przynajmniej tutaj w Holandii), które nakładają obowiązek SSL na poufne informacje, ale jednocześnie wysyłanie tych samych informacji zwykłym SMTP jest uważane za dopuszczalne.
tdammers
@tdammers Nie wiem o tym wystarczająco dużo, aby sam to polecić. Jednak zdecydowanie warto przyjrzeć się OP
Tom Squires
2

Fakt, że są skłonni do ciebie zadzwonić i głośno powiedzieć swoje hasło, mówi ci, że dla tych użytkowników hasło i informacje, które chroni, nie są aż tak duże. Nigdy bym tego nie zrobił z moim hasłem bankowym. Ale istnieje wiele witryn, które wymagają haseł do rzeczy, które naprawdę na nie nie zasługują. Mam jedno standardowe hasło, którego używam dla wszystkich, i im więcej „hej, to nie jest silne hasło” lub „zrobimy ci hasło i zmuszymy do regularnej zmiany” i tak dalej, tym mniej chcę używać ta usługa. Przeprowadziłbym krótką rozmowę z ludźmi o „wartości biznesowej” w twoim życiu, aby przekonać się, czy w rzeczywistości lepszym rozwiązaniem byłoby pozostawienie im zwykłego tekstu w bazie danych i wysłanie ich e-mailem do osób na żądanie.

Jeśli tak naprawdę powinno to być tak bezpieczne, możesz spróbować tego, co zrobił jeden z moich klientów z systemem, który dla nich napisaliśmy. Podczas rozmowy z tą osobą przejdź do bazy danych i zmień jej adres e-mail na swój. Następnie przejdź do Internetu i kliknij opcję Nie pamiętam hasła. Poczekaj na wiadomość e-mail i użyj jej do zalogowania się. Korzystając ze strony internetowej, zmień hasło na Hasło lub coś innego, co ustnie zgadzasz się z klientem. Zmień ich adres e-mail z powrotem na własny i powiedz im „wszystko gotowe, nowe hasło jest teraz aktywne!” Zadowolony klient i nie musisz im wyjaśniać, co się dzieje.

Kate Gregory
źródło
2
Bezpośrednia modyfikacja bazy danych sama w sobie stanowi naruszenie bezpieczeństwa. Oznacza to, że możesz podszyć się pod dowolnego użytkownika korzystającego z systemu.
Bernard
3
Moi klienci mieli aplikację Windows, za pomocą której mogli edytować dowolne pole dla dowolnego użytkownika, powiedzmy, jeśli dostali faks, że teraz mają nowy numer telefonu. Oczywiście zostało poddane audytowi. Oczywiście, kiedy zobaczyłem tę pisemną procedurę przyklejoną do ściany przy biurku wsparcia, NIE BYŁEM SZCZĘŚLIWY. Ale przyszedłem, aby to zaakceptować, i istnieje ścieżka audytu pokazująca, co się stało, gdyby ktokolwiek zadzwonił i skarżył się, że hasło zostało zresetowane bez ich zgody. Chodzi o to, że nie wszystko musi być tak bezpieczne. Użytkownicy mówią, że nie musi tak być.
Kate Gregory
1
Niestety większość użytkowników nie wie nic lepszego. Egzekwowanie najlepszych praktyk należy do twórców aplikacji.
Bernard
4
Zgadzam się, że to duża dziura w bezpieczeństwie. Zgadzam się, że może to być najbardziej odpowiednie rozwiązanie. Wydaje się jednak niezwykle głupie, że obsługa klienta musi tymczasowo zmienić adres e-mail klienta, aby zresetować hasło tego użytkownika: jeśli chcesz, aby obsługa klienta zresetowała hasła, pozwól im to zrobić bezpośrednio.
John Bartholomew
4
Chciałbym również zauważyć, że ujawnianie haseł w postaci zwykłego tekstu, które użytkownicy ustawili (w rzeczywistości przechowywanie haseł w ogóle w postaci zwykłego tekstu) jest, moim zdaniem, znacznie gorsze niż umożliwienie obsłudze klienta bezpośredniej zmiany haseł użytkowników.
John Bartholomew
2

Ostatnią metodą stosowaną przeze mnie w systemie z niepiśmiennymi użytkownikami było skierowanie użytkownika na ekran, na którym otrzymali numer telefonu i numer potwierdzenia. Zadzwonili na numer telefonu, zweryfikowali swoją tożsamość ręcznie, a następnie przeczytali potwierdzenie. osoba obsługująca zalogowała się w osobnym systemie, wprowadziła numer i otrzymała drugi numer, aby zwrócić go klientowi. klient użył drugiego kodu, aby przejść do strony resetowania hasła. wersja strony klienta nie mogła działać z podsieci personelu wsparcia, a ekran wsparcia nie mógł działać z klientów.

nie jest kuloodporny, ponieważ osoba obsługująca może używać VPN do uruchamiania obu końców z jednej lokalizacji, ale wystarczyło to do kontroli, ponieważ konto wsparcia zostało zarejestrowane jako odpowiedzialne za działanie

Rachunek
źródło
-5

Może poprzez wdrożenie zasad bezpieczeństwa, które nie są SZKODLIWE. W ten sposób wszystko, co dostajesz, to tak naprawdę mniejsze bezpieczeństwo, ponieważ system jest tak trudny w użyciu, że Twoi klienci ponownie sprawdzają hasła dla Ciebie i ich przyjaciół, aby go uruchomić!

Nie możesz po prostu wysłać im NORMALNYCH łączy, a następnie hasła poniżej. Jeśli link zostanie uszkodzony przez klienta poczty e-mail, po prostu wyświetl formularz z jednym polem „kod aktywacyjny” ... ”wpisz kod aktywacyjny, który masz w wiadomości e-mail„ ... 5 cyfr, aby nie pomyliły 0 z O, itp. 4 cyfry są odpowiednie dla kart kredytowych i potrzebujesz tak skomplikowanych zasad dla prostego logowania? Jeśli kod nie działa, powtórz sprawdzanie z ciągiem TRIMmed? Myślę, że to nie sprawi, że będzie mniej bezpieczne, prawda? :)

Dla mnie to też często się zdarza ... dwukrotnie klikam hasło, a miejsce końcowe zostaje skopiowane. To dla mnie niewiarygodne, dlaczego peple nie jest w stanie po prostu usunąć kończących się białych znaków, gdy sprawdzenie się nie powiedzie, i powtórzyć proces? Może może TOGGLE, aby sprawdzić, czy przypadkowo nie nacisnąłem przycisku CL.

Tak bardzo to skomplikowałeś. To nie jest „zresetuj hasło” i „hasło początkowe” ... ale „Kod potwierdzający” i „Wpisz numer potwierdzenia, który wyślemy ci na e-mail”, „Nie masz e-maila? Zostało wysłane na [email protected], sprawdź ponownie spam, nadal go nie masz? Wyślij wiadomość e-mail z potwierdzeniem ”. W treści HTML link. http://xxx.com/conf-12345-mymail-gmail-com.html . Żaden klient pocztowy tego nie zepsuje.

Sławek
źródło
5
Wspomniana polityka bezpieczeństwa nie jest nie tylko „INSANE”, ale powinna być wymogiem wszystkich aplikacji „SANE”. Linki takie jak te wysyłane pocztą elektroniczną muszą wygasać po pewnym czasie, aby zapobiec resetowaniu hasła (albo przez kradzież linku bezpośrednio, albo przez natknięcie się na niego za pomocą algorytmu wspomaganego komputerowo). Hasła prawdopodobnie powinny zostać przycięte przed zatwierdzeniem. Użytkownicy są głupi. To jest prawo. Odpowiedzią nie jest ograniczenie naszych środków bezpieczeństwa, ale podjęcie proaktywnych kroków, aby pomóc naszym użytkownikom zrozumieć właściwe procedury.
Dalin Seivewright
7
-1. Jest to rozsądny sposób, z którego korzysta większość stron. Jeśli wydam „zapomniane hasło” na stronie i otrzymam wiadomość e-mail z moim hasłem w postaci zwykłego tekstu, zamykam konto.
Matt Grande