滲透測試發現,企業內超過 90% 的 SQL Server/MSDE 僅供本機應用程式使用,從未接受網路連線,卻預設同時啟用 TCP/IP 與 Named Pipes,暴露於掃描、暴力破解、緩衝區溢出等風險。
Shared Memory 僅允許本機進程通訊,不開放任何網路連線。對於不需對外服務的實例,應停用所有網路庫。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\SuperSocketNetLib\ProtocolList
編輯 REG_MULTI_SZ 值,刪除 tcp、np 等資料,重啟服務。
停用網路庫後,本機連線必須使用 . 或 (local) 作為伺服器名稱,指引用戶端改用 Shared Memory 協定。
最小化攻擊面是資安基石。對不需對外服務的資料庫實例,大膽關閉網路協定,強制走 Shared Memory,能以近乎零成本消除整類遠端攻擊向量。