Mac VPN 내보내기에 담기는 것과 남겨지는 것
Mac VPN 내보내기는 설정과 때로는 개인 키를 담지만, 키체인 암호나 기기 등록은 담지 않습니다. 먼저 각 부분을 확인하세요.
Mac VPN 클라이언트에서 Export를 클릭하면 연결 자체가 아니라 연결을 설명하는 파일을 얻게 됩니다. 서버 주소, 포트, 프로토콜, 그리고 흔히 인증서가 그 안에 있습니다. 로그인 암호, 개인 키의 암호 문구, 그리고 바로 이 Mac을 승인하는 등록은 보통 들어 있지 않습니다. 그래서 프로필이 깔끔하게 가져와지고 클라이언트 목록에 나타나도 첫 인증 요청에서 실패할 수 있으며, 이 간극은 형식의 속성이지 손상된 다운로드가 아닙니다.
| Part of the connection | Where it lives on the old Mac | What an export does with it |
|---|---|---|
| Server, port, protocol, routes | Client profile or managed settings | Usually included when the client exports configuration |
| Client certificate and private key | Inside the package, the login keychain, or issued by MDM | Included only if the format packs it; a keychain-held key stays behind |
| Login password, key passphrase | Login keychain | Left out by design |
| Device authorization or enrollment | Server side, bound to the certificate or the device record | Not transferable; the new device has to enroll |
내보낸 파일에 실제로 담긴 것
내보내기는 컨테이너이며, 파일 확장자는 내용보다 적게 말합니다. OpenVPN 프로필은 텍스트입니다: 지시문과 선택적 인라인 <ca>, <cert>, <key> 블록이 있습니다. Tunnelblick 설정은 구성과 설정의 압축 아카이브입니다. 관리되는 .mobileconfig는 페이로드의 plist입니다. 무엇이든 가져오기 전에 두 목록이 질문의 대부분에 답합니다.
텍스트 프로필의 경우 그것이 담은 PEM 블록을 세십시오: grep -c "PRIVATE KEY" your-profile.ovpn. 영이 아닌 결과는 파일에 키 자료가 있고 그 시점부터 암호처럼 다루어야 함을 뜻합니다. 아카이브의 경우 풀지 않고 목록화하십시오: tar -tf export.tbz, 또는 클라이언트가 zip을 만들었다면 unzip -l export.zip. 그 목록의 키 파일, 인증서 파일, 업 또는 다운 스크립트가 사용자 계정 재발급으로 다시 만들어지지 않는 부분입니다.
반대 경우도 마찬가지로 중요합니다. 프로필이 키를 내장하는 대신 파일 이름으로 가리키면 내보내기는 의도적으로 불완전하며 빠진 절반은 그것을 발급한 쪽에서 와야 합니다. 인증 기관을 소유하고 있다면 그 파일을 옆에 복사해도 되지만, 파일이 옛 Mac에서 생성된 기기 결합 인증서와 함께 왔다면 그렇지 않습니다.
키체인의 절반이 결코 이동하지 않는 이유
macOS는 VPN 암호와 키 암호 문구를 로그인 키체인에 보관하며, 클라이언트는 자체 설정 파일이 아니라 그곳에 저장합니다. Tunnelblick은 내보내기 및 가져오기 안내서에서 그렇게 말합니다: 설정 아카이브는 구성과 설정을 담고 키체인에 보관된 사용자 이름, 암호, 암호 문구는 제외합니다. 이 누락은 의도적입니다. 키체인 항목은 사용자별, 기기별로 보호되므로 복사된 항목은 대상에서 유효한 접근 제어가 없고, 쓸모없는 파일이나 평문 비밀이 남습니다.
이동을 계획하기 전에 자격 증명이 어디에 사는지 확인할 수 있습니다. security find-internet-password -s vpn.example.com는 일치하는 항목의 속성을 출력하고 없으면 영이 아닌 코드로 종료하고, 같은 명령에 -g를 붙이면 암호 공개를 요구하므로, 그것 없이 묻는 것이 더 안전한 점검입니다. 거기서 발견된다는 것은 프로필이 암호를 담고 있지 않으며 담도록 강제할 수 없다는 뜻입니다. 또한 새 Mac에서 암호를 다시 묻고, 옛 Mac에서 준 «항상 허용» 권한은 거기서 아무 의미가 없다는 뜻입니다.
그러나 모든 비밀이 키체인 항목은 아닙니다. Tunnelblick 자체 패키지 문서는 패키지에 키, 인증서, 스크립트 파일이 들어 있을 수 있다고 적습니다. 따라서 내보내기가 키체인 항목을 제외한다는 것은 내보내기가 이메일로 보내도 안전하다는 주장과 같지 않으며, 무엇이 들었는지 나열할 때까지 아카이브를 민감한 것으로 다루십시오.
기본 및 관리형 VPN에는 내보내기 경로가 없습니다
시스템 설정으로 구성한 연결은 지원되는 내보내기를 제공하지 않습니다. scutil --nc list는 시스템이 아는 서비스를 보여 주고, scutil --nc show "Work VPN"는 한 서비스의 구성을 출력하며, 서버와 프로토콜을 읽기에 충분합니다. 둘 다 마이그레이션 도구가 아닙니다. /Library/Preferences/SystemConfiguration/preferences.plist에 저장된 서비스 식별자는 그 파일에 대한 참조이므로, 파일을 복사하고 식별자를 다시 쓰는 것은 지원되는 전송이 아니며 대상의 무관한 네트워크 서비스를 방해할 수 있습니다.
지원되는 경로는 Apple이 문서화한 것입니다: 관리자가 제공한 VPN 설정 파일을 설치하거나 운영자가 주는 설정을 입력합니다. 연결이 관리형이면 옛 대화상자의 스크린샷에서 다시 만드는 대신 새 파일이나 새 등록을 요청하십시오. MDM이 밀어 넣는 프로필의 경우 인증서 페이로드가 신원을 담고 개인 키는 기기에서 생성될 수 있으며, 그 경우 옛 프로필의 완벽한 사본도 새 Mac을 인증하지 못합니다.
목록을 믿는 대신 복원을 검증하십시오
목록의 프로필과 작동하는 터널은 두 가지 다른 상태이며, 보고할 가치가 있는 것은 그중 하나뿐입니다. 가져오고 연결한 뒤 터널 인터페이스가 있는지 확인하고, 다음으로 터널이 무엇을 하는지 확인하십시오.
ifconfig | grep -A3 utun는 터널 인터페이스와 그 주소를 보여 줍니다. scutil --dns | grep nameserver는 연결 후 어떤 리졸버가 활성인지 보여 주며, split-DNS 프로필이 보통 갈라지는 지점이 여기입니다. 그다음 정말 중요한 리소스에 도달하십시오: curl -sS -o /dev/null -w "%{http_code}" https://intranet.example.com. 셋 모두 통과하면 설정, DNS, 경로가 도착한 것이며, 클라이언트의 초록 아이콘은 그 자체로 그것들 중 아무것도 뜻하지 않습니다.
가져온 뒤 두 가지 실패가 자주 나타나며 둘 다 파일 탓으로 돌려집니다. 공용 이름은 확인되는데 내부 이름은 안 되면 보통 프로필의 DNS 서버가 빠졌거나 split-DNS가 유지되지 않은 것입니다. 터널이 올라오지만 트래픽이 지나가지 않으면 보통 경로나 서버 측 권한이 프로필을 따르지 않은 것입니다. 같은 아카이브를 다시 가져오면 둘 다 재현됩니다.
옛 Mac을 은퇴시키기 전에
내보내기를 삭제하는 것은 폐기가 아닙니다. 옛 기기가 인증서로 인증했다면 서버는 그 인증서가 폐기되거나 재발급될 때까지 계속 신뢰합니다. 공유 계정으로 인증했다면 그 계정의 세션이 아직 살아 있을 수 있습니다. 하드웨어가 아직 눈앞에 있을 때 서버 측 단계를 하십시오.
새 프로필에 키가 들어 있으면 다른 자격 증명과 함께 보관하고, 암호는 파일이 아니라 새 키체인에 들어가도록 클라이언트에 입력하십시오. 마지막 확인: 옛 Mac의 전원을 끈 상태에서 교체 기기로 연결하십시오. 원본 기기가 온라인인 동안에만 작동하는 이관은 결코 완전하지 않았습니다.