Micro Service Architecture/Harbor
[harbor] self-signed certificate (사설 인증서) 적용하기
ploz
2025. 2. 11. 15:48
반응형
참조 : [Harbor] 설치 및 LDAP 연동, 이미지 Push/Pull 해보기
Harbor 호스트 작업
Root CA(Certifocate Authority) 인증서 생성
CA 개인키 생성
openssl genrsa -out ca.key 4096
CA Public Key 생성
openssl req -x509 -new -nodes -sha512 -days 3650 \
-subj "/C=KR/ST=Gyeonggi-do/O=Seongnam-si/OU=test/CN=harbor.test.com" \
-key ca.key \
-out ca.crt
Server 인증서 생성
Server 개인키 생성
openssl genrsa -out harbor.test.com.key 4096
Server CSR(인증서 서명 요청) 생성
openssl req -sha512 -new \
-subj "/C=KR/ST=Gyeonggi-do/L=Seongnam-si/O=test/OU=test team/CN=harbor.test.com" \
-key harbor.test.com.key \
-out harbor.test.com.csr
x509 v3 파일 생성
cat > v3.ext << EOF
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
extendedKeyUsage = serverAuth
subjectAltName = @alt_names
[alt_names]
IP.1 = 172.16.10.101
DNS.1 = harbor.test.com
DNS.2 = harbor
EOF
Server Public 키 생성
openssl x509 -req -sha512 -days 3650 \
-extfile v3.ext \
-CA ca.crt -CAkey ca.key -CAcreateserial \
-in harbor.test.com.csr \
-out harbor.test.com.crt
Docker Client에서 사용할 cert 변환(crt -> cert)
openssl x509 -inform PEM -in harbor.test.com.crt -out harbor.test.com.cert
Harbor에 인증서 복사
mkdir /data/cert
cp -arf harbor.bside.com.crt harbor.bside.com.key ca.crt /data/cert/
harbor.yml 수정
https:
# https port for harbor, default is 443
port: 443
# The path of cert and key files for nginx
certificate: /data/cert/harbor.test.com.crt
private_key: /data/cert/harbor.test.com.key
Harbor 재설치
Harbor 삭제
docker-compose down --rmi all
rm -rf docker-compose.yml
Harbor 설치
./prepare --with-trivy
./install.sh --with-trivy
Docker Client 설정
Docker Linux Client
Client에 필요한 인증서는 ca.crt, harbor.test.com.cert, harbor.test.com.key 총 3가지 이다.
해당 인증서를 Docker Client로 안전하게 가져온다
Docker Client 인증서 디렉토리 생성
mkdir -p /etc/docker/certs.d/harbor.test.com
인증서 복사
cp -arf ca.crt harbor.test.com.cert, arbor.test.com.key /etc/docker/certs.d/harbor.bside.com/
insecure-registries 설정이 있다면 삭제 해도 된다.
Docker 재시작
systemctl restart docker
Docker Desktop for Windows Client
Linux Client와 마찬가지로 ca.crt, harbor.test.com.cert, harbor.test.com.key 인증서를 안전하게 가져온다.
Root CA 인증서 설치
ca.crt 인증서를 설치한다.
인증서 디렉토리 생성
경로 : C:\사용자\.docker\certs.d\harbor.bside.com
해당 디렉토리에 ca.crt, harbor.test.com.cert, harbor.test.com.key 인증서를 복사한다.
Docker 재시작
insecure-registries 설정이 있다면 삭제 해도 된다.
참고
설치된 인증서 삭제 하기
윈도우에서 "인증서"로 검색하고 "사용자 인증서"를 선택한다.
신뢰할수 있는 루트 인증기관 - 인증서 경로에 설치한 인증서를 삭제 할 수 있다.
반응형