• 2

VM安全性

想請問,不管自組或是買市售的NAS,有很多人會再上面開VM架設網站嗎?

一般來說,VM算是與host隔絕的,相較於docker來說,應該是安全一點,但對於網站跟NAS各自獨立來說,又沒這麼安全。

我想請問的是,現在NAS的效能越來越好了(不管市售或自建),若一機單用感覺很浪費其效能,但若架設網站又感覺對外開放門戶。

因此想請問,若在NAS上開VM架設網站(blog、album等),iptables均有設定啟動,會很容易會造成主體資料受到損失嗎?

一般公司會因為這樣建置兩套系統嗎?
2016-05-05 13:27 發佈
文章關鍵字 VM安全性
不管是 vm/lxc/docker 都是 sandbox 的形式保護. 當 vm/lxc/docker 當機, host 依然可以維持運作. 這個是虛擬化的本質.
.
安全性以及你提到的網路安全性就不一樣了. 首先 NAS 本身對外連接, 架設其服務所需要的網站 & 服務, 這部分使用很多 openssl 的 library 以及 php 等等套件. 在所有市售品的 NAS 的套件更新太慢了, 所以它的安全性是超級低.

請看 https://www.openssl.org/news/secadv/20160503.txt Severity: High. 2016/05/03 嚴重的 bug. 但是到了今天我伺服器上所有的 patch 都已經更新完畢了. 但是 Q & S 的 nas 的 patch 連影子都沒有.

所有的 debian/ubuntu/centos/freebsd 基本上都會在 5個工作天內完成 patch 提供更新, 但是不管是 Q牌或是S牌的更新是絕對超過 30天以上的.

以對外服務的 library 來看. VM 因為所使用的 OS 更新速度的關係, 它會比市售的 NAS 來的安全! 我反而建議把所有 NAS 的對外服務關閉.

再來就是 VM 有自己獨立的 file system. 其 file system 損會是不會傷害到 host 的資料. 但是 LXC/Docker 是允許跟 NAS host 共用資料夾, 這個時候, 就有機會讓針對於 host 共享的資料夾的資料造成毀損.
Oneplus 8 Pro• Thinkpad T480s• PVE6+OMV4+NextCloud
EluSiOn wrote:
不管是 vm/lxc...(恕刪)


感謝E大回覆。

想再請問,若使用VM假設的網站被入侵,那從VM端入侵到host端容易嗎?
又,入侵者如何得知入侵主機是VM還是host呢?

prsb wrote:
想再請問,若使用VM假設的網站被入侵,那從VM端入侵到host端容易嗎?
又,入侵者如何得知入侵主機是VM還是host呢?


放在同一網段,

就用交換器切VLAN,

不然就放在不同網段,

幾千塊的防火牆和網管型交換器都可以做到.








就用交換器切VLAN, 不然就放在不同網段, 都是很好的方法

再來就是要抓侵入點, 要安裝 https://www.graylog.org/ 去找.

最後如果, 防火牆是使用 PFSense, 你的安全係數可以拉很高! 不管是 Deep packet inspection (DPI), Intrusion Detection System IDS 以及 Intrusion Prevention System 都有. 但是就要看你防火牆的 cpu 是否夠力了.
Oneplus 8 Pro• Thinkpad T480s• PVE6+OMV4+NextCloud
謝謝d大跟E大

目前因為硬碟空間關係,host跟VM間會用到NFS。看起來這就會造成風險存在?

目前架構如下:

1*120G SSD <- 安裝host系統+VM存放位置
3*HD <- RAID 5單純存放資料
NIC有3 port,兩個跑192.168.3.x(bonding),一個跑192.168.2.x供VM使用,也藉此讓VM利用NFS掛載host的某些資料夾。
VM配置因SSD空間不夠大,所以得利用NFS分享host空間資源。


看來原本VM的獨立作業與隔絕的安全性,會因為NFS讓host暴露於風險之中瞜?
若是切了VLAN或是不同網段,卻又讓他們可以相通,是不是就等於沒意義的切割了?

