Czy istnieje standardowa metoda dowodzenia bezpieczeństwa haseł dla osób niebędących matematykami?

16

Mój klient ma serwer, który jest poddawany próbom logowania z użyciem botnetu z użyciem botnetu. Z powodu kaprysu serwera i klienta klienta nie możemy łatwo zablokować prób przez zaporę ogniową, zmianę portu lub zmianę nazwy konta logowania.

Podjęto decyzję o pozostawieniu go otwartego do ataku, ale znajdź sposób zabezpieczenia hasła. Kierownictwo i niektórzy inni konsultanci ustalili, że najlepiej jest zainstalować oprogramowanie do obracania hasła, aby obracało hasło co dziesięć minut i zapewniało nowe hasło użytkownikom, którzy muszą się zalogować.

Próby brutalnej siły występują dwa razy na sekundę.

Muszę wykazać, że wdrożenie silnego hasła zawierającego 12-15 znaków jest łatwiejszym i darmowym rozwiązaniem. Wiem, jak to udowodnić za pomocą matematyki, ale po prostu napiszę coś w stylu „istnieje x wielu możliwych kombinacji naszego hasła, a atakujący może spróbować tylko n prób dziennie, więc spodziewalibyśmy się, że pójdą x / Średnio 2 dni, zanim zgadną nasze hasło ”. Czy istnieje bardziej standardowy „dowód” na to?

Wieprzowina
źródło

Odpowiedzi:

14

Używanie fail2ban z iptables to świetny sposób.

Oto matematyka dla Ciebie:

Mieszane wielkie i małe litery oraz symbole wspólne, o długości 8 znaków, dają 2,9 biliardów kombinacji, a przy 10.000 próbach sekunda zajmie 9488 lat. To oczywiście maksimum - spodziewaj się, że Twoje hasło zostanie złamane za 4000 lat. 1000 lat, jeśli nie masz szczęścia.

Jak widać, nie powinieneś mieć żadnych problemów, jeśli wykonasz 15-znakowe hasło, takie jak:

