기본적으로 신뢰할 수 있는 환경에서 여러 정책 에이전트를 만드는 경우 정책 에이전트에는 동일한 UID 및 비밀번호가 포함됩니다. UID 및 비밀번호를 공유하므로 Access Manager는 에이전트를 구분할 수 없어 세션 쿠키를 가로챌 수 있는 상태로 열어 둘 수 있습니다.
아이디 공급자가 타사 또는 기업 내 허용되지 않은 그룹에 의해 개발된 응용 프로그램(또는 서비스 제공업체)에 사용자에 대한 인증, 권한 부여 및 프로필 정보를 제공하는 경우 취약점이 발생할 수 있습니다. 예상되는 보안 문제는 다음과 같습니다.
모든 응용 프로그램은 동일한 http 세션 쿠키를 공유합니다. 이렇게 되면 rogue 응용 프로그램이 세션 쿠키를 하이재킹하여 다른 응용 프로그램에 대해 사용자를 가장할 수 있습니다.
응용 프로그램이 https 프로토콜을 사용하지 않는 경우 세션 쿠키는 네트워크 도청에 취약합니다.
단 하나의 응용 프로그램이라도 해킹당하는 경우 전체 인프라의 보안이 손상될 위험이 있습니다.
감염된 응용 프로그램은 세션 쿠키를 사용하여 사용자에 대한 프로필 속성을 가져와서 수정할 수 있습니다. 사용자가 관리 권한을 가진 경우 응용 프로그램은 보다 많은 손상을 입을 수 있습니다.
Access Manager 관리 콘솔을 사용하여 각 에이전트에 대한 항목을 만듭니다.
에이전트를 만들 때 입력한 비밀번호에 대해 다음 명령을 실행합니다. 이 명령은 에이전트가 설치된 호스에서 호출되어야 합니다.
AccessManager-base/SUNWam/agents/bin/crypt_util agent123
이 명령을 실행하면 다음과 같은 출력이 표시됩니다.
WnmKUCg/y3l404ivWY6HPQ==
AMAgent.properties를 변경하여 새 값을 적용한 다음 에이전트를 다시 시작합니다. 예:
# The username and password to use for the Application authentication module. com.sun.am.policy.am.username = agent123 com.sun.am.policy.am.password = WnmKUCg/y3l404ivWY6HPQ== # Cross-Domain Single Sign On URL # Is CDSSO enabled. com.sun.am.policy.agents.cdsso-enabled=true # This is the URL the user will be redirected to after successful login # in a CDSSO Scenario. com.sun.am.policy.agents.cdcservletURL = http://server.example.com:port /amserver/cdcservlet
새 값을 반영하기 위해 Access Manager를 설치한 AMConfig.properties를 변경한 다음 Access Manager를 다시 시작합니다. 예:
com.sun.identity.enableUniqueSSOTokenCookie=true com.sun.identity.authentication.uniqueCookieName=sunIdentityServerAuthNServer com.sun.identity.authentication.uniqueCookieDomain=.example.com
Access Manager 콘솔에서 구성>플랫폼을 선택합니다.
쿠키 도메인 목록에서 쿠키 도메인 이름을 다음과 같이 변경합니다.