Área de administrador de Drupal e inicio de sesión, asegurándolos con HTTPS

15

He estado leyendo mucho sobre esto y probando muchos de los métodos que he encontrado y aún no he podido hacer que nada funcione correctamente.

Quiero poder proteger el área de administración y las páginas de inicio de sesión asociadas. Por lo tanto, cualquier cosa en example.com/admin/* o example.com/user/*, etc., debe pasar por SSL / TLS. Nos gustaría que esto se aplique a cada sitio dentro de la configuración multisitio. Entonces example1.com, example2.com, example3.com están todos en la misma cuenta de servidor / usuario.

La puesta en marcha

  • Drupal 7 multi sitio
  • URL limpias habilitadas
  • PHP 5.3
  • MySQL v14 d5
  • Apache2

Notas

  • Securepages no es una opción, ya que no hay una versión estable de Drupal 7, y el uso de la versión de desarrollo existente requiere parchear Drupal Core, lo que va en contra de nuestra política
  • He probado la sesión 443 sin éxito
  • Probé el inicio de sesión seguro sin éxito
  • Se instala un certificado SSL (uno autofirmado por ahora, mientras se realiza la prueba) y funciona en el servidor para otros fines, solo que no para Drupal.
  • He leído todos los documentos en Drupal.org sobre cómo habilitar HTTPS y he intentado seguir las instrucciones allí con poco éxito.
  • Cambié la configuración de $ conf ['https'] en settings.php sin resultados perceptibles.

Las preguntas

Si habilito HTTPS para todo en un sitio, obtengo un 404 para cualquier cosa que intente pasar por https: //, lo que me lleva a pensar que las reglas de reescritura no se aplican a las páginas https. ¿Que me estoy perdiendo aqui? ¿Hay alguna regla / condición de reescritura que pueda agregar a htaccess para solucionar esto?

¿No es este un problema resuelto en la comunidad Drupal? ¿Las personas simplemente están dejando sus áreas de administración sin seguridad, y las contraseñas de los usuarios se envían de forma clara? Me resulta difícil de creer, pero parece que no hay una solución integrada o comúnmente conocida para el problema.

KevinL
fuente
Buena pregunta. ¿Has leído este? drupal.stackexchange.com/questions/23149/…
comprendido el
Drupal debería funcionar sin problemas en http y https. Supongo que su problema radica en la configuración de Apache (tal vez el sitio SSL apunta a un DocumentRoot diferente). ¿Podría publicar su configuración de Apache y .htaccess de Drupal para su posterior análisis?
por
@undersound Gracias. Sí, lo he leído. Estamos realmente interesados ​​en asegurar todas las tareas administrativas a través de HTTPS, no solo el evento de inicio de sesión.
KevinL
2
Probablemente la mejor apuesta es ayudar a probar y empujar los dos parches centrales necesarios para su aprobación. Ambos tienen actualizaciones de esta semana ...
squarecandy

Respuestas:

4

No es la pregunta que hizo, pero la respuesta más simple es que simplemente debe cambiar su política.

"Hackear" el núcleo (parchearlo) y ejecutar lanzamientos inestables es la realidad de ejecutar un sitio web.

Los dos parches necesarios para las páginas seguras a menudo necesitan re-rollos, revisiones o mejoras. Participe en ese ciclo y ayúdelos a mantenerse estables.

greggles
fuente
0

Utilicé la siguiente configuración para lograr esto ... y no necesitaba un módulo para hacerlo. 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!

Y voooala !! esto hará que todo el tráfico http viaje a través de https, incluidos recursos como js y css. Si desea subdominios, asegúrese de agregar las directivas de ServerAlias ​​apropiadas en los archivos vhosts.

John R
fuente
0

Utilizo el módulo Ubercart SSL, que es un módulo fantástico, aunque tiene un nombre horrible . Usted no necesita estar en ejecución Ubercart para tomar ventaja de este módulo, que es muy estable y fácil de usar.

Shai
fuente