目前nacos越來越廣泛,大多數的企業在使用微服務架構的時候,基本上都會選擇nacos作為注冊中心和配置中心。

那nacos其實也是阿里開源的一個項目,存在漏洞,至少難免的。

那我們今天就來分享一下nacos存在的漏洞問題,主要是一些安全漏洞的問題。

畢竟現在很多政務的項目,都會做等保測試這塊。等保做得多了,漏洞也就多了。

這不,今天就又有一個漏洞了。那就開始修復嘍!!!

1.nacos權限繞過漏洞

詳情可查看nacos官網:https%3A%2F%2Fnacos.io%2Fzh-cn%2Fdocs%2Fauth.html

這個漏洞是在nacos已經開啟賬號密碼訪問的時候,當header添加了user-agent:Nacos-Server時,就會繞過權限訪問,直接獲取到nacos配置等信息。關注公眾號:碼猿技術專欄,回復關鍵:1111 獲取阿里內部Java調優手冊

nacos版本:1.4.2

詳情如下:

不加賬號密碼訪問(403)

添加賬號密碼訪問(正常)

不加賬號密碼訪問,但添加header(正常)

由此可見,header加上user-agent:Nacos-Server,確實能繞過nacos認證。

2.漏洞修復

升級到nacos目前最新版:2.1.1

下載地址:https%3A%2F%2Fnacos.io%2Fzh-cn%2Fdocs%2Fquick-start.html

下載地址:https%3A%2F%2Fgithub.com%2Falibaba%2Fnacos%2Freleases%2Fdownload%2F2.1.1%2Fnacos-server-2.1.1.zip

1.4.2升級到2.1.1,nacos官網有詳細的文檔說明:https%3A%2F%2Fnacos.io%2Fzh-cn%2Fdocs%2F2.0.0-upgrading.html

對于我們現在的環境升級,這里記錄下注意的事項:

2.1 nacos配置文件的修改

vi nacos/conf/application.properties

#122行
server.tomcat.basedir=file:.
#148行
nacos.core.auth.enable.userAgentAuthWhite=false
nacos.core.auth.server.identity.key=serverIdentity
nacos.core.auth.server.identity.value=security
這里要修改成這個,否則啟動報錯。

2.2 nacos數據庫修改

/*config_info表增加字段*/
ALTER TABLE jxbp_nacos.config_info ADD COLUMN encrypted_data_key text NULL COMMENT '秘鑰';
/*his_config_info表增加字段*/
ALTER TABLE jxbp_nacos.his_config_info ADD COLUMN encrypted_data_key text NULL COMMENT '秘鑰';

2.3 nacos啟動后測試

不加賬號密碼訪問,但添加header(403)

由此可見,該漏洞已被修復

加賬號密碼訪問,不添加header(正常)

經測試,正常了。

注意:

當然不想升級的話,也是可以的,直接在1.4.2的基礎上對配置文件進行修改:

vi nacos/conf/application.properties

#148行
nacos.core.auth.enable.userAgentAuthWhite=false
nacos.core.auth.server.identity.key=serverIdentity
nacos.core.auth.server.identity.value=security

看到這里,是不是覺得自己折騰了大半天,最終解決的方式,還有更簡單的方法。