인터넷 검열은 안타깝게도 여전히 현실입니다. 전 세계 수십 개국에서 토렌트, 성인 콘텐츠, 정치적 미디어, 소셜 미디어 접근을 제한하고 있습니다. 하지만 강력한 정부가 인터넷 자유를 억압한다고 해서 우리가 손을 놓고 있어야 하는 것은 아닙니다. 프로그래머 조슈아 런드(Joshua Lund)가 만든 '스트라이샌드(Streisand)'는 인터넷 검열에 맞서기 위해 필요한 도구를 제공합니다.
조시 런드는 누구인가?
스트라이샌드에 대한 이야기를 듣고, 이 훌륭한 도구의 배후에 있는 사람을 알아보고자 런드에게 연락했습니다. 그는 초보 프로그래머 시절부터 개인정보 보호와 보안에 남다른 관심을 가져왔는데, 초기 작품 중 하나가 간단한 카이사르 암호(Caesar cipher) 프로그램이었습니다. 고등학교 시절에는 PGP 키 사이닝 파티를 주최하기도 했는데, 그는 당시를 "신뢰의 그물(web of trust)에 합류하기 위해 PGP의 불편한 인터페이스와 맞서 싸우던 컴퓨터실의 세 명"이라고 회상했습니다.
그 후 그는 이 분야에서 꾸준히 활동을 이어갔습니다. 올해 초에는 모바일 보안 메신저 앱에 대한 상세 비교 자료를 발행했는데, 이는 페이스북이 왓츠앱을 인수한 이후 진행된 메신저 앱 비교와 유사한 작업이었습니다.
런드는 또한 암호화된 통신과 저장 기능을 제공하는 오픈소스 메시징·통화 앱을 만드는 단체인 오픈 위스퍼 시스템즈(Open Whisper Systems)에도 참여하고 있습니다. 동료가 터키의 트위터 검열에 관한 트윗을 올린 것이 계기가 되어 스트라이샌드 작업을 시작하게 되었다고 합니다. 그는 "그 일을 통해 중국과 이란 사람들이 이미 수년간 이 문제와 씨름해 왔다는 사실을 생각하게 됐다"고 말했습니다.
토르 릴레이 운영과 OpenVPN 프로젝트 등을 진행해 온 런드는 한 단계 더 나아갈 때라고 판단했고, 그렇게 탄생한 것이 바로 스트라이샌드입니다.
스트라이샌드란 무엇인가?
간단히 말해, 스트라이샌드는 반검열 서버 구축 과정의 상당 부분을 자동화하는 스크립트입니다. 검열 국가의 사용자가 외부 세계와 안전하게 연결해 소셜 미디어를 이용하거나, 정치적 논의에 참여하거나, 토렌트에 접속할 수 있도록 다양한 기술을 활용합니다. (왜 이름이 스트라이샌드일까요? 바로 '스트라이샌드 효과' 때문입니다. 누군가 인터넷에서 무언가를 검열하거나 숨기려 할수록 오히려 더 많은 관심을 끌게 되는 역설적인 현상을 말합니다.)
이 스크립트는 아마존(Amazon), 디지털오션(DigitalOcean), 리노드(Linode), 랙스페이스(Rackspace) 중 하나의 클라우드 업체에 새로운 서버를 생성하고, L2TP/IPsec, OpenSSH, OpenVPN, 섀도우삭스(Shadowsocks), sslh, Stunnel, 토르 브리지(Tor bridge)를 함께 구동합니다. 또한 친구, 가족, 활동가들에게 전달할 수 있도록 서버 접속 방법을 안내하는 간단한 HTML 파일도 생성합니다. 런드가 여러 기술을 선택한 이유는 이중성 확보 때문입니다. 그는 "카페에 앉아 있는 누군가 L2TP/IPsec에 연결하지 못했을 때, 다른 5가지 연결 방법이 있고 모두 상세한 문서까지 갖춰져 있다는 걸 깨닫는 상상을 하면 좋겠다"고 말했습니다.
연결 가능성을 보장하는 것 외에도, 이러한 다양한 방식 덕분에 스트라이샌드는 거의 모든 국가의 검열 시도를 우회할 수 있는 서버를 구축할 수 있습니다. 예를 들어 섀도우삭스는 중국의 만리방화벽(Great Firewall)을 우회하기 위해 거의 전적으로 중국 개발자들이 개발한 기술입니다. 섀도우삭스 외에도 세 가지 연결 방식이 중국과 이란에서 작동하는 것으로 알려져 있습니다.
스트라이샌드가 검열 우회를 도운 나라는 이곳뿐이 아닙니다. 런드는 이란, 이스라엘, 루마니아, 우루과이, 오스트리아, 미국 등 전 세계에서 감사 편지를 받았습니다. 스트라이샌드에는 추적 기능이 내장되어 있지 않고 연결을 감시하는 중앙 서버도 없지만, 이 스크립트가 지구 곳곳에서 널리 사용되고 있다는 사실은 분명합니다.
스트라이샌드를 만들면서 런드가 가장 중요하게 여긴 것 중 하나는 사용 편의성이었습니다. 스트라이샌드 이전에는 "이러한 서비스 중 일부만이라도 구축하려면 리눅스 시스템 관리에 대한 상당한 전문 지식과 어마어마한 인내심이 필요했다"고 합니다. 하지만 이제는 커맨드 라인 경험이 거의 없더라도 약 15분 만에 연결 환경을 구축할 수 있습니다.
서버 접속 방법에 대한 문서를 누구나 쉽게 이해할 수 있도록 하기 위해, 런드는 VPN 소프트웨어 경험이 전혀 없는 친구들을 모집해 지침대로 직접 설정해 보게 하는 실험도 진행했습니다. 결과는 성공적이었고, 모든 참가자가 첫 시도에서 최소 하나 이상의 서비스에 연결하는 데 성공했습니다.
스트라이샌드 사용법
자신의 국가에서 검열을 우회하거나, 다른 사람들이 검열의 억압에서 벗어나도록 돕거나, 아니면 단순히 튼튼한 보안 서버를 갖고 싶다면 GitHub의 스트라이샌드 readme 파일에서 필요한 지침을 확인할 수 있습니다.
서버를 가동하려면 BSD, 리눅스 또는 OS X 시스템과 홈브루(Homebrew) 같은 패키지 설치 프로그램이 필요합니다. 지침에 따라 필요한 패키지를 설치한 후, 버전 관리 소프트웨어인 Git으로 스트라이샌드 저장소를 클론(clone)하고 스크립트를 실행하면 됩니다.
그다음에는 안내에 따라 서버 공급업체, 서버 지역, 이름을 차례로 선택하고 API 정보를 입력하기만 하면 됩니다. 완료되면 서버에 접속하려는 모든 사람에게 배포할 준비가 된 HTML 파일을 받게 됩니다.
커맨드 라인과 VPN 소프트웨어에 대한 경험이 있다면 설정 과정이 더욱 수월하겠지만, 전체 과정은 최대한 쉽게 설계되어 있으며 대부분의 설정이 자동화되어 있습니다.
앞으로의 계획은?
커뮤니티를 통해 원래 버전의 스트라이샌드에 이미 여러 훌륭한 기능이 추가되었지만, 런드는 프로젝트가 계속 발전하기를 희망합니다. 그의 목록에서 가장 우선순위가 높은 것은 지침을 영어 이외의 언어로 번역하는 일입니다. "지금 당장은 지침을 따를 수 없지만 스트라이샌드가 정말 필요한 사람들이 분명 있을 것"이라는 이유에서입니다. 스트라이샌드가 이토록 많은 나라에 닿고 있는 만큼, 그 말이 틀림없을 것입니다.
또한 마이크로소프트 애저(Microsoft Azure)와 구글 컴퓨트 엔진(Google Compute Engine) 같은 클라우드 업체 추가 지원도 준비 중입니다. 모든 의존성 설치를 크게 간소화할 새로운 스트라이샌드 pip 패키지가 만들어질 가능성도 있습니다. 사용자들은 스트라이샌드를 개선하고 성장시키는 데 핵심적인 역할을 해왔으며, Hacker News의 관련 스레드를 보면 얼마나 많은 사람이 이 프로젝트에 관심을 갖고 있는지 쉽게 알 수 있습니다.
다행히 런드는 스트라이샌드 프로젝트에 장기적으로 헌신하겠다고 밝혔으므로, 앞으로도 프로젝트가 지속적으로 성장하는 모습을 기대할 수 있습니다.
인터넷 검열과 감시는 터키나 이란에 살지 않는다고 해도 우리 모두에게 영향을 미치는 광범위한 문제입니다. 온라인 익명성을 확보하고 제한 없는 인터넷 접속을 보장할 수 있는 적절한 도구를 갖추는 것은, 변화를 만드는 데 우리 모두가 실천할 수 있는 일입니다.
스트라이샌드 다운로드 및 사용 방법은 GitHub의 스트라이샌드 readme 파일을 참고하세요. 프로젝트에 대해 더 알고 싶다면 조시의 블로그 게시물을, 조시 런드 본인에 대해 더 알고 싶다면 그의 웹사이트 MissingM을 방문하거나 트위터를 팔로우하세요.
이미지 출처: Shutterstock의 Beautiful young college student on a cafe, Wikimedia Commons의 Jeffrey Ogden, flickr의 zensursula