Drupal管理エリアとログイン、HTTPSでそれらを保護する


15

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

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

セットアップ

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

ノート

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

質問

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

これは、Drupalコミュニティで解決された問題ではありませんか?ユーザーのパスワードは平文で送信され、管理者エリアは保護されないままになっていますか?これを信じるのは難しいと思いますが、問題に対する組み込みのまたは一般的に知られている解決策はないようです。


良い質問。これ読んだ?drupal.stackexchange.com/questions/23149/...
undersound

Drupalは、httpとhttpsの両方で問題なく動作するはずです。あなたの問題はApacheの設定にあると思います(SSLサイトが別のDocumentRootを指しているのかもしれません)。Apacheの設定とDrupalの.htaccessをさらに分析するために投稿してください。
ポル

@undersoundありがとうございます。はい、私はそれを読みました。サインインイベントだけでなく、すべての管理タスクをHTTPSで保護することに本当に関心があります。
ケビン

2
おそらく最善の策は、承認に向けて必要な2つのコアパッチのテストとプッシュを支援することです。彼らは両方とも今週から更新しています
...-squarecandy

回答:


4

それはあなたが尋ねた質問ではありませんが、最も簡単な答えは、ポリシーを変更するだけです。

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

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


0

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

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


0

私は素晴らしいモジュールであるUbercart SSLモジュールを使用していますが、それは恐ろしく名前が付けられています。このモジュールは非常に安定していて使いやすいので、Ubercart実行する必要ありませ

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.