Sun Java System Web Proxy Server 4.0.4 관리 설명서

13장 프록시를 통한 컨텐트 필터링

이 장에서는 프록시 서버가 URL에 대한 액세스를 허용하지 않거나 클라이언트에 반환되는 HTML 및 JavaScript 컨텐트를 수정하도록 URL을 필터링하는 방법에 대해 설명합니다. 또한 클라이언트가 사용하는 웹 브라우저(사용자 에이전트)를 기반으로 프록시를 통해 액세스를 제한할 수 있는 방법에 대해 설명합니다.

URL 필터를 사용하여 서버가 지원하는 URL을 결정할 수 있습니다. 예를 들어, 지원할 URL의 와일드카드 패턴을 수동으로 입력하는 대신 제한하려는 URL이 포함된 텍스트 파일 하나를 만들거나 구입할 수 있습니다. 이 기능을 사용하여 다양한 프록시 서버에서 사용할 수 있는 단일 URL 파일을 만들 수 있습니다.

또한 MIME 유형을 기반으로 URL을 필터링할 수 있습니다. 예를 들어, 프록시를 통해 HTML 및 GIF 파일을 캐시하고 전송할 수 있지만 컴퓨터 바이러스 위험이 있는 이진 파일이나 실행 파일을 가져오지 못하게 할 수 있습니다.

이 장은 다음 내용으로 구성되어 있습니다.

URL 필터링

URL 파일을 사용하여 프록시 서버가 검색하는 컨텐트를 구성할 수 있습니다. 프록시가 항상 지원하는 URL 목록과 프록시가 지원하지 않는 URL 목록을 설정할 수 있습니다.

예를 들어, 어린이에게 적합한 컨텐트를 제공하는 프록시 서버를 실행하는 인터넷 서비스 제공자는 어린이가 볼 수 있도록 승인된 URL 목록을 설정할 수 있습니다. 그런 다음 프록시 서버가 승인된 URL만 검색하도록 할 수 있습니다. 클라이언트가 지원되지 않는 URL로 이동하려는 경우 프록시가 기본 "Forbidden" 메시지를 반환하게 하거나 클라이언트가 해당 URL에 액세스할 수 없는 이유를 설명하는 사용자 정의 메시지를 만들 수 있습니다.

URL을 기반으로 액세스를 제한하려면 허용하거나 제한할 URL 파일을 만듭니다. Server Manager를 통해 이 작업을 수행할 수 있습니다. 파일이 만들어지면 제한을 설정할 수 있습니다. 다음 절에서 이러한 절차에 대해 설명합니다.

URL 필터 파일 만들기

필터 파일은 URL 목록이 포함된 파일입니다. 프록시 서버가 사용하는 필터 파일은 다음 패턴의 URL 행이 있는 일반 텍스트 파일입니다.

protocol://host:port/path/filename

다음 세 가지 섹션 모두에서 정규 표현식을 사용할 수 있습니다. protocol , host:portpath/filename. 예를 들어, netscape.com 도메인으로 이동하는 모든 프로토콜에 대해 URL 패턴을 만드는 경우 해당 파일에 다음 행이 있어야 합니다.

.*://.*\\.example\\.com/.*

이 행은 포트 번호를 지정하지 않은 경우에만 작동합니다. 정규 표현식에 대한 자세한 내용은 16 장, 템플리트 및 자원 관리의 "정규 표현식 이해"를 참조하십시오.

Server Manager를 사용하지 않고 고유한 파일을 만드는 경우 Server Manager 페이지를 사용하여 빈 파일을 만든 다음 해당 파일에 텍스트를 추가하거나 파일을 정규 표현식을 포함하는 파일로 바꿉니다.

Procedure필터 파일 만드는 방법

  1. Server Manager에 액세스하고 Filters 탭을 누릅니다.

  2. Restrict URL Filter Access 링크를 누릅니다.

    Restrict URL Filter Access 페이지가 표시됩니다.

  3. Create/Edit 버튼 옆에 있는 드롭다운 목록에서 New Filter를 선택합니다.

  4. 드롭다운 목록 오른쪽에 있는 입력란에 필터 파일 이름을 입력한 다음 Create/Edit 버튼을 누릅니다.

    Filter Editor 페이지가 표시됩니다.

  5. Filter Content 스크롤 가능 입력란을 사용하여 URL 및 URL의 정규 표현식을 입력합니다.

    Reset 버튼을 누르면 이 필드의 모든 텍스트가 삭제됩니다.

    정규 표현식에 대한 자세한 내용은 16 장, 템플리트 및 자원 관리의 "정규 표현식 이해"를 참조하십시오.

  6. OK를 누릅니다.

    프록시 서버가 파일을 만들어 Restrict URL Filter Access 페이지에 반환합니다. 필터 파일은 proxy-serverid/conf_bk 디렉토리에서 만들어집니다.