PFSense不熟,因為只因為好奇裝在VM玩過一下,可能連皮毛都不算了解吧。
prsb wrote:
目前因為硬碟空間關係,host跟VM間會用到NFS。看起來這就會造成風險存在?
目前架構如下:
1*120G SSD <- 安裝host系統+VM存放位置
3*HD <- RAID 5單純存放資料
NIC有3 port,兩個跑192.168.3.x(bonding),一個跑192.168.2.x供VM使用,也藉此讓VM利用NFS掛載host的某些資料夾。
VM配置因SSD空間不夠大,所以得利用NFS分享host空間資源。
看來原本VM的獨立作業與隔絕的安全性,會因為NFS讓host暴露於風險之中瞜?
若是切了VLAN或是不同網段,卻又讓他們可以相通,是不是就等於沒意義的切割了?


同一台機器,

1*SSD=Host OS + Guest OS

3*HD=NFS

所以是Host OS 和 Guest OS 共同掛載NFS,

請問大大的Host OS是??
你的問題在於資料如何做得安全. 這部分其實不是 VM 的問題.

VM 的 Sandbox 是確保執行的層面, VM 當機時不會影響到 Host 或是其它 VM 而能繼續提供服務的安全性

VLAN 的 Sandbox 是提供了網路架構的層面, 確保 VM 被入侵時, 不會繼續干擾或是侵略其它 LAN 上面的伺服器.

PFSense 是最外圍的防火牆, 把有害攻擊全部擋在外面.

所以假設在你的內網上有一台電腦被 rootkit 了, 那麼它所有的資料以及它有擁有讀取以及修改的資料, 都會被盜走或是破壞 (刪除或是加密). 你比較需要的是資料上的安全性. 解決資料的安全性只有[備份]/快照
Oneplus 8 Pro• Thinkpad T480s• PVE6+OMV4+NextCloud
VM 是 虛擬磁碟、虛擬 OS 的,與 HOST OS 完全無關。

虛擬機就算被入侵,或整個爛掉,也不會影響 HOST 真實本機任何資料。


打個比喻:電腦病毒。

如果有一位母親,帶著她小孩去看醫生,說我家電腦中毒了,怕小孩也傳染了病毒。

會不會覺的很可笑。電腦病毒並不是真正病毒,而是電腦中的程式碼,是虛擬的東西,它怎麼可能穿越到真實世界呢。

同理,虛擬機中的一切,都是虛擬的,不會跑到真實機上面去。

電影《駭客任務》,被電腦眷養的人類,某天發現自己生活在虛擬世界中,吞下一顆藥丸,結果就從真實世界甦醒,那個是小說故事,是幻想的,實際不可能發生。


不過大部分的 NAS 機,自帶就有架站功能,運行在 HOST OS 上的,並非 VM 上。

因為 VM 是經過虛擬的,性能會降低很多,尤其 NAS 的 CPU 都不是主流的,而是省電型比如 ATOM、J1900,N3150 什麼的。雖然省電,但性能不高。跑 VM 太勉強了。

很多功能都是:看的到,吃不到。

功能不過就是 軟體,軟體要裝啥,只要免授權費的(自由軟體),想裝多少有多少,拷貝軟體需要成本嗎?不用。

功能要多少有多少,只是問題:機子(CPU、RAM)跑不跑的動。

跑不動,LAG 嚴重的情況,就是:看的到,吃不到。的確有那個功能,廠商沒騙人,但若你開啟,LAG 到你不想用....


又如果有一台超強的 NAS,使用主流 CPU,大容量 RAM,價格也很貴的。其實那就是 server 伺服器吧,肯定也不會省電。名詞都是隨廠商喊的,一台伺服器,高興叫它 NAS 也行的。伺服器當然也可以有 NAS 功能,只要裝適當軟體即可。

包括說:個人電腦 PC。就是一般人用的電腦。裝上了適當軟體,也可以是伺服器、NAS,不是嗎。


VM 虛擬機的 IP,與 NAS 本機 HOST OS 的 IP。原則上是設不同的。傳給虛擬機的封包,並不是由 HOST OS 接收。

就算虛擬機不開防火牆,1~65536 埠全開,傳給那個虛擬機 IP 的封包。都與真實本機無關。

TCP/IP 先認 IP(OSI Level 3),再來才會看 port(OSI Level 4)。網路傳輸(OSI 模型)有一個順序。

當然虛擬機也可以是 Private IP,再經過 NAT 埠轉換進去。如果是這樣的,就有可能被入侵本機(假設本機兼職軟路由)。