dJ&3${bs2ujc"qX
Steven
źródło
W jaki sposób fail2ban pomógłby botnetowi?
innaM
2
jedynym problemem, jaki będziesz miał, jest to, że nikt nie pamięta ich haseł ..
Jeff Atwood,
To naprawdę interesujący link, ale zauważyłem (na dole strony), że ich czasy ataku oparte są na Pentium 100! Być może trochę nieaktualne, ale nadal dobra lektura.
Coops
8

Oprócz fail2ban,

Jeśli używasz dowolnego nowoczesnego systemu UNIX, możesz ogólnie zmienić czas uśpienia przy wprowadzaniu złych haseł do 5 sekund, spowalniając szybkość ataku o 2000%. [Solaris 10 ma go w / etc / default / login, szukaj SLEEPTIME] Co przy użyciu tych samych tolerancji oznaczałoby, że możesz obracać hasło co 3 godziny 20 minut.

Ponadto próba hasła przed blokadą byłaby realną opcją, ale podejrzewam, że nie jest to dla ciebie, ponieważ masz wielu użytkowników współużytkujących jedno konto i nie chcesz, aby było ono cały czas zablokowane.

Wymaganie hasła o długości 12-15 znaków pomaga, ale jeśli ciągle jesteś atakowany, inne rozwiązanie jest prawdopodobnie lepsze. Nie wiem, jaka jest tolerancja budżetowa twojej firmy, ale karty klucza RSA dla każdego, kto musi zalogować się na to konto, również to rozwiązałoby. Uwierzytelnianie dwuskładnikowe przenosi prawdopodobieństwo na czas obliczeń kwantowych.

Podejście brutalnej siły, które trwa wystarczająco długo, abyś mógł pisać na tej tablicy, jest dość zaskakujące. Ogólnie rzecz biorąc, jest dość niski i co najwyżej jest wypełniaczem kłód, podczas gdy trwa prawdziwy atak.

użytkownik5605
źródło
6

Co powiesz na odwołanie do organu? Możesz odwołać się do Wytycznych technicznych dotyczących bezpieczeństwa DoD (iase.disa.mil/stigs/stig) i powiedzieć: „Jeśli jest wystarczająco dobry dla Departamentu Obrony, jest wystarczająco dobry dla nas”

Brien
źródło
5

Coś do rozważenia: jeśli masz hasło, które się nie zmienia, a ataki brutalnej siły testują wszechświat haseł obejmujący twoje, atak brutalnej siły gwarantuje, że w końcu trafi, a potem pozostaniesz bezbronny.

„Szansa”, że losowe trafienie trafi w twoje hasło, można obliczyć, jak zasugerowałeś, ale to może nie powiedzieć całej historii.

Jeśli na przykład spojrzysz na próby brutalnej siły i zobaczysz, że najdłuższe hasło, które wypróbowali, to 10 znaków, wybranie czegokolwiek w wieku 12 lat sprawi, że nigdy nie zostaniesz trafiony.

Bądź bardzo ostrożny, próbując zastosować statystyki do konkretnego przypadku; przewidują jedynie ogólne zachowanie przy dużej liczbie próbek.

Poza tym, jeśli matematyka nie (lub nie może) przekonać kogoś, spróbuj znaleźć coś, co ma taką samą szansę na wystąpienie, ale jest znane, na przykład loterie lub wypadki samochodowe lub uderzenie pioruna. Jeśli możesz powiedzieć, że „szansa, że ​​ktoś trafi tym hasłem, jest mniej więcej taka sama jak wygrana na loterii przez sześć tygodni z rzędu”, może dać im lepsze odczucie.

piCookie
źródło
3
Dlaczego nie wybrać hasła, które atakujący już próbował? Żartuję.
innaM
4

Jedną z rzeczy, które nie zostały wzięte pod uwagę, jest to, jakiej nazwy użytkownika używa botnet do Bruteforce. We wszystkich przypadkach, w których widziałem brutalne siły, były różne odmiany administratora i roota, aw jednym rzadkim przypadku nazwy użytkowników zostały zeskrobane ze strony internetowej korpusu.

Zmieniłbym również ograniczenia dotyczące interaktywnego logowania, aby Twoje konto root było wyłączone (preferowane) lub ograniczone do lokalnej podsieci lub podobnego zakresu adresów.

Preflightsiren
źródło
2

Dwa razy na sekundę nie jest źle. Widzieliśmy tysiące prób na minutę przed wdrożeniem fail2ban , który zablokuje określony adres IP z sieci na określony czas po tylu nieudanych próbach (wszystkie konfigurowalne).

To działało dla nas świetnie.

Brent
źródło
2

W rzeczywistości możesz selektywnie skanować przed atakami ssh brute force przy użyciu iptables, jeśli to działa.

Te dwa ciągi:

iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW -m recent --set --name sshscans 
iptables -A INPUT -m recent --rcheck --seconds 60 --hitcount 5 --name sshscans --rsource -j DROP 

zablokuje dostęp każdemu, kto spróbuje połączyć się z SSH więcej niż 5 razy w odstępie 60 sekund. Możesz zmienić liczbę „--hitcount”, jeśli chcesz, aby dozwolona była liczba większa niż 5 na sekundę.

pielgrzym z ziemi świętej
źródło
2

Zaskakujące jest to, jak wiele osób nie rozumie krzywych wykładniczych, ale wszyscy znają różnicę między 10, 100 i 1000, więc może to być dobre miejsce do rozpoczęcia porównań.

Inną taktyką może być pokazanie ludziom, ile czasu zajmuje brutalne użycie 6-znakowego hasła. Jeśli masz jakąkolwiek wiedzę programistyczną, możesz przygotować szybkie narzędzie, które to zrobi.

Maximus Minimus
źródło
2

Możesz także pokazać im, jak łatwo dostępne są tęczowe stoły:

http://project-rainbowcrack.com/table.htm

Bogaty
źródło
Przydaje się to tylko wtedy, gdy dostają skróty haseł, a przy odpowiednim zasoleniu zagrożenie można zmniejszyć.
skitzot33
2

To może być trochę nie na temat, ale używam denyhosts i to znacznie zmniejszyło próby brutalnej siły na moich komputerach z Linuksem.

skitzot33
źródło