운영자는 CA 번들, 클라이언트 인증서와 그 키를 넘겨주며, 이들이 하나의 프로필로 연결되기 전에는 클라이언트가 뜨지 않습니다. 프로필은 구성입니다. 해당 파일을 가리킬 뿐 포함하지 않으며, 편집해도 인증서가 되지 않습니다. 이 안내는 이미 승인된 노트북에서 시작해 알려진 디렉터리에서 실행할 수 있는 프로필로 끝납니다. CA를 만들지 않고, 새 인증서를 등록하지 않으며, 서버를 건드리지 않습니다.

여기서 대상은 Linux용 OpenVPN 2.6 명령줄 클라이언트이며, UDP 위에서 TUN으로 라우팅되고 인증서 인증을 사용합니다.

클라이언트 쪽 파일만 모으십시오

보호된 디렉터리에서 작업하고 승인된 CA 신뢰 자료, 발급된 클라이언트 인증서, 그에 맞는 개인 키를 모으십시오. 이 예에서 이름은 ca.crt, laptop-a.crt, laptop-a.key입니다. 파일 이름은 라벨일 뿐이며 각 파일의 내용에 대해 아무것도 말해 주지 않습니다.

등록 중에 키를 생성했다면 그 키는 머신을 떠난 적이 없습니다. 발급자로부터는 서명된 인증서와 공개 체인만 돌아오면 됩니다. 인증서가 서비스가 기대하는 클라이언트 역할을 담고 있는지 확인하십시오. 키가 그 인증서의 것이고 이전 시도의 오래된 인증서 것이 아닌지도 확인하십시오. 짝이 맞지 않으면 훨씬 나중에 TLS 실패가 생기며, 이는 서버 문제처럼 보입니다.

CA의 개인 서명 키, 서버의 개인 키, DH 매개변수는 이 패키지에서 빼십시오.

파일을 작은 프로필로 연결하십시오

아래 프로필은 의도적으로 짧습니다. 각 줄은 엔드포인트를 고르거나, 클라이언트가 받아들일 ID를 제한하거나, 세 파일 중 하나를 가리킵니다.

client
dev tun
proto udp
remote vpn.example.net 1194
nobind

remote-cert-tls server
verify-x509-name vpn-gateway name
ca ca.crt
cert laptop-a.crt
key laptop-a.key

remote 줄은 네트워크 엔드포인트를 고릅니다. remote-cert-tls server는 상대가 서버 역할 인증서를 제시할 것을 요구합니다. verify-x509-name는 기대하는 이름을 고정하며, 여기서는 vpn-gateway를 OpenVPN의 기본 이름 필드를 사용한 서버 인증서의 Common Name으로 지정합니다. 이 값은 DNS 호스트 이름에서 추론되지 않으므로 운영자가 제공한 ID 체계를 사용하십시오.

테스트 엔드포인트가 다른 인증서를 보여 준다는 이유만으로 그 검사를 빼지 마십시오.

이 기본 프로필은 별도의 계정 챌린지와 제어 채널 키가 없다고 가정합니다. 서비스에 auth-user-pass, tls-auth 또는 tls-crypt이 필요하면 받은 구성과 자료를 그대로 두십시오. 직접 생성한 제어 채널 비밀은 서버가 가진 것과 맞지 않습니다. 오래된 예제에서 압축이나 암호 줄을 가져오지 말고 서비스의 암호 정책도 유지하십시오.

작업 디렉터리를 명시하십시오

상대 경로는 프로세스의 작업 디렉터리를 따르며 .ovpn 파일의 위치를 따르지 않습니다.

이 점은 프로필을 새 폴더로 옮기면 키도 따라올 것이라 기대하는 사람을 놀라게 합니다. 관리자가 고른 디렉터리의 경우 아래 명령은 프로필과 그 참조를 읽기 전에 절대 경로로 이동합니다.

sudo openvpn --cd /etc/openvpn/client/laptop-a --config laptop-a.ovpn

데스크톱 가져오기 마법사나 시스템 서비스가 의존성을 대신 묶어 줄 수 있으며 자체 규칙을 적용합니다. 시험한 것과 다른 작업 디렉터리를 쓸 수도 있습니다. 실행 방식이 키, 인증서, CA 경로를 어떻게 해석하는지 확인하십시오. .ovpn 파일만 옮겨서는 별도의 개인 키가 옮겨지지 않습니다.

키는 의도한 사용자나 서비스 ID만 읽을 수 있게 하십시오.

파일 이름이 아니라 인계를 검증하십시오

첫 승인 연결 전에 엔드포인트, 인증서 ID, 발급자, 유효 기간을 확인하십시오. 그다음 실제로 사용할 작업 디렉터리에서 파일 참조가 해석되는지 확인하십시오. 연결한 뒤에는 라우팅 정책이 제공해야 하는 애플리케이션과 DNS 동작을 시험하십시오. 읽을 수 있는 파일 세 개는 서버 승인이나 사용 가능한 리소스 경로를 전혀 증명하지 않습니다.

암호 문구 입력 요청이 나타나면 그것은 개인 키의 것이지 VPN 계정의 것이 아닙니다.

마지막으로 패키지를 자격 증명 자료로 목록화하십시오. 같은 인증서와 키를 두 번째 노트북에 넘기면 ID가 복사되며, 파일 이름을 바꾼다고 두 번째 등록이 생기지 않습니다. 프로필을 구성하는 것과 발급하는 것의 차이가 바로 여기에 있습니다.

관련 글