Czy powinienem zmuszać moich użytkowników do zmiany haseł co n dni / tygodni / miesięcy?

19

Pytanie mówi wszystko. Projektujemy system, w którym bezpieczeństwo jest bardzo ważne. Jednym z pomysłów było wymuszenie na użytkownikach zmiany haseł co 3 miesiące. Uważam, że chociaż jest ono bardziej bezpieczne, ponieważ hasło często się zmienia, zmusza także naszych użytkowników do zapamiętywania ciągle zmieniających się haseł i sprawia, że ​​bardziej prawdopodobne jest, że po prostu zapiszą je gdzieś, aby pomóc zapamiętać.

W tym samym pomyśle naprawdę dobrze jest zmusić użytkowników do użycia bardzo trudnego do odgadnięcia hasła. Zmusić ich do używania?% I% oraz wielkich małych liter. Wiem, że trudno jest wymyślić takie hasło, a potem je zapamiętać.

Z drugiej strony nie chcemy, aby ktokolwiek korzystał z 12345.

Więc. Czy są jakieś oficjalne dokumenty na ten temat? Dobra praktyka?

Mówię o stronie internetowej stworzonej przy pomocy PHP. MySQL w środowisku lampowym, jeśli coś to zmieni.

Iznogood
źródło
Widzę, że ktoś głosował za zamknięciem tego tematu. Myślę, że zarządzanie hasłami jest bardzo istotne dla programowania. Ale jeśli społeczność uważa, że ​​powinna dobrze ją zamknąć, gdzie mam o to zapytać? Superuser?
Iznogood
1
Szczerze, uważam bezpieczeństwo klienta za jego troskę. Oczywiście, używaj SSL i innych rzeczy, aby zachować szyfrowanie, aby nie można było go obwąchać, ale jeśli chce użyć „0” dla hasła, to jego wina.
Staraj się tworzyć interfejsy, które pozwalają wstrzykiwać implementacje tego, co zdecydujesz później. Jedna metoda weryfikacji siły hasła (lub powiedzenia, co jest nie tak z hasłem), jedna metoda oceny, czy nadszedł czas, aby ją zmienić lub kiedy to nastąpi i tak dalej. Teraz powróć „ok” i „nie trzeba zmieniać” :) Później, kiedy otrzymasz odpowiedź z błędu serwera, masz drzwi do otwarcia ...
helios
2
@mathepic - „ale jeśli chce użyć„ 0 ”jako hasła, to jego wina.” - Zgadzam się co do koncepcji, ale w rzeczywistości właściciel witryny ponosi pewną odpowiedzialność. Jeśli użyjesz „0” w swoim banku, a twoje konto zostanie wyczyszczone, odłożą je z powrotem, prawda?
tomjedrz
2
@mathepic Nie zgadzam się całkowicie. Być może w przypadku Hotmaila to wina użytkownika, ale gdy jest to prywatny system pełen prywatnych informacji, problem kompanii jest zagrożony, ponieważ jakiś idiota wybrał „0”.
Iznogood

Odpowiedzi:

28

Myślę, że mogę być w tej mniejszości (na podstawie mojego ograniczonego doświadczenia w pracy z działami IT w szkole i pracy), ale uważam, że obowiązkowe, oparte na czasie zasady zmiany hasła są w najlepszym razie bezwartościowe, aw najgorszym szkodliwe. Ludzie zwykle bardzo źle wybierają dobre hasła i trzymają je w tajemnicy. Zasady wygaśnięcia hasła mają na celu złagodzenie tego ograniczenia poprzez ograniczenie czasu, w którym każde hasło może zostać złamane / skonstruowane / skradzione przez serwis społecznościowy; nie osiągają tego jednak w praktyce, przede wszystkim dlatego, że zmuszają użytkowników do ciągłego ponownego uczenia się hasła. Utrudniając użytkownikowi zapisywanie haseł w pamięci, w rezultacie wielu z nich wybiera słabsze hasła i / lub zapisuje swoje hasła w miejscu, w którym mogą je znaleźć wścibskie oczy.

