3、harbor部署之SSL

1 簽名證書與自簽名證書

  簽名證書:由權威頒發機構頒發給服務器或者我的用於證實本身身份的東西。node

  自簽名證書:由服務器本身頒發給本身,用於證實本身身份的東西,非權威頒發機構發佈。算法

2 openssl簡介

  openssl 是一個強大的安全套接字層密碼庫,囊括主要的密碼算法、經常使用的密鑰和證書封裝管理功能及SSL協議,並提供豐富的應用程序供測試或其它目的使用。docker

3 KEY與CSR的區別

  Key一般用來存放一個公鑰或者私鑰,並不是X.509證書,編碼一樣的,多是PEM,也多是DER。證書自身擁有一個密鑰對(即一個公鑰和一個私鑰),由公鑰(Public Key)與私鑰(Private Key)是經過一種算法獲得,公鑰是密鑰對中公開的部分,私鑰則是非公開的部分。通常公鑰和密鑰的關係爲:1,公鑰和私鑰成對出現、2,公開的密鑰叫公鑰,只有本身知道的叫私鑰、3,用公鑰加密的數據只有對應的私鑰能夠解密、4,用私鑰加密的數據只有對應的公鑰能夠解密、5,若是能夠用公鑰解密,則必然是對應的私鑰加的密、6,若是能夠用私鑰解密,則必然是對應的公鑰加的密。安全

  CSR文件必須在申請和購買SSL證書以前建立。也就是證書申請者在申請數字證書時由CSP(加密服務提供者)在生成私鑰的同時也生成證書請求文件,證書申請 者只要把CSR文件提交給證書頒發機構後,證書頒發機構使用其根證書私鑰簽名就生成了證書公鑰文件,也就是頒發給用戶的證書。服務器

4 證書配置之生成根證書

  建立證書存放目錄:dom

mkdir -p /data/cert && cd /data/cert

  

4.1建立本身的CA證書(不使用第三方權威機構的CA來認證,本身充當CA的角色)

openssl genrsa -out ca.key 2048   #生成根證書私鑰(無加密)    

 

4.2生成自簽名證書(使用已有私鑰ca.key自行簽發根證書)

openssl req -x509 -new -nodes -key ca.key -days 10000 -out ca.crt -subj "/CN=Harbor-ca"

req     產生證書籤發申請命令
-x509   簽發X.509格式證書命令。X.509是最通用的一種簽名證書格式。 -new    生成證書請求 -key 指定私鑰文件 -nodes 表示私鑰不加密 -out    輸出 -subj 指定用戶信息
-days 有效期

 

5 證書配置之生成服務器端證書

5.1生成服務器端私鑰和CSR簽名請求

openssl req -newkey rsa:4096 -nodes -sha256 -keyout server.key -out server.csr

 

  一路回車。。。測試

5.2簽發服務器證書

echo subjectAltName = IP:192.168.88.128 > extfile.cnf
openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -days 365 -extfile extfile.cnf -out server.crt
 x509           簽發X.509格式證書命令。
-req           表示證書輸入請求。
-days          表示有效天數
-extensions    表示按OpenSSL配置文件v3_req項添加擴展。
 -CA            表示CA證書,這裏爲ca.crt
-CAkey         表示CA證書密鑰,這裏爲ca.key
-CAcreateserial表示建立CA證書序列號
-extfile    指定文件

  

6 修改hardor的配置文件hardor.cfg

   更新主機名和協議ui

  #set主機名
  hostname = 192.168.88.128
  #set ui_url_protocol
  ui_url_protocol = https

  

  

7 設置docker證書

# 若是以下目錄不存在,請建立,若是有域名請按此格式依次建立
mkdir -p /etc/docker/certs.d/192.168.88.128 # mkdir -p /etc/docker/certs.d/[IP2] # mkdir -p /etc/docker/certs.d/[example1.com] # 若是端口爲443,則不須要指定。若是爲自定義端口,請指定端口 # /etc/docker/certs.d/yourdomain.com:port # 將ca根證書依次複製到上述建立的目錄中 cp ca.crt /etc/docker/certs.d/192.168.88.128/

8 爲Harbor生成配置文件

#首先重啓下docker
service docker restart
#爲Harbor生成配置文件
./prepare

  

9 完成啓動Harbor

docker-compose up -d

  

  訪問測試:編碼

  

  

 

docker-compose down -v加密

相關文章
相關標籤/搜索