본문 바로가기

개발 노트/Etc.

[Docker] x509: certificate signed by unknown authority 에러

반응형

회사에서 개발환경 구성을 하다 보면 사내 네트워크 보안으로 L7 방화벽에서 인증서를 새로 발급하는 이유로 이를 MITM 공격으로 Client 프로그램들이 인지를 하게 된다.

따라서 보안위배로 curl, pip 등 사용시 보안연결 예외 처리로 간단하게 처리해 왔었는데... docker 개발환경 구성 중 예외처리가 잘 되지 않아 구글링을 해결 방안을 찾아 정리한다.

환경

  • 서버 : Virtual Box VM
  • OS : Ubuntu 20.04

에러 문구

]# docker pull ubuntu:20.04
Error response from daemon: Get https://registry-1.docker.io/v2/: x509: certificate signed by unknown authority

조치

1. 사내 방화벽 인증서 받기 (cacert.crt)

2. VM Server (호스트서버) 로 파일 전송

]# scp cacert.crt user_name@127.0.0.1:/home/user_name/

3. crt 파일을 pem 으로 변경

]# openssl x509 -inform PEM -in cacert.crt > cacert.pem

4. VM Server (호스트서버) 에 등록

]# cd /usr/local/share/ca-certificates/
]# mkdir corp
]# cp -rf ~/cacert.pem ./corp/

5. 인증서 업데이트

]# update-ca-certificates
Updating certificates in /etc/ssl/certs...
1 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d...
Adding debian:cacert.pem
done.
done.

Adding debian:cacert.pem 문구가 존재하는지 확인 !

6. docker 재시작

]# systemctl restart docker

7. 확인

]# docker search ubuntu
NAME                                                      DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
ubuntu                                                    Ubuntu is a Debian-based Linux operating sys…   12095     [OK]

dorowu/ubuntu-desktop-lxde-vnc                            Docker image to provide HTML5 VNC interface …   520
....

VM Server(호스트서버) 에 L7 방화벽을 신뢰할 수 있는 인증서로 등록해 주며 docker 에서 공용 registry 에 보안연결 접속 시 가능하도록 해주는 방법이다.

반응형