Ponadto, gdy zmuszeni są do regularnej zmiany hasła, wielu użytkowników wybiera hasła zgodne z bardzo rozpoznawalnym wzorcem, takim jak [base string][digit]. Powiedzmy, że użytkownik chce użyć imienia kota Fluffy jako hasła. Mogą rozpocząć się z hasłem fluffy, a następnie zmienić go fluffy1, fluffy2, fluffy3i tak dalej. W takim przypadku polityka tak naprawdę nie pomaga w bezpieczeństwie; nawet jeśli użytkownik wybierze bezpieczniejszy ciąg podstawowy niż fluffyi nawet jeśli bezpiecznie zapamięta swoje hasło, pojedynczy sufiks, który zmienia się co kilka miesięcy, w bardzo niewielkim stopniu łagodzi ataki crackingu lub socjotechniki.

Zobacz także: Utrata ważności hasła uważana za szkodliwą , krótki artykuł (nie napisany przeze mnie), który moim zdaniem stanowi dobre wprowadzenie do tych problemów.

kot
źródło
2
Możesz zapobiec drugiemu punktowi w polityce haseł, wymagając dywersyfikacji w stosunku do haseł historycznych.
Warner
@Warner: Jak wcieliłbyś to w bezpieczny sposób? Prawie nigdy nie powinieneś przechowywać haseł bez ich najpierw haszowania i fluffy1powinieneś mieć zupełnie inny hash niż fluffy2. Jest to dość łatwe, aby uniemożliwić użytkownikom ponowne użycie dokładnie tego samego hasła, ale myślę, że to wszystko, co możesz zrobić.
bcat
Nie mogę zgodzić się więcej ...
Antoine Benkemoun,
1
@bcat, z pewnością możesz sprawdzić, czy nowe hasło jest łatwą kombinacją starego hasła. W przypadku przyrostowego przyrostka numeru wystarczy po prostu zmniejszyć i zwiększyć przyrostek nowego hasła (jeśli jest liczbą) i porównać jego skrót z poprzednio zapisanymi skrótami dla tego użytkownika. Możesz również wprowadzić inne proste kontrole transformacji. Wszystko bez przechowywania haseł w postaci zwykłego tekstu.
mmcdole,
1
@bcat: Linux stosuje tego rodzaju weryfikację za pośrednictwem PAM (moduł uwierzytelniania wtykowego), a narzędzia, które pozwalają użytkownikom na zmianę haseł w systemie, najpierw proszą o podanie aktualnego hasła, aby można było je ocenić na podstawie nowego hasła.
syn-
14

Moja duża organizacja (ponad 15 000 użytkowników) wprowadzała „zmiany hasła” co 120 dni jesienią 2009 roku. To ogromny ból głowy i marnotrawstwo zasobów pomocy technicznej. Za każdym razem, gdy zbliża się 120-dniowe okno, tysiące użytkowników zmuszonych jest zmienić hasło ... co wielu z nich robi nieprawidłowo i blokuje konto ... lub zapomina następnego dnia. Nasz dział pomocy jest zalewany hasłami, mimo że staraliśmy się zrobić z niego jak najwięcej samoobsługi.

Jeśli chcesz, aby Twoi użytkownicy / klienci cię nienawidzili .... i twoi pracownicy IT z pierwszej linii, aby spalić Cię na strzępy przy każdej okazji ... wprowadzają zmiany hasła.

Zasady zmiany hasła są polem wyboru w podręczniku IT Managera, gdzieś gdzieś zarezerwować ... i zostało napisane 15 lat temu. Nikt w okopach, który faktycznie wdraża lub wspiera politykę, nigdy nie powie ci, że to dobry pomysł.

Argumentowałem tutaj za „hasłami” zamiast haseł… gruba dobra, która przyniosła… to światło na końcu tunelu było nadjeżdżającym pociągiem. :)

Fraza hasła jest długim, prawie niemożliwym do wymówienia ciągiem, który jest bardzo łatwy do zapamiętania, jak „MyCatIsFromSpainAndICallHimElGato”. A może wiersz z wiersza lub piosenki.

