Jak postępować z kimś, kto próbuje zalogować się jako administrator?

14

W ciągu ostatnich dni zauważyłem na moim blogu, że ktoś próbował się przekraść.

Osoba próbowała znaleźć adres URL logowania (moja witryna nie jest otwarta do rejestracji użytkownika), więc próbowała wszystkiego od mojej-domena.com/admin, moja-domena.com/administrator .. a także moja-domena.com/wp- login (co oznacza, że ​​dana osoba nie zna drupala ..)

Gdy dana osoba skończyła jako użytkownik, próbował zalogować się jako administrator, próbując różnych nazw użytkowników: admin, administrator itp. (Nigdy nie używam „admin” jako nazwy użytkownika root)

Czy istnieje sposób na zapobieganie / ochronę strony internetowej Drupal przed tego rodzaju rzeczami?

Dzięki

ps: jestem zainteresowany tym, jak to zrobić zarówno dla d6, jak i d7.

amstram
źródło

Odpowiedzi:

14

Tego rodzaju sondy są bardzo popularne w Internecie. Istnieje kilka rzeczy, które możesz potencjalnie zrobić, aby zablokować ten problem i zmniejszyć sukces atakującego.

Po pierwsze, polecam wszystkim korzystanie z uwierzytelniania dwuskładnikowego , aby nawet jeśli atakujący odgadł twoją nazwę użytkownika i hasło, nadal nie może się zalogować. Za złamanie TFA przyznano nagrodę w wysokości 500 USD i chociaż atakujący w białych kapeluszach mieli nazwę użytkownika i hasło, nie mogli się włamać.

Moduł ocena bezpieczeństwa lub Droptor może pomóc monitorować te nieudane logowania. Jeśli często się zdarzają, musisz zacząć podejmować więcej działań. Brutalne ataki na hasła działają tylko wtedy, gdy ktoś je często robi, więc jeśli zdarzy się to kilkadziesiąt razy, nie będę się martwić.

Możesz śledzić adres IP używany przez tę osobę za pomocą wpisów watchdog, a następnie użyć wbudowanych reguł dostępu D6 (lub odpowiednika d7 - http://drupal.org/project/user_restrictions ), aby zablokować dostęp za pośrednictwem tego adresu IP. Możesz także odmówić dostępu do adresu IP w Apache lub innej zaporze ogniowej na poziomie serwera. Firewall / webserver jest bardziej wydajnym miejscem do blokowania użytkowników pod względem obciążenia serwera, ale zwykle wymaga nieco więcej wysiłku.

W przypadku Drupal 6 i 7 AjitS udzielił odpowiedzi z dobrym opisem, jak korzystać z funkcji ograniczania prędkości, aby zapobiec powtórnym próbom logowania z tego samego adresu IP.

greggles
źródło
6
To brzmi jak odpowiedź faceta z zespołu Drupal Security ;-) +1
AjitS
Ciekawe pomysły Zacznę od zablokowania adresów IP za pomocą reguł dostępu d6 przez kilka dni i zobaczę, jak to pomaga. Dzięki Wam wszystkim !
amstram
Wyrazy uznania dla dobrze napisanej odpowiedzi, ale duża strata czasu. Bez względu na to, co robisz, zawsze będziesz mieć te skrypty drapiące twoją stronę. Wystarczy podać swoją stronę administratora i login w https i mieć przyzwoite hasło administratora.
stefgosselin
Czy Drupal 7 nie blokuje automatycznie dostępu z określonego adresu IP po wielokrotnych nieudanych próbach logowania? Kiedyś zadzwonił do mnie klient z informacją, że nie może się już zalogować, ponieważ próbował swojego użytkownika / przejść około 5 razy i nie powiódł się, a teraz nie może się zalogować i musiałem wyczyścić niektóre tabele z bazy danych, aby dać mu dostęp z powrotem. ..
Mario Awad,
@stefgosselin https nie jest opcją dla wielu ludzi, choć z pewnością zgadzam się, że to dobry krok. Nie rozumiem też, jak https naprawdę pomaga w rozwiązaniu problemu brutalnej siły. Myślę, że TFA jest przydatny dla osób, które nie mogą uzyskać https i / lub naprawdę szukają rozwiązania ataków siłowych.
greggles,
3

W przypadku Drupal 6 powinieneś sprawdzić moduł bezpieczeństwa logowania .

Moduł bezpieczeństwa logowania poprawia opcje bezpieczeństwa podczas operacji logowania na stronie Drupal. Domyślnie Drupal wprowadza tylko podstawową kontrolę dostępu, odmawiając dostępu IP do pełnej zawartości witryny.

Za pomocą modułu Login Security administrator witryny może chronić i ograniczać dostęp, dodając funkcje kontroli dostępu do formularzy logowania (domyślny formularz logowania w / user i blok o nazwie „blok formularza logowania”). Włączając ten moduł, administrator witryny może ograniczyć liczbę nieprawidłowych prób logowania przed zablokowaniem kont lub odmową dostępu przez adres IP, tymczasowo lub na stałe. Zestaw powiadomień może pomóc administratorowi strony dowiedzieć się, kiedy coś się dzieje z formą logowania na stronie: zgadywanie hasła i konta, próby logowania z użyciem bruteforce lub po prostu nieoczekiwane zachowanie podczas operacji logowania.

