네트워크 > 웹 프록시

사용자가 내부 네트워크(예: 사용자와 Dell SonicWALL 어플라이언스 사이)에 있는 프록시 서버를 통해 웹에 액세스할 때 어플라이언스에 표시되는 HTTP/HTTPS 연결은 사용자가 아닌 프록시 서버에서 생성됩니다.

Web_proxy_1.png

 

로깅, 정책 적용 등을 위해 사용자를 식별하려면 어플라이언스는 프록시 서버를 통한 사용자의 연결에 사용되는 출발지 IP 주소를 확인해야 합니다. 이 주소는 프록시 서버에 의해 HTTP 헤더의 X-Forwarded-For 필드에서 필요에 따라 제공됩니다.

Web_proxy_2.png

 

X-Forwarded-For HTTP 헤더 필드 사용

X-Forwarded-For HTTP 헤더 필드는 원래 Squid 프록시 서버를 통해 도입되었지만 이제는 실질적인 표준으로 사용되고 있으며, IETF에서 표준화가 진행되고 있습니다. 이 헤더는 프록시 서버에서 웹 서버로 전송되는 HTTP 요청에 삽입되며 웹 요청을 받은 클라이언트의 변경전 IP 주소를 제공합니다.

연결이 프록시 서버 체인을 통과할 때 X-Forwarded-For는 쉼표로 구분된 IP 주소 목록을 제공할 수 있으며, 목록의 첫 번째 주소가 맨 끝 다운스트림(사용자)입니다.

SonicOS는 X-Forwarded-For 필드에서 사용자의 IP 주소(있는 경우)를 읽을 수 있으며, 사용자를 식별하기 위해 HTTP 요청의 실제 출발지 IP 주소(이 경우에는 프록시 서버)가 아닌 해당 주소를 사용할 수 있습니다.

보안상 프록시 서버는 관리자가 수동으로 지정해야 합니다.

해커는 X-Forwarded-For를 임의의 항목으로 설정한 HTTP 요청을 생성한 다음, 더 많은 권한을 소유한 다른 사용자로 위장하는 데 사용할 수 있습니다. 따라서 어플라이언스는 X-Forwarded-For 헤더 필드가 있다고 해서 지정된 IP 주소를 사용자의 유효한 주소로 무조건 수락해서는 안 됩니다. 그러므로 HTTP 요청이 알려진 프록시 서버에서 보낸 것이 아니면 X-Forwarded-For는 무시됩니다. SonicOS 관리 인터페이스에서는 이러한 용도에 사용할 수 있도록 프록시 서버 목록을 구성할 수 있습니다.

프록시 서버는 프록시 서버 연결에 사용하기 위해 X-Forwarded-For IP 주소를 목록에 포함하여 전달할 수 있으므로, 해커가 삽입한 X-Forwarded-For 필드에서 스푸핑된 IP 주소를 프록시 서버가 전달하는 경우 동일한 취약성이 발생하게 됩니다. SonicOS는 이러한 과정을 제어할 수 없으므로 이를 예방하기 위해 프록시 서버를 올바르게 구성해야 합니다.

웹 프록시 서버는 HTTP 요청을 가로채 요청된 웹 페이지의 복사본이 저장되었는지 확인합니다. 저장되지 않은 경우 프록시가 인터넷에서 서버에 대한 요청을 완료하고 요청된 정보를 사용자에게 반환하는 동시에, 이후 요청을 위해 로컬에도 저장합니다. 네트워크에 있는 각 컴퓨터가 웹 요청을 서버에 전달하도록 구성해야 하기 때문에 네트워크에서 웹 프록시 서버를 설정하는 작업은 번거로울 수 있습니다.

