Wie kann ich verbergen, was ich für die Ausführung meiner Website verwende?

72

Kann ich irgendetwas tun, um zu verhindern, dass jemand weiß, dass meine Website Drupal verwendet, indem ich mir den Quellcode der Startseite ansehe? Ich beziehe mich auf Personen, die Websites mit einer Software scannen, die die zum Ausführen der Website verwendete Software erkennt, um sie mithilfe eines bekannten Schwachpunkts anzugreifen.

Wenn es nicht möglich ist, die Tatsache, dass die Site Drupal verwendet, vollständig zu verbergen, ist es dann zumindest möglich, sie zu verwechseln (z. B. durch Aliasing der Knotenseiten mit URLs wie http://example.com/servlets/<node-id>.jsp)?

kiamlaluno
quelle
76
Du willst Drupal nicht verstecken. Drupal ist großartig.
Damien Tournoud
4
Wie wäre es, wenn Sie die Datei CHANGELOG.txt zunächst aus dem Stammverzeichnis löschen würden? Nein, aber im Ernst - hört sich für mich nach völliger Zeitverschwendung an. Halten Sie sich mit den Sicherheitsupdates auf dem Laufenden, und Sie müssen nicht verbergen, dass es sich um Drupal handelt. Versteckt The Whitehouse die Tatsache, dass sie Drupal verwenden? Nein, sie schreien es von den Dächern :)
Tom Kirkpatrick
10
In diesem Fall bietet Sicherheit durch Verschleierung keine größere Sicherheit.
Bryan Casler
3
Vielleicht möchten Sie Cacking Drupal lesen : ein Tropfen auf den heißen Stein , eine hervorragende Abhandlung zur Sicherung Ihrer Drupal-Site.
Mawg
2
Wenn Sie nicht der Meinung sind, dass der Sicherheitsnutzungsfall zutrifft, finden Sie hier eine Alternative: Geschäftsgeheimnis. Ein Unternehmen möchte möglicherweise nicht, dass seine Konkurrenten leicht herausfinden können, woraus seine Site besteht. Oder eine Agentur oder ein Beratungsunternehmen möchte seine Konkurrenten über die aktuelle Palette der von ihr verwendeten Tools im Dunkeln halten.
user568458

Antworten:

53

Dies ist eine alte und bereits beantwortete Frage, aber ich habe kürzlich einige Anstrengungen unternommen, um eine Beschreibung aller Dinge zu verfassen, die Sie ändern müssten:

  • Entfernen Sie den Meta-Generator für Drupal 7
  • Entfernen Sie verräterischen Text wie CHANGELOG.txt
  • Überprüfen Sie den Expires-Header
  • Laufende Verzeichnisse für HTTP 200/404/403 Statuscodes
  • Nach Standard-Textnachrichten suchen - Alle benutzerbezogenen Nachrichten optimieren
  • Schauen Sie sich das HTML an - Standard-HTML aus Core und Modulen ist ein verräterisches Zeichen

Grundsätzlich: Es könnte technisch möglich sein, die Tatsache zu verbergen, dass Ihre Site Drupal ausführt, aber Sie würden so viel Zeit damit verbringen, dass es sich nicht lohnt. Sie sollten sich stattdessen darauf konzentrieren, es sicher zu machen und sichere Vorgänge durchzuführen (z. B. die Möglichkeit, Updates schnell bereitzustellen, Protokolle zu überwachen usw.).

gregelt
quelle
Sie haben ein DrupalJavaScript-Objekt vergessen , das umbenannt werden muss.
Mołot
@ Molot guter Punkt. Ist das möglich? Irgendein Hinweis, wie es geht? Mein Punkt ist, dass es die Zeit nicht wert ist, mehr Ratschläge zu geben, wie man es macht, ist nur hilfreich, wenn es diesen Punkt fördert. Ich hoffe, es ist wirklich schwer zu tun, was Sie erwähnen :)
greggles
Nun, ich habe es mit Mass Regex Replace auf einem Drupal-Verzeichnis getestet und es hat funktioniert ... aber ich glaube nicht, dass es wirklich gut ist. Und das natürlich mit jedem Modul-Update.
Mołot
Richtig. Es ist deine Zeit nicht wert. Konzentriere dich auf wichtigere Dinge :)
greggles
101

Sie können es nicht vollständig verbergen. Das meiste, was dazu benötigt wird, würde einen Hacking-Core erfordern. Das größte Kriterium ist die DrupalJavaScript-Variable, die von der Startseite oder von einer beliebigen Seite aus gelesen werden kann.

Wenn Sie die Sicherheit Ihrer Site verbessern möchten, indem Sie verbergen, dass es sich um eine Drupal-Site handelt, sollten Sie sich mehr um Codeüberprüfungen als um den Versuch bemühen, die Tatsache zu verbergen, dass die Site mit Drupal erstellt wurde.

