에이전트 및 프록시 서버

목차
casso126kkr
목차
프록시 서버 뒤의 에이전트 구성
웹 에이전트가 프록시 서버 뒤에 설치되는 경우 다음 매개 변수를 사용하여 웹 에이전트를 프록시 서버와 함께 작동하도록 구성할 수 있습니다.
  • ProxyTrust
    프록시 서버의 CA Single Sign-On 에이전트로부터 받은 권한 부여를 트러스트하도록 대상 서버의 에이전트에 지시합니다. 대상 서버는 리버스 프록시 서버 뒤에 있는 서버입니다. 이 값을 yes로 설정하면 권한 부여를 위해 프록시 서버의 에이전트만 정책 서버에 연결하므로 효율성이 높아집니다. 대상 서버에서 작동하는 에이전트는 사용자 권한을 다시 부여할 때 정책 서버에 연결하지
    않습니다
    .
    기본값:
    No
     
  • ExpireForProxy
    클라이언트에서 콘텐츠(페이지 및 가능한 경우 헤더 또는 쿠키)를 캐시하지 않도록 합니다. 이 매개 변수의 값을 yes로 설정하면 웹 에이전트가 다음 HTTP 헤더 중 하나를 HTTP 응답에 삽입합니다.
    • 만료
    • Cache-control
    콘텐츠가 캐시되지 않으면 이후의 요청이 계속해서 전달됩니다.
    ExpireForProxy 매개 변수를 yes로 설정하면 웹 에이전트가 수행한 요청의 유형을 기반으로 해당 ProxyHeaders
    suffix_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로 설정하면 백엔드 서버가 프록시에 리소스를 캐시하지 않도록 지시합니다.
프록시 서버 뒤에 에이전트를 구성하려면
  1. ProxyTust
    매개 변수를 yes로 설정합니다.
  2. ExpireForProxy
    매개 변수를 yes로 설정합니다.
  3. (선택 사항) cache-control 및 ExpireForProxy HTTP 헤더의 값을 사용자 지정합니다.
    프록시 서버 뒤에 에이전트가 구성됩니다.
Cache-Control 및 ExpireForProxy 헤더 설정 사용자 지정
기존에 활성화된 응용 프로그램 파일(.doc, .pdf 등)에 영향을 주지 않고 캐시 제어 및 ExpireForProxy 헤더를 사용자 지정하여 웹 리소스를 보호할 수 있습니다. 다음 유형의 콘텐츠에 대해 특정 HTTP 헤더를 독립적으로 설정하여 웹 브라우저 또는 프록시 서버에서 콘텐츠를 캐시하는 방법을 제어할 수 있습니다.
  • Auto-Authorized(자동 권한 부여)
  • 보호 안 함
  • 보호됨
중요!
RFC 2068에 따라 기본 설정을 변경할 때의 영향에 대해 잘 알고 있지 않다면 기본 설정을 사용하는 것이 좋습니다. 기본 설정을 변경할 계획이라면 사용자 세션이 생성된 후 보호되지 않는 페이지에 액세스할 때 유휴 시간 만료를 추적하기 위해
Single Sign-On
세션 쿠키가 업데이트된다는 점에 유의하십시오. 따라서 HTTP 헤더를 캐시하는 프록시에서 보호되지 않는 페이지를 캐시하지 않아야 합니다.
헤더를 설정할 때는 다음과 같은 특성을 적용하여 프록시에서 캐시되지 않도록 하십시오.
  • 모든 리디렉션이 캐시 제어를 설정합니다. 에이전트 활동에 관계없이 헤더를 캐시하지 않습니다.
  • 웹 서버가 사용된 HTTP 프로토콜(1.0 또는 1.1 이상)을 기반으로 적절한 헤더를 프록시/클라이언트에 다시 보냅니다.
