[分佈式] 分佈式安全

前一篇文章提到了 分佈式系統詳解--基礎知識(CAP),讓我們瞭解到了分佈式中一致性、可用性和分區容錯性之間的愛恨情仇,今天的安全性我想更是重中之重,沒有安全,好像什麼都沒有了,這篇文章當中也只能將一些最基本的安全知識介紹一下,如黑客攻擊的基本漏洞、數據加密、權限控制、安全通道。如果想成為安全界的大牛,還需要加倍的努力才行。當然在文章後期會進一步介紹一下現在一些安全的框架,可以在某一方面幫助我們實現安全的部分性能。

一、黑客的安全攻擊

[分佈式] 分佈式安全

說起黑客,他們好像無孔不入,只要一臺電腦,就可以玩轉整個世界。但是他們在分佈式中可以進行哪一些攻擊呢?我們來看一下。

常用的攻擊方法

(1)對進程的威脅

A,對服務器:使用假身份證欺騙

B,對客戶:使得客戶收到假結果:竊聽了客戶口令

(2)對通道安全威脅

A,切斷。(實際上就是將服務或者數據被破壞讓數據變得不能獲得或者不可用,當然還有其他攻擊可能,如對其可用性的攻擊,破壞硬件,切斷通信線,使文件失效)

B,偵聽。(這個是對那些未授權的資源進行訪問,進行一系列非法的操作)

C,更改。(未授權著不僅可以進行訪問資源,還能夠進行更改資源,破壞其完整性。或者直接改變程序邏輯,使得程序執行發生變化)

D,偽造。(未授權著可以進行添加對象,使得假的消息內容出現在系統中)

間接滲透

(1)特洛伊木馬。濫用執行環境的一段代碼。在其表面來說是合法程序,一旦執行,就會產生非預期的結果。

(2)蠕蟲。這是一種獨立的程序,使用的是派生技術,產生眾多類似於蠕蟲的同樣程序,嵌入其他運行環境。

(3)病毒。在合法文件中潛藏的一段惡意代碼。通過電子郵件、網頁中的可執行程序、或者下載文件進行傳播。

二、知己知彼方百戰不殆--應對之策

不斷提高我們的安全意識是一方面,更重要的是應對之策。

2.1 認證

官方語言就是識別並驗證主體的合法性(也就subject),通俗一點,就是誰進來,我要驗證你的身份,先要看一下是否能夠讓系統認識你,就登錄而言,就是你的登錄賬號和密碼是否匹配。這裡的主體呢,可以是用戶,也可以是客戶、進程、服務器。

當認證通過時,我們需要對該用戶賦予他相應的權限,使得該用戶可以在系統中執行一系列的操作。

2.3 加密

加密解密可以說是老生常談的問題,就是將一個明文在進行數據傳輸的時候進行一系列的處理使得變為一串不能被識別的代碼,還可以在驗證其完整性。

2.4 監聽

監聽技術實際上是通過對日誌的分析,我們可以看到我們的系統中出現的問題,當攻擊者進行攻擊的時候,我們可以分析我們系統中的漏洞,執行補救的工作。

三、加密算法

(key)A-->B(key)

(1)對稱加密

對稱加密是指的加密和解密使用相同密鑰的加密算法。在加密算法中使用了同一個密鑰,A進行密鑰加密,B用相同的key進行解密。這就需要A和B對key進行相當的保密,倘若被別人發現密鑰key的值,信息就會被暴露。

(2)非對稱加密

(pub-key)A-->B(pri-key)

非對稱加密就是針對上面對稱加密的安全措施的缺陷來進行的整改,為了防止別人拿到key值就可以肆意的進行數據傳輸,那麼B就可以向外提供一個公鑰(pub-key),這個時候,A發過來的消息使用(pub-key)進行加密,而對於擁有私鑰的B來說才能解開。並且這還有個顯著地特點,就是如果B可以向外發出很多個公鑰,如果這幾個公鑰不一樣,那麼另外這幾個公鑰發過來的消息他們彼此是不能相互通信的。這就進一步加強了數據的安全性。

非對稱加密要求加密一方和解密一方密鑰不同,但是他的性能太低。

(3)數字簽名

