修復 SambaCry 漏洞的方法在 Linux 系統中的應用
導讀 | Samba 很久以來一直是為 linux 系統上的 Windows 用戶端提供共享檔案和列印服務的標準。家庭用戶,中型企業和大型公司都在使用它,它作為最佳解決方案在多種作業系統共存的環境中脫穎而出,由於廣泛使用的工具很可能發生這種情況,大多數Samba 安裝都面臨著可能利用已知漏洞的攻擊的風險,這個漏洞直到WannaCry 勒索軟體攻擊的新聞出來之前都被認為是不重要的。 |
過時和未修補的系統容易受到遠端程式碼執行漏洞的攻擊。簡單來說,這意味著存取可寫入共享的人可以上傳一段任意程式碼,並使用伺服器中的 root 權限執行該程式碼。
這個問題在 Samba 網站上被描述為 CVE-2017-7494,並且已知會影響 Samba v3.5(2010 年 3 月初發布)及以後版本。由於與 WannaCry 有相似之處,它被非官方地命名為 SambaCry:它們都針對 SMB 協議,並且可能是蠕蟲病毒 - 這可能導致其從一個系統傳播到另一個系統。
Debian、Ubuntu、CentOS 和 Red Hat 已採取快速的行動來保護它們的用戶,並為其支援的版本發布了修補程式。另外,也提供了不支援的安全臨時解決方案。
更新 Samba如先前提到的那樣,根據你之前安裝的方法有兩種方式更新:
如果你從發行版的倉庫安裝的 Samba
讓我們看下在這種情況下你需要做什麼:
在 Debian 下修復 SambaCry
#將下面的行新增到你的來源清單中(/etc/apt/sources.list)以確保 apt 能夠獲得最新的安全性更新:
deb http://security.debian.org stable/updates main deb-src http://security.debian.org/ stable/updates main
接下來,更新可用的軟體包:
# aptitude update
最後,確保 samba 軟體套件的版本符合漏洞修復的版本(請參閱 CVE-2017-7494):
# aptitude show samba
#在 Debian 中修復 SambaCry
#在 Ubuntu 中修復 SambaCry
要開始修復,如下檢查新的可用軟體包並更新 Samba 軟體包:
$ sudo apt-get update $ sudo apt-get install samba
已經修正 CVE-2017-7494 的 Samba 版本有以下內容:
- 17.04: samba 2:4.5.8 dfsg-0ubuntu0.17.04.2
- 16.10: samba 2:4.4.5 dfsg-2ubuntu5.6
- 16.04 LTS: samba 2:4.3.11 dfsg-0ubuntu0.16.04.7
- 14.04 LTS: samba 2:4.3.11 dfsg-0ubuntu0.14.04.8
最後,執行下方指令驗證你的 Ubuntu 已經安裝了正確的版本。
$ sudo apt-cache show samba
在 CentOS/RHEL 7 中修復 SambaCry
在 EL 7 中打過補丁的 Samba 版本是 samba-4.4.4-14.el7_3。要安裝它,這些做:
# yum makecache fast # yum update samba
就像先前一樣,確保你已經安裝了打補丁的 Samba 版本:
# yum info samba
#在 CentOS 中修正 SambaCry
舊支援的 CentOS 以及 RHEL 更老的版本也有修復。請參閱 RHSA-2017-1270 以獲取更多。
如果你從原始碼安裝的 Samba
注意:下面的過程假設你先前從原始碼建構的 Samba。強烈建議你在部署到生產伺服器之前先在測試環境嘗試。
此外,開始之前確保你備份了 smb.conf檔。
在這種情況下,我們也會從原始碼編譯並更新 Samba。然而在開始之前,我們必須先確保安裝了所有的依賴。注意這也許會花費幾分鐘。
在 Debian 和 Ubuntu 中:
# aptitude install acl attr autoconf bison build-essential / debhelper dnsutils docbook-xml docbook-xsl flex gdb krb5-user / libacl1-dev libaio-dev libattr1-dev libblkid-dev libbsd-dev / libcap-dev libcups2-dev libgnutls28-dev libjson-perl / libldap2-dev libncurses5-dev libpam0g-dev libparse-yapp-perl / libpopt-dev libreadline-dev perl perl-modules pkg-config / python-all-dev python-dev python-dnspython python-crypto xsltproc / zlib1g-dev libsystemd-dev libgpgme11-dev python-gpgme python-m2crypto
在 CentOS 7 或類似的版本:
## yum install attr bind-utils docbook-style-xsl gcc gdb krb5-workstation / libsemanage-python libxslt perl perl-ExtUtils-MakeMaker / perl-Parse-Yapp perl-Test-Base pkgconfig policycoreutils-python / python-crypto gnutls-devel libattr-devel keyutils-libs-devel / libacl-devel libaio-devel libblkid-devel libxml2-devel openldap-devel / pam-devel popt-devel python-devel readline-devel zlib-devel
停止服務(LCTT 譯註:此處不必要):
# systemctl stop smbd
下載並解壓縮原始碼(在寫作時 4.6.4 是最新的版本):
# wget https://www.samba.org/samba/ftp/samba-latest.tar.gz # tar xzf samba-latest.tar.gz # cd samba-4.6.4
出於了解資訊的目的,用以下指令檢查可用的設定選項。
# ./configure --help
如果你在先前的版本的建置中有使用到一些選項,你或許可以在上面命令的返回中包含一些選項,或者你可以選擇使用預設值:
# ./configure # make # make install
最後重啟服務。
# systemctl restart smbd
並驗證你正在使用的是更新後的版本:
# smbstatus --version
這裡回傳的應該是 4.6.4。
其它情況如果你使用的是不支援的發行版本,而且因為某些原因無法升級到最新版本,你或許要考慮以下這些建議:
- 如果 SELinux 是啟用的,你是處於保護之下的!
- 確保 Samba 共用是用 noexec 選項掛載的。這會阻止二進位檔案從被掛載的檔案系統執行。
還有將:
nt pipe support = no
加入到smb.conf 的 [global] 欄位。你或許要記住,根據 Samba 項目,這「或許禁用 Windows 用戶端的某些功能」。
重要:注意 nt pipe support = no 選項會停用 Windows 用戶端的共用清單。例如:當你在一台 Samba 伺服器的 Windows Explorer 中輸入 //10.100.10.2/ 時,你會看到 “permission denied”。 Windows 用戶端必須手動執行共用,如 //10.100.10.2/share_name來存取共用。
總結在本篇中,我們已經描述了 SambaCry 漏洞以及如何減輕影響。我們希望你可以使用這個資訊來保護你負責的系統。
如果你有關於這篇文章的任何問題以及評論,歡迎使用下面的評論欄讓我們知道。
作者簡介:
Gabriel Cánepa 是 GNU/Linux 系統管理員,是阿根廷聖路易斯 Villa Mercedes 的 web 開發人員。他為一家國際大型消費品公司工作,在日常工作中使用 FOSS 工具以提高生產力,並從中獲得極大樂趣。
以上是修復 SambaCry 漏洞的方法在 Linux 系統中的應用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