googletorp
quelle
7
Einverstanden. Ein weiteres totes Versprechen ist die Struktur der CSS / JS / Image-Pfade.
Fuzzy76
2
Sie können auch /node/1die angezeigten Informationen anzeigen oder die HTTP-Header überprüfen .
Paul Jones
39
Wenn Sie versuchen, Ihre Site durch Unbekanntheit sicher zu verstecken, verschwenden Sie nur Ihre Zeit.
Dave Reid
6
Mit alledem einverstanden. Außerdem wäre es dann schwieriger für Leute, die CMS-Vergleiche
anstellen, festzustellen,
Relevant für das, was Geerlingguy sagte, war die Diskussion, die wir hier hatten: groups.drupal.org/node/113024#comments
coderintherye
42

Es ist zu einfach, Kiam!

  • Verwenden Sie einen Reverse-Proxy oder passen Sie Ihren http-Daemon an, um den lästigen http-Header von Drupal zu filtern
  • Verweigern Sie den http-Zugriff auf alle Drupal-Standardordner
  • Verwenden Sie die PHP-Ausgabepufferung, um Ihre HTML-Quelle neu zu schreiben und zu verdecken und unnötige Daten zu entfernen
  • Verwenden Sie den URL-Alias ​​oder custom_url_rewrite_in / outbound, um Ihre URLs in Unordnung zu bringen
  • Ändern Sie den Standard 404 Fehler, entfernen / ändern Sie update.php
  • Nehmen Sie weitere Änderungen vor, wenn jemand dies herausfindet

Und last but not least stellen Sie sicher, dass Ihre Site so einfach ist, dass JS oder CSS für normale Verhaltensweisen nicht erforderlich sind (verwenden Sie keine Views oder Ctools ...), unterstützen Sie keine Benutzerauthentifizierung usw., was bedeutet, dass Ihre Site sollte seien Sie so einfach wie eine statische HTML-Site.

Ok, all das, um die Leute glauben zu lassen, dass auf Ihrer Website kein Drupal läuft. Sicherheit durch Unbekanntheit ist jedenfalls nutzlos.

jcisio
quelle
@jcisio "Wie auch immer, Sicherheit durch Unbekanntheit ist nutzlos.", sollten Sie dies zusätzlich zu Ihrem Kommentar hinzugefügt haben: P.
Arpitr
@arpitr Alle anderen machen es so, ich glaube ich brauche es nicht;)
jcisio
34

Es gibt einen offiziellen Artikel und Diskussion über das gleiche .

Das kannst du nicht. Versuchen Sie nicht

  • Automatisierte Angriffe (mit Abstand die häufigsten) untersuchen den Server nicht einmal, bevor sie ihre Exploits versuchen .
    Inspizieren Sie die Protokolle aller High-Profile - Website werden Tausende von vergeblichen Anfragen zeigen , für /AspBB/db/betaboard.mdb _private/cmd.asp /scripts/../../winnt/system32/cmd.exe /wp-login/ /administrator/components/com_wmtgallery/admin.wmtgal, /cgi-bin/ip.cgi... und eine beliebige Anzahl von Versuchen zu historischen Exploits auf jedem unabhängigen System.
    Angriffe auf Exploits erfolgen auch dann, wenn die Exploits auf Ihrem Betriebssystem oder CMS nicht vorhanden sind. Was auch immer Sie tun, um Ihre Site falsch zu identifizieren, wird von Amateur-Hackern ignoriert.
  • Was auch immer Sie zu verbergen glauben, es gibt andere Hinweise für jedes System.
    Wenn Sie nur einige der Zeichenfolgen entfernen, die 'drupal' enthalten, wird Ihre Website nicht durch einen vernünftigen Schnüffler verschleiert. Es gibt Dutzende von Möglichkeiten, mit denen Sie erraten können, was auf Ihren Seiten geschaltet wird, und es gibt sogar dedizierte Dienste, mit denen Sie feststellen können, ob auf dieser Website Drupal ausgeführt wird. Nur die Schlüsselwörter, die Sie erkennen und für bedrohlich halten, sind eine kleine Untergruppe der tatsächlichen Indikatoren.
    Fragen Sie nach index.php /? Q = user. Versuchen Sie dann, diese Antwort zu deaktivieren, ohne Ihre Site zu beschädigen.
  • Sicherheit durch Unbekanntheit ist keine Sicherheit. Es gibt einen falschen Eindruck von "Sicherheit", wenn Sie nur Schwachstellen hinter einer Nebelwand verstecken, die jeder Angreifer, der eine echte Bedrohung darstellt, durchschauen kann.
  • Obwohl es nicht völlig unmöglich ist, den Code bis zu dem Punkt zu hacken, an dem die meisten Spuren von Drupal vor der HTML-Quelle verborgen sind (es ist immerhin Open Source), würden die dafür erforderlichen Schritte den Kern so stark beschädigen, dass Ihr gehackter Zweig des Codes wäre nicht kompatibel mit den echten Sicherheitsupdates , die Sie nicht patchen konnten, und wäre wirklich offen für echte zukünftige Bedrohungen, die vom Sicherheitsteam identifiziert wurden. Dies ist ein echter Weg zur Systemverwundbarkeit.
  • Die meisten wichtigen oder nützlichen Module verfügen über eine eigene Code-Signatur, die sich nur schwer verbergen lässt, wenn wesentliche Änderungen vorgenommen werden. Wenn Sie "Ansichten", "Cck", "Anzeige", "Imagecache", "JQuery", CSS-Aggregation, beigetragene Themen oder irgendetwas Nützliches auf Ihrer Website verwenden , kann jemand sagen . Um dies vollständig zu verbergen, müssten die Theme-Funktionen in der Regel vollständig konvertiert werden - zumindest. Selbst dann wird Obsfucation wahrscheinlich nicht funktionieren .
  • Um die Identifizierung vieler erweiterter Funktionen zu entfernen, wie beispielsweise die einfache Installation von Google Analytics, bei der möglicherweise Drupal-Bibliotheken zum Einsatz kommen, müssen Sie entweder auf diese Funktionen ganz verzichten oder sie so umschreiben, dass die Drupal-Infrastruktur nicht genutzt wird . Manchmal ist dies möglich, aber in allen Fällen ist es kontraproduktiv.

