2011-11-07 6 views
0

BasicAuth 보호와 SSO (단일 사인온)을 동시에 사용할 수 있습니까? 우리는 크로스 도메인 싱글 사인온 (CDSSO)을 사용하고, 스테이징 서버를 BasicAuth를 통해 대중에게 숨기려하고, SSO를 통한 로그인을 사용하고자합니다. 서버를 보호하기 위해 해당 VHost 항목을 넣을 때마다 SSO가 더 이상 작동하지 않습니다. 아파치에 대한 우리의 가상 호스트 항목이 OpenAM에 대한 웹 정책 에이전트의 로그 파일이 있는지 확인하기 위해 dsame_check 동안 권한 부여 실패의 일종 ( 하트 비트 메시지의 가능성 종류가 제안이OpenAM을 통한 BasicAuth 및 SSO

<Directory /home/my_user/sites/my_site> 
    Options -MultiViews 
    AllowOverride All 
    Order deny,allow 
    Deny from all 
    Allow from 192.168.0.0/16 
    AuthType Basic 
    AuthBasicProvider file 
    AuthName "MyBasicAuth" 
    AuthUserFile /home/my_user/etc/htpasswd 
    Require valid-user 
    Satisfy Any 
</Directory> 

처럼 보인다 에이전트는 살아있다) : 정책 에이전트 컴퓨터의 아파치 액세스 로그에서

2011-11-04 16:48:16.069 Info 27773:7fb5259550e0 all: 
dsame_check_access(): starting... 
2011-11-04 16:48:16.069 Debug 27773:7fb5259550e0 all: 
get_request_url(): .. 
.. 
2011-11-04 16:48:16.069 Debug 27773:7fb5259550e0 all: 
get_request_url(): Returning request URL = 
http://..:80/error/HTTP_UNAUTHORIZED.html.var. 

우리가 얻을 다음 401 Unauthorized HTTP 오류 (192.168.1.1이 OpenAM 서버의 로컬 IP)입니다 :

192.168.1.1 - "" [07/Nov/2011:12:42:58 +0100] 
"POST /UpdateAgentCacheServlet?shortcircuit=false HTTP/1.1" 401 - "-" "Java/1.6" 

BasicAuth SSO를 사용하려면 어떻게 구성을 변경할 수 있습니까? 아니면 전혀 가능하지 않습니까? Apache 웹 서버 보호를 제거하면 dsame 확인과 SSO가 다시 작동합니다.

+0

BasicAuth는 Proof-of-Concept 시스템에서 작동하지만 DMZ 영역에서 실행되는 스테이징 및 프로덕션 시스템에서는 작동하지 않습니다. 따라서 DMZ의 향상된 보안과 관련이 있습니다. 아마도 방화벽 중 하나가 OpenAM 서버와 웹 정책 에이전트 간의 통신을 차단하고있을 것입니다. – 0x4a6f4672

+0

이 문제는 SUSE Linux Enterprise Server 11에서 실행중인 Apache 2.2.10에서 발생합니다. 우분투에서 실행되는 Apache 2.2.16 (Ubuntu 10.10) 또는 개념 시스템의 로컬 시스템에는 문제가 없습니다. 아파치 2.2.14 (우분투 10.04). – 0x4a6f4672

답변

0

HttpAuthentication 모듈을 통해 레일스 프레임 워크 자체를 통해 상위 수준의 BasicAuth 보호 기능을 추가 할 수 있습니다.

Apache와 Apache 에이전트가이 수준의 보호 기능을 인식하지 못하므로이 문제가 해결되었습니다.

class ApplicationController 
http_basic_authenticate_with :name => "..", :password => ".." 

한 경우에만 특정 환경에 대한 보호 기능을 활성화 if Rails.env.staging?을 추가 할 수 있습니다.