萬盛學電腦網

 萬盛學電腦網 >> Linux教程 >> Linux下bash破殼漏洞檢測及修復的方法

Linux下bash破殼漏洞檢測及修復的方法

  如果Linux服務器存在bash破殼漏洞,將可能導致遠程攻擊者操作系統來執行任意命令,威脅等級較高,那麼我們要怎麼知道Linux系統是否存在該漏洞,又該如何修復呢?下面隨小編一起來了解下吧。

  問題:我想要知道我的Linux服務器是否存在bash破殼漏洞,以及如何來保護我的Linux服務器不受破殼漏洞侵襲。

  2014年9月24日,一位名叫斯特凡·沙澤拉的安全研究者發現了一個名為“破殼”(Shellshock,也稱為“bash門”或“Bash漏洞”)的bash漏洞。該漏洞如果被滲透,遠程攻擊者就可以在調用shell前通過在特別精心編制的環境中輸出函數定義執行任何程序代碼。然後,這些函數內的代碼就可以在調用bash時立即執行。

   Linux下bash破殼漏洞檢測及修復的方法

  注意,破殼漏洞影響到bash版本1.14到4.3(當前版本)。雖然在寫本文時還沒有該漏洞權威而完整的修復方案,也盡管主要的Linux發行版(Debian,Red Hat,CentOS,Ubuntu和 Novell/Suse)已經發布了用於部分解決與此漏洞相關的補丁(CVE-2014-6271和CVE-2014-7169),並且建議盡快更新bash,並在隨後數日內檢查更新(LCTT 譯注,可能你看到這篇文章的時候,已經有了完善的解決方案)。

  檢測破殼漏洞

  要檢查你的Linux系統是否存在破殼漏洞,請在終端中輸入以下命令。

  $ env x=‘() { :;}; echo “Your bash version is vulnerable”’ bash -c “echo This is a test”

  如果你的Linux系統已經暴露給了破殼漏洞滲透,命令輸出會像這樣:

  Your bash version is vulnerableThis is a test

  在上面的命令中,一個名為x的環境變量已經被設置可用於用戶環境。就如我們所了解到的,它並沒有賦值(是一個虛函數定義),後面跟了一個任意命令(紅色),該命令將在bash調用前執行。

  為破殼漏洞應用修復

  你可以按照以下方法安裝新發布的bash補丁。

  在Debian及其衍生版上:

  # aptitude update && aptitude safe-upgrade bash

  在基於Red Hat的發行版上:

  # yum update bash

  打補丁之前:

  Debian:

   Linux下bash破殼漏洞檢測及修復的方法

  CentOS:

   Linux下bash破殼漏洞檢測及修復的方法

  打補丁之後:

  Debian:

   Linux下bash破殼漏洞檢測及修復的方法

  CentOS:

  Linux下bash破殼漏洞檢測及修復的方法

  注意,在安裝補丁前後,各個發行版中的bash版本沒有發生變化——但是你可以通過從更新命令的運行過程中看到該補丁已經被安裝(很可能在安裝前需要你確認)。

  如果處於某種原因你不能安裝該補丁,或者針對你的發行版的補丁還沒有發布,那麼建議你先試用另外一個shell,直到修復補丁出現。

  上面就是Linux系統中bash破殼漏洞的檢測和修復的方法介紹了,趕緊檢測下你的系統是否存在bash破殼漏洞,以防服務器被攻擊。

copyright © 萬盛學電腦網 all rights reserved