Drupal 관리 영역 및 로그인, HTTPS로 보안


15

나는 이것에 대해 많은 것을 읽었으며 내가 찾은 방법 중 많은 것을 시도했지만 아직 제대로 작동하지 못했습니다.

관리 영역과 관련 로그인 페이지를 보호하고 싶습니다. 따라서 example.com/admin/* 또는 example.com/user/* 등의 모든 항목은 SSL / TLS를 거쳐야합니다. 멀티 사이트 설정으로 각 사이트에 적용하고 싶습니다. 따라서 example1.com, example2.com, example3.com은 모두 동일한 서버 / 사용자 계정에 있습니다.

설정

  • 드루팔 7 멀티 사이트
  • 클린 URL 사용
  • PHP 5.3
  • MySQL v14 d5
  • 아파치 2

노트

  • 안정적인 Drupal 7 릴리스가 없기 때문에 Securepages는 옵션이 아니며 기존 개발 버전을 사용하려면 Drupal Core 패치가 필요합니다.
  • 성공하지 못한 Session 443 시도
  • 성공하지 못한 보안 로그인을 시도했습니다
  • SSL 인증서 (테스트 중 자체 서명 된 인증서)가 설치되어 Drupal이 아닌 다른 목적으로 서버에서 작동합니다.
  • Drupal.org에서 HTTPS 활성화에 대한 모든 문서를 읽었으며 거의 ​​성공하지 못한 상태에서 지시를 따르려고 시도했습니다.
  • settings.php의 $ conf [ 'https'] 설정을 식별 할 수있는 결과없이 토글했습니다.

질문들

사이트의 모든 항목에 대해 HTTPS를 사용하도록 설정하면 https : //를 통과하려는 모든 항목에 대해 404가 발생하여 다시 쓰기 규칙이 https 페이지에 적용되지 않는다고 생각하게됩니다. 내가 여기서 무엇을 놓치고 있습니까? 이 문제를 해결하기 위해 htaccess에 추가 할 수있는 다시 쓰기 조건 / 규칙이 있습니까?

Drupal 커뮤니티에서 해결 된 문제가 아닙니까? 사람들이 관리 구역을 보안되지 않은 채 방치하고 있습니까? 나는 이것을 믿기 어려워하지만 문제에 대한 내장 또는 일반적으로 알려진 해결책이없는 것 같습니다.


좋은 질문. 이거 읽었 어? drupal.stackexchange.com/questions/23149/…
저음

Drupal은 http와 https 모두에서 문제없이 작동합니다. 귀하의 문제는 Apache 구성 (SSL 사이트가 다른 DocumentRoot를 가리킬 수 있음)에 있다고 생각합니다. 추가 분석을 위해 Apache 구성 및 Drupal의 .htaccess를 게시 할 수 있습니까?
por

@undersound 감사합니다. 예, 나는 그것을 읽었습니다. 우리는 로그인 이벤트뿐만 아니라 HTTPS를 통해 모든 관리 작업을 보호하는 데 정말로 관심이 있습니다.
KevinL

2
아마도 가장 좋은 방법은 승인을 위해 필요한 두 가지 핵심 패치를 테스트하고 푸시하는 것입니다. 둘 다 이번 주에 업데이트되었습니다 ...
squarecandy

답변:


4

질문 한 것은 아니지만 가장 간단한 대답은 정책을 변경해야한다는 것입니다.

"해킹"코어 (패칭) 및 불안정한 릴리스 실행은 웹 사이트를 실행하는 현실입니다.

보안 페이지에 필요한 두 가지 패치는 종종 재롤, 검토 또는 개선이 필요합니다. 그주기에 참여하고 그들을 안정 시키도록 도와주십시오.


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!

그리고 voooala !! 이렇게하면 js 및 css와 같은 리소스를 포함하여 모든 http 트래픽이 https를 통해 이동합니다. 하위 도메인을 원하는 경우 vhosts 파일에 적절한 ServerAlias ​​지시문을 추가하십시오.


0

내가 사용 Ubercart SSL 모듈 이 끔찍하게되지만, 환상적인 모듈 의 이름을 . 매우 안정적이고 사용하기 쉬운이 모듈을 이용하기 위해 Ubercart실행할 필요없습니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.