您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“Ceph OpenSSL的示例分析”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“Ceph OpenSSL的示例分析”這篇文章吧。
SSL(Secure Sockets Layer 安全套接層),及其繼任者傳輸層安全(Transport Layer Security,TLS)是為網(wǎng)絡(luò)通信提供安全及數(shù)據(jù)完整性的一種安全協(xié)議。TLS與SSL在傳輸層對網(wǎng)絡(luò)連接進(jìn)行加密。Secure Socket Layer,為Netscape所研發(fā),用以保障在Internet上數(shù)據(jù)傳輸之安全,利用數(shù)據(jù)加密(Encryption)技術(shù),可確保數(shù)據(jù)在網(wǎng)絡(luò)上之傳輸過程中不會被截取及竊聽。一般通用之規(guī)格為40 bit之安全標(biāo)準(zhǔn),美國則已推出128 bit之更高安全標(biāo)準(zhǔn),但限制出境。只要3.0版本以上之I.E.或Netscape瀏覽器即可支持SSL。
SSL協(xié)議提供的安全通道有以下三個(gè)特性:
機(jī)密性:SSL協(xié)議使用密鑰加密通信數(shù)據(jù)。
可靠性:服務(wù)器和客戶都會被認(rèn)證,客戶的認(rèn)證是可選的。
完整性:SSL協(xié)議會對傳送的數(shù)據(jù)進(jìn)行完整性檢查。
SSL證書依據(jù)功能和品牌不同分類有所不同,但SSL證書作為國際通用的產(chǎn)品,最為重要的便是產(chǎn)品兼容性(即證書根預(yù)埋技術(shù)),因?yàn)樗鉀Q了網(wǎng)民登錄網(wǎng)站的信任問題,網(wǎng)民可以通過SSL證書輕松識別網(wǎng)站的真實(shí)身份。SSL證書分為如下種類:
擴(kuò)展驗(yàn)證型(EV)SSL證書
組織驗(yàn)證型(OV)SSL證書
域名驗(yàn)證型(DV)SSL證書
上述三種證書存在一些差別,這里進(jìn)行簡單敘述:
DV和OV型證書最大的差別是:DV型證書不包含企業(yè)名稱信息;而OV型證書包含企業(yè)名稱信息。
OV型和EV型證書,都包含了企業(yè)名稱等信息,但EV證書因?yàn)槠洳捎昧烁訃?yán)格的認(rèn)證標(biāo)準(zhǔn),瀏覽器對EV證書更加“信任”,當(dāng)瀏覽器訪問到EV證書時(shí),可以在地址欄顯示出公司名稱,并將地址欄變成綠色。
三種SSL證書的價(jià)格一般按照EV,OV,DV逐個(gè)遞減。
HTTPS(Hypertext Transfer Protocol Secure)安全超文本傳輸協(xié)議。它是由Netscape開發(fā)并內(nèi)置于其瀏覽器中,用于對數(shù)據(jù)進(jìn)行壓縮和解壓操作,并返回網(wǎng)絡(luò)上傳送回的結(jié)果。HTTPS實(shí)際上應(yīng)用了Netscape的完全套接字層(SSL)作為HTTP應(yīng)用層的子層。(HTTPS使用端口443,而不是象HTTP那樣使用端口80來和TCP/IP進(jìn)行通信。)SSL使用40 位關(guān)鍵字作為RC4流加密算法,這對于商業(yè)信息的加密是合適的。https是以安全為目標(biāo)的HTTP通道,簡單講是HTTP的安全版。即HTTP下加入SSL層,https的安全基礎(chǔ)是SSL。
操作前需要創(chuàng)建桶bucket1,并將權(quán)限設(shè)置成公開訪問,為了驗(yàn)證的直觀性,建議同時(shí)上傳多個(gè)對象,如obj1,obj2...并且將對象的權(quán)限也設(shè)置成公開訪問,這樣便于后續(xù)采用瀏覽器進(jìn)行訪問。
首先需要利用openssl生成根證書,以后的服務(wù)器端證書或者客戶端證書都用他來簽發(fā),可以建立多個(gè)根證書,就像對應(yīng)不同的公司一樣。
#生成根證書的私鑰,參數(shù)des3是加密算法 openssl genrsa -des3 -out server.key 1024 #生成服務(wù)器端證書簽名請求文件(csr文件),利用私鑰生成一個(gè)根證書的申請,一般證書的申請格式都是csr。所以私鑰和csr一般需要保存好 openssl req -new -key server.key -out server.csr cp server.key server.key.orig #去除密鑰文件的保護(hù)密碼,每次讀取key文件時(shí)可以不需要口令 openssl rsa -in server.key.orig -out server.key #自簽名,有效期10年 openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt cp server.crt server.pem cat server.key >> server.pem
注:在做第二步時(shí),存在common name(CN)選項(xiàng)的設(shè)置,為了與AWS S3的域名訪問規(guī)則一致,可以設(shè)置成
*.exampletest.com
,其他的選項(xiàng)可隨意。
需要使用軟連接,否則會出錯(cuò),可在log文件中查看出錯(cuò)信息。
ln -s /lib64/libssl.so.1.0.1e /usr/lib64/libssl.so ln -s /lib64/libcrypto.so.1.0.1e /usr/lib64/libcrypto.so
這里需要在ceph.conf
文件中配置rgw_dns_name
和rgw_frontends
兩個(gè)參數(shù)信息。
[client.rgw.rgw1] host = ceph2 rgw_dns_name = exampletest.com rgw_frontends = "civetweb port=443s ssl_certificate=/etc/ceph/private/server.pem"
注:在
rgw_frontends
參數(shù)中需要配置3.1節(jié)中生成的ssl證書server.pem的路徑。
在rgw實(shí)例所在的主機(jī)的etc/hosts
下加入以下域名映射:
192.168.141.142 bucket1.exampletest.com
在用瀏覽器訪問的主機(jī)的hosts文件下添加:
192.168.141.142 bucket1.exampletest.com
下面對網(wǎng)站的訪問以IE瀏覽器為例
無證書訪問
瀏覽器中直接輸入網(wǎng)址https://bucket1.exampletest.com,可以正確訪問,并且列出桶bucket1中內(nèi)容,但是地址欄會提示證書錯(cuò)誤的字樣,這是由于未導(dǎo)入證書所致。
有證書訪問
首先導(dǎo)入證書。
瀏覽器地址欄輸入網(wǎng)址https://bucket1.exampletest.com 時(shí)會出現(xiàn)鎖形標(biāo)志,表示安全訪問鏈接,并且能夠正確列出桶bucket1中的內(nèi)容。
為方便測試,這里的證書是自簽名的,不是機(jī)構(gòu)頒發(fā)。所以在sdk中需要通過參數(shù)設(shè)置來繞過證書的檢查。這里以python
為例,將與使用http
訪問方式不同的兩處地方單獨(dú)做了說明,如下:
url = 'https://192.168.141.142' s3 = boto3.client('s3', verify=False, #只需要將此參數(shù)設(shè)置成False endpoint_url=url, aws_access_key_id=access_key, aws_secret_access_key=secret_key )
通過上述修改后就可以正常操作。
以上是“Ceph OpenSSL的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。