필터 파일에 대한 기본 액세스 설정

사용할 URL이 포함된 필터 파일이 있는 경우 이러한 URL에 대해 기본 액세스를 설정할 수 있습니다.

Procedure필터 파일에 대해 기본 액세스 설정 방법

  1. Server Manager에 액세스하고 Filters 탭을 누릅니다.

  2. Restrict URL Filter Access 링크를 누릅니다.

    Restrict URL Filter Access 페이지가 표시됩니다.

  3. 필터와 사용할 템플리트를 선택합니다.

    일반적으로 전체 프록시 서버에 대한 필터 파일을 만들지만 HTTP에 대한 필터 파일 집합과 FTP에 대한 필터 파일 집합을 구분할 수도 있습니다.

  4. URL Filter To Allow 목록을 사용하여 프록시 서버가 지원할 URL이 포함된 필터 파일을 선택합니다.

  5. URL Filter To Deny 목록을 사용하여 프록시 서버에서 액세스를 거부할 URL이 포함된 필터 파일을 선택합니다.

  6. 프록시 서버에서 거부된 URL을 요청한 클라이언트에 반환할 텍스트를 선택합니다.

    • 프록시가 생성하는 기본 "Forbidden" 응답을 보냅니다.

      • 텍스트 또는 사용자 정의된 텍스트가 있는 HTML 파일을 보냅니다. 이 파일에 대한 절대 경로를 입력란에 입력합니다.

  7. OK를 누릅니다.

  8. Restart Required를 누릅니다. Apply Changes 페이지가 표시됩니다.

  9. Restart Proxy Server 버튼을 눌러 변경 사항을 적용합니다.

컨텐트 URL 다시 작성

Proxy Server는 클라이언트로 반환되는 컨텐트를 조사하여 URL과 같은 패턴을 다른 문자열로 바꿀 수 있습니다. 다음과 같은 두 가지 매개 변수를 구성할 수 있습니다. 소스 문자열 및 대상 문자열. Proxy Server는 소스 문자열과 일치하는 텍스트를 찾아 대상 문자열에 있는 텍스트로 대체합니다. 이 기능은 역방향 프록시 모드에서만 작동합니다.

ProcedureURL 다시 작성 패턴을 만드는 방법

  1. Server Manager에 액세스하고 Filters 탭을 누릅니다.

  2. Set Content URL Rewriting 링크를 누릅니다.

    Set Content URL Rewriting 페이지가 표시됩니다.

  3. 드롭다운 목록에서 자원을 선택하거나 정규 표현식을 지정합니다.

    정규 표현식에 대한 자세한 내용은 16 장, 템플리트 및 자원 관리의 "정규 표현식 이해"를 참조하십시오.

  4. Source Pattern 입력란에 소스 문자열을 지정합니다.

  5. Destination Pattern 입력란에 대상 문자열을 지정합니다.

  6. MIME Pattern 입력란에 컨텐트 유형을 지정합니다.

  7. OK를 누릅니다.

  8. Restart Required를 누릅니다.

    Apply Changes 페이지가 표시됩니다.

  9. Restart Proxy Server 버튼을 눌러 변경 사항을 적용합니다.

ProcedureURL 다시 작성 패턴 편집 방법

  1. Server Manager에 액세스하고 Filters 탭을 누릅니다.

  2. Set Content URL Rewriting 링크를 누릅니다.

    Set Content URL Rewriting 페이지가 표시됩니다.

  3. 편집할 URL 다시 작성 패턴 옆에 있는 Edit 링크를 누릅니다.

  4. OK를 누릅니다.

  5. Restart Required를 누릅니다.

    Apply Changes 페이지가 표시됩니다.

  6. Restart Proxy Server 버튼을 눌러 변경 사항을 적용합니다.