Jeśli chcesz naprawdę utrudnić złamanie ... bałaganu ze skrzynką, dodaj interpunkcję, zmień niektóre na łokcie, ohs na zera, a na @ itd. Ale pamiętaj, że ... . to jest klucz. Są nawet sposoby na ich wybranie, aby łatwo przesuwały się z palców na klawiaturę ... dzięki czemu nie podskakujesz między dłońmi ani za pomocą klawiszy SHIFT i dziwnych interpunkcji.

Więc...

  • Używaj długich „haseł”.
  • Przetestuj je wewnętrznie pod kątem siły.
  • Wdróż „pojedyncze logowanie” w całej infrastrukturze, aby klienci mogli z niego korzystać tylko raz lub dwa razy dziennie.
  • Nigdy nie zmuszaj ich do zmiany.
  • I kształcić, edukować, edukować na temat ich właściwego użytkowania.

Matt

EDYCJA: 8/24/2011 XKCD zgadza się i powiedział, że lepiej niż ja.

Matt Mencel
źródło
To brzmi jak dobry argument za tym, aby nie zawieść w edukacji użytkowników, niekoniecznie w przeciwieństwie do zasad haseł. Nie twoja porażka z Twojej strony - ktoś z wyższego szczebla w branży IT źle sobie z tym radził, ponieważ wymienione przez Ciebie pomysły powinny być czymś, co każdy pracownik przedstawił przed każdym monitem o zmianę hasła.
Kara Marfia
Pojedyncze logowanie naprawdę powinno być pierwszym punktem, to marchewka daje użytkownikom powód do nauki hasła. Czas wygaśnięcia powinien również zależeć od tego, jak często użytkownik używa hasła, 30-dniowe wygaśnięcie nie jest nieuzasadnione w przypadku systemu używanego codziennie, ale u poprzedniego pracodawcy ich aplikacja (nie SSO) do wydatków (aplikacja, którą większość ludzi tylko logował się raz w miesiącu) miał 30-dniową zasadę ważności, wszyscy, których znam, dzwonili do działu pomocy technicznej za każdym razem, gdy z niego korzystali!
GAThrawn
Pojedyncze logowanie jest niezwykle przydatne. Pomaga to radykalnie zmniejszyć liczbę haseł, które musi znać użytkownik.
Anthony Giorgio,
10

Nie. Osobiście uważam, że jest to zbędne, a nawet przynosi efekt przeciwny do zamierzonego . Pisałem na moim blogu, ale możesz go wytropić, jeśli jesteś zainteresowany.

Krótko mówiąc, sprowadza się to do dwóch powodów:

1. Zmuszanie użytkownika do ciągłej zmiany hasła prowadzi do złych haseł.

Nie zabraknie anegdotycznych dowodów na ten temat, ale ma sens, że jeśli będę zmuszony pamiętać nowe rzeczy co x dni, sprawię, że te rzeczy będą łatwe do zapamiętania i prawdopodobnie będą ze sobą powiązane.

Użytkownicy znacznie częściej wybierają hasła „zgadywalne”, takie jak „Jan2010” lub „Hasło05”, jeśli wiedzą, że wkrótce będzie trzeba to zmienić. Egzekwowanie rygorystycznych zasad dotyczących znaków może raczej skutkować dodaniem wykrzyknika lub pełnej pisowni imienia zamiast skrótu. Istnieje duża różnica między technicznie złożonym hasłem a hasłem, którego nie można odgadnąć.

2. Wymuszanie regularnych zmian haseł nie zapobiega atakom, ogranicza jedynie ryzyko (i niewiele)

Pomyśl o tym - jeśli twoje hasło zostanie w jakiś sposób odgadnięte lub odkryte, ile czasu zajmie osobie atakującej wykorzystanie tych informacji? Postaw się w sytuacji napastnika. Właśnie odkryłeś hasło. Czy nie zalogujesz się i nie wyodrębnisz wszystkich informacji, które możesz od razu na wypadek, gdyby ktoś się dowie? Za 30 dni masz już wszystko, czego chcesz.

Moja rekomendacja:

  • Wymuś bardzo surową politykę haseł (np. 15 znaków z górną, dolną, cyfrą i znakami specjalnymi, bez angielskich słów> 3 znaków)
  • Nigdy nie zmuszaj użytkownika do zmiany hasła. Jeśli będą musieli wpisać hasło na kartce papieru i przechowywać je w portfelu, to w porządku. Ludzie są dobrzy w zabezpieczaniu kawałków papieru, ale nie tak dobrzy w zapamiętywaniu losowych ciągów znaków.
