日前Linux官方內建Bash中新發現一個非常嚴重安全性漏洞(漏洞參考https://access.redhat.com/security/cve/CVE-2014-6271 ),駭客可以利用該Bash漏洞完全控制目標系統並發起攻擊,為了避免您Linux伺服器受影響,建議您儘快完成漏洞修補,修複方法如下,請瞭解!
特別提醒:Linux 官方已經給出最新解決方案,已經解決被繞過的bug,建議您儘快重新完成漏洞修補。
Linux Bash輸出結果中見到date字樣就修複成功了
【已確認被成功利用的軟體及系統】
所有安裝GNU bash 版本小於或者等於4.3的Linux作業系統。
【漏洞描述】
該漏洞源於你調用的bash shell之前建立的特殊的環境變數,這些變數可以包含代碼,同時會被bash執行。
【漏洞檢測方法】
漏洞檢測命令:
| 代碼如下 |
複製代碼 |
env -i X=’() { (a)=>\’ bash -c ‘echo date’; cat echo 修複前輸出: [root@localhost]# env -i X=’() { (a)=>\’ bash -c ‘echo date’; cat echo bash: X: line 1: syntax error near unexpected token `=’ bash: X: line 1: `’ bash: error importing function definition for `X’ Sun Sep 28 19:02:00 CST 2014 |
最後一排顯示為日期,說明系統存在風險漏洞。
修補方案
centos:(最終解決方案)
yum clean all
yum makecache
yum -y update bash
ubuntu:(最終解決方案)
apt-get update
apt-get -y install –only-upgrade bash
debian:(最終解決方案)
apt-get update
apt-get -y install –only-upgrade bash
修複後:
[root@localhost]# env -i X=’() { (a)=>\’ bash -c ‘echo date’; cat echo
date
Sun Sep 28 19:02:00 CST 2014
如果仍然同時看到date 和 日期,說明已經生效,但是當前bash 還沒有更新過來。
[root@localhost]# exit
logout
退出再登入後,就不會顯示 日期了。
[root@localhost]# env -i X=’() { (a)=>\’ bash -c ‘echo date’; cat echo
date
cat: echo: No such file or directory
最終只有不出現 日期,說明bash不能執行了。