web-dev-qa-db-ja.com

Drupal管理領域とログイン、HTTPSによる保護

私はこれについて多くのことを読んでいて、私が見つけた方法の多くを試していましたが、まだ適切に機能するものを得ることができていません。

管理領域と関連するログインページを保護できるようにしたい。したがって、example.com/admin/*やexample.com/user/*などのすべてのものは、SSL/TLSを経由する必要があります。マルチサイト設定の各サイトにこれを適用します。したがって、example1.com、example2.com、example3.comはすべて同じサーバー/ユーザーアカウントにあります。

セットアップ

  • Drupal 7マルチサイト
  • クリーンURLが有効
  • PHP 5.3
  • MySQL v14 d5
  • Apache2

注意事項

  • 安定したDrupal 7リリースがないため、Securepagesはオプションではありません。既存の開発バージョンを使用するには、パッチの適用が必要ですDrupalコア、これはポリシーに違反します。
  • セッション443を試したが成功しなかった
  • 安全なログインを試みたが成功しなかった
  • SSL証明書(現時点ではテスト中の自己署名証明書)がインストールされており、Drupal以外の目的でサーバー上で機能します。
  • HTTPSの有効化に関するDrupal.orgのすべてのドキュメントを読み、そこにある指示に従うようにしたがほとんど成功しなかった
  • Settings.phpの$ conf ['https']設定を切り替えましたが、認識できる結果はありませんでした。

質問

サイトのすべてに対してHTTPSを有効にすると、https://を通過しようとするすべてに対して404が返され、書き換えルールがhttpsページに適用されていないと思われます。ここで何が欠けていますか?これを修正するためにhtaccessに追加できる書き換え条件/ルールはありますか?

Drupalコミュニティの問題は解決していませんか?ユーザーのパスワードが平文で送信されているため、人々は管理領域を無防備のままにしていますか?これは信じられませんが、まだあるようですこの問題に対する組み込みのソリューションまたは一般的に知られているソリューションはありません。

15
KevinL

それはあなたが尋ねた質問ではありませんが、最も簡単な答えはあなたがただあなたの方針を変えるべきであるということです。

コアを「ハッキング」(パッチング)して不安定なリリースを実行することは、Webサイトを実行する現実です。

セキュアページに必要な2つのパッチは、頻繁に再ロール、レビュー、または改善が必要です。そのサイクルに参加して、彼らを安定させるのを手伝ってください。

4
greggles

私は次の設定を使用してこれを実現しました...それを行うためのモジュールは必要ありませんでした。 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!

そして、voooala !!これにより、jsやcssなどのリソースを含むすべてのhttpトラフィックがhttps経由で移動します。サブドメインが必要な場合は、vhostsファイルに適切なServerAliasディレクティブを追加してください。

0
John R

私は bercart SSLモジュール を使用していますが、これは恐ろしいnamedですが、素晴らしいモジュールです。あなたがするしないUbercartを実行する必要がある非常に安定していて使いやすいこのモジュールを利用します。

0
Shai