Wie gehe ich mit jemandem um, der versucht, sich als Administrator anzumelden?

14

In den letzten Tagen habe ich in meinem Blog festgestellt, dass jemand versucht hat, sich herumzuschleichen.

Die Person hat versucht, die Anmelde-URL zu finden (meine Website ist nicht für die Benutzerregistrierung geöffnet). Sie hat also alles von my-domain.com/admin, my-domain.com/administrator .. und auch my-domain.com/wp- ausprobiert. Login (was anzeigt, dass die Person nicht mit Drupal vertraut ist.)

Sobald die Person auf / user gelandet ist, hat sie versucht, sich als Administrator anzumelden, indem sie verschiedene Benutzernamen ausprobiert hat: admin, administrator etc ... (Ich verwende niemals 'admin' als Benutzernamen für den Root-Benutzer.)

Gibt es eine Möglichkeit, eine Drupal-Website vor solchen Dingen zu schützen?

Vielen Dank

ps: ich bin daran interessiert, wie das sowohl für d6 als auch für d7 gemacht wird.

Amstram
quelle

Antworten:

14

Diese Art von Sonden ist im Internet weit verbreitet. Es gibt einige Möglichkeiten, dieses Problem zu blockieren und den Erfolg eines Angreifers zu verringern.

Erstens empfehle ich jedem, die Zwei-Faktoren-Authentifizierung zu verwenden, damit er sich auch dann nicht anmelden kann, wenn der Angreifer Ihren Benutzernamen und Ihr Kennwort errät. Es gab ein Kopfgeld von 500 US-Dollar, um TFA zu knacken, und obwohl die White-Hat-Angreifer einen Benutzernamen und ein Passwort hatten, konnten sie nicht einbrechen.

Die Sicherheitsüberprüfung Modul oder Droptor können diese Fehl - Logins überwachen können . Wenn sie häufig auftreten, müssen Sie weitere Maßnahmen ergreifen. Brute - Force - Angriffe auf Passwörter funktionieren nur , wenn jemand tut sie viel so , wenn es passiert nur ein paar Dutzend Mal würde ich nicht Sorge.

Sie können die von dieser Person verwendete IP-Adresse mithilfe von Watchdog-Einträgen verfolgen und anschließend mithilfe der integrierten D6-Zugriffsregeln (oder der entsprechenden D7-Richtlinie - http://drupal.org/project/user_restrictions ) den Zugriff über diese IP- Adresse blockieren. Sie können auch den Zugriff auf die IP in Apache oder einer anderen Firewall auf Serverebene verweigern. Die Firewall / der Webserver ist ein effizienterer Ort, um die Benutzer in Bezug auf die Serverauslastung zu blockieren, erfordert jedoch in der Regel etwas mehr Aufwand.

Für Drupal 6 und 7 hat AjitS eine Antwort mit einer guten Beschreibung bereitgestellt, wie eine Funktion zur Ratenbegrenzung verwendet werden kann, um wiederholte Anmeldeversuche von derselben IP-Adresse zu verhindern.

gregelt
quelle
6
Das klingt nach der Antwort eines Mannes vom Drupal-Sicherheitsteam ;-) +1
AjitS
Interessante Ideen. Ich werde zunächst die IP-Adressen mit den d6-Zugriffsregeln für ein paar Tage blockieren und sehen, wie das hilft. Danke euch allen!
Amstram
Ein großes Lob für die gut geschriebene Antwort, aber große Zeitverschwendung. Egal, was Sie tun, Sie werden immer diese Skripte auf Ihrer Site haben. Servieren Sie einfach Ihre Administrator- und Anmeldeseite in https und haben Sie ein anständiges Administratorkennwort.
Stefgosselin
Blockiert Drupal 7 den Zugriff von einer bestimmten IP-Adresse nach wiederholten fehlgeschlagenen Anmeldeversuchen nicht automatisch? Ich habe mich einmal von einem Kunden anrufen lassen, der meinte, er könne sich nicht mehr anmelden, da er seinen Benutzer / Pass fünfmal ausprobiert habe und dies fehlgeschlagen sei. Jetzt konnte er sich nicht mehr anmelden und ich musste einige Tabellen von der Datenbank bereinigen, um ihm wieder Zugriff zu gewähren. ..
Mario Awad
@stefgosselin https ist keine Option für viele Leute, obwohl ich mit Sicherheit einverstanden bin, dass dies ein guter Schritt ist. Ich verstehe auch nicht, wie https wirklich beim Brute-Force-Problem hilft. Ich denke, TFA ist hilfreich für Leute, die kein https empfangen können und / oder wirklich nach einer Lösung für Brute-Force-Angriffe suchen.
greggles
3

Für Drupal 6 sollten Sie nach dem Login-Sicherheitsmodul suchen.

Das Login-Sicherheitsmodul verbessert die Sicherheitsoptionen beim Login einer Drupal-Site. Standardmäßig führt Drupal nur eine grundlegende Zugriffssteuerung ein, die den IP-Zugriff auf den gesamten Inhalt der Site verweigert.

Mit dem Anmeldesicherheitsmodul kann ein Site-Administrator den Zugriff durch Hinzufügen von Zugriffssteuerungsfunktionen zu den Anmeldeformularen (Standard-Anmeldeformular in / user und Block "Anmeldeformularblock") schützen und einschränken. Durch Aktivieren dieses Moduls kann ein Site-Administrator die Anzahl ungültiger Anmeldeversuche begrenzen, bevor Konten gesperrt oder der Zugriff über die IP-Adresse vorübergehend oder dauerhaft verweigert wird. Eine Reihe von Benachrichtigungen kann dem Site-Administrator helfen, herauszufinden, wann etwas mit dem Anmeldeformular ihrer Site passiert: Passwort- und Kontoermittlung, Bruteforce-Anmeldeversuche oder unerwartetes Verhalten bei der Anmeldung.

