如何修復openstack環(huán)境的vnc弱密碼漏洞

問題:openstack云環(huán)境經(jīng)常被掃出來5900-5999端口范圍內的弱密碼/空密碼,怎么解決呢?!

問題分析

openstack環(huán)境的物理機VNC端口能夠自由訪問,使用noVNC后沒有退出終端的習慣,往往都是用完了就直接關閉窗口,如果內網(wǎng)里面有一些script kiddie隨時都能將我們線上的虛擬機vnc端口掃出來干些壞事,存在安全風險,因此我們需要針對添加密碼訪問vnc。

如何添加vnc密碼:

1、針對新建虛機vnc弱密碼/空密碼問題

1)找到/usr/lib/python2.7/dist-packages/nova/virt/libvirt/config.py文件,直接在返回的dev列表里面添加個passwd的value,而value就是VNC的訪問密碼

def?format_dom(self):

????????dev?=?super(LibvirtConfigGuestGraphics,?self).format_dom()

????????dev.set("type",?self.type)

????????if?self.autoport:

????????????dev.set("autoport",?"yes")

????????else:

????????????dev.set("autoport",?"no")

????????if?self.keymap:

????????????dev.set("keymap",?self.keymap)

????????if?self.listen:

????????????dev.set("listen",?self.listen)

????????dev.set("passwd",?"Zenap_123")

????????return?dev

2)修改過后重啟nova-compute服務,即在下次創(chuàng)建虛擬機的時候生效,其結果如下:

2、針對歷史存在虛機弱密碼/空密碼問題

上述方法只能解決當前openstack環(huán)境新建虛機弱密碼/空密碼的問題,針對已有虛機,上述方法無法修復。

對于歷史存在的虛機,如何解決vnc弱密碼/空密碼漏洞的問題呢?!

1)查看虛機的virsh id,通過nova show [虛機uuid]|grep instance命令查到,例如:

root@controller:/home#?nova?show?ac91a9cb-789f-4f13-ba1b-b2499895ab21|grep?instance

|?OS-EXT-SRV-ATTR:instance_name????????|?instance-00000075???????????????????????????????????????????????|

2)進入/etc/libvirt/qemu目錄,找到虛機對應的instance-xxxx.xml文件(例如instance-00000075.xml),在文件中l(wèi)isten這一行添加passwd即可

<graphics type='vnc' port='-1' autoport='yes' listen='0.0.0.0' keymap='en-us' passwd='Zenap_123'>

該方法可以臨時解決歷史虛機弱密碼/空密碼漏洞問題,一旦虛機重啟,那么libvirt.xml文件中的密碼則依然會被置為空。那么如何解決呢?!

建議可以編寫一個腳本:搜索libvirt.xml文件,無passwd字段的文件添加passwd。將該腳本運行添加到定時任務中。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內容