OpenVPN이 ncp-disable을 알 수 없다고 합니다: 무엇이 그것을 대체했나요?
ncp-disable은 암호화를 끄는 옵션이 아니었고, 2.6에서 이 옵션이 제거되었습니다. 어떤 바이너리가 오류를 냈는지 찾아내고 양쪽 피어의 data-cipher 정책을 고치세요.
클라이언트가 ncp-disable을 지목하는 옵션 오류로 시작을 거부하고 있지만, 프로필은 이전 머신에서 동작했습니다. 이 메시지는 옵션의 철자가 틀렸다거나 암호화가 깨졌다는 뜻이 아닙니다. 눈앞의 바이너리가 그 지시문을 전혀 모른다는 뜻이며, 여기에는 아주 다른 두 가지 이유가 있습니다. 어느 쪽인지에 따라 프로필을 수정할지 클라이언트를 바꿀지가 결정됩니다.
오류는 더 새로운 바이너리에서 올 수도 있습니다
알 수 없는 옵션 오류는 터널이 아니라 파서의 문제입니다. OpenVPN 2.4는 협상 가능한 암호 매개변수를 추가했고, 2.5는 이를 비활성화하던 스위치를 폐기 예정으로 선언했으며, 2.6은 그것을 완전히 제거했습니다. 그래서 2.3이나 2.4용으로 작성된 프로필은 파일에 아무것도 바뀌지 않았는데도 현재 클라이언트에서 실패합니다. 불평하는 쪽은 더 새로운 버전이지 더 오래된 버전이 아닙니다.
무엇이든 편집하기 전에 어떤 실행 파일이 메시지를 냈는지 알아내세요. 데스크톱 클라이언트는 자체 엔진을 함께 제공하고, 별도로 설치한 명령줄 바이너리는 자체 버전을 가집니다. 같은 머신에서 둘이 서로 다를 수 있습니다.
openvpn --version이 테스트 중인 바이너리에 대해 이것을 확정합니다. GUI 클라이언트는 그 명령을 노출하지 않을 수 있으며, 그 경우 정보 화면이나 함께 번들된 라이브러리 버전을 읽으세요.
그 옵션이 실제로 제어하던 것
이 지시문은 암호 매개변수 협상을 비활성화했기 때문에 양쪽 끝이 cipher 설정이 이끄는 이전 선택 동작으로 돌아갔습니다. 암호화를 끈 적도 없고 터널을 평문으로 바꾼 적도 없습니다. 이를 보안 스위치로 읽는 것이 첫 번째 잘못된 길이며, 연결을 개선하기는커녕 악화시키는 변경으로 이어집니다.
협상이 존재하면 동등한 질문은 각 측이 어떤 암호를 쓸 의향이 있는가입니다. 이는 정책 문제이고, 정책은 2.5 이후의 data-ciphers에 있습니다.
이전 이름 ncp-ciphers은 2.4의 것입니다. 두 이름을 피어 사이에서 섞는 것은 단방향 협상 실패의 흔한 원인입니다. 둘 다 담은 프로필은 두 사람이 다른 시기에 편집한 프로필입니다.
철자가 아니라 정책을 바꾸세요
양쪽 피어에 의도한 공통 선택으로 data-ciphers를 설정하고, 검토자가 생각해 볼 수 있을 만큼 목록을 짧게 유지하세요. 임의의 한 줄을 바꾸는 것으로는 아무것도 증명되지 않습니다; 결과는 두 목록의 교집합과 TLS 스택이 무엇을 지원하는지에 달려 있습니다. 설정이 아니라 협상된 결과를 읽어 피어가 일치하는지 확인하세요. 그런 다음 두 목록을 배포 기록에 적어 다음 변경이 알려진 상태에서 시작하게 하세요.
프로필은 그 소유자를 통해 업데이트하세요. 폐기된 지시문을 숨기려고 무시 옵션을 추가하면 정책 질문은 답 없이 남습니다.
이전 피어가 정말 호환성 처리를 필요로 한다면 그 배포로 범위를 한정하세요. 폐기된 동작을 전역으로 복원하는 것은 현대 피어를 연결하는 전제 조건이 아닙니다. 예외는 그것이 존재하는 피어를 지목해야 합니다.
암호 목록처럼 보이지만 그렇지 않은 두 줄
암호 줄 두 개를 쌓는 것도 협상을 복원하지 못하며, 결과는 목록처럼 보이면서 단일 값처럼 동작하는 프로필입니다. 한 줄에 AES-256-CBC, 다음 줄에 CBC를 쓰는 것은 흔한 시도입니다. CBC 단독은 알고리즘이 아니라 모드를 지칭하므로 파서가 한 자리에서는 받아들이고 다음 자리에서는 거부할 수 있습니다. 반복된 cipher 지시문은 후보를 쌓는 대신 같은 옵션을 두 번 설정합니다.
다른 브랜치용으로 쓰인 안내서에서 목록을 복사하는 대신 대상 바이너리에서 openvpn --show-ciphers로 허용되는 이름을 확인하세요. 목록은 릴리스마다 바뀝니다. 한 브랜치에서 유효한 이름이 다른 브랜치에서도 유효하다고 보장되지 않습니다.
목적이 성능 비교였다면 알고리즘과 작업 부하를 기록하세요. CBC로 전환하는 것은 암호화가 없다는 측정이 아닙니다.
연결이 실제로 무엇을 협상했는지 확인하세요
새 연결을 열고, 사용 중인 암호가 적힌 로그의 데이터 채널 줄을 읽으세요. 제어 채널 제품군은 별도로 결정되므로 파일의 허용 목록은 제시된 것만 보여 줍니다. 두 피어가 예상하지 못한 것을 골랐다면 볼 곳은 터널 인터페이스가 아니라 목록입니다. 한 번의 재시작이 캐시된 세션을 재사용할 수 있으므로 변경 후에는 두 번째 연결에서 결과를 확인하세요.
협상된 결과를 프로필 버전 옆의 배포 기록에 남기세요. 어떤 암호가 실제로 트래픽을 보호하는지에 대한 다음 질문에 답하는 사실이 바로 이것입니다.