Vielleicht möchten Sie auch lesen Sichern Ihrer Site .

Denken Sie daran, nie Kern hacken

Niksmac
quelle
Obwohl ich damit einverstanden bin, denke ich, dass das Entfernen der Header, die sich auf PHP und Drupal beziehen, selbst als erste Verteidigungslinie eine gute Sache ist und auch keinen Zugriff auf Nicht-Index-PHP-Skripte erlaubt. Nein, natürlich werden die Leute immer einen Weg finden, um herauszufinden, ob Sie Drupal verwenden und denken, Sie könnten das dumm verbergen. Aber es schadet nicht, dem am wenigsten anspruchsvollen Hacker das Leben ein bisschen schwerer zu machen.
Matt Fletcher
1

Es hat keinen Sinn, sich zu verstecken, dass auf Ihrer Website Drupal ausgeführt wird. Das Entwickeln von Websites ist falsch. Worauf Sie sich konzentrieren sollten, ist Sicherheit. Stellen Sie sicher, dass Sie alle Sicherheitsmaßnahmen umsetzen und alles in Ordnung ist. Es gibt keinen Grund auf der Welt, sich zu verstecken, dass Sie ein bestimmtes cms oder eine andere Software verwenden. Mit FF-Addons wie Wappalyzer können Sie sofort feststellen, ob eine Site Drupal verwendet. Die Frage ist also ziemlich umstritten.

picxelplay
quelle
1

Sie können auch das Modul "Datei-Aliase" verwenden, um die Standarddateistruktur zu ändern.

Mit dem Modul " Datei-Aliase" können Sie anpassbare Token-Aliase für Ihre hochgeladenen Dateien verwenden. Auf diese Weise können Sie Ihr Dateisystem wie gewohnt organisieren und gleichzeitig sauber aussehende Pfade bereitstellen (dh keine weiteren / sites / default / files /).

John
quelle
1
Und? Das repariert einen winzigen Teil des Prozesses und vielleicht nicht einmal den wichtigsten.
greggles
1
Ich wollte die richtigen Antworten der oben genannten Personen nicht noch einmal wiederholen. Ich füge nur noch einen Tipp hinzu. Und ja, dieser Tipp ist sehr wichtig, da er bis jetzt am schwierigsten war und der einzige Weg, eine Site zu verstehen, Drupal ist, da der Webmaster normalerweise die üblichen Schritte außer diesem ausführt. Und ja, es ist sehr leicht zu verstehen, dass es sich um eine Drupal-Site handelt, nur wegen dieser Dateistruktur / Ordnerorganisation.
John
1

Ich stimme anderen Leuten zu, dass man es nicht ganz verstecken kann. Wenn Sie sich die HTML-Quelle ansehen, werden Sie feststellen, dass CSS- und JavaScript-Dateien häufig nicht aggregiert wurden. Die CSS- und JavaScript-Aggregation sollte aktiviert sein.

user140
quelle
0

In der Vergangenheit habe ich meine Schriften gegen die typischen Ruby-Projekt-Schriften wie Lucida Sans ausgetauscht und die Eingabegrößen erhöht, wie es bei allen hippen Kindern der Fall ist.

Ein weiteres Gewinnspiel ist die "Throbber" -Grafik für die automatische Vervollständigung von Feldern. Es funktioniert auch nicht, wenn Sie die Eingabegröße erhöhen. Hier ist eine, die Sie stehlen können: http://beta.seattlebedandbreakfast.com/misc/throbber.gif

doublejosh
quelle