0

고급 설치 방법을 사용하는 OpenShift Origin 3.6에서 웹 콘솔과 라우터에 대한 사용자 지정 TLS 인증서를 구성했습니다.사용자 지정 TLS 인증서 체인이있는 OpenShift 웹 콘솔은 "안전하지 않음"으로 유지됩니다.

openshift_master_named_certificates=[{"certfile": "/root/star.paas.certs/star.paas.local.cert.pem", "keyfile": "/root/star.paas.certs/star.paas.local.key.pem", "names": ["master.paas.local"], "cafile": "/root/star.paas.certs/ca-chain.cert.pem"}] 
openshift_master_overwrite_named_certificates=true 

그리고 라우터를 들어, 매개 변수는 다음과 같습니다 : 웹 콘솔

, 나는 Ansible 재고에 사용 된 매개 변수가있는 TLS 인증서 측면에서
openshift_hosted_router_certificate={"certfile": "/root/star.paas.certs/star.paas.local.cert.pem", "keyfile": "/root/star.paas.certs/star.paas.local.key.pem", "cafile": "/root/star.paas.certs/ca-chain.cert.pem"} 

, 사용자 지정 인증 기관이 생성되어 ca-chain.cert.pem 파일에 저장되었습니다. 이 CA를 기반으로하는 사용자 지정 인증서가 생성되었습니다 ( star.paas.local.key.pemstar.paas.local.cert.pem).

OpenShift 웹 콘솔 (내 경우)과 임베디드 라우터 (https://*.paas.local으로 라우팅 된 응용 프로그램)에 동일한 인증서 체인을 사용합니다.

그런 다음 웹 콘솔에 액세스하려면 브라우저에 루트 CA를 가져와야합니다.

요점은 다음과 같습니다. Chromium을 사용하고 master.paas.local:8443으로 이동하면 연결이 안전하지 않은 것으로 간주됩니다 (NET :: ERR_CERT_AUTHORITY_INVALID). 좀 더 정보를 요청할 때, 나는 인증서 계층 구조가 불완전 통지 :

Certificate details in Chromium

흥미롭게도,이 예상되는 방식으로 작동 나에게 알려진 유일한 브라우저 파이어 폭스에서 발생하지 않습니다

내 애플 리케이션을위한 OpenShift에 의해 제공 반대에

Certificate details in Firefox

, 모든 TLS-을 확보 공공 경로는 내가 웹 콘솔에 사용하는 것과 똑같은 인증서 체인, 내가 테스트 한 모든 브라우저 보안 고려 .

현대적인 모든 브라우저에서 웹 콘솔을 사용할 때 openshift (-ansible) 사용자 정의 CA를 고려할 수있는 효과적인 방법이 있습니까? OpenShift 웹 콘솔은 TLS 핸드 셰이크 중에 루트/중간 CA를 보내지 않습니다.

답변

0

가능성있는 플레이 북은 named_certificates에 대한 카페인 제공을 지원하고 파일을 배치합니다. 그러나 실행중인 시스템은 cafile 키를 지원하지 않으므로 무시됩니다. certfile을 전체 번들 (번들 + cert)로 제공하면 제대로 작동해야합니다.

나는 PR to the playbook to handle this task을 제출했습니다.

관련 문제