Linux系統管理員的主要任務包括系統監控與性能調優、用戶管理、軟件包管理、安全管理與備份、故障排查與解決、性能優化與最佳實踐。 1.使用top、htop等工具監控系統性能,並進行調優。 2.通過useradd等命令管理用戶賬戶和權限。 3.利用apt、yum管理軟件包,確保系統更新和安全。 4.配置防火牆、監控日誌、進行數據備份以確保系統安全。 5.通過日誌分析和工具使用進行故障排查和解決。 6.優化內核參數和應用配置,遵循最佳實踐提升系統性能和穩定性。

學習Linux並不難。 1.Linux是一個開源操作系統,基於Unix,廣泛應用於服務器、嵌入式系統和個人電腦。 2.理解文件系統和權限管理是關鍵,文件系統是層次化的,權限包括讀、寫和執行。 3.包管理系統如apt和dnf使得軟件管理方便。 4.進程管理通過ps和top命令實現。 5.從基本命令如mkdir、cd、touch和nano開始學習,再嘗試高級用法如shell腳本和文本處理。 6.常見錯誤如權限問題可以通過sudo和chmod解決。 7.性能優化建議包括使用htop監控資源、清理不必要文件和使用sy

Linux管理員的平均年薪在美國為75,000至95,000美元,歐洲為40,000至60,000歐元。提升薪資可以通過:1.持續學習新技術,如雲計算和容器技術;2.積累項目經驗並建立Portfolio;3.建立職業網絡,拓展人脈。

Linux的主要用途包括:1.服務器操作系統,2.嵌入式系統,3.桌面操作系統,4.開發和測試環境。 Linux在這些領域表現出色,提供了穩定性、安全性和高效的開發工具。

互聯網運行不依賴單一操作系統,但Linux在其中扮演重要角色。 Linux廣泛應用於服務器和網絡設備,因其穩定性、安全性和可擴展性受歡迎。

Linux操作系統的核心是其命令行界面,通過命令行可以執行各種操作。 1.文件和目錄操作使用ls、cd、mkdir、rm等命令管理文件和目錄。 2.用戶和權限管理通過useradd、passwd、chmod等命令確保系統安全和資源分配。 3.進程管理使用ps、kill等命令監控和控制系統進程。 4.網絡操作包括ping、ifconfig、ssh等命令配置和管理網絡連接。 5.系統監控和維護通過top、df、du等命令了解系統運行狀態和資源使用情況。

介紹 Linux是一個強大的操作系統,由於其靈活性和效率,開發人員,系統管理員和電源用戶都喜歡。但是,經常使用長而復雜的命令可能是乏味的

Linux適用於服務器、開發環境和嵌入式系統。 1.作為服務器操作系統,Linux穩定高效,常用於部署高並發應用。 2.作為開發環境,Linux提供高效的命令行工具和包管理系統,提升開發效率。 3.在嵌入式系統中,Linux輕量且可定制,適合資源有限的環境。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

Atom編輯器mac版下載
最受歡迎的的開源編輯器

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境