2016-11-19 19 views
0

我的設置包含2臺服務器 - 一臺用於郵件主機,另一臺用於虛擬主機。由於虛擬主機具有SSL證書,我還需要這些郵件服務器服務器(相同的域名)。如何通過rsync將SSL證書複製到另一臺服務器

有沒有辦法從本地虛擬主機提供商的服務器到本地郵件主機服務器使用rsync或任何其他方式複製安全證書文件?通過這樣做,保持鑰匙安全,併爲鴿舍提供便利。

我已經嘗試給兩端rsync sudo權限(sudoers文件也修改,但仍然說「沒有tty禮物,沒有askpass程序指定」),也使用SSH密鑰,但仍然沒有成功。

我該怎麼辦?

回答

0

首先,通常不應該爲Web和郵件服務器使用相同的證書。基本的設置是,Web服務器應該有www.whatever.com和whatever.com作爲替代名稱(或者反過來)的證書,並且郵件服務器將擁有諸如mail.whatever.com之類的證書,或者不管它的主機名是什麼。請注意,郵件服務器的證書應該是其主機名,而不是它所服務的域。如果郵件服務器甚至不在與其服務的域名相同的頂級域名中,這是完全正常的 - 如果DNS中有一個MX記錄,說明whatever.com的郵件應該發送到someserver.isp。 net,這是完全正常的,郵件服務器需要一個server.isp.net的證書,而不是 whatever.com。

其次,它聽起來像是在試圖將此過度自動化。如果您確實需要多臺計算機上的相同證書,則通常應在服務器之間手動複製它(例如,在非特權帳戶之間使用scp),然後在每臺服務器上手動安裝它。另一方面,如果您使用的是像letsencrypt這樣的自動化證書生成系統,那麼您最好在每臺服務器上生成獨立證書。

有與允許自動升級權限,如允許rsync通過sudo以root身份運行顯著的安全風險。除非你非常小心,任何有權訪問系統的人都可以利用這一點來修改他們想要的任何文件(包括/ etc/sudoers)只需通過rsync來完成!同樣,允許一臺服務器以root身份遠程訪問另一臺服務器意味着任何可以自動接管一臺服務器的人都可以完全控制另一臺服務器這很危險!除非你真的需要,否則不要這樣做,在這種情況下,你需要真正瞭解你在做什麼。

+0

在做端口轉發,然後根據你的答案,我想我會做一個腳本,有助於讓encyrpt certbot能夠自動使SSL更新(使所需的文件,以確認網頁所有權)。 給予rsync的須藤權限是我知道一個安全風險,但我認爲可能有某種方式可以安全地自動更新它。 – kookon

0

rsync的工作原理是這樣的:rsync -P [email protected]_host_ip:path1 [email protected]_host_ip:path2

此登錄到與from_host_user from_host_ip SSH端口,將文件從PATH1日誌複製,到to_host_ip與to_host_user並把文件上的路徑2

+0

我知道rsync如何工作,但它不允許複製SSL證書文件,因爲它們受到保護。 – kookon

+0

則要麼需要作爲我只有1個IP地址和路由器以root登陸(用於FROM_USER)或第一登錄爲不同的用戶和與須藤改變權限(即'''須藤搭配chmod + R path_to_ssl_file''' – zabeltech

相關問題