OpenSSH 遠端程式碼執行漏洞(CVE-2024-6387)安全風險
此漏洞是由於OpenSSH服務(sshd) 中的訊號處理程序競爭問題,未經驗證的攻擊者可以利用此漏洞在Linux系統上以root身分執行任意程式碼。目前該漏洞技術細節已在網路上公開,漏洞影響範圍較大,建議盡快做好自查及防護。

影響版本: 8.5p1 - 9.7p1

大白話:處於8.5p1 - 9.7p1這個版本的SSH,外部攻擊者可以隨便草你的主機



看最新版本檔案
https://cdn.openbsd.org/pub/OpenBSD/ OpenSSH/portable/

檢視版本
 

  1. ssh -V



更新安裝必須的套件
 

  1. sudo apt-get  -y update
     
  2. sudo apt-get install build-essential zlib1g-dev libssl-dev



下載最新的套件:
 

  1. wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.8p1.tar.gz



解壓縮:
 

  1. tar -xzf openssh-9.8p1.tar.gz
     
  2. cd openssh-9.8p1



編譯:
 

  1. ./configure
     
  2. make



安裝:
 

  1. sudo make install



重啟服務:
 

  1. sudo systemctl restart ssh



查看版本
 

  1. ssh -V



如果版本沒顯示openssh-9.8p1,就是需要加入環境變數:
 

  1. echo 'export PATH=/usr/local/bin:/usr/local/sbin:$PATH' >> ~/.bashrc



驗證生效
 

  1. source ~/.bashrc



查看版本(出現openssh-9.8p1就OK)
 

  1. ssh -V



修改 ssh.service 檔案中的 ExecStartPre、ExecStart 和 ExecReload 行,
將 /usr/sbin/sshd 改為 /usr/local/sbin/sshd
 

  1. sudo sed -i 's|ExecStartPre=/usr/sbin/sshd|ExecStartPre=/usr/local/sbin/sshd|; s|ExecStart=/usr/sbin/sshd|ExecStart=/usr/local/sbin/sshd| ; s|ExecReload=/usr/sbin/sshd|ExecReload=/usr/local/sbin/sshd|' /lib/systemd/system/ssh.service
     
  2.  

 


確認修改內容:
 

  1. grep -E 'ExecStartPre|ExecStart|ExecReload' /lib/systemd/system/ssh.service



重新載入服務:
 

  1. sudo systemctl daemon-reload
     
  2. sudo systemctl restart sshd



列出正在執行的SSH進程(確認是否為 /usr/local/sbin/sshd)
 

  1. ps -ef | grep sshd



注意:以上操作ssh的設定檔變成了/usr/local/etc/sshd_config,需要更新設定檔內容

把新設定檔刪掉,建立鏈接到/etc/ssh/sshd_config,並載入服務
 

  1. sudo rm /usr/local/etc/sshd_config
     
  2. sudo ln -s /etc/ssh/sshd_config /usr/local/etc/sshd_config
     
  3. sudo systemctl daemon-reload
     
  4. sudo systemctl restart sshd



清理舊版本(可選)
 

  1. sudo rm /usr/sbin/sshd



 

發表評論