OVPN 파일을 프로그램의 입력으로 다루십시오. 내용이 무해하다는 증명서로 보지 마십시오. 서버 주소를 확인하는 것은 프로필이 어디에 연결하려는지만 알려 줄 뿐, 그 밖의 것은 알려 주지 않습니다. 그 파일 안에는 서로 다른 두 가지 신뢰 결정이 있습니다. 클라이언트가 컴퓨터에서 무엇을 할 수 있는지, 그리고 어느 운영자가 트래픽을 받는지입니다. 익숙한 프로토콜 이름이 둘 중 어느 것도 결정하지 않습니다.

한 파일에 두 가지 결정이 숨어 있다

첫 번째 결정은 로컬입니다. 프로필은 구성 언어이고, 그것을 읽는 클라이언트는 플러그인을 불러오거나 스크립트를 실행하거나 라우팅과 DNS 적용 방식을 바꾸는 지시문을 지원할 수 있습니다. 두 번째 결정은 원격입니다. 파일에 무엇이 들어 있든, 출구 운영자는 자신에게 도달하는 트래픽을 봅니다.

둘을 혼동하면 양쪽 방향으로 나쁜 조언이 됩니다. 낯선 운영자의 깔끔해 보이는 프로필, 또는 아무도 읽지 않은 훅이 있는 유명 운영자의 프로필입니다. 로컬에서 안전한 프로필도 당신이 고르지 않을 상대에게 트래픽을 넘길 수 있습니다.

어떤 클라이언트보다 먼저 프로필을 읽으십시오

어떤 클라이언트가 처리하기 전에 파일을 텍스트로 읽으십시오. 파일 밖을 가리키거나 실행 파일을 참조하거나 권한을 바꾸는 지시문을 찾고, 그 목록을 클라이언트의 문서화된 지원과 비교하십시오. 짧은 검색은 보안 감사가 아니지만, 프로필이 서버 목록인지 그 이상인지 알려 줍니다.

grep -nE '^(script-security|up|down|plugin|route-up|ipchange)' untrusted.ovpn

빈 결과는 안심이 되지만 결정적이지는 않습니다. 옵션이 상호 작용하거나 포함된 파일에서 올 수 있기 때문입니다. 걸러진 목록은 판결이 아니라 계속 읽을 이유로 보십시오.

프로필과 함께 오는 지시 사항도 프로필만큼 살펴볼 가치가 있습니다. 네 가지 요청은 당신을 멈추게 해야 합니다. 스크립트를 켜거나, 도우미나 라이브러리를 설치하거나, 클라이언트를 관리자로 실행하거나, 가져오기 제한을 약화하는 것입니다. 각각은 신뢰 경계를 밖으로 밀어내며, 어느 것도 서버 목록을 가져오는 평범한 일부가 아닙니다.

파일 전체도 한 번 통독하십시오. 낯선 한 줄은 걸러진 목록보다 문맥에서 판단하기 쉽습니다. 낯선 줄이 있으면 추측하지 말고 클라이언트 설명서에서 찾아보십시오.

클라이언트가 실제로 실행할 것

Community OpenVPN의 2.6 설명서 는 script-security 단계를 문서화합니다. 수준 1이 기본이며 사용자 정의 스크립트를 차단하고, 수준 2는 이를 허용합니다. 플러그인 로딩은 자체 지시문을 가진 별도의 기능입니다. 그래서 같은 파일이 클라이언트마다 다른 의미를 가질 수 있습니다. 모바일 및 공급업체 클라이언트는 더 좁은 지시문 집합을 받아들이거나 훅을 전혀 받아들이지 않을 수 있습니다.

실행 방식도 클라이언트만큼 중요합니다. 권한 있는 도우미가 시작한 프로필은 사용자 공간에서 시작한 것보다 더 많은 일을 할 수 있으며, 그 차이가 가져오기 안내를 무시하지 않고 읽어야 하는 이유입니다.

버전도 중요합니다. 이 수준은 릴리스마다 정의되며, 여러 버전 뒤처진 클라이언트는 같은 정책을 구현하지 않을 수 있습니다. 찾을 수 있는 최신본이 아니라 실행 중인 빌드에 맞는 설명서를 읽으십시오. 클라이언트가 어디에도 버전 문자열을 표시하지 않는다면, 그것만으로도 속도를 늦출 이유입니다.

주소만이 아니라 운영자를 비교하십시오

운영자는 다른 어떤 중개자와 비교하듯 비교하십시오. 출구를 누가 운영하는지, 무엇을 기록하는지, 프로필이 어떻게 당신에게 왔는지 물으십시오. 검증된 다운로드 페이지와 일치하는 지문은 익숙한 호스트 이름보다 더 많은 것을 말해 줍니다. 접속 가능한 서버는 무언가가 응답했다는 것만 증명합니다.

자격 증명은 사람들이 압박 속에서 틀리는 부분입니다. 서버 이름이 익숙해 보인다는 이유로 내려받은 프로필에 무관한 계정 비밀번호를 입력하지 마십시오. 프로필은 평문 개인 키를 담을 수도 있으므로, 파일 전체를 검토 스레드에 올리면 그 키를 스레드에 넘기는 셈입니다.

제대로 검증된 HTTPS 세션은 패킷을 전달만 하는 상대에게 페이지 내용을 여전히 숨기므로, 출구가 모든 비밀번호를 자동으로 보는 것은 아닙니다. 다만 어떤 사이트에 도달하는지는 보며, 그 경계는 과장하지 말고 정확히 말할 가치가 있습니다.

파일의 출처가 불분명하거나, 그것이 요구하는 권한에 당신이 받아들일 만한 설명이 없다면, 책임을 물을 수 있는 출처의 프로필로 바꾸십시오. 관리되는 업무 연결에서는 관리자가 클라이언트와 구성을 두 가지가 아니라 하나의 결정으로 승인해야 합니다. 여기서 악의를 먼저 입증하라고 요구하지 않습니다. 접근을 거절하는 것은 정당한 답입니다.

관련 글