The Proxomitron - Universal Web Filter

Proxomitron에 대해 자주 물어보는 질문(FAQ)

Proxomitron 을 발표한 다음부터 자주 들어오는 질문에 대해서 일부 내용을 정리해서 아래에 수록합니다. 질문 하기 전에 미리 찾아보시면 많은 도움이 되실 것으로 생각합니다.


Proxomitron을 설치했지만, 작동하지 않는 것 같다. 왜 그런가?

일단 사용하는 웹 브라우저에게 Proxomitron을 사용하도록 설정을 해주어야 한다. 이걸 위해서는 사용하고 있는 브라우저의 프락시 옵션을 고쳐주어야 한다. 설치방법을 클릭하면 자세한 방법을 알 수 있다.

또한, 처음으로 Proxomitron 을 설치한 경우에는 브라우저 캐시를 비워주거나 페이지를 새로 고침해주어야 제대로 필터링된 페이지가 보일 것이다.

IE5를 사용하고 있는데, 프락시 설정을 했음에도 동작하지 않는 것 같다.

IE5 버전 부터는 약간 설정에 있어서 골치아픈 부분이 있다. 즉, 새 버전부터 IE 는 개별 전화접속 설정별로 프락시 설정을 각각 가져가도록 되어 있으며, 또한 LAN (Local Area Network) 연결을 위한 프락시 설정도 별도로 하도록 설정이 복잡하게 변경되었다. 따라서, 당신이 ADSL이나 케이블 모뎀을 사용하고 있으므로, "전화걸기 설정"란이 아예 비어있는 경우를 제외하고서는, 일단은 "전화걸기 설정"란에서 현재 사용하고 있는 연결 방법을 클릭 한 다음, "설정" 버튼을 눌러서 개별적으로 프락시 서버를 설정해주어야 한다. 만일 이곳을 설정했음에도 제대로 동작하지 않는다면, 아래의 "LAN 설정" 버튼을 눌러서 이쪽의 프락시 설정 값도 고쳐보기 바란다. (일부 ISP들의 초고속 인터넷 서비스는 LAN 접속을 하고 있음에도 "전화걸기 설정"란에 가짜 접속 항목을 만들어 놓는 경우가 있어 혼란을 주기도 한다.)

웹 브라우징이 되지 않는 것 같다. 어떻게 해야 할까?

Proxomitron을 사용하도록 설정된 웹 브라우저를 사용하려면 반드시 Proxomitron 프로그램도 반드시 실행되고 있어야 한다. 만일 더 이상 Proxomitron을 사용하지 않고자 하는 경우에는 웹 브라우저에서 HTTP 프락시 설정 부분을 원래대로 바꿔놓도록 한다. 자세한 사항은 설치방법을 참고하라

브라우저에서 여는 페이지마다 자바스크립트 에러가 난다. 왜 그런가?

만일 당신이 사용중인 브라우저가 Internet Explorer 3.x 버전이라면 Proxomitron이 팝업창이나 경고창을 적절히 필터링하기 위해서 사용하는 일부의 트릭을 제대로 지원하지 못하기 때문에 에러가 날 것이다. 참고로 Netscape는 이런 문제가 없다.

또한 간혹 원래 웹 페이지의 자바스크립트 코드가 이상하게 구성되어 있어, 이 부분을 필터가 제대로 처리하지 못할 때 에러를 내게 되는 경우가 있다. (예를 들면 열렸다가 닫히는 창을 구현하는 경우에서 있을 수 있다.) Proxomitron의 필터 룰셋들은 일반적인 환경에서 사용되게 되어 있기 때문에 모든 상황에 대해서 100% 문제 없이 작동 되는 것은 아니다. 이 경우 하나의 해결책은 Proxomitron의 필터중에 "Suppress all JavaScript errors" 를 활성화 시켜, 필터링 해야될 부분을 수행 불가능한 에러 코드로 바꿔서 스크립트가 정상적으로 동작하지 않게 막은 다음, 브라우저로 하여금 이로인해 발생하는 모든 자바스크립트 에러를 무시하게 하는 것이다. 비록 이러한 상황이 필요한 경우는 드물긴 하지만, 일부 사람들은 항상 이 필터를 켜놓는 것으로 많은 도움을 받을 수 있을 것이다. 그렇지만 불행하게도 IE 3.x 대를 사용하는 사람들에게는 이 방법의 사용에 제한이 따른다. 즉 IE의 그 이후 버전에서만 브라우저가 모든 자바스크립트 에러를 무시하도록 옵션을 설정할 수 있는 것이다. 이 설정을 위해서는 "도구 메뉴 >> 인터넷 옵션 >> 고급" 항목을 찾아보라.

