그렇다니 유감입니다.
인터넷 서비스에서 익명 사용자를 차단해야 하는 타당한 상황이 있는 것은 사실입니다.
그러나 안전하게 사이트에 접속하려는 익명 사용자를 차단하지 않으면서도 문제를 해결할 더 쉬운 방법이 있는 경우가 많습니다.
먼저 애플리케이션 단에서 '나쁜 놈'들이랑 평범한 사용자를 구분할 수 있는 방법이 애플리케이션 단에 있는지 생각해보세요.
예를 들어 사이트 내에 특정 사용자만 쓸 수 있는 영역을 개설하거나, 가입자만 게시글을 쓸 수 있도록 차등을 두는 방법이 있습니다.
Tor IP 주소의 최신 목록을 빌드하는 건 매우 쉽습니다. 이 목록을 Tor 사용자와 '나쁜 사용자'를 구분하여 Tor 네트워크를 통한 Tor 사용자의 접속만 허용하는 데 사용할 수 있습니다.
굳이 서비스 다방면에 밴을 걸 필요 없이 다중 계층 접속 방식(multi-tiered access)을 적용할 수 있는 것입니다.
예를 들어, 자원봉사자가 운영하는 IRC 네트워크(Freenode IRC Network)엔 조직적인 남용자가 채널에 들어와 대화(conversation)을 교묘히 탈취할 위험이 있습니다.
두 번째, 수많은 분들이 그저 데이터를 안전하게 지키려는 순수한 목적에서 Tor를 사용하고 있습니다. 즉 일상적인 브라우징 활동 중 마케팅 회사의 데이터 수집 행위를 막으려고 Tor를 쓰는 겁니다.
한편 검열을 위해 현지 네트워크에 설치된 방화벽을 뚫기 위한 유일한 수단으로 Tor를 쓰는 분들도 있습니다.
평범한 브라우징 활동을 위한 적합한 목적 하에 귀하의 서비스에 연결하는 Tor 유저가 많습니다.
Tor 네트워크를 밴할 때 발생하는 기회비용을 생각하고 결정하시기 바랍니다. Tor 네트워크를 밴하는 대가로 Tor 사용자의 기여분과, 향후 Tor 네트워크에서 유입될 선한 사용자를 모두 잃게 되니까요.
(악의적인 Tor 사용자들이 나타나고 나서야, 자신의 사이트에 선한 Tor 사용자가 이렇게 많았다는 것을 파악하는 관리자 분들이 많습니다.)
이 시점에서 몇몇 IP 주소에 많은 유저를 밀집시키는 다른 서비스도 어떻게 처리할지 자문해봐야 합니다.
이런 측면에서 보면 Tor와 AOL은 그리 다르지 않습니다.
마지막으로, Tor 중계서버의 '출구 정책'(exit policies)은 각 서버마다 차이가 있음을 알아주세요.
상당한 수의 Tor 중계서버에서 출구 연결을 전혀 허용하지 않는 경우가 많습니다.
출구 연결을 일부 허용하는 중계서버라도 귀하 측 서비스에의 연결을 이미 차단해놓은 경우가 많습니다.
노드를 밴하려면, 출구 정책을 파스하는 데 먼저 착수해야 합니다. 그 후 이러한 연결을 허용하는 노드만 차단해야 합니다. 이때 출구 정책은 시간에 따라 변할 수 있음에 유의하세요 (Tor 네트워크 노드 리스트도 마찬가지입니다).
정말로 위와 같이 하고 싶으시다면, Tor 출구 중계서버 목록 혹은 쿼리 가능한 DNS 기반 목록 을 활용하세요.
(몇몇 시스템 관리자가 공식 정책이라는 명분, 혹은 남용 패턴을 근거로 수많은 IP 주소를 차단합니다. 하지만 Tor를 사용하는 시스템만 접근만 받기 위해, Tor 출구 중계 서버를 허용하는 방법을 문의하는 경우도 있습니다.
위 목록의 스크립트는 연결을 허용할 때에도 유용합니다.)