
우리는 자동 확장된 여러 인스턴스(중복화 및 자가 복구를 위해)에서 OpenVPN 서버를 실행하므로 스크립트 방식으로 프로비저닝됩니다. 이러한 임시 인스턴스 전체에서 클라이언트 인증서를 관리하기 위한 우리의 접근 방식은 꽤 서투르고 현재 디렉터리에 tarball을 추출하는 작업이 포함됩니다 /etc/openvpn/easy-rsa/pki
.
클라이언트 인증서만 공유 네트워크 디렉터리로 이동하고 싶지만 이러한 pki 하위 디렉터리에 대해 openvpn에 알리는 구성 설정이 무엇인지 알 수 없었습니다. ( ca/cert/key/dh
설정은 모두 계층 구조 깊숙한 곳을 가리킵니다. 즉 /etc/openvpn/easy-rsa/pki/issued/server.crt
, easy-rsa 디렉토리 구조에 대한 기본 제공 가정이 없음을 의미합니다.)
openvpn은 이러한 파일을 어떻게 찾나요?
답변1
안녕하세요. 질문해주셔서 감사합니다...
당신이 생각하는 것이 조금 더 쉽습니다 ;-). 모든 클라이언트 인증서가 필요하지는 않습니다. 클라이언트에는 클라이언트 인증서가 필요합니다...
구성 파일 옆에는 구성 파일의 섹션으로 직접 삽입할 수 있는 3-4개의 생성된 "링크된" 파일이 있습니다(이러한 파일은 서버/클라이언트에 있어야 하는 모든 것입니다).
- TLS 키(선택 사항이지만 사용하기에 나쁘지는 않습니다 ;-))
이는 클라이언트별 트래픽을 시작하기 전에도 통신을 보호하기 위한 공유 키입니다. 이 키를 모르면 서버는 단순히 사용자의 통신을 무시합니다. 이 파일은 서버와 클라이언트에서 동일합니다.
CA 인증 기관은 원격 측의 신뢰를 확인하는 데 사용되는 인증서입니다.
섬기는 사람: 클라이언트 인증서를 발급하는 기관의 인증서입니다. 이것이 바로 당신이 찾고 있는 것입니다. 이 파일은 연결 중에 발급된 모든 클라이언트 인증서를 확인하는 데 사용될 수 있기 때문입니다. 이 단일 파일은 동일한 CA에서 발급한 현재 및 향후 인증서를 확인하는 데 사용할 수 있습니다(이것은 easy-rsa에서 적용됩니다).
고객: 이 파일은 신뢰할 수 있는 서버 인증서를 확인하는 데 사용됩니다. 서버 측과 동일할 수 있지만 기술적으로 서버 인증서는 클라이언트 인증서와 다른 CA에서 발급될 수 있습니다.
열쇠
통신 보안에 사용되는 개인 키입니다. 본 파일은 본인임을 확인하는 파일이므로 안전하게 보관하시기 바랍니다.
- 인증서
인증서(X.509 구조의 인증 기관과 관련된 추가 정보로 "래핑된" 공개 키) 이 파일은 통신의 유효성(서명에 사용된 키가 실제로 "그" 신뢰할 수 있는 키인지)을 확인하는 데만 사용되므로 공개적으로 사용할 수도 있습니다.
easy-rsa에 대해 언급했듯이 CA는 클라이언트 측과 서버 측에서 아마도 동일할 것입니다. 공통 TLS 키, 공통 CA 파일 및 해당 인증서가 포함된 자체 키가 있으면 이를 작동시키는 데 필요한 모든 것이 있습니다.
사용자를 위한 키와 인증서를 생성하고 이를 사용자에게 전달(또는 적어도 전송)하면 더 이상 필요하지 않으며 이 사용자 키+인증서는 서버에서 삭제될 수도 있습니다.
"큰" 인증 기관에서는 인증 요청에 서명된 인증서를 생성하는 데 필요한 공개 키(개인 키에서 파생된 정보)가 포함되어 있기 때문에 사용자 키는 발급 서버에 알려지지 않습니다. 키는 클라이언트 측에서 생성됩니다. 그리고 그 과정에서 절대 방치하지 마세요...