ProcedureURL 다시 작성 패턴 삭제 방법

  1. Server Manager에 액세스하고 Filters 탭을 누릅니다.

  2. Set Content URL Rewriting 링크를 누릅니다.

    Set Content URL Rewriting 페이지가 표시됩니다.

  3. 삭제할 URL 다시 작성 패턴 옆에 있는 Remove 링크를 누릅니다.

    OK를 눌러 삭제를 확인합니다.

  4. Restart Required를 누릅니다.

    Apply Changes 페이지가 표시됩니다.

  5. Restart Proxy Server 버튼을 눌러 변경 사항을 적용합니다.

특정 웹 브라우저에 대한 액세스 제한

클라이언트의 웹 브라우저 유형 및 버전을 기반으로 프록시 서버에 대한 액세스를 제한할 수 있습니다. 요청 시 모든 웹 브라우저가 서버에 전송하는 사용자 에이전트 헤더를 기반으로 제한이 수행됩니다.

Procedure클라이언트의 웹 브라우저를 기준으로 프록시에 대한 액세스 제한 방법

  1. Server Manager에 액세스하고 Filters 탭을 누릅니다.

  2. Set User-Agent Restriction 링크를 누릅니다.

    Set User-Agent Restriction 페이지가 표시됩니다.

  3. 드롭다운 목록에서 자원을 선택하거나 Proxy Server가 지원할 브라우저에 대해 사용자 에이전트 문자열과 일치하는 정규 표현식을 입력합니다.

    둘 이상의 클라이언트를 지정하려는 경우 정규 표현식을 괄호로 묶고 | 문자를 사용하여 여러 항목을 구분합니다. 정규 표현식에 대한 자세한 내용은 16 장, 템플리트 및 자원 관리의 "정규 표현식 이해"를 참조하십시오.

  4. Allow Only User-Agents Matching 옵션을 선택합니다.

  5. OK를 누릅니다.

  6. Restart Required를 누릅니다.

    Apply Changes 페이지가 표시됩니다.

  7. Restart Proxy Server 버튼을 눌러 변경 사항을 적용합니다.

요청 차단

업로드 컨텐트 유형을 기반으로 파일 업로드 및 기타 요청을 차단할 수 있습니다.

ProcedureMIME 유형을 기반으로 요청을 차단하는 방법

  1. Server Manager에 액세스하고 Filters 탭을 누릅니다.

  2. Set Request Blocking 링크를 누릅니다.

    Set Request Blocking 페이지가 표시됩니다.

  3. 드롭다운 목록에서 자원을 선택하거나 Regular Expression 버튼을 눌러 정규 표현식을 입력하고 OK를 누릅니다.

  4. 원하는 요청 차단 유형을 선택합니다.

    • Disabled — 요청 차단을 비활성화합니다

    • Multipart MIME(File Upload) — 모든 파일 업로드를 차단합니다.

    • MIME Types Matching Regular Expression — 입력한 정규 표현식과 일치하는 MIME 유형의 요청을 차단합니다. 정규 표현식에 대한 자세한 내용은 16 장, 템플리트 및 자원 관리의 "정규 표현식 이해"를 참조하십시오.

  5. 모든 클라이언트에 대해 요청을 차단할지 또는 입력한 정규 표현식과 일치하는 사용자 에이전트에 대해 요청을 차단할지 여부를 선택합니다.

  6. 요청을 차단할 메소드를 선택합니다.

    옵션은 다음과 같습니다.

    • Any Method With Request Body — 메소드와 관계 없이 요청 본문이 있는 모든 요청을 차단합니다.

    • Only For:

      • POST — POST 메소드를 사용하여 파일 업로드 요청을 차단합니다.

      • PUT — PUT 메소드를 사용하여 파일 업로드 요청을 차단합니다.

    • Methods Matching Regular Expression — 입력한 메소드를 사용하여 모든 파일 업로드 요청을 차단합니다.

  7. OK를 누릅니다.

  8. Restart Required를 누릅니다.

    Apply Changes 페이지가 표시됩니다.

  9. Restart Proxy Server 버튼을 눌러 변경 사항을 적용합니다.

전송 헤더 억제

일반적으로 보안 상의 이유로 요청에서 전송 헤더를 표시하지 않도록 프록시 서버를 구성할 수 있습니다. 예를 들어, 사용자의 전자 메일 주소가 표시되는 From 헤더가 표시되지 않도록 할 수 있습니다. 또는 외부 서버가 조직에서 사용하는 웹 브라우저를 확인할 수 없도록 사용자 에이전트 헤더를 필터링할 수 있습니다. 또한 요청이 인터넷으로 전달되기 전에 인트라넷에서만 사용되는 로깅 또는 클라이언트 관련 헤더를 제거할 수 있습니다.