어떤 필터를 적용했을 때, 일부 페이지들은 정상적으로 동작하지 않게 되 버렸다. 왜 그런가?

이는 웹 페이지가 필터링되면서 일부 정상적으로 동작해야 되는 HTML 부분들이 필터에 의해 작동하지 않도록 차단당했기 때문이다. 이는 보통 자바스크립트와 관련된 문제인 경우가 많다. 또한 원래부터 좋지 않은 구성으로 제작된 페이지는 반드시 팝업창이나 다이나믹 HTML이 없이는 작동하지 않게 만들어진 경우도 있다. 이 경우 가장 빠른 해결책은 필터 적용을 일시 중단하고 해당 웹 페이지를 다시 읽어들이는 것이다.

좀 더 심도있게 이 문제에 접근하고자 한다면, Proxomitron에서 Log Window를 연다. 이 곳에서 여러분은 이 페이지에 어떤 필터와 룰셋이 적용되어 어떤 부분이 걸러졌는지 상세한 정보를 할 수 있다. 따라서 조금 더 지식이 있는 사용자라면 문제를 해결할 수 있는 방법을 스스로 찾아볼 수 있을 것이다. 즉, 특정 룰셋 때문에 접속이 되지 않는다면, 예컨데 그 사이트의 이름을 해당 룰셋의 URL match 설정에 (^www.dont.filter.me.com) 과 같은 형태로 입력하여 그 룰셋만은 그 페이지에는 적용되지 않도록 설정할 수 있을 것이다.

어떻게 하면 원래의 필터 적용이 되지 않은 페이지를 볼 수 있는가?

무척 쉽다. 즉 Proxomitron의 "bypass" 버튼을 누르고 브라우저에서 "새로 고침" 버튼을 누르면 된다.

만약 잘 되지 않는다면 강제 전체 새로 고침을 시도해보는 것도 좋다. 즉, Netscape 사용자라면 SHIFT 를 누른 상태에서 "새로 고침" 버튼을 누르거나, IE 4.x 버전 이상 사용자라면 CTRL+F5 를 누른다. (그 외의 브라우저를 사용하는 사람들은 개별 브라우저 제작사의 설명서를 참고하라.)

내 브라우저에서 일부 필터는 적용하지 않게 하고 싶은 경우에는 어떻게 해야 하는가?

어떤 브라우저를 지금 사용하고 있는가? Proxomitron은 자바스크립트 기능과 같은 브라우저마다 공통된 기반이 있기만 하면 어떤 브라우저와도 사용이 가능하다. 물론 기본적으로 제공되는 룰셋들은 Netscape 나 I.E. 4.x 이상을 사용하는 것을 전제로 만들어졌다. (일부는 I.E. 3.x 사용자를 위해서 만들어진 것도 있다.) 만일 다른 브라우저를 사용하고 있는 경우라면, 일부 룰셋을 약간은 고쳐야 할 가능성이 있다. 만일 이러한 경우가 발생한다면 다음 버전에서 보다 개선할 수 있도록 우리에게 알려주기 바란다.

Proxomitron을 사용할 때 MSN Hotmail에서 경고 메시지가 나온다.

Proxomitron은 개인정보 보호 차원에서 당신이 사용하는 브라우저의 종류와 같은 정보를 임의대로 숨길 수 있다. 따라서 이 정보를 이용해서 사이트의 디자인을 적절하게 보여주는 HotMail이나 Netscape Netcenter같은 사이트에서는 브라우저 정보를 제대로 파악할 수 없기 때문에, 사이트가 제대로 동작하지 않을 수 있다는 경고 메시지 같은 것이 표시될 수 있다. 이 경우에 만일 Hotmail을 사용한다면, "User-Agent" 헤더 필터의 세부 설정란에 (^*hotmail.msn.com) 항목을 URL match 에 입력함으로써 일차적으로 문제를 해결할 수 있다. 만일 이것으로 문제가 해결되지 않는다면 또는 "Hide browser version/identity from JS" 필터나 "Kill nosey JavaScript" 필터의 설정란에도 입력을 해주어야 할지 모른다.

