本文整理自實戰經驗,涵蓋網路、系統、服務、權限四大面向,建議按順序執行,每項驗證後再進行下一項。
@echo off
net share c$ /delete
net share d$ /delete
net share e$ /delete
net share f$ /delete
net share ipc$ /delete
net share admin$ /delete
存為 disable_shares.bat → 放入「啟動」資料夾或透過群組原則 gpedit.msc → 電腦設定 → Windows 設定 → 指令碼 → 啟動。
# 路徑
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
# 新建 DWORD 值
AutoShareServer = 0
AutoShareWks = 0
⚠ 修改登錄表前請先匯出備份:
regedit→ 檔案 → 匯出
tscc.msc (終端服務配置) → 連線 → RDP-Tcp → 右鍵內容HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters
# 新建 DWORD
SMBDeviceEnabled = 0
⚠ 關閉 445 將導致檔案共享、遠端管理 (WMI、RPC) 失效,確認業務不依賴後再執行
# 執行 → 輸入以下指令 (需管理員權限)
regsvr32 /u wshom.ocx # 移除 WScript.Shell
regsvr32 /u shell32.dll # 移除 Shell.Application
regsvr32 /u %windir%\system32\Wshext.dll
影響:合法 ASP 應用若使用 Server.CreateObject("WScript.Shell") 將失效,請先評估相容性。
web_site1_user、web_site2_user 等,設定強密碼、密碼永不過期/upload, /data)建議停用:Print Spooler、Remote Registry、Windows Error Reporting、Diagnostic Policy Service 等非核心服務。
gpedit.msc → 電腦設定 → Windows 設定 → 安全性設定 → 帳號原則 → 帳號鎖定原則
鎖定閾值:5 次無效嘗試
鎖定時間:30 分鐘
重設計數器:30 分鐘
| 項目 | 驗證方式 |
|---|---|
| 預設共享 | net share 僅顯示必要共享 |
| RDP 權限 | 非 SYSTEM/Administrator 帳號無法 RDP 登入 |
| 埠 139/445 | netstat -an | findstr "139 445" 無監聽 |
| IIS 隔離 | 網站 A 帳號無法讀取網站 B 目錄 |
| 防火牆 | 外部掃描僅見開放埠 |
安全是過程而非狀態:此清單為基準配置,需結合業務實際、合規要求、威脅情報持續調整。建議引入 CIS Benchmarks、等保三級標準作為進階加固參考。