이 기능은 프록시 자체에서 특수하게 처리되거나 생성되는 헤더 또는 If-Modified-Since 및 Forwarded와 같이 프로토콜이 제대로 작동하는 데 필요한 헤더에는 영향을 주지 않습니다.

프록시에서 생성되어 전달된 헤더에는 보안 문제가 없습니다. 원격 서버가 해당 연결에서 연결되는 프록시 호스트를 감지할 수 있습니다. 프록시 체인에서 내부 프록시로부터 전달된 헤더는 외부 프록시에 의해 표시되지 않을 수 있습니다. 내부 프록시 또는 클라이언트 호스트 이름이 원격 서버에 공개되지 않도록 하려면 이 방법을 사용하여 서버를 설정하는 것이 좋습니다.

Procedure전송 헤더 억제 방법

  1. Server Manager에 액세스하고 Filters 탭을 누릅니다.

  2. Suppress Outgoing Headers 링크를 누릅니다.

    Suppress Outgoing Headers 페이지가 표시됩니다.

  3. 표시하지 않을 요청 헤더 목록을 쉼표로 구분하여 Suppress Headers 입력란에 입력합니다.

  4. Restart Required를 누릅니다.

    Apply Changes 페이지가 표시됩니다.

  5. Restart Proxy Server 버튼을 눌러 변경 사항을 적용합니다.

MIME 유형별 필터링

MIME 유형과 일치하는 특정 파일을 차단하도록 프록시 서버를 구성할 수 있습니다. 예를 들어, 실행 파일 또는 이진 파일을 차단하도록 프록시 서버를 설정하여 프록시 서버를 사용하는 클라이언트가 컴퓨터 바이러스를 다운로드할 수 없도록 합니다.

프록시 서버가 새 MIME 유형을 지원하도록 하려면 Server Manager에서 Preferences > Create/Edit MIME Types를 선택하고 해당 유형을 추가합니다. MIME 유형 만들기에 대한 자세한 내용은 MIME 유형 만들기를 참조하십시오.

필터링하는 MIME 유형을 템플리트와 결합하여 특정 URL에 대해 특정 MIME 유형만 차단할 수 있습니다. 예를 들어, .edu 도메인의 컴퓨터에서 들어오는 실행 파일을 차단할 수 있습니다.

ProcedureMIME 유형별 필터링 방법

  1. Server Manager에 액세스하고 Filters 탭을 누릅니다.

  2. Set MIME Filters 링크를 누릅니다.

    Set MIME Filters 페이지가 표시됩니다.

  3. MIME 유형 필터링에 사용할 템플리트를 선택하거나 전체 서버를 편집하는 중인지 확인합니다.

  4. Current filter 입력란에 차단할 MIME 유형과 일치하는 정규 표현식을 입력할 수 있습니다.

    예를 들어, 모든 응용 프로그램을 필터링하기 위해 정규 표현식에 application/.*을 입력할 수 있습니다. 이 방법은 모든 응용 프로그램 유형에 대해 각 MIME 유형을 확인하는 것보다 빠릅니다. 정규 표현식은 대소문자를 구분하지 않습니다. 정규 표현식에 대한 자세한 내용은 16 장, 템플리트 및 자원 관리의 "정규 표현식 이해"를 참조하십시오.

  5. 필터링하려는 MIME 유형을 선택합니다.

    클라이언트가 차단된 파일에 대한 액세스를 시도하는 경우 프록시 서버는 "403 Forbidden" 메시지를 반환합니다.

  6. OK를 누릅니다.

  7. Restart Required를 누릅니다.

    Apply Changes 페이지가 표시됩니다.

  8. Restart Proxy Server 버튼을 눌러 변경 사항을 적용합니다.

HTML 태그별 필터링

파일을 클라이언트로 전달하기 전에 필터링할 HTML 태그를 지정할 수 있습니다. 이 방법을 통해 Java 애플릿 및 HTML 파일에 포함된 JavaScript와 같은 객체를 필터링할 수 있습니다. HTML 태그를 필터링하려면 HTML 태그의 시작과 끝을 지정합니다. 그러면 프록시는 파일을 클라이언트로 전송하기 전에 이러한 태그에 있는 모든 텍스트 및 객체를 공백으로 대체합니다.

프록시가 해당 자원을 캐시하도록 구성된 경우 프록시는 편집되지 않은 원본 파일을 저장합니다.