(sign)A-->B(pub)

非對稱加密對加密性能進行了提高,然而我們還是要擔心的問題就是公鑰是不是被人攔截了,被人從中獲取之後,修改信息。所以我們引進裡數字簽名,這個時候,A生成了一對公鑰和私鑰,先將公鑰給B,然後自己的數據用私鑰進行簽名,發送給B,B接收到消息之後,用A發過來的數據解密,就能獲得數據。

(4)數字認證

這張圖就很明顯的解釋了這個加密方式,Bob首先將自己的公鑰發送給Trent,Trent獲得Bob的pub之後,用自己的私鑰(pri')將pub進行加密,獲取到一個sign,而這個sign值只有用Trent的公鑰才能解開,Trent將公鑰pub'發送給了Alice,此時,Bob將自己的公鑰和加密後的sign一起發送給Alice,Alice用之前Trent發送給的pub‘來進行驗證sign,如果sign值正確,那麼Bob發送過來的公鑰pub是正確的,這就防止了一部分人獲取公鑰的想法了~~完美吧,哈哈。

博客參考:阿里技術公眾號推薦趣圖解析加密算法:工程師男友如何反竊聽?趣聊密碼學入門科普

四、安全通道

4.1 初識SSL和HTTPS

什麼是SSL呢?SSL全稱是Secure socket layer(安全套接字層)。SSL是Netscape所研發,來保障因特網上數據傳輸的安全,利用數據加密技術,用來保證在網絡傳輸中不會被截取以及竊聽。SSL其實和我們的生活也是有著密切的關係,現在我們所使用的淘寶、天貓、百度、騰訊等等大型官網進入的時候,我們都會發現都已經改成了https為開頭的網站鏈接。而https是在http的基礎上加入了SSL協議。

4.2 SSL的實現的基本功能

(1)數據進行加密。通過加密算法使得數據具有安全性,加密的過程需要用到密匙來加密數據然後再解密。

(2)數據的一致性 加密也能保證數據的一致性。可以校驗數據是否已經被篡改過,保證數據的前後一致。

(3)服務器身份證明。SSL服務器證書可以有效地證明網站的真實身份、使用的域名的合法性,讓使用者可以很容易識別真實網站和仿冒網站。

4.3 HTTP與HTTPS的關係

區別:

A,https協議是需要ca證書,並且需要一定的費用(也有沒費的)。

B,http是超文本傳輸協議,信息是明文發送,https是SSL加密後進行傳輸的。

C,http和https使用的不同的連接方式。端口也不同,http端口是80,https端口是443.

4.4 HTTPS的工作原理(網上搜刮圖)

五、防火牆

5.1 防火牆的基礎定義

簡單來說就是一種位於內部網絡和外部網絡之間的一種網絡安全系統。詳細一點的解釋就是它是一個由軟件和硬件設備組合、在內部網和外部網絡之間、專用網和公共網之間的界面上構造的保護屏障。

5.2 防火牆類型

(1)網絡型防火牆

網絡防火牆可以看作是一種ip封包過濾器,它的運作底層是TCP/IP協議堆棧。在這裡只允許一些特定規則的封包通過,其他的一律禁止入內。溫馨提示,病毒防不住。

(2)應用層防火牆

應用層防火牆是在 TCP/IP 堆棧的“應用層”上運作,也就是說瀏覽器上所產生的數據流或者使用FTP時的數據流都是這一層。防火牆可以檢測電腦所有的封包,並且找出不規則的內容,可以防範電腦蠕蟲和木馬程序的快速蔓延。

(3)數據庫防火牆

數據庫防火牆基於數據庫協議分析與控制技術的數據庫安全防護系統,實現數據庫中的訪問行為控制、危險操作阻斷、可以行為審計。

5.3 分佈式防火牆

採用 NSX 網絡虛擬化方案, 分佈式防火牆來管理東西向流量。因為是完全基於軟件的虛擬防火牆,可以做到每一臺虛機都配備一臺防火牆。而且雖然防火牆是分佈式的,但是它們的管理是集中的,通過統一的管理界面來管理所有的虛擬防火牆,集中配置所有防火牆的安全規則,所以管理上也很簡便。


分享到:


相關文章: