The Will Will Web

記載著 Will 在網路世界的學習心得與技術分享

開啟 CIFS / SMB / UNC 連線應開放哪些 Ports 與注意事項

最近的案子都會用到 WebFarm 架構,所以都會準備壹台 檔案伺服器(File Server) 存取共用的檔案,我們也不免俗的透過 SMB/CIFS 通訊協定存取檔案,也就是我們一般常說的 UNC 連線 ,當要設定防火牆存取規則時以下是需開啟 UNC 連線需開啟的埠號(Ports)清單。

若需完整開啟 SMB/CIFS 通訊協定所需的 Ports 如下,必須針對 Microsoft-DS ( Microsoft Directory Services )NETBIOS over TCP/IP 等相關 Ports 開啟例外條件:

TCP Ports

  • 139    ( NetBIOS Session Service )
  • 445    ( Microsoft-DS )

UDP Ports

  • 137    ( NetBIOS Name Service )
  • 138    ( NetBIOS Name Service )

早在幾年前微軟的 Microsoft-DS 是最被常用���攻擊的服務之一,雖然這些漏洞已被修補,但即便到現在 Microsoft-DS 這個服務還是不斷被駭客所利用,進行大量的掃瞄、攻擊、竄改檔案、植入木馬、…等等。

在知名的 Sysinternals 工具組中有一套 PsTools 工具靠的就是 Microsoft-DS 服務進行遠端操作,若是駭客利用這個工具可對你的主機發出大量的要求,只要被猜中你管理者的帳號與密碼,那就只能恭喜你淪陷了!要避免這個風險,只要將 TCP Port 445 關閉就能避免被遠端操控的命運。

PsTools 有興趣的人可以在 TigerLin 的部落格找到一篇 [IT工具] 管理 Server 的狙擊槍 – psTools Suite 文章有該工具的使用說明。

在實務上 ( 全伺服器環境 ),我很少有需要開啟 NETBIOS over TCP/IP 的情況,通常都直接透過 IP 連接遠端電腦,也就是說,如果你的網路環境「只有」Windows 主機的情況下,可以僅開放 TCP Port 445 即可,接著再將 NetBIOS over TCP/IP 停用,一來可減少 NetBIOS 對網路進行廣播、二來可簡化 SMB 封包的傳輸,詳細資訊可參考 [Direct hosting of SMB over TCP/IP] 文章,或參考下圖進行設定。

停用 [NetBIOS over TCP/IP]

若用 TCPView 工具觀看主機網路的連線狀況,在關閉 NetBIOS over TCP/IP 後,原本 Listen 中的三個 Ports 會自動關閉,只剩下 TCP Port 445 而已:

用 TCPView 工具觀看主機網路的連線狀況,在關閉 NetBIOS over TCP/IP 後,原本 Listen 中的三個 Ports 會自動關閉

相關連結