네트워크에 프록시 서버가 있는 경우 프록시 서버를 가리키도록 각 컴퓨터의 웹 브라우저를 구성하는 대신 서버를 WAN 또는 DMZ로 이동하고, 네트워크 > 웹 프록시 페이지의 설정을 사용하여 웹 프록시 전달을 사용하도록 설정할 수 있습니다. 그러면 방화벽이 자동으로 모든 웹 프록시 요청을 프록시 서버로 전달하여 네트워크에 있는 모든 컴퓨터를 구성하지 않아도 됩니다.

다음 그림에는 네트워크 > 웹 프록시 페이지가 나와 있습니다.

자동 프록시 전달(웹 전용) 구성

자동 프록시 전달(웹 전용)을 구성하려면 다음 단계를 수행합니다.

1. 웹 프록시 서버를 허브에 연결하고 허브를 방화벽 WAN 또는 DMZ 포트에 연결합니다.

Note 프록시 서버는 WAN 또는 DMZ에 있어야 합니다. LAN에 있는 프록시 서버는 찾을 수 없습니다.

2. 네트워크 > 웹 프록시로 이동합니다.

3. 자동 프록시 전달(웹 전용)에 있는 프록시 웹 서버(이름 또는 IP 주소) 필드에 프록시 서버의 이름 또는 IP 주소를 입력합니다.

4. 프록시 IP 포트를 프록시 웹 서버 포트 필드에 입력합니다.

5. 오류 발생 시 프록시 서버를 우회하려면 프록시 서버 실패 시 프록시 서버 바이패스 확인란을 선택합니다.

Note 프록시 서버 실패 시 프록시 서버 바이패스 확인란을 선택할 경우 웹 프록시 서버를 사용할 수 없는 상태가 되면 방화벽으로 보호되는 클라이언트가 해당 웹 프록시 서버를 바이패스할 수 있습니다. 대신 클라이언트 브라우저는 웹 프록시 서버가 지정되어 있지 않은 것처럼 인터넷에 직접 액세스합니다.

6. 클라이언트가 DMZ에 구성되어 있는 경우 프록시 서버로 공용 영역 클라이언트 요청 전달을 선택합니다.

7. WXA 시리즈 어플라이언스가 NSA/TZ 시리즈 어플라이언스에 연결되어 있고 웹 캐시 기능이 사용하도록 설정되어 있으면 트래픽을 WXA 시리즈 어플라이언스 웹 캐시로 분산을 선택합니다.

8. 수락을 클릭합니다.

방화벽이 업데이트되면 업데이트를 확인하는 메시지가 브라우저 창 아래쪽에 표시됩니다.

사용자 프록시 서버 구성

사용자는 호스트 이름이나 IP 주소를 입력하여 사용자 프록시 서버가 최대 32개 포함된 목록을 구성할 수 있습니다.

사용자 프록시 서버를 구성하려면 다음 단계를 수행합니다.

1. 사용자 프록시 서버를 허브에 연결하고 허브를 방화벽 WAN 또는 DMZ 포트에 연결합니다.

Note 프록시 서버는 WAN 또는 DMZ에 있어야 합니다. LAN에 있는 프록시 서버는 찾을 수 없습니다.

2. 네트워크 > 웹 프록시로 이동합니다.

3. 사용자 프록시 서버에서 추가 단추를 클릭합니다.

4. 프록시 서버의 이름이나 IP 주소를 입력합니다.

5. 확인을 클릭합니다.

6. 프록시 서버를 더 추가하려면 3~4단계를 반복합니다.

사용자 프록시 서버 편집

프록시 서버의 이름이나 IP 주소를 편집하려면 다음 단계를 수행합니다.

1. 프록시 서버 목록 상자에서 편집할 프록시 서버를 선택합니다.

2. 편집 단추를 클릭합니다.

3. 프록시 서버의 이름이나 IP 주소를 입력합니다.

4. 확인을 클릭합니다.

사용자 프록시 서버 제거

프록시 서버를 제거하려면 다음 단계를 수행합니다.

1. 프록시 서버 목록 상자에서 제거할 프록시 서버를 선택합니다.

2. 제거 단추를 클릭합니다.