Damovisa
źródło
+1 - Zgadzam się w przeważającej części, chociaż lubię 120-dniowy lub 180-dniowy termin ważności. Powodzenia w utrzymywaniu przy życiu „wyjątkowo surowej” polityki haseł w organizacji politycznej.
tomjedrz
„Ludzie są dobrzy w zabezpieczaniu kawałków papieru” - naprawdę? musisz znać znacznie lepszych ludzi niż ja! Kiedy zwykłem obsługiwać komputery stacjonarne, mogłeś łatwo dostać się na komputer użytkownika, gdy nie było ich w pobliżu, po prostu podnosząc papierowy pamiętnik, który zostawili na biurku, przewracając na ostatnią stronę, a następnie wpisując najnowszy wyglądający wyraz w pole hasła.
GAThrawn
Myślę, że to zależy od kartki papieru i ich opinii na temat tego, jak ważne jest. Czy ci sami ludzie zostawiliby 50 dolarów notatek leżących na biurku? Ich karty kredytowe? :)
Damovisa,
4

Z punktu widzenia użytkownika zmiana hasła jest niezwykle niewygodna. Absolutnie nienawidzę tego robić i będę niechętnie korzystać z witryn, których absolutnie potrzebuję, jeśli wymagają ode mnie zmiany hasła.

Dyskutowano również, czy jest to naprawdę dobra praktyka, ponieważ niektóre osoby muszą zapisać swoje hasła, aby je zapamiętać.

Możesz wdrożyć jeden z tych widżetów, które pokazują ludziom, jak silne (lub słabe) jest hasło podczas wypełniania go - Uważam, że są one (trochę) użyteczne, chociaż nie wiem, czy faktycznie skutkują silniejszym Hasła.


źródło
W tym przypadku jest to prywatna strona bez formularza rejestracyjnego. Użytkownicy są pracownikami, więc muszą korzystać z systemu on. Biorąc to pod uwagę, niekoniecznie zgadzam się z bardzo wysokim poziomem bezpieczeństwa. Ale nie decyduję o wszystkim, co widzisz ...
Iznogood
3

Jako użytkownik dość rygorystycznego środowiska zasad haseł („bardzo trudne do odgadnięcia hasła” i zmiana hasła), uważam, że potrzebne jest tylko hasło trudne. Chociaż przyzwyczajenie się użytkowników (trochę, jeśli są to użytkownicy typu 12345) trochę potrwa, powinni być w stanie łatwo to przypomnieć i wpisać w ciągu tygodnia.

Mogę jednak przewidzieć niewygodnych użytkowników końcowych, jeśli masz tak silne hasła ORAZ zmuszasz ich do zmiany.


źródło
3

Z punktu widzenia administracji IT najlepszą opcją jest zbadanie możliwości zezwolenia aplikacji na korzystanie z możliwości jednokrotnego logowania istniejącego schematu uwierzytelniania, z którego korzystają Twoi klienci. Oczywiście usługa Active Directory to duży odtwarzacz, ale jeśli aplikacja działa zgodnie z zasadami skonfigurowanymi już przez dział IT w siedzibie firmy, nie musisz się martwić o nowe koło.

Ponieważ pojawiła się tak wiele debat na temat tego, czy wymuszone zmiany hasła są dobrym pomysłem (choć myślę, że było to drugorzędne w stosunku do twojego głównego pytania), pomyślałem, że możesz cieszyć się niektórymi pomysłami i linkami tutaj . W większości sytuacji, jeśli nie będziesz wymuszać złożoności haseł i harmonogramu zmian, równie dobrze możesz nie mieć haseł - ale sposób, w jaki jest on wdrażany (szkolenie, wsparcie zarządzania itp.) Jest ważniejszy niż mogę to podkreślić.

Kara Marfia
źródło
2

Zmiana hasła często może prowadzić do zapisania go przez użytkownika. Co nie jest tak złym pomysłem według Bruce'a Schneiera ( http://www.schneier.com/blog/archives/2005/06/write_down_your.html ).