모든 매개 변수는 여러 헤더의 사용에 맞게 cache-control: private 및 cache-control: max-age=60과 같이 다중값 설정을 사용하여 구성되어야 합니다.
다음과 같이 새 구성을 설정합니다.
  1. ProxyHeadersDefaultTime
    - 기본값 60초
  2. ProxyHeadersTimeoutPercentage
    - 기본값 10%
  3. 다음과 같은 cache-control 헤더를 사용할 수 있습니다.
    • casso126kkr
      ProxyHeadersAutoAuth
      웹 에이전트 구성에서 ExpireForProxy 매개 변수가 yes로 설정된 경우 웹 에이전트가 클라이언트로 보낼 HTTP 응답에 삽입하는 HTTP 1.1 헤더의 값을 지정합니다. 이 헤더의 값은 자동으로 권한이 부여된 리소스를 캐시할지 여부
      또는
      그 기간을 결정합니다.
      기본값
      : Expires: Thu, 01 Dec 1994 16:00:00 GMT
      (권장 설정): "Cache-control: max-age=60"
    • casso126kkr
      ProxyHeadersAutoAuth10
      웹 에이전트가 클라이언트로 보낼 HTTP 응답에 삽입하는 HTTP 1.0 헤더의 값을 지정합니다. 이 값은 ExpireForProxy 매개 변수가
      yes
      로 설정된 경우에만 적용됩니다. 이 헤더의 값은 자동으로 권한이 부여된 리소스를 캐시할지 여부 또는 그 기간을 결정합니다.
      기본값
      : Expires: Thu, 01 Dec 1994 16:00:00 GMT
      (권장 설정): "Expires: Thu, 01 Dec 1994 16:00:00 GMT"
    • casso126kkr
      ProxyHeadersProtected
      웹 에이전트 구성에서 ExpireForProxy 매개 변수가 yes로 설정된 경우 웹 에이전트가 클라이언트로 보낼 HTTP 응답에 삽입하는 HTTP 1.1 헤더의 값을 지정합니다. 이 헤더의 값은 보호된 리소스를 캐시할지 여부 또는 그 기간을 결정합니다.
      기본값
      : Expires: Thu, 01 Dec 1994 16:00:00 GMT
      Cache-Control: no-cache
      (권장 설정): "Cache-Control: private"
      ProxyHeadersProtected="Cache-Control: max-age=60"
    • casso126kkr
      ProxyHeadersProtected10
      웹 에이전트 구성에서 ExpireForProxy 매개 변수가 yes로 설정된 경우 웹 에이전트가 클라이언트로 보낼 HTTP 응답에 삽입하는 HTTP 1.0 헤더의 값을 지정합니다. 이 헤더의 값은 보호된 리소스를 캐시할지 여부 또는 그 기간을 결정합니다.
      기본값
      : Expires: Thu, 01 Dec 1994 16:00:00 GMT
      Cache-Control: no-cache
      (권장 설정): "Expires: Thu, 01 Dec 1994 16:00:00 GMT"
    • casso126kkr
      ProxyHeadersUnprotected
      웹 에이전트 구성에서 ExpireForProxy 매개 변수가 yes로 설정된 경우 웹 에이전트가 클라이언트로 보낼 HTTP 응답에 삽입하는 HTTP 1.1 헤더의 값을 지정합니다. 이 헤더의 값은 보호되지 않은 리소스를 캐시할지 여부 또는 그 기간을 결정합니다.
      기본값
      : Expires: Thu, 01 Dec 1994 16:00:00 GMT
      Cache-Control: no-cache
      (권장 설정): ProxyHeadersUnprotected="Cache-Control: private"
      ProxyHeadersUnprotected="Cache-Control: max-age=60"
    • casso126kkr
      ProxyHeadersUnprotected10
      웹 에이전트 구성에서 ExpireForProxy 매개 변수가 yes로 설정된 경우 웹 에이전트가 클라이언트로 보낼 HTTP 응답에 삽입하는 HTTP 1.0 헤더의 값을 지정합니다. 이 헤더의 값은 보호되지 않은 리소스를 캐시할지 여부 또는 그 기간을 결정합니다.
      기본값
      : Expires: Thu, 01 Dec 1994 16:00:00 GMT
      Cache-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 이상에서는 다른 헤더를 사용하여 캐싱 프록시에 대한 지침을 지정하므로 연결 유형에 따라 가장 적절하게 처리되도록 이러한 버전을 구성해야 합니다.