但大部分 NAS 並不兼當路由器。NAT 埠轉換,是由路由器負責的。


*******************

另外防火牆不是絕對的,防火牆並不是人工智慧 AI,也不是防毒軟體。

防火牆主要是擋 port,每個 port 可能有一個監聽軟體,比如 port 80,443,是由 httpd 監聽的。

對外的電腦,通常只會開放 對外服務的 port。

比如對外只有 web,就只開 80,443。

而 3306(mysql)、137、138、139、445(samba).....等等那些都不開。因為那些又不對外服務,開了豈不是歡迎別人進來。

port 沒有開,傳給該埠的封包就無法進入,會被防火牆直接丟棄掉。也就不會被監聽軟體接收到。


但必須考慮到一個可能性:有沒有可能 httpd (apache、php 之類的)這個軟體,本身就有 bug、漏洞,導致被入侵?

或比如開放 53埠(named,bind9,DNS),有沒有可能 bind9 這軟體本身有漏洞?

任何 service 服務程序軟體,都可以這樣合理懷疑。

這個是有可能的,所以軟體要時常定期更新。尤其重大更新修補漏洞的。


另一種可能性是:注入攻擊。

apache、php 本身都沒漏洞。但是網站程式碼(php碼),寫的人網頁程式寫不好,沒考慮到安全性,被利用了漏洞。

比如架 blog(wordpree)、論壇(phpbb、discuz....).....等等之類的,都是去抓人家寫好的現成軟體。但那些軟體,假設有漏洞呢?

這就 Linux 下,為何各種 service 服務程序軟體,有自己 UID 系統使用者權限的關係。

比如 hpttd 這個軟體,它是以 httpd 使用者身份運行的。

目錄都可以設權限,重要資料的目錄,權限千萬別開放 755。可以 2770(群組),或 700(個人) 之類的。

即便 httpd 被入侵了,駭客也只有 httpd 使用者權限。他無法偷窺或破壞其它目錄,只能對 www 目錄下手而已。

目錄/檔案權限 的觀念很重要,unix-like 系統,主要是靠這個在防衛資料安全的。

此外要禁系統服務使用者的帳號,sudo 或 su 變換身份為 root。最好設只有某些帳號身份的人員,才允許 sudo 或 su。因為切換成 root 後,就可以無視權限到處通行了。

down-win wrote:
同一台機器,1*SSD...(恕刪)


Host OS是Debian



EluSiOn wrote:
你的問題在於資料如何...(恕刪)


了解,所以加強NFS的權限管理,可以先使VM與host共用資料部份提高安全係數,再利用備份加強防護。
多備份這到是有在執行了,NFS權限管控目前主要就設定root_squash,其餘使用者沒有壓縮成nobody。

為了安全,來研究一下PFSense好了




fedora wrote:
VM 是 虛擬磁碟、...(恕刪)


哈哈,可能是我多慮了,因為看到下面網站的內容,雖然說起來很複雜、繁瑣,但想確認其發生的可行性及風險評估。

小心暗藏惡意軟件:淺談 Docker 安全性
傳統的 VM 同樣地很多動作都需要通過 kernel 處理,但這亦只是 VM 的 kernel,並非 Host kernel,因此萬一出現問題時,最多只是影響到虛擬系統本身;當然你可以說我可以先 Hack 入 VM 的 kernel,然後再於 Hypervisor 找尋漏洞同時不被發現,及後再攻破 SELinux,然後向 Host kernel 發動,真是文字表達都縑繁複,更何況實際執行?加上還要與如時間及防守人員競賽?說到這裡,大家可能已知問題所在。沒錯!Docker 之所以不能像 VM 般全因為其溝通的 kernel 是 Host kernel。所以 Docker 是好用,但請勿誤以為擁有 VM 特性。

VM間的問題
運用虛擬化防護功能 保護公私有雲端環境安全
談到虛擬化安全,包括Hypervisor Escape、Hyper Jacking或VM Attacks等全新攻擊手法,都令人聞之色變。例如Hypervisor Escape,先是鎖定Hypervisor漏洞入侵單一Guest VM,再流竄至其他Guest VM大肆竊取資料,這是目前最常見於虛擬伺服器的攻擊手法。
  • 2
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?