참고로, 이렇게 설정한다고 하더라도 원래 브라우저 자체가 알 수 없는 가짜 User-Agent 정보를 넘겨주고 있기 때문에 Proxomitron과 관계 없이 원래부터 특정 사이트에서는 문제가 되는 경우도 있다. (예컨데 오페라 브라우저는 보통 자신이 IE 5.0이라고 속이는 경우가 많다.).

Proxomitron을 사용할 때 Outlook에서 Hotmail 계정을 등록해 사용하려는 경우 문제가 있다.

불행하게도 이 경우에 Outlook 은 통상적인 IE의 프락시 서버 설정이나 일반적인 HTTP 프로토콜을 이용해서 통신하지 않는다. 하나의 해결책은 IE 의 프락시 설정으로 들어가서 " *hotmail*;*services.msn*. " 을 "다음으로 시작하는 주소에는 프록시 서버 주소 사용 안함" 항목에 입력하는 것이다.

어떻게 하면 자동으로 Proxomitron이 일부 사이트는 무시하도록 설정할 수 있을까?

간단하게 해당 사이트의 주소를 "BypassList"라는 파일에 입력하면 된다. 간혹 특정한 사이트는 아예 Proxomitron 전체를 통과하게 하고 싶지 않은 경우에는 브라우저의 프락시 서버 설정에서 옵션을 이용해서 특정 사이트는 아예 프락시 서버를 사용하지 않도록 설정 하는 방법이 있다.

얼마나 많은 필터를 한번에 적용할 수 있는가?

Proxomitron은 기본적으로 동시에 적용할 수 있는 필터의 수에 제한이 없다. 이는 단지 여러분이 사용하고 있는 컴퓨터의 메모리 정도에만 제한을 받는다. 그러나, 느린 컴퓨터의 경우에는 너무 많은 필터를 동시에 적용할 경우 인터넷 속도 자체가 크게 떨어져 버릴  우려가 있다. 만일 486이나 느린 컴퓨터를 사용하고 있는 경우라면 다음의 팁을 참고할만 하다. :

일반적인 전화접속 환경이라면, 펜티엄 120Mhz 컴퓨터라면 다수의 필터를 적용하더라도 느려지는 것은 없다. 또한 펜티엄 160Mhz 정도의 PC라면 고속 인터넷 환경에서도 잘 사용할 수 있다. 사실 현재의 CPU 들은 점점 빨라지고 있기 때문에 여기 적어놓은 시스템 사양은 전혀 의미 없을 지도 모르지만..

왜 개인 방화벽 프로그램이나 netstat 명령에서 외부로의 접속이 계속 열려있다고 표시되는가?

Proxomitron은 persistent connections 이라는 기능을 지원하고 있다. 즉, 가장 최근에 접속한 8개까지의 서버들에 연결을 보존하고 있다가, 새로 이 서버들에 접속 요청이 들어올 경우 즉시 사용한다. 이것은 HTTP/1.1 표준의 일부로써 전체적인 네트웍 접속 속도를 빠르게 하는 기능이다. (물론 새 서버로 잦은 연결이 있을 경우에는 약간 불합리한 점이 생기긴 하지만..) 따라서 이들은 계속 열려있는 상태로 남아있게 되고, 다만, 다음과 같은 경우에만 연결이 중단된다.

종종 사람들이 왜 브라우저 창을 아예 닫았음에도 Proxomitron의 접속이 열려있는지를 물어보는 경우가 있다. 그러나 이에는 약간 오해가 있다. 프락시 서버가 만드는 웹 서버에의 접속은, 웹 브라우저와 Proxomitron 프락시 서버간의 연결과는 별개이다. 즉, Proxomitron 은 실제로 웹 브라우저가 닫혔는지 열렸는지와는 상관 없이 항상 새로운 접속이 어디선가 들어온다는 전제하에서 항상 접속을 대기하고 있는 것이다.

만일 이러한 persistent connections 기능을 이용하고 싶지 않다면 들어오고 나가는 HTTP 헤더에 "Connection: close" 라는 내용을 추가할 수 있다. 그러나 이는 당신이 특별한 네트웍 문제를 안고 있지 않는 이상에야 별로 좋은 생각은 아니다. 이렇게 한다고 해도 보안성이 특별히 향상되는 것은 아니며, 성능에만 큰 지장을 주게될 것이다. 또한 이러한 네트웍 보안 프로그램을 사용할 때는 "연결이 열려있음(연결중임)" 과 "포트가 열려있음"을 구별할 수 있도록 하라.

왜 REMOTE_ADDR, REMOTE_HOST, HTTP_FORWARDED 라는 헤더 정보는 필터하지 못하는가?

먼저 웹 서버 환경 변수에 대한 자료 및 이를 테스트하는 페이지를 방문해 보기 바란다! 아마도 이러한 헤더 정보들이 어디서 오는지 어떤 의미를 가지는지를 전체적으로 이해할 수 있게 많은 도움을 줄 것이다. 일단 헤더중 앞에 "HTTP_" 로 시작하는 헤더들만이 HTTP 프로토콜에 의해서 생성된 헤더들이며, 다른 값들은 이와는 별도의 곳에서 들어온 정보들이다.

REMOTE_ADDR 라는 헤더는 TCP/IP 접속 그 자체에서 생성되는 값으로, 접속자의 IP 주소값을 가지고 있다. 이것은 인터넷에서 나와 상대 웹 서버가 통신을 하기 위해서 반드시 필요한 정보로, 수천만개의 인터넷 호스트 중에서 꼭 나에게만 데이터를 보내주기 위해서는 반드시 필요한 일종의 주소 정보이다. 따라서 이 값은 반드시 실제 IP 주소이어야 하며, 그렇지 않으면 웹 서버는 나와 통신을 할 수가 없게 된다. 통상 원격의 프락시 서버를 이용하는 경우에는 프락시를 통과하면서 이 값이 그 프락시 서버의 IP로 바뀌게 되는데, 즉 웹 서버는 일단 프락시 서버에 데이터를 보내주고, 프락시 서버가 다시 그 정보를 나에게 보내주는 형식이 되기 때문이다. 그러나 Proxomitron 은 통상 웹 브라우저가 실행되는 컴퓨터와 같은 컴퓨터에서 실행이 되기 때문에 이러한 IP 주소가 바뀌는 작업은 좀처럼 일어나지 않는다.

REMOTE_HOST 라는 헤더의 값은 여러분이 사용중인 IP 주로의 "Reverse DNS lookup" 값이다. 즉, 여러분이 접속을 시도해 온 IP 주소를 가지고 상대방 웹 서버는 그의 DNS 서버에게 이 컴퓨터의 이름이 어떤 것인지를 물어보는 경우가 있다. 이렇게 물어본 결과로 상대가 유추한 내 컴퓨터의 호스트 이름이 바로 이 값이 된다. 이 정보는 Proxomitron에서 필터링 되지 않는데, 왜냐면 이 정보는 내가 제공하는 개인정보의 차원이 아니라, 웹 서버쪽에서 자기들이 유추한 것을 일방적으로 나에게 제공하는 것에 불과하기 때문이다.

HTTP_VIA, HTTP_FORWARDED, and HTTP_X_FORWARDED_FOR 이 헤더들이야 말로 실제 HTTP 헤더들이다. 그러나 이 헤더는 보통 외부의 프락시 서버를 이용하는 경우에 덧붙여지는 정보들이다. 예컨데 아래와 같이 접속 경로가 형성되어있는 경우를 살펴보자.

+--------------------+   +--------------+   +------------+
|Browser->Proxomitron|-->| Remote Proxy |-->| Web Server | 
+--------------------+   +--------------+   +------------+
     (내 컴퓨터)        (외부 프락시 서버)       (웹 서버)

이 헤더들은 Proxomitron 이 붙이는 것이 아니라 위의 Remote Proxy 가 붙이는 헤더들이므로 우리는 이 헤더를 제어할 방법이 없다. 물론 우리는 그들이 이러한 헤더를 붙이기 전에 우리가 미리 이상한 내용으로 된 같은 이름의 헤더를 미리 붙임으로 해서, 상대 웹 서버나 외부 프락시 서버들이 혼란을 일으키게 할 수는 있을 것이다. 그러나, 대부분의 경우 기본적으로 외부 웹 서버들은 이 정보들을 로깅하거나 보존하지 않으므로 이를 통한 개인 정보 유출의 가능성은 낮다.


돌아가기