Byłbym nawet argumentować, że bezpieczeństwo utrudniające użyteczność może być czasem dobrą rzeczą, tylko dlatego, że przypomina użytkownikowi o bezpiecznym działaniu. Na przykład w banku, w którym pracuję, wiele środków bezpieczeństwa jest w teatrze bezpieczeństwa (na przykład rozpoznawanie twarzy przy drzwiach, ale ochroniarz otworzy ci drzwi, jeśli rozpoznanie się nie powiedzie). Chociaż środki te same w sobie nie poprawiają bezpieczeństwa, zawsze służą nam przypomnieniem, że bezpieczeństwo jest ważnym aspektem w pracy, że istnieje pewna ilość rejestrowania i sprawdzania oraz że jeśli zostaniesz przyłapany na robieniu czegoś „niezabezpieczonego”, będzie miał kłopoty.

Oczywiście dotyczy to bezpieczeństwa pracowników banku, może nie dotyczyć użytkowników Twojej witryny ...

Guillaume
źródło
1

Powinieneś zmusić użytkowników do zmiany co n dni, jeśli wymaga tego twoja polityka bezpieczeństwa. Pracuję dla agencji państwowej, a jest to wymóg egzekwowany przez biuro państwowego audytora. Nic na to nie poradzę, więc muszę wymusić zmiany.

Jeśli nie obowiązują Cię przepisy wymuszające zmiany hasła, nie wymuszaj ich. Upewnij się, że ustawione hasła spełniają określone minimalne wymagania dotyczące złożoności. Długość przewyższa złożoność większości systemów haseł, więc moim zdaniem najlepszym rozwiązaniem jest zmienny standard. Jak na przykład:

  • Żadne hasło nie może być krótsze niż 10 znaków.
  • Hasła od 10 do 25 znaków wymagają co najmniej 3 zestawów znaków.
  • Hasła o długości od 25 do 40 znaków wymagają co najmniej 2 zestawów znaków.
  • Hasła dłuższe niż 40 znaków mogą używać jednego zestawu znaków.

Wbudowane schematy złożoności dla rzeczy takich jak Active Directory nie obsługują tego rodzaju systemu warstwowego. Jeśli zbudujesz własne środowisko zmiany hasła, możesz robić takie rzeczy. Ponieważ każde użycie klawisza Shift zwiększa prawdopodobieństwo zdarzenia „grubego palca”, długie hasła z wieloma zestawami znaków są DUŻO bardziej narażone na nieudane logowanie, szczególnie podczas etapów uczenia się. Jeśli masz system blokady konta, może to być duży problem. Dla osoby, która używa 3-go wiersza swojego ulubionego wiersza (63 znaków!) Jako hasła, bez konieczności korzystania z h @ x0r, umożliwia szybkie i skuteczne wprowadzanie.

Jeśli technologia lub środowisko ryzyka ulegną znacznej zmianie, a hasła nie są już tak skomplikowane, jak powinny, staraj się wygasać z upływem czasu. Ludzie będą narzekać na tę potrzebę, zwłaszcza jeśli nigdy wcześniej nie zmuszałeś się do zmiany, ale pomoże ci to utrzymać pozycję bezpieczeństwa.

sysadmin1138
źródło
Mam szczęście, że nic mnie nie ogranicza. Dzięki!
Iznogood
0

Trudne do odgadnięcia hasła to dobra rzecz. Egzekwowanie poziomów złożoności, w wyniku których użytkownicy zapominają hasła lub muszą je zapisać, jest złą rzeczą, ponieważ wszelkie zabezpieczenia uzyskane przez złożoność są całkowicie tracone w tym procesie. W idealnym świecie (który niestety nie ma miejsca, w którym żyjemy) powinna istnieć równowaga między złożonością a użytecznością. Oczywiście różni ludzie zobaczą ten punkt równowagi w różnych miejscach.

