為強化安全性,建議移除不必要的擴展預存程序。以下為完整移除與還原腳本:
USE master
GO
EXEC sp_dropextendedproc 'xp_cmdshell'
EXEC sp_dropextendedproc 'xp_dirtree'
EXEC sp_dropextendedproc 'xp_enumgroups'
EXEC sp_dropextendedproc 'xp_fixeddrives'
EXEC sp_dropextendedproc 'xp_loginconfig'
EXEC sp_dropextendedproc 'xp_enumerrorlogs'
EXEC sp_dropextendedproc 'xp_getfiledetails'
EXEC sp_dropextendedproc 'sp_OACreate'
EXEC sp_dropextendedproc 'sp_OADestroy'
EXEC sp_dropextendedproc 'sp_OAGetErrorInfo'
EXEC sp_dropextendedproc 'sp_OAGetProperty'
EXEC sp_dropextendedproc 'sp_OAMethod'
EXEC sp_dropextendedproc 'sp_OASetProperty'
EXEC sp_dropextendedproc 'sp_OAStop'
EXEC sp_dropextendedproc 'xp_regaddmultistring'
EXEC sp_dropextendedproc 'xp_regdeletekey'
EXEC sp_dropextendedproc 'xp_regdeletevalue'
EXEC sp_dropextendedproc 'xp_regenumvalues'
EXEC sp_dropextendedproc 'xp_regread'
EXEC sp_dropextendedproc 'xp_regremovemultistring'
EXEC sp_dropextendedproc 'xp_regwrite'
DROP PROCEDURE sp_makewebtask
GO
USE master
GO
EXEC sp_addextendedproc 'xp_cmdshell', 'xp_cmdshell.dll'
EXEC sp_addextendedproc 'xp_dirtree', 'xpstar.dll'
EXEC sp_addextendedproc 'xp_enumgroups', 'xplog70.dll'
EXEC sp_addextendedproc 'xp_fixeddrives', 'xpstar.dll'
EXEC sp_addextendedproc 'xp_loginconfig', 'xplog70.dll'
EXEC sp_addextendedproc 'xp_enumerrorlogs', 'xpstar.dll'
EXEC sp_addextendedproc 'xp_getfiledetails', 'xpstar.dll'
EXEC sp_addextendedproc 'sp_OACreate', 'odsole70.dll'
EXEC sp_addextendedproc 'sp_OADestroy', 'odsole70.dll'
EXEC sp_addextendedproc 'sp_OAGetErrorInfo', 'odsole70.dll'
EXEC sp_addextendedproc 'sp_OAGetProperty', 'odsole70.dll'
EXEC sp_addextendedproc 'sp_OAMethod', 'odsole70.dll'
EXEC sp_addextendedproc 'sp_OASetProperty', 'odsole70.dll'
EXEC sp_addextendedproc 'sp_OAStop', 'odsole70.dll'
EXEC sp_addextendedproc 'xp_regaddmultistring', 'xpstar.dll'
EXEC sp_addextendedproc 'xp_regdeletekey', 'xpstar.dll'
EXEC sp_addextendedproc 'xp_regdeletevalue', 'xpstar.dll'
EXEC sp_addextendedproc 'xp_regenumvalues', 'xpstar.dll'
EXEC sp_addextendedproc 'xp_regread', 'xpstar.dll'
EXEC sp_addextendedproc 'xp_regremovemultistring', 'xpstar.dll'
EXEC sp_addextendedproc 'xp_regwrite', 'xpstar.dll'
GO
| 類別 | 擴展程序 | DLL | 風險 |
|---|---|---|---|
| 命令執行 | xp_cmdshell | xp_cmdshell.dll | 極高 (OS 指令注入) |
| 檔案系統 | xp_dirtree, xp_getfiledetails, xp_fixeddrives | xpstar.dll | 高 (目錄遍歷、磁碟資訊洩露) |
| 登錄存取 | xp_reg* | xpstar.dll | 高 (登錄讀寫、列舉) |
| OLE 自動化 | sp_OA* | odsole70.dll | 高 (COM 物件實例化、任意程式碼執行) |
| 帳號/錯誤資訊 | xp_enumgroups, xp_loginconfig, xp_enumerrorlogs | xplog70.dll/xpstar.dll | 中 (資訊洩露) |
xp_fixeddrives 監控磁碟),僅移除其餘項目最小化擴展預存程序面,是 SQL Server 2000 硬化部署的關鍵步驟。