Drupal Admin-Bereich und Login, Sicherung mit HTTPS

15

Ich habe viel darüber gelesen und viele der Methoden ausprobiert, die ich gefunden habe, und konnte noch nichts richtig zum Laufen bringen.

Ich möchte den Admin-Bereich und die dazugehörigen Anmeldeseiten sichern können. Daher muss alles in example.com/admin/* oder example.com/user/* usw. über SSL / TLS erfolgen. Wir möchten, dass dies für jede Site mit dem Multisite-Setup gilt. Daher befinden sich example1.com, example2.com und example3.com alle auf demselben Server- / Benutzerkonto.

Die Einrichtung

  • Drupal 7 Multi Site
  • URLs bereinigen aktiviert
  • PHP 5.3
  • MySQL v14 d5
  • Apache2

Anmerkungen

  • Securepages ist keine Option, da es kein stabiles Drupal 7-Release gibt. Die Verwendung der vorhandenen Dev-Version erfordert das Patchen von Drupal Core, was gegen unsere Richtlinien verstößt
  • Habe Session 443 ohne Erfolg ausprobiert
  • Habe Secure Login ohne Erfolg versucht
  • Ein SSL-Zertifikat (das beim Testen selbst signiert wurde) ist installiert und funktioniert auf dem Server für andere Zwecke, nur nicht für Drupal.
  • Ich habe alle Dokumente auf Drupal.org zur Aktivierung von HTTPS gelesen und versucht, den Anweisungen dort mit wenig Erfolg zu folgen
  • Ich habe die Einstellung $ conf ['https'] in settings.php ohne erkennbare Ergebnisse umgeschaltet.

Die Fragen

Wenn ich HTTPS für alles auf einer Site aktiviere, erhalte ich eine 404 für alles, was versucht, https: // zu durchlaufen, was mich zu der Annahme veranlasst, dass die Umschreiberegeln für die https-Seiten nicht gelten. Was vermisse ich hier? Gibt es eine Umschreibebedingung / -regel, die ich zu htaccess hinzufügen kann, um dies zu beheben?

Ist dies kein gelöstes Problem in der Drupal-Community? Verlassen die Benutzer ihre Administrationsbereiche nur ungesichert, und die Benutzerkennwörter werden unverschlüsselt gesendet? Ich kann es kaum glauben, aber es scheint, dass es keine eingebaute oder allgemein bekannte Lösung für das Problem gibt.

KevinL
quelle
Gute Frage. Hast du das gelesen? drupal.stackexchange.com/questions/23149/...
Under
Drupal sollte sowohl unter http als auch unter https problemlos funktionieren. Ich vermute, Ihr Problem liegt in der Apache-Konfiguration (möglicherweise verweist die SSL-Site auf einen anderen DocumentRoot). Könnten Sie bitte Ihre Apache-Konfiguration und Drupal's .htaccess zur weiteren Analyse posten?
Por
@undersound Danke. Ja, ich habe das gelesen. Wir sind wirklich daran interessiert, alle administrativen Aufgaben über HTTPS abzusichern, nicht nur das Anmeldeereignis.
KevinL
2
Am besten testen Sie die beiden erforderlichen Kern-Patches, um sie zu genehmigen. Beide haben Updates von dieser Woche ...
squarecandy

Antworten:

4

Es ist nicht die Frage, die Sie gestellt haben, aber die einfachste Antwort ist, dass Sie einfach Ihre Richtlinie ändern sollten.

Das "Hacken" des Kerns (Patchen) und das Ausführen instabiler Releases ist die Realität beim Ausführen einer Website.

Die beiden für sichere Seiten erforderlichen Patches müssen häufig neu erstellt, überprüft oder verbessert werden. Beteiligen Sie sich an diesem Zyklus und helfen Sie, sie stabil zu halten.

gregelt
quelle
0

Ich habe die folgenden Einstellungen verwendet, um dies zu erreichen ... und brauchte kein Modul, um dies zu tun. 1) httpd.conf

#APACHE stuff...
Listen 443
NameVirtualHost *:443
Include conf.d/vhosts/*.conf #Need this for multi-site and subdomains

<IfModule mod_header.c>
#enable HSTS
Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains"
</IfModule>

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

2) conf.d / vhosts / site1.conf

<VirtualHost *:443>
#APACHE stuff...
SSLEngine on
RewriteCond %{HTTP_HOST} !^www\. [NC] #Force www... be careful with subdomains
RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</VirtualHost>

3) settings.php

$base_url = 'https://www.example.com';  // NO trailing slash!

Und Voooala !! Dadurch wird der gesamte http-Verkehr über https übertragen, einschließlich Ressourcen wie js und css. Wenn Sie Unterdomänen möchten, müssen Sie die entsprechenden ServerAlias-Anweisungen in die vhosts-Datei (en) einfügen.

John R
quelle
0

Ich benutze das Ubercart SSL-Modul, das ein fantastisches Modul ist, obwohl es schrecklich benannt ist . Sie müssen Ubercart nicht ausführen , um dieses Modul zu nutzen, das sehr stabil und benutzerfreundlich ist.

Shai
quelle