Logika regularnych zmian haseł w X dniach jest dla mnie trochę zagubiona. Powodem, dla którego zwykle to słyszę, jest ograniczenie przydatności skradzionego hasła, na które odpowiadam, że wszelkie rzeczywiste szkody zostaną prawie na pewno wyrządzone w ciągu pierwszych kilku godzin. np. Fred ”zapoznaje się z„ hasłem Mary. O ile nie stanie się to prawie w tym samym czasie, gdy Mary zmienia to hasło, jaka to różnica, jeśli zostanie zmienione jutro lub w przyszłym miesiącu? Czy to naprawdę prawdopodobne, że Fred zaczeka jeszcze tydzień lub dwa, zanim użyje hasła (zakładając, że taki był cały ten zamiar)?

Oczywiście zmiana hasła, jeśli istnieje jakikolwiek powód lub podejrzenie, że może być konieczne, to zupełnie inna sprawa.

John Gardeniers
źródło
0

Jeśli aplikacja potrzebuje tak wysokiego poziomu bezpieczeństwa, czy zastanawiałeś się nad użyciem tokena SecurID? Oznacza to, że użytkownik otrzymuje nowe hasło co 60 sekund; nie musisz się o nie martwić, zapisując hasła. Te jednak kosztują. Jak bezpieczne musi być rozwiązanie?

Mitch Miller
źródło
dość bezpieczne, ale zastanawiam się, czy to musi być tak bezpieczne. Sprawdzanie linku dzięki!
Iznogood,
0

Myślę, że te informacje dla użytkowników są ważne. Wyjaśnij im, jak utworzyć hasło i jak ważne jest, aby nie używać tego samego hasła dwa razy. Łatwym sposobem na utworzenie hasła jest zdanie zdania, wzięcie pierwszej litery w każdym słowie i dodanie kilku cyfr.

Dawny. Lubię rządzić światem = Iltrw99

Nie zmuszaj ich do zmiany hasła, tylko je pomieszają.

NiklasS
źródło
0

Chociaż nie zgadzam się na zmianę haseł co trzy miesiące, jest to wymóg, jeśli twoja firma jest notowana na giełdzie i jest to część zgodności z SOX. Uwaga dodatkowa: Sarbanes-Oxley jest do bani.

Supercereal
źródło
0

Nie wspomniałem o zewnętrznym dostępie do zasobów.

Zgadzam się, że jeśli wybierzesz rozsądne zasady dotyczące haseł, chyba że ktoś je zapisze, nikt nie zgadnie tego hasła.

Załóżmy jednak, że masz dostęp do poczty internetowej poza witryną, teraz potencjalnie użytkownicy mogą wpisywać swoje poświadczenia na „dowolnym starym komputerze” i IMO, co zwiększa ryzyko dla danych biznesowych stwarzane przez programy szpiegujące / złośliwe oprogramowanie / trojany itp., Które mogą wąchać / kraść te hasła .

flooble
źródło
Bardzo dobry wgląd dzięki! Ciekawe, jak możemy się przed tym uchronić. Będziemy wymuszać Firefoksa / chrome i blokować IE6-7-8, żeby tak było.
Iznogood,
-1

Jeśli ludzie zapisują proste hasła, co sprawia, że ​​myślisz, że nie będą zapisywać wielkich haseł ani bardzo skomplikowanych haseł. To, co dokonują przyrostowe zmiany hasła, to czyszczenie identyfikatora użytkownika, który nie jest już używany automatycznie, i pozwala to na indywidualną odpowiedzialność za to wszystko. Ludzie będą ludźmi, szukającymi łatwej drogi do osiągnięcia czegoś; powtarzające się hasła i stopniowo zmieniane hasła można wykryć i odrzucić. Wymagania dotyczące złożoności mogą być wymuszone, wymuszone zmiany haseł mogą również otworzyć oczy użytkownikom spoza branży IT na ich odpowiedzialność. Większość użytkowników, którzy narzekają na zmianę hasła, to leniwi, którzy udają, że zmiana hasła jest jak operacja na otwartym sercu. Przestań marudzić, bądź odpowiedzialny i przestań próbować znaleźć łatwą ulicę,

Tai
źródło
Uważam, że „ogromne hasło” jest o wiele łatwiejsze do zapamiętania niż „proste hasło”. Jest nawet słynny komiks na ten temat, więc jestem pewien, że nie jestem sam.
Michael Hampton