Für Drupal 7, wie @saadlulu sagte, gibt es bereits eine Funktion zum Sperren des Zugriffs nach 5 erfolglosen Anmeldeversuchen. Wenn Sie mehr Kontrolle wünschen, können Sie das Flood Control- Modul ausprobieren .

Dieses Projekt soll eine Administrationsoberfläche für versteckte Hochwasserschutzvariablen in Drupal 7 hinzufügen, z. B. die Begrenzer für Anmeldeversuche und zukünftige versteckte Variablen.

Ajits
quelle
3

Vielleicht würde es helfen , Admin-Pfade umzubenennen ?

Der Zweck dieses Moduls besteht darin, das Drupal-Backend durch Überschreiben des Administrationspfads abzusichern.

John
quelle
Ja, ich weiß, "Sicherheit durch Dunkelheit" ist überhaupt keine wirkliche Sicherheit, aber ich wollte eigentlich die Frage beantworten ...
John
Gute Antwort: Das Umbenennen von / user / login in custom / login / path kann sehr effizient sein, um Bots daran zu hindern, sich an der Standard-URL
anzumelden
3

Ich möchte dies genauso behandeln, wie fehlgeschlagene Anmeldungen von anderen Quellen (z. B. ssh, ftp) behandelt werden, sodass alle konsequent behandelt werden. Dafür würde ich mich mit fail2ban befassen , das ich mit großem Erfolg gegen SSH-Anmeldungen mit Brute Force eingesetzt habe. Darüber hinaus werden Überwachungstools und Blockierungen auf Firewall-Ebene unterstützt. Dies ist im Allgemeinen sicherer als das Verhindern von Drupal-Anmeldungen, da häufig mehrere Angriffsvektoren vom selben Ort stammen, z. B. wenn sie Metasploit ausführen .

Synchro
quelle
Ich bin damit einverstanden, aber diese Drupal-Installation, die auf einen gemeinsamen Hosting-Server abzielt, verhindert den Zugriff auf Einstellungen auf Serverebene. Ich kann nur versuchen, sie von Drupal aus zu schützen in den nächsten wochen. Danke
amstram
Ein Vorteil der Firewall-Ebene ist, dass Drupal nur ein Teil der Angriffsfläche Ihrer Website ist. Wenn jemand nicht über Drupal einsteigen kann, wird er wahrscheinlich sehen, ob ssh oder ftp oder ... andere Dienste ausgeführt werden, und dann versuchen, über diese Methoden einzusteigen.
greggles
3

Dies ist eigentlich völlig erwartetes Verhalten. Wann immer Sie eine Website auf einer öffentlichen IP veröffentlichen, werden Sie innerhalb von Stunden / Tagen solchen Traffic erhalten. 99,99% der Fälle sind dies nur Bots, die ein generisches Skript ausführen, um nach nicht gepatchten Anwendungen oder einfachen Passwörtern zu suchen. Dies erklärt, warum Sie auf domain.com/wp-login Treffer sehen, der (automatisierte) angreifende Host anfangs nicht einmal weiß, dass Sie Drupal ausführen, sondern alle Pfade der gängigen CMS, Wordpress, Drupal usw. ausprobiert. .

Ich sage, verschwenden Sie nicht zu viel Zeit damit. Was auch immer Sie tun, Sie werden immer diese Skripte auf Ihrer Website finden ... aus der ganzen Welt.

Zwei einfache Dinge machen Ihre App relativ sicher:

  1. Serve Login- und Admin-Seiten über https

  2. Habe ein anständiges Passwort für den Admin

Unabhängig davon, welches Sicherheitsschema Sie implementieren, haben Sie IMMER ein aktuelles Backup Ihrer Daten.

Viel Glück, guten Rutsch ins Neue Jahr.

stefgosselin
quelle
2

Wonach Sie fragen, ist nicht logisch, wenn Sie den Zugriff auf / user-Seite entfernen oder verhindern möchten.

Wenn Sie es irgendwie schaffen, diese Seite zu verhindern, wie werden Sie darauf zugreifen?

Außerdem bietet Drupal bereits eine Möglichkeit, solche Angriffe zu stoppen, indem der Zugriff auf einen Benutzer nach 5 Versuchen gesperrt wird.

Sie können die Versuche jedoch auf Ihr Administratorkonto beschränken.

Saadlulu
quelle
Hallo, danke, dass du geantwortet hast. Ich bitte nicht um etwas Bestimmtes. Ich bin nur auf der Suche nach Ideen, wie ich damit umgehen soll. Ich denke, die "5 Fehlversuche Sperre" ist ein Drupal 7 nur Funktionen, bin ich richtig? Ist es möglich, eine ähnliche Funktion in Drupal 6 zu implementieren?
Amstram
Ich habe keine Ahnung, da mein Hintergrund nur Frupal 7 ist. Ich überlasse das meinen Brüdern von Drupal 6 :). Sie können mir einen Gefallen tun und meine Antwort annehmen, wenn es Ihnen gefällt.
Saadlulu
Sie können auch die Anmeldesicherheit
saadlulu
Diese "Antwort" ist nicht gut, da die Sperre für 5 Versuche nur für Drupal 7 gilt und es immer Dinge zu tun gibt, um das Problem zu verhindern, auch darüber hinaus.
greggles