Proxmox 服務器的自簽名證書的SSL設定

Proxmox 服務器的自簽名證書的SSL設定 git

在使用Proxmox服務器時,會使用SSL訪問它的WEB管理平臺。 shell

因爲默認的安裝中SSL證書沒有簽署,因此瀏覽器總是會彈出證書錯誤,是否繼續之類的錯誤信息,非常礙眼。 apache

爲了在必定程度上避免這種現象,本文使用自簽名的證書來配置Promox的HTTPS。 瀏覽器

即便點了「仍然繼續」,https前面仍是會出現下面的小紅叉叉,難看的很: 安全

概念 服務器

關於自簽名的證書,囉嗦幾句。 網絡

常規的證書(那些NB的CA機構頒發的證書),容許使用該證書的服務器向用戶說: 測試

   你應該信任我,由於你信任的機構(NB的CA機構)是這麼說的 ui

而自簽名的證書就比較無恥了,它容許使用該證書的服務器對用戶說: spa

   你應該信任我,由於這是我說的

咱們訪問各類網銀是,必須都是HTTPS(若是你不是,那你悲劇了),而他們的證書都是常規的證書。

而我天朝的12306,好像是使用自簽名的證書(箇中緣由,you know…)。

前提

首先已經安裝好了Proxmox,並且網絡,IP都已經配置好了。

假設,Proxmox服務器的IP是: 10.194.153.6

爲了簡單起見,Proxmox服務器沒有綁定域名,老是以IP訪問。

1 生成證書

本例中的證書是自我簽署的證書。在默認的狀態下,自我簽署的證書在瀏覽器裏會彈出警告,

而不是討人厭的錯誤提示。

若是吧自我簽署的證書事前安裝好的話,就能夠正常的使用了。

所以,若是隻是(公司,實驗室,局域網)內部使用的話,使用自我簽署的證書是沒有問題的。

若是須要開放給外部訪問,最好仍是到CA認證機構去購買和申請正規的證書吧(不過聽說很貴)。

閒話少敘,開始幹活


1.1 生成私鑰

~# cd /etc/ssl/certs 
/etc/ssl/certs# openssl genrsa -des3 -out server.key 1024 
Generating RSA private key, 1024 bit long modulus
.....................................................................++++++
.......++++++
e is 65537 (0x10001)
Enter pass phrase for server.key:                 # 輸入pass phrase
Verifying - Enter pass phrase for server.key:	# 再次輸入

1.2 從私鑰中刪除pass phrase

/etc/ssl/certs# openssl rsa -in server.key -out server.key 
Enter pass phrase for server.key:# 輸入剛纔輸入的pass phrase
writing RSA key

1.3 生成證書

/etc/ssl/certs# openssl req -new -days 3650 -key server.key -out server.csr 
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:CN	 #國家代碼
State or Province Name (full name) [Some-State]:LN   #區域代碼,也就是咱們所謂的省
Locality Name (eg, city) []:DL	 #城市
Organization Name (eg, company) [Internet Widgits Pty Ltd]: TESTWork   #公司名稱,隨便填
Organizational Unit Name (eg, section) []:VM Manager   #部門名稱,隨便寫
Common Name (eg, YOUR name) []:10.193.153.6   
       #服務器全名(FQDN),本例中由於都使用的是IP,因此直接把IP寫上了。
       #這是證書生成過程當中最重要的一步,這裏填寫的Common Name必需要保證與apache中配置的Server name一致,
       #不然生成後的證書仍是很差用。
       #若是你使用的Proxmox已經在DNS服務器裏面綁定了域名,好比:proxmox.abc.com
       #並且在apache配置中,虛擬主機的Server Name也是:proxmox.abc.com
       #那末,這一步,就必須填寫:proxmox.abc.com,這樣生成的證書纔好使。

Email Address []:admin@10.194.153.6	 #管理員郵件地址,隨便填。
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:  #這裏不輸入也能夠,直接回車
An optional company name []: #這裏不輸入也能夠,直接回車

1.4 建立自簽署證書

/etc/ssl/certs# openssl x509 -in server.csr -out server.crt -req -signkey server.key -days 3650
Signature ok
subject=/C=CN/ST=LN/L=DL/O=PSDCD/OU=10.194.153.6/CN=10.194.153.6
Getting Private key

1.5 修改證書和密鑰的權限

/etc/ssl/certs# chmod 400 server.*

2 SSL設置

Promox的apache配置在下面的位置:

 /etc/apache2/sites-enabled/pve.conf

 /etc/apache2/sites-enabled/pve-redirect.conf

修改這兩個個文件:


2.1 確認Server Name是否和剛次生成證書是輸入的Common Name一致:

      不一致的狀況下,有兩條道:從新生成證書並簽署,或者修改此處

ServerName 10.194.153.6

2.2 配置剛纔生成的證書和公鑰到apache中

  

<VirtualHost *:8006>
    SSLEngine on
    SSLProtocol all -SSLv2
    # 爲了保險起見,先註釋掉默認的SSL配置
    #SSLCertificateFile /etc/pve/local/pve-ssl.pem	#這是默認的配置
    #SSLCertificateKeyFile /etc/pve/local/pve-ssl.key  #這是默認的配置

    # 加入新的配置
    SSLCertificateFile /etc/ssl/certs/server.crt #這是新的配置
    SSLCertificateKeyFile /etc/ssl/certs/server.key #這是新的配置
    … 此處省略N個字…

2.3 重啓apache

/etc/apache2/sites-enabled# apache2ctl restart

3 測試(IE這貨就不測了,Proxmox不支持IE,贊)

【Firefox】

 打開promox的WEB管理平臺,給出了警告。點擊「添加例外」。

點擊確認「安全例外」:

終於看到了久違的登錄畫面,注意,地址欄裏面的https前再也不會顯示大紅叉,而是正常的一個鎖的樣子了,說明自簽名證書成功了。

【Chrome的結果】

相關文章
相關標籤/搜索