세션 쿠키 관리
이 콘텐츠에서는 세션 쿠키를 관리하는 방법에 대해 설명합니다.
casso126kkr
이 콘텐츠에서는 세션 쿠키를 관리하는 방법에 대해 설명합니다.
SMSESSION 쿠키에 저장되는 정보
CA Single Sign-On으로 보호되는 영역의 사용자를 인증할 때 웹 에이전트는 SMSESSION을 생성합니다. SMSESSION 쿠키는 사용자 세션을 나타냅니다.
SMSESSION에는 다음 정보가 포함됩니다.
- ATTR_USERDN:사용자의 고유 이름을 나타냅니다.
- ATTR_SESSIONID:로그인 호출에서 반환된 세션 ID를 나타냅니다.
- ATTR_USERNAME:사용자 이름을 나타냅니다.
- ATTR_CLIENTIP:사용자가 보호되는 리소스에 대한 요청을 시작한 시스템의 IP 주소를 나타냅니다.
- ATTR_DEVICENAME:해당 토큰을 디코딩하는 에이전트의 이름을 나타냅니다.
- ATTR_IDLESESSIONTIMEOUT:세션의 최대 유휴 시간을 나타냅니다.
- ATTR_MAXSESSIONTIMEOUT:세션이 활성화될 수 있는 최대 시간을 나타냅니다.
- ATTR_STARTSESSIONTIME:로그인 성공 후 세션이 시작된 시간을 나타냅니다.
- ATTR_LASTSESSIONTIME:해당 세션 내에서 정책 서버에 마지막으로 액세스한 시간을 나타냅니다.
- ATTR_SESSIONSPEC:로그인 호출에서 반환된 세션 사양을 나타냅니다.
SESSIONSPEC에는 정책 서버만 해독할 수 있는 다음 정보가 포함됩니다.
- SessionVersion
- SessionStartTime
- SessionLastTime
- SessionMaxTimeout
- SessionIdleTimeout
- SessionLevel
- SessionId
- SessionIp
- SessionDn
- SessionDirOid
- SessionDirName
- SessionUnivId
- SessionType
- SessionAnonymous
- SessionImpersonatorName
- SessionLoginName
- SessionPersistent
- SessionDrift
- SessionImpersonatorDirName
- SessionAuthContext
세션 쿠키 생성 또는 업데이트 방지
Microsoft Outlook Web Access와 같은 일부 웹 응용 프로그램은 사용자가 현재 해당 응용 프로그램을 사용하지 않는 경우에도 HTTP 요청을 수행합니다. 예를 들어 응용 프로그램은 사용자가 서버에서 새 전자 메일을 확인하지 않는 경우에도 HTTP 요청을 수행합니다. 이러한 요청은 SMSESSION 쿠키를 업데이트할 수 있으므로 사용자가 유휴 상태인 경우에도 세션이 만료되지 않습니다. 백그라운드 요청이 수행되는 동안 웹 에이전트가 세션 쿠키를 생성하거나 업데이트하지 않도록 설정하면 세션을 만료할 수 있습니다.
세션 쿠키 생성 또는 업데이트를 방지하려면 필요에 따라 다음 매개 변수를 사용하십시오.
- OverlookSessionForMethods웹 에이전트가 모든 HTTP 요청의 요청 메서드와 비교하는 메서드의 목록을 지정합니다. 일치할 경우 웹 에이전트는 SMSESSION 쿠키를 생성 또는 업데이트하지 않습니다. 또한 쿠키 공급자가 구성되었을 경우 해당 요청에 대해 공급자가 업데이트되지 않습니다.기본값:기본값 없음
- OverlookSessionForUrls웹 에이전트가 모든 HTTP 요청의 URL과 비교하는 URL의 목록을 지정합니다. 일치할 경우 웹 에이전트는 SMSESSION 쿠키를 생성 또는 업데이트하지 않습니다. 또한 쿠키 공급자가 구성되었을 경우 해당 요청에 대해 공급자가 업데이트되지 않습니다.기본값:기본값 없음예:상대 URL(예: /MyDocuments/index.html)을 사용하십시오. http://fqdn.host/MyDocuments/index.html과 같은 절대 URL은 사용하지 마십시오.
- OverlookSessionAsPattern활성화된 경우 웹 에이전트는 OverlookSessionForUrls에 지정된 디렉터리 아래의 모든 URL에 대해 쿠키를 생성하지 않습니다.기본값:No옵션: Yes, No예:OverlookSessionForUrls 매개 변수에 /siteminder/를 지정하고 OverlookSessionAsPattern 매개 변수를 Yes로 설정합니다. 이 구성을 따르면 모든 /siteminder/* 요청에 대해 쿠키가 생성되지 않습니다.
참고:
OverlookSessionForMethods 및 OverlookSessionForUrls 매개 변수를 구성할 경우 메서드가 URL보다 먼저 처리됩니다.메서드와 URI를 기반으로 세션 쿠키 생성 또는 업데이트 방지
Microsoft Outlook Web Access와 같은 일부 웹 응용 프로그램은 사용자가 현재 해당 응용 프로그램을 사용하지 않는 경우에도 HTTP 요청을 수행합니다. 예를 들어 응용 프로그램은 사용자가 서버에서 새 전자 메일을 확인하지 않는 경우에도 HTTP 요청을 수행합니다. 이러한 요청은 SMSESSION 쿠키를 업데이트할 수 있으므로 사용자가 유휴 상태인 경우에도 세션이 만료되지 않습니다. 백그라운드 요청이 수행되는 동안 웹 에이전트가 세션 쿠키를 생성하거나 업데이트하지 않도록 설정하면 세션을 만료할 수 있습니다.
메서드 및 URI를 기반으로 하는 세션 쿠키의 생성 또는 업데이트를 방지하려면 다음 매개 변수를 모두 설정하십시오.
- OverlookSessionForMethods웹 에이전트가 모든 HTTP 요청의 요청 메서드와 비교하는 메서드의 목록을 지정합니다. 일치할 경우 웹 에이전트는 SMSESSION 쿠키를 생성 또는 업데이트하지 않습니다. 또한 쿠키 공급자가 구성되었을 경우 해당 요청에 대해 공급자가 업데이트되지 않습니다.기본값:기본값 없음
- OverlookSessionForMethodUri웹 에이전트가 모든 HTTP 요청의 메서드 및 URI를 이 매개 변수에 나열되는 메서드 및 URI와 비교할지 여부를 지정합니다. 일치할 경우 웹 에이전트는 SMSESSION 쿠키를 생성 또는 업데이트하지 않습니다. 쿠키 공급자가 구성되었을 경우 해당 요청에 대해 공급자가 업데이트되지 않습니다.기본값: 기본값 없음값: 상대 URI을 지정하십시오. 마침표와 URL 사이에 공백을 추가하지마십시오.예: POST,/directory/file은 /directory/resource에 대한 POST 요청의 SMSESSION 쿠키가 업데이트되지 않게 합니다.
참고
메서드가 URI보다 먼저 처리됩니다.세션 저장소를 사용하여 다중 도메인 싱글 사인온에 대한 보안 강화
기본적으로 에이전트는 다중 도메인 싱글 사인-온 작업 중에 쿠키 공급자 리디렉션 URL의 쿼리 문자열에서 SMSESSION 쿠키를 전달합니다. 이러한 작업 중에 보안을 강화하려면
StoreSessioninServer
매개 변수를 설정하여 에이전트 및 쿠키 공급자가 세션을 임시로 저장하고 리디렉션 URL에서 세션 쿠키 대신 저장된 세션을 식별하는 GUID를 전달하도록 구성하십시오.다음 단계를 수행하십시오.
- 운영 환경이 다음 조건을 충족하는지 확인합니다.
- 정책 서버에 세션 저장소가 구성되어 있습니다.
- 쿠키 공급자로 구성된 에이전트에 DefaultAgentName 매개 변수의 값이 설정되어 있습니다.
- 다중 도메인 싱글 사인온에 관련된 모든 에이전트 및 쿠키 공급자에서StoreSessioninServer에이전트 구성 매개 변수를Yes로 설정합니다.
세션 쿠키 도메인 유효성 검사
웹 에이전트가 세션 쿠키 도메인의 유효성을 검사하도록 설정하면 권한이 없는 사용자가 세션 쿠키를 하이재킹하여 다시 사용할 위험을 줄일 수 있습니다. 도메인의 유효성을 검사하려면
TrackSessionDomain
매개 변수를 사용하십시오. 이 매개 변수를 yes로 설정하면 웹 에이전트가 세션 쿠키의 의도된 도메인을 암호화하여 세션 쿠키 자체에 저장하게 됩니다. 이후의 요청에서 웹 에이전트는 세션 쿠키에 저장된 의도된 도메인과 요청된 리소스의 도메인을 비교합니다. 두 도메인이 일치하지않으면
웹 에이전트가 요청을 거부합니다.예를 들어 이 매개 변수를 yes로 설정하면 operations.example.com에 대해 의도된 세션 쿠키가 finance.example.com에서 제공되는 경우 해당 쿠키가 거부됩니다.
SSO를 사용하는
Single Sign-On
환경에서는 암호화된 세션 쿠키를 생성하는 웹 에이전트에 이 매개 변수를 설정하십시오. 예를 들어 SSO 환경에 a.example.com
및 b.example.com
이라는 도메인이 있다고 가정해 보십시오. a.example.com을 보호하는 웹 에이전트가 세션 쿠키를 암호화하는 경우 관련 웹 에이전트의 TrackSessionDomain 매개 변수 값을 설정하십시오. b.example.com을 보호하는 웹 에이전트는 쿠키를 받으면 의도된 도메인과 요청된 리소스의 도메인을 비교합니다.기본값:
No세션 도메인을 추적하려면 TrackSessionDomain 매개 변수의 값을
yes
로 설정하십시오.유효성 검사 기간 및 만료된 쿠키 URL을 사용하여 세션 쿠키의 오용 방지
Single Sign-On
은 시간을 기준으로 하는 세션 쿠키 매개 변수를 사용하므로 관리자 또는 다음 항목에 대한 액세스 권한이 있는 다른 사용자에 의해 세션 쿠키가 손상될 가능성을 크게 줄일 수 있습니다.- 웹 서버 로그
- 웹 에이전트 로그
- 도메인 간 싱글 사인온의 경우 도메인 사이에서 손상 리스크가 있는 프록시 서버
시간을 기준으로 하는 이러한 세션 쿠키 매개 변수는 "생성 날짜" 개념을 세션 쿠키에 추가합니다. 리디렉션의 결과로 URL 세션 쿠키를 받는 에이전트는 쿠키 생성 날짜 이름/값 쌍을 검색하고 이 값을 CookieValidationPeriod 구성 매개 변수에 설정된 값과 비교합니다. 생성 날짜 값과 CookieValidationPeriod 매개 변수 값이 현재 시간을 초과하면 쿠키가 거부됩니다.
세션 쿠키가 잘못 사용되지 않게 하려면 다음 매개 변수를 설정합니다.
- CookieValidationPeriod수신 에이전트가 세션 쿠키를 수락하는 시간(초)을 지정합니다. 이 시간이 경과하면 세션 쿠키가 수락되지 않습니다. 이 필드를 사용하지 않거나 0으로 설정하면 "유휴 시간 만료" 및 "Max Session Timeout"(최대 세션 시간 만료) 값이 되었을 때 세션 쿠키가 만료됩니다.기본값:비어 있음
- ExpiredCookieURL(선택 사항) 세션 쿠키가 만료된 후 에이전트가 사용자를 리디렉션할 대상 URL을 지정합니다. 생성 날짜와 CookieValidationPeriod가 구성되지 않은 경우 에이전트는 설정을 무시하고 쿠키를 정상적으로 처리합니다.
IdleTimeout 및 SessionGracePeriod 매개 변수가 세션 업데이트에 미치는 영향
세션 유예 기간은 구성된 유휴 만료 시간의 절반 이상으로 지정해야 합니다. 세션 유예 기간이 유휴 만료 시간의 절반보다 짧은 경우 에이전트는 다음 수식에 따라 새 세션 쿠키를 생성합니다.
IdleTimeout
- (SessionGracePeriod
* 2)예를 들어 세션 유예 기간이 25분이고 유휴 만료 시간이 60분인 경우 에이전트는 10분(60 - (25 * 2) = 10) 후에 세션 쿠키를 다시 생성합니다.