W przypadku Drupala 7, ponieważ @saadlulu powiedział, że istnieje już funkcja blokowania dostępu po 5 nieudanych próbach logowania. Jeśli chcesz mieć większą kontrolę, możesz wypróbować moduł Flood Control .

Ten projekt ma na celu dodanie interfejsu administracyjnego dla ukrytych zmiennych kontroli powodzi w Drupal 7, takich jak ograniczenia próby logowania i wszelkie przyszłe ukryte zmienne.

AjitS
źródło
3

Być może pomocna byłaby zmiana nazw ścieżek administratora ?

Celem tego modułu jest zabezpieczenie backendu drupal poprzez przesłonięcie ścieżki administratora.

Jan
źródło
Tak, wiem, że „bezpieczeństwo przez zapomnienie” nie jest naprawdę bezpieczeństwa w ogóle, ale ja faktycznie mających na celu udzielenie odpowiedzi na pytanie ...
Jan
dobra odpowiedź, zmiana nazwy / użytkownika / logowania na niestandardowy / login / ścieżka może być bardzo skuteczna, aby powstrzymać boty przed próbą zalogowania się na domyślnym
adresie
3

Chciałbym poradzić sobie z tym w taki sam sposób, jak obsługiwane są nieudane logowania z innych źródeł (np. Ssh, ftp), więc wszystkie są traktowane konsekwentnie. W tym celu przyjrzałbym się fail2ban , który odniosłem wielki sukces, używając przeciwko logowaniu SSH Brute Force. Ładuje również ładnie narzędzia monitorujące i blokuje na poziomie zapory ogniowej, co jest ogólnie bezpieczniejsze niż zapobieganie tylko logowaniom Drupala, ponieważ często wiele wektorów ataków pochodzi z tego samego miejsca, na przykład, jeśli uruchamiają takie rzeczy jak metasploit .

Synchro
źródło
Zgadzam się, ale ta „ukierunkowana” instalacja drupal działa na współużytkowanym serwerze hostingowym, co uniemożliwia mi dostęp do ustawień na poziomie serwera. Mogę tylko próbować chronić ją z poziomu drupala. Zastanawiam się jednak nad przeniesieniem jej na serwer dedykowany w ciągu najbliższych kilku tygodni. Dzięki
amstram,
Jedną z korzyści przejścia na poziom zapory ogniowej jest to, że Drupal jest tylko częścią powierzchni ataku twojej witryny. Jeśli ktoś nie może dostać się przez Drupal, prawdopodobnie zobaczy, czy ssh, ftp lub ... inne usługi są uruchomione, a następnie spróbuje wejść za pomocą tych metod.
greggles,
3

To jest właściwie całkowicie oczekiwane zachowanie. Za każdym razem, gdy opublikujesz witrynę na publicznym IP, w ciągu kilku godzin / dni zaczniesz uzyskiwać taki ruch. 99,99% czasu to tylko boty, które uruchamiają ogólny skrypt szukający niezałatanych aplikacji lub łatwych haseł. To wyjaśnia, dlaczego widzisz trafienia na domain.com/wp-login, (zautomatyzowany) host atakujący nawet nie wie, że początkowo korzystasz z Drupala, wypróbowuje wszystkie ścieżki popularnych CMS, Wordpress, Drupal itp. .

Mówię, nie marnuj zbyt wiele czasu na martwienie się o to. Cokolwiek zrobisz, zawsze znajdziesz skrypty skrobające twoją witrynę ... z całego świata.

Dwie proste rzeczy sprawią, że Twoja aplikacja będzie względnie bezpieczna:

  1. Obsługuj strony logowania i administracyjne za pośrednictwem https

  2. Mają przyzwoite hasło dla administratora

Niezależnie od tego, jaki schemat bezpieczeństwa zastosujesz, ZAWSZE masz ostatnią kopię zapasową twoich rzeczy.

Powodzenia, szczęśliwego nowego roku przyjacielu.

stefgosselin
źródło
2

To, o co prosisz, nie jest logiczne, jeśli masz na myśli usunięcie lub uniemożliwienie dostępu do strony / użytkownika.

Jeśli uda Ci się w jakiś sposób zapobiec tej stronie, jak zamierzasz uzyskać do niej dostęp?

Plus Drupal już zapewnia sposób na powstrzymanie takich ataków poprzez zablokowanie dostępu do użytkownika po 5 próbach.

Możesz jednak ograniczyć liczbę prób do konta administratora.

saadlulu
źródło
Witam, dziękuję za odpowiedź. Nie proszę o nic konkretnego. Po prostu szukam pomysłów, jak sobie z tym poradzić. Myślę, że blokada „5 nieudanych prób” to tylko drupal 7 funkcji, mam rację? Czy możliwe jest zaimplementowanie podobnej funkcji w Drupal 6?
amstram
Nie mam pojęcia, ponieważ moje pochodzenie to tylko Frupal 7. Zostawię to moim braciom z Drupal 6 :). możesz wyświadczyć mi przysługę i zaakceptować moją odpowiedź, jeśli ci się spodoba.
saadlulu,
możesz również sprawdzić ten moduł bezpieczeństwo logowania do
saadlulu,
Ta „odpowiedź” nie jest dobra, ponieważ blokada 5 prób to tylko Drupal 7 i zawsze są rzeczy do zrobienia, aby zapobiec problemowi, nawet poza tym.
greggles,