警惕!PHP、Node、Ruby 和 Python 應用,漏洞還沒結束!

12 月 10 日凌晨,Apache 開源項目 Log4j2 的遠程代碼執行漏洞細節被公開,作爲當前全球使用最廣泛的 java 日誌框架之一。該漏洞影響着很多全球使用量前列的開源組件,如 Apache Struts2、Apache Solr、Apache Druid、Apache Flink 等。而且因爲該漏洞利用方式簡單,一旦有攻擊者利用該漏洞,就可以在目標服務器上執行任意代碼,給被攻擊者造成極大危害。漏洞被公佈後,廠商馬上發佈了新版本 log4j-2.15.0-rc1 對漏洞進行修復,並在之後更新了 log4j-2.15.0-rc2 進一步對漏洞進行了修復。

然而禍不單行,儘管大家修復 Log4j2 可能已經有些手忙腳亂,但是忙碌之餘還是要分出精力來看看這個新的消息:微軟 Azure 應用服務中存在一個名爲“NotLegit”的漏洞,該漏洞影響所有通過“本地 Git”部署的 PHP、Node、Ruby 和 Python 應用。

漏洞詳情

Azure 是用於託管網站和 Web 應用的平臺,用戶只需要選擇支持的編程語言和操作系統,再使用 FTP、SSH 或通過從 Git 服務提取源代碼在 Azure 託管的服務器上完成部署,就可以在 .azurewebsites.net 域中訪問應用。因爲使用方便,所以頗受開發者歡迎。而本次漏洞就出現在部署這一步。

正常的情況下,當開發者將 Git 存儲庫部署到 Web 服務器和存儲桶時,因爲包含敏感數據,因此不會上傳 .git 文件夾。但是 Azure 設定,如果應用是通過本地 Git 部署到 Azure,那你的 Git 存儲庫就會變成所有人都可以訪問的公開目錄。當然爲了保護敏感數據不暴露,微軟在限制公共訪問的 .git 文件夾中添加了“web.config”文件,讓數據只能由微軟 LLS 網絡服務器處理。

漏洞就出現這裏,因爲這個只對用 LLS 部署的 C# 或 ASP.NET 應用有效。因爲 Web 服務器無法處理“web.config”文件,因此如果是部署在不同 Web 服務器內的 PHP、Node、Ruby 和 Python 應用,那攻擊者只要從目標應用組獲取 /.git 目錄,就可以得到對應的源代碼。

漏洞應對

針對本漏洞,微軟進行了以下應對:

  • 更新了所有 PHP 鏡像,禁止將 .git 文件夾作爲靜態內容提供,以作爲深度防禦措施。

  • 更新了安全建議文檔,增加了有關保護源代碼的部分,還更新了本地部署的文檔。

微軟已經於 2021 年 12 月 7 日至 15 日之間通過郵件通知了被影響用戶,提供了緩解問題的具體指導。

如果您沒有收到郵件,您也不用第一時間着急,因爲您可能沒有被漏洞影響到,不受漏洞影響的範圍如下:

  • 自 2017 年 9 月以來,在 Azure 應用服務中使用“本地 Git”部署的所有 PHP、Node、Ruby 和 Python 應用。

  • 從 2017 年 9 月起,在應用容器中創建或修改文件後,使用 Git 源代碼部署在 Azure 應用服務中的所有 PHP、Node、Ruby 和 Python 應用。

而且微軟也備註說明,本次漏洞隻影響部署在基於 Linux 的 Azure 服務器上的應用。如果您的應用是託管在 Windows Server 系統上的,也不會受到漏洞影響。

本次漏洞由雲安全供應商 Wiz 發現並提供,微軟爲其提供了 7500 美元的賞金。

最後,如果您有收到微軟郵件通知,那還是要儘快根據郵件指導完成漏洞修復哦~

推薦閱讀

如何快速搞定生產環境 Ansible 項目佈局?

服務端渲染基礎

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章