ProcedureHTML 태그 필터링 방법

  1. Server Manager에 액세스하고 Filters 탭을 누릅니다.

  2. Set HTML Tag Filters 링크를 누릅니다.

    Set HTML Tag Filters 페이지가 표시됩니다.

  3. 수정할 템플리트를 선택합니다.

    HTTP를 선택하거나 .edu 도메인에 있는 호스트의 URL과 같이 특정 URL만 지정하는 템플리트를 선택할 수 있습니다.

  4. 필터링할 기본 HTML 태그를 선택합니다.

    • APPLET은 일반적으로 Java 애플릿 주위에 위치합니다.

    • SCRIPT는 JavaScript 코드의 시작을 표시합니다.

    • IMG는 인라인 이미지 파일을 지정합니다.

  5. 필터링할 HTML 태그를 입력할 수 있습니다.

    HTML 태그의 시작과 끝을 입력합니다.

    예를 들어, 양식을 필터링하기 위해 Start Tag 상자에 FORM을 입력하고 End Tag 상자에 /FORM을 입력할 수 있습니다. HTML 태그는 대소문자를 구분하지 않습니다. 필터링할 태그에 OBJECTIMG와 같은 종료 태그가 없는 경우 End Tag 상자를 비워둘 수 있습니다.

  6. OK를 누릅니다.

  7. Restart Required를 누릅니다.

    Apply Changes 페이지가 표시됩니다.

  8. Restart Proxy Server 버튼을 눌러 변경 사항을 적용합니다.

컨텐트 압축용으로 서버 구성

Proxy Server는 HTTP 컨텐트 압축을 지원합니다. 컨텐트 압축을 사용하면 클라이언트에 대한 전달 속도가 빨라지고 하드웨어 추가 비용 없이 컨텐트 볼륨을 늘릴 수 있습니다. 컨텐트 압축은 다운로드 시간을 단축시키므로 전화 접속 및 높은 수준의 트래픽 연결 사용자는 더 많은 혜택을 누릴 수 있습니다.

컨텐트 압축을 통해 Proxy Server는 압축된 데이터를 전송하고 데이터를 신속하게 압축 해제하도록 브라우저에 지시합니다. 이 압축으로 인해 전송되는 데이터 양은 감소되고 페이지 표시 속도는 빨라집니다.

요청 시 컨텐트를 압축하도록 서버 구성

전송 데이터를 신속하게 압축하도록 Proxy Server를 구성할 수 있습니다. 동적으로 생성된 HTML 페이지는 사용자가 요청할 때까지 존재하지 않습니다.

Procedure요청 시 컨텐트를 압축하도록 서버를 구성하는 방법

  1. Server Manager에 액세스하고 Filters 탭을 누릅니다.

  2. Compress Content on Demand 링크를 누릅니다.

    Compress Content on Demand 페이지가 표시됩니다.

  3. 드롭다운 목록에서 자원을 선택하거나 정규 표현식을 입력합니다.

    정규 표현식에 대한 자세한 내용은 16 장, 템플리트 및 자원 관리의 "정규 표현식 이해"를 참조하십시오.

  4. 다음 정보를 지정합니다.

    • Activate Compress Content on Demand? 서버가 선택된 자원에 대해 미리 압축된 컨텐트를 서비스해야 하는지 선택합니다.

    • Vary Header. Vary: Accept-encoding 헤더를 삽입할지 지정합니다. Yes 또는 No를 선택합니다. Yes로 설정하면 파일의 압축된 버전이 선택되는 경우 Vary: Accept-encoding 헤더가 삽입됩니다.

      no로 설정되면 Vary: Accept-encoding 헤더가 삽입되지 않습니다.

      기본값은 yes로 설정됩니다.

    • Fragment Size. 압축 라이브러리( zlib)가 한 번에 압축할 양을 제어하는 데 사용하는 메모리 단편 크기(바이트)를 지정합니다. 기본값은 8096입니다.

    • Compression Level. 압축의 수준을 지정합니다. 1 - 9 사이 값을 선택합니다. 값 1은 속도가 최고이고 9는 압축율이 최고입니다. 기본값은 6으로 속도와 압축율이 조화된 값입니다.

  5. OK를 누릅니다.

  6. Restart Required를 누릅니다.

    Apply Changes 페이지가 표시됩니다.

  7. Restart Proxy Server 버튼을 눌러 변경 사항을 적용합니다.