에이전트 및 프록시 서버
목차
sm1252sp1kkr
목차
프록시 서버 뒤의 에이전트 구성
웹 에이전트가 프록시 서버 뒤에 설치되는 경우 다음 매개 변수를 사용하여 웹 에이전트를 프록시 서버와 함께 작동하도록 구성할 수 있습니다.
- ProxyTrust프록시 서버의 CA Single Sign-On 에이전트로부터 받은 권한 부여를 트러스트하도록 대상 서버의 에이전트에 지시합니다. 대상 서버는 리버스 프록시 서버 뒤에 있는 서버입니다. 이 값을 yes로 설정하면 권한 부여를 위해 프록시 서버의 에이전트만 정책 서버에 연결하므로 효율성이 높아집니다. 대상 서버에서 작동하는 에이전트는 사용자 권한을 다시 부여할 때 정책 서버에 연결하지않습니다.기본값:No
- ExpireForProxy클라이언트에서 콘텐츠(페이지 및 가능한 경우 헤더 또는 쿠키)를 캐시하지 않도록 합니다. 이 매개 변수의 값을 yes로 설정하면 웹 에이전트가 다음 HTTP 헤더 중 하나를 HTTP 응답에 삽입합니다.
- 만료
- Cache-control
ExpireForProxy 매개 변수를 yes로 설정하면 웹 에이전트가 수행한 요청의 유형을 기반으로 해당 ProxyHeaderssuffix_name매개 변수에 지정된 문자열을 HTTP 응답에 삽입합니다.HTTP/1.1 요청의 경우 에이전트는 다음 매개 변수의 값을 응답에 헤더로 삽입합니다.
- ProxyHeadersAutoAuth
- ProxyHeadersProtected
- ProxyHeadersUnprotected
HTTP/1.0 요청의 경우 에이전트는 다음 매개 변수의 값을 응답에 헤더로 삽입합니다.
- ProxyHeadersAutoAuth10
- ProxyHeadersProtected10
- ProxyHeadersUnprotected10
기본값:
No이 매개 변수 이름에 'proxy'라는 단어가 포함되어 있긴 하지만 이 매개 변수의 설정은 웹 브라우저의 동작이나 이 매개 변수 설정을 사용하는 CA Single Sign-On 에이전트가 작동하는 웹 서버에 연결하는 다른 모든 클라이언트의 동작에도 영향을 줍니다.
프록시가 페이지를 캐시하지 않도록 하기 위해 웹 에이전트는 해당 페이지에 대한 Expires 헤더를 추가합니다. 이 헤더는 HTTP 1.0 사양에 지정된 대로 프록시가 페이지를 캐시하지 않도록 하기 위해 과거 날짜로 설정됩니다. 302 리디렉션의 경우 cache-control: no-cache 헤더가 대신 설정됩니다. 이 경우 콘텐츠 캐싱을 방지할 수는 있지만 IE(Internet Explorer)의 검색 환경에 영향을 줄 수 있습니다. 302 리디렉션에 대해 cache-control: no-cache를 사용하는 경우 IE에서 바로 문서 보기를 관리하는 ActiveX 구성 요소는 브라우저의 캐시를 통해 파일을 찾습니다. 이 헤더는 브라우저에 파일을 캐시하지 않도록 지시하므로 ActiveX 구성 요소에서 파일을 찾을 수 없으며 요청을 올바로 표시할 수 없습니다. 또한 ExpireForProxy를 yes로 설정하면 백엔드 서버가 프록시에 리소스를 캐시하지 않도록 지시합니다.
프록시 서버 뒤에 에이전트를 구성하려면
- ProxyTust매개 변수를 yes로 설정합니다.
- ExpireForProxy매개 변수를 yes로 설정합니다.
- (선택 사항) cache-control 및 ExpireForProxy HTTP 헤더의 값을 사용자 지정합니다.프록시 서버 뒤에 에이전트가 구성됩니다.
Cache-Control 및 ExpireForProxy 헤더 설정 사용자 지정
기존에 활성화된 응용 프로그램 파일(.doc, .pdf 등)에 영향을 주지 않고 캐시 제어 및 ExpireForProxy 헤더를 사용자 지정하여 웹 리소스를 보호할 수 있습니다. 다음 유형의 콘텐츠에 대해 특정 HTTP 헤더를 독립적으로 설정하여 웹 브라우저 또는 프록시 서버에서 콘텐츠를 캐시하는 방법을 제어할 수 있습니다.
- Auto-Authorized(자동 권한 부여)
- 보호 안 함
- 보호됨
중요!
RFC 2068에 따라 기본 설정을 변경할 때의 영향에 대해 잘 알고 있지 않다면 기본 설정을 사용하는 것이 좋습니다. 기본 설정을 변경할 계획이라면 사용자 세션이 생성된 후 보호되지 않는 페이지에 액세스할 때 유휴 시간 만료를 추적하기 위해 세션 쿠키가 업데이트된다는 점에 유의하십시오. 따라서 HTTP 헤더를 캐시하는 프록시에서 보호되지 않는 페이지를 캐시하지 않아야 합니다.헤더를 설정할 때는 다음과 같은 특성을 적용하여 프록시에서 캐시되지 않도록 하십시오.
- 모든 리디렉션이 캐시 제어를 설정합니다. 에이전트 작업에 관계없이 헤더를 캐시하지 않습니다.
- 웹 서버가 사용된 HTTP 프로토콜(1.0 또는 1.1 이상)을 기반으로 적절한 헤더를 프록시/클라이언트에 다시 보냅니다.
모든 매개 변수는 여러 헤더의 사용에 맞게 cache-control: private 및 cache-control: max-age=60과 같이 다중값 설정을 사용하여 구성되어야 합니다.
다음과 같이 새 구성을 설정합니다.
- ProxyHeadersDefaultTime- 기본값 60초
- ProxyHeadersTimeoutPercentage- 기본값 10%
- 다음과 같은 cache-control 헤더를 사용할 수 있습니다.
- sm1252sp1kkrProxyHeadersAutoAuth웹 에이전트 구성에서 ExpireForProxy 매개 변수가 yes로 설정된 경우 웹 에이전트가 클라이언트로 보낼 HTTP 응답에 삽입하는 HTTP 1.1 헤더의 값을 지정합니다. 이 헤더의 값은 자동으로 권한이 부여된 리소스를 캐시할지 여부또는그 기간을 결정합니다.기본값: Expires: Thu, 01 Dec 1994 16:00:00 GMT예(권장 설정): "Cache-control: max-age=60"
- sm1252sp1kkrProxyHeadersAutoAuth10웹 에이전트가 클라이언트로 보낼 HTTP 응답에 삽입하는 HTTP 1.0 헤더의 값을 지정합니다. 이 값은 ExpireForProxy 매개 변수가yes로 설정된 경우에만 적용됩니다. 이 헤더의 값은 자동으로 권한이 부여된 리소스를 캐시할지 여부 또는 그 기간을 결정합니다.기본값: Expires: Thu, 01 Dec 1994 16:00:00 GMT예(권장 설정): "Expires: Thu, 01 Dec 1994 16:00:00 GMT"
- sm1252sp1kkrProxyHeadersProtected웹 에이전트 구성에서 ExpireForProxy 매개 변수가 yes로 설정된 경우 웹 에이전트가 클라이언트로 보낼 HTTP 응답에 삽입하는 HTTP 1.1 헤더의 값을 지정합니다. 이 헤더의 값은 보호된 리소스를 캐시할지 여부 또는 그 기간을 결정합니다.기본값: Expires: Thu, 01 Dec 1994 16:00:00 GMTCache-Control: no-cache예(권장 설정): "Cache-Control: private"ProxyHeadersProtected="Cache-Control: max-age=60"
- sm1252sp1kkrProxyHeadersProtected10웹 에이전트 구성에서 ExpireForProxy 매개 변수가 yes로 설정된 경우 웹 에이전트가 클라이언트로 보낼 HTTP 응답에 삽입하는 HTTP 1.0 헤더의 값을 지정합니다. 이 헤더의 값은 보호된 리소스를 캐시할지 여부 또는 그 기간을 결정합니다.기본값: Expires: Thu, 01 Dec 1994 16:00:00 GMTCache-Control: no-cache예(권장 설정): "Expires: Thu, 01 Dec 1994 16:00:00 GMT"
- sm1252sp1kkrProxyHeadersUnprotected웹 에이전트 구성에서 ExpireForProxy 매개 변수가 yes로 설정된 경우 웹 에이전트가 클라이언트로 보낼 HTTP 응답에 삽입하는 HTTP 1.1 헤더의 값을 지정합니다. 이 헤더의 값은 보호되지 않은 리소스를 캐시할지 여부 또는 그 기간을 결정합니다.기본값: Expires: Thu, 01 Dec 1994 16:00:00 GMTCache-Control: no-cache예(권장 설정): ProxyHeadersUnprotected="Cache-Control: private"ProxyHeadersUnprotected="Cache-Control: max-age=60"
- sm1252sp1kkrProxyHeadersUnprotected10웹 에이전트 구성에서 ExpireForProxy 매개 변수가 yes로 설정된 경우 웹 에이전트가 클라이언트로 보낼 HTTP 응답에 삽입하는 HTTP 1.0 헤더의 값을 지정합니다. 이 헤더의 값은 보호되지 않은 리소스를 캐시할지 여부 또는 그 기간을 결정합니다.기본값: Expires: Thu, 01 Dec 1994 16:00:00 GMTCache-Control: no-cache예(권장 설정): "Expires: Thu, 01 Dec 1994 16:00:00 GMT"
보호되지 않는 HTTP/1.1 콘텐츠에 대해 제안된 설정의 cache-control 헤더와 같이 여러 헤더를 구성하는 경우 다음 내용에 주의하십시오.
- 구성 매개 변수가 여러 개 포함되어야 하고각 구성 매개 변수를 쉼표(,) 또는 더하기 기호(+)로 구분할 수 없습니다.
- 이러한 구성 매개 변수의 값은 HTTP 응답 헤더이므로 RFC 2616(HTTP/1.1의 경우), RFC 1945(HTTP/1.0의 경우) 및 RFC 822 사양을 준수해야 합니다. HTTP/1.1과 HTTP/1.0은 둘 다 HTTP 헤더의 형식을 RFC 822 메시지 형식, 즉 "Name: Value"(이름, 콜론, 공백 및 값이 순서대로 나옴)로 지정합니다.
사용자가 보호되지 않은 리소스에 액세스할 때 적절한 캐시 만료 헤더를 설정하도록 웹 에이전트를 구성하지
않으면
기본적으로 웹 에이전트에서 이러한 헤더를 설정하지 않으므로 웹 브라우저 또는 프록시 서버에서 SMSESSION 쿠키를 캐시할 수 있습니다. 캐시된 이 쿠키는 사용자가 다른 세션 및 다른 사용자 컨텍스트를 시작한 후 웹 브라우저나 프록시 서버에 의해 다시 사용될 수 있으므로 권한 없는 가장 문제가 발생할 수 있습니다.프록시 헤더 사용 정보
- 웹 에이전트가 프록시 헤더를 전송하지 않게 하려면 ProxyHeadersUnprotected 값을 비워 둡니다. 예:ProxyHeadersUnprotected=""참고:큰따옴표(")를 나타내려면 작은따옴표(')를 사용하십시오. 웹 에이전트에서 작은따옴표를 자동으로 큰따옴표로 변환합니다.
- %% 또는 이와 같은 값으로 간주되는 %d가 ProxyHeaders 행에 나타날 수 있습니다. 이 값은 IdleTimeout과 SessionTimeout 중 더 작은 값에 ProxyHeadersTimeoutPercentage를 곱한 값으로 대체되거나 만료 시간이 설정되지 않은 경우에는 ProxyHeadersDefaultTime이 사용됩니다.
- 표준(1.1 이상) 및 HTTP 1.0 헤더의 값이 백엔드 서버에 대한 요청에 맞게 올바로 설정되어야 합니다.
- ExpireForProxy="YES"를 설정하면 쿼리 문자열에 SMSESSION 쿠키를 전달하는 쿠키 공급자 리디렉션이 만료됩니다.
보안 고려 사항
로그아웃 후에도 브라우저 세션을 유지할 수 있으므로 SMSESSION 쿠키를 제거해도 같은 브라우저 세션을 사용하여 이전에 캐시한 파일을 볼 수 있습니다. 프록시 서버는 로그아웃 요청을 인식하지 못하고 보호된 콘텐츠 및 보호되지 않은 콘텐츠를 시간이 만료될 때까지(cache-control: max-age=60) cache-control: private 사용자의 캐시에 유지하기 때문에 이런 문제가 발생합니다. 따라서 이러한 요청은 유효한 SMSESSION 쿠키와 함께 페이지를 반환할 수 있습니다. 보안을 유지하려면 연결 유지 기능이 사용되지 않도록 설정하거나 브라우저를 닫아야 합니다.
또한 로컬 브라우저 캐시는 전체 세션에서 로컬 캐시를 관찰하므로 private/max-age 조합의 영향을 받습니다. 따라서 보호된 리소스의 max-age 시간을 최대한 짧게 설정해야 합니다.
if-modified-since 및 if-none-match 요청 헤더를 사용하는 경우,
allowcacheheaders
매개 변수를 "NO"
로 설정해도 프록시 서버가 이러한 헤더를 검색할 수 있습니다. 이 검색된 헤더는 프록시 서버에 따라 요청에 적용됩니다.다음 항목을 설치하여 이 문제를 해결하십시오.
- 프록시 서버의 웹 에이전트
- 요청에서 이러한 헤더를 제거하는 다른 필터
HTTP 1.0 또는 HTTP 1.1 이상에서는 다른 헤더를 사용하여 캐싱 프록시에 대한 지침을 지정하므로 연결 유형에 따라 가장 적절하게 처리되도록 이러한 버전을 구성해야 합니다.