由於IIS(即Internet Information Server)的方便性和易用性,使它成爲最受歡迎的Web服務器軟件之一。可是,IIS的安全性卻一直使人擔心。如何利用IIS創建一個安全的Web服務器,是不少人關心的話題。要建立一個安全可靠的Web服務器,必需要實現Windows 2003和IIS的雙重安全,由於IIS的用戶同時也是Windows 2003的用戶,而且IIS目錄的權限依賴Windows的NTFS文件系統的權限控制,因此保護IIS安全的第一步就是確保Windows 2000操做系統的安全,因此要對服務器進行安全加固,以避免遭到***的***,形成嚴重的後果。
二.咱們經過一下幾個方面對您的系統進行安全加固:
1. 系統的安全加固:咱們經過配置目錄權限,系統安全策略,協議棧增強,系統服務和訪問控制加固您的系統,總體提升服務器的安全性。
2. IIS手工加固:手工加固iis能夠有效的提升iweb站點的安全性,合理分配用戶權限,配置相應的安全策略,有效的防止iis用戶溢出提權。
3. 系統應用程序加固,提供應用程序的安全性,例如sql的安全配置以及服務器應用軟件的安全加固。
三.系統的安全加固:
1
.目錄權限的配置:
1.1 除系統所在分區以外的全部分區都賦予Administrators和SYSTEM有徹底控制權,以後再對其下的子目錄做單獨的目錄權限,若是WEB站點目錄,你要爲其目錄權限分配一個與之對應的匿名訪問賬號並賦予它有修改權限,若是想使網站更加堅固,能夠分配只讀權限並對特殊的目錄做可寫權限。
1.2 系統所在分區下的根目錄都要設置爲不繼承父權限,以後爲該分區只賦予Administrators和SYSTEM有徹底控制權。
1.3 由於服務器只有管理員有本地登陸權限,所在要配置Documents and Settings這個目錄權限只保留Administrators和SYSTEM有徹底控制權,其下的子目錄一樣。另外還有一個隱藏目錄也須要一樣操做。由於若是你安裝有PCAnyWhere那麼他的的配置信息都保存在其下,使用webshell或FSO能夠輕鬆的調取這個配置文件。
1.4 配置Program files目錄,爲Common Files目錄以外的全部目錄賦予Administrators和SYSTEM有徹底控制權。
1.5 配置Windows目錄,其實這一塊主要是根據自身的狀況若是使用默認的安全設置也是可行的,不過仍是應該進入SYSTEM32目錄下,將 cmd.exe、
ftp.exe、net.exe、scrrun.dll、shell.dll這些殺手鐗程序賦予匿名賬號拒絕訪問。
1.6審覈MetBase.bin,C:\WINNT\system32\inetsrv目錄只有administrator只容許Administrator用戶讀寫。
2
.組策略配置
:
在用戶權利指派下,從經過網絡訪問此計算機中刪除Power Users和Backup Operators;
啓用不容許匿名訪問SAM賬號和共享;
啓用不容許爲網絡驗證存儲憑據或Passport;
從文件共享中刪除容許匿名登陸的DFS$和COMCFG;
啓用交互登陸:不顯示上次的用戶名;
啓用在下一次密碼變動時不存儲LANMAN哈希值;
禁止IIS匿名用戶在本地登陸;
3.
本地安全策略設置
:
開始菜單—>管理工具—>本地安全策略
A、本地策略——>審覈策略
審覈策略更改 成功 失敗
審覈登陸事件 成功 失敗
審覈對象訪問失敗
審覈過程跟蹤 無審覈
審覈目錄服務訪問失敗
審覈特權使用失敗
審覈系統事件 成功 失敗
審覈帳戶登陸事件 成功 失敗
審覈帳戶管理 成功 失敗
注:在設置審覈登錄事件時選擇記失敗,這樣在事件查看器裏的安全日誌就會記錄登錄失敗的信息。
B、本地策略——>用戶權限分配
關閉系統:只有Administrators組、其它所有刪除。
經過終端服務拒絕登錄:加入Guests、User組
經過終端服務容許登錄:只加入Administrators組,其餘所有刪除
C、本地策略——>安全選項
交互式登錄:不顯示上次的用戶名 啓用
網絡訪問:不容許SAM賬戶和共享的匿名枚舉啓用
網絡訪問:不容許爲網絡身份驗證儲存憑證 啓用
網絡訪問:可匿名訪問的共享 所有刪除
網絡訪問:可匿名訪問的命所有刪除
網絡訪問:可遠程訪問的註冊表路徑所有刪除
網絡訪問:可遠程訪問的註冊表路徑和子路徑所有刪除
賬戶:重命名來賓賬戶重命名一個賬戶
賬戶:重命名系統管理員賬戶 重命名一個賬戶
4
.本地帳戶策略:
在帳戶策略->密碼策略中設定:
密碼複雜性要求啓用
密碼長度最小值 6位
強制密碼歷史 5次
最長存留期 30天
在帳戶策略->帳戶鎖定策略中設定:
帳戶鎖定 3次錯誤登陸
鎖定時間 20分鐘
復位鎖定計數 20分鐘
5.
修改註冊表配置:
5.1
經過更改註冊表
local_machine\system\currentcontrolset\control\lsa-restrictanonymous = 1來禁止139空鏈接
5.2
修改數據包的生存時間
(ttl)
值
hkey_local_machine\system\currentcontrolset\services\tcpip\parameters
defaultttl reg_dword 0-0xff(0-255 十進制,默認值128)
5.3
防止
syn
洪水***
hkey_local_machine\system\currentcontrolset\services\tcpip\parameters
synattackprotect reg_dword 0x2(默認值爲0x0)
5.4
禁止響應
icmp
路由通告報文
hkey_local_machine\system\currentcontrolset
\services\tcpip\parameters\interfaces\interface
performrouterdiscovery reg_dword 0x0(默認值爲0x2)
5.5
防止
icmp
重定向報文的***
hkey_local_machine\system\currentcontrolset\services\tcpip\parameters
enableicmpredirects reg_dword 0x0(默認值爲0x1)
5.6
不支持
igmp
協議
hkey_local_machine\system\currentcontrolset\services\tcpip\parameters
5.7
修改
3389
默認端口
:
運行 Regedt32 並轉到此項:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control
\Terminal Server\WinStations\RDP-Tcp, 找到「PortNumber」子項,您會看到值 00000D3D,它是 3389 的十六進制表示形式。使用十六進制數值修改此端口號,並保存新值。
禁用沒必要要的服務不但能夠下降服務器的資源佔用減輕負擔,並且能夠加強安全性。下面列出了
igmplevel reg_dword 0x0(默認值爲0x2)
5.8 設置arp緩存老化時間設置
hkey_local_machine\system\currentcontrolset\services:\tcpip\parameters
arpcachelife reg_dword 0-0xffffffff(秒數,默認值爲120秒)
arpcacheminreferencedlife reg_dword 0-0xffffffff(秒數,默認值爲600)
5.9禁止死網關監測技術
hkey_local_machine\system\currentcontrolset\services:\tcpip\parameters
enabledeadgwdetect reg_dword 0x0(默認值爲ox1)
5.10 不支持路由功能
hkey_local_machine\system\currentcontrolset\services:\tcpip\parameters
ipenablerouter reg_dword 0x0(默認值爲0x0)
6. 禁用服務:
·Application Experience Lookup Service
·Automatic Updates
·BITS
·Computer Browser
·DHCP Client
·Error Reporting Service
·Help and Support
·Network Location Awareness
·Print Spooler
·Remote Registry
·Secondary Logon
·Server
·Smartcard
·TCP/IP NetBIOS Helper
·Workstation
·Windows Audio
·Windows Time
·Wireless Configuration
7.解除NetBios與TCP/IP協議的綁定
控制面版——網絡——綁定——NetBios接口——禁用 2000:控制面版——網絡和撥號鏈接——本地網絡——屬性——TCP/IP——屬性——高級——WINS——禁用TCP/IP上的NETBIOS
8. 使用tcp/ip篩選
在網絡鏈接的協議裏啓用TCP/IP篩選,僅開放必要的端口(如80)
9.禁止WebDAV
在註冊表:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters
加如下注冊表值:
數值名稱:DisableWebDAV
數據類型:DWORD
數值數據:1
四. iis 加固方案:
1. 僅安裝必要的 iis 組件。(禁用不須要的如ftp 和 smtp 服務)
2. 僅啓用必要的服務和 web service 擴展,推薦配置:
ui 中的組件名稱
設置
設置邏輯
後臺智能傳輸服務 (bits) 服務器擴展
啓用
bits 是 windows updates 和"自動更新"所使用的後臺文件傳輸機制。若是使用 windows updates 或"自動更新"在 iis 服務器中自動應用 service pack 和熱修補程序,則必須有該組件。
公用文件
啓用
iis 須要這些文件,必定要在 iis 服務器中啓用它們。
文件傳輸協議 (ftp) 服務
禁用
容許 iis 服務器提供 ftp 服務。專用 iis 服務器不須要該服務。
frontpage 2002 server extensions
禁用
爲管理和發佈 web 站點提供 frontpage 支持。若是沒有使用 frontpage 擴展的 web 站點,請在專用 iis 服務器中禁用該組件。
internet 信息服務管理器
啓用
iis 的管理界面。
internet 打印
禁用
提供基於 web 的打印機管理,容許經過 http 共享打印機。專用 iis 服務器不須要該組件。
nntp 服務
禁用
在 internet 中分發、查詢、檢索和投遞 usenet 新聞文章。專用 iis 服務器不須要該組件。
smtp 服務
禁用
支持傳輸電子郵件。專用 iis 服務器不須要該組件。
萬維網服務
啓用
爲客戶端提供 web 服務、靜態和動態內容。專用 iis 服務器須要該組件。
萬維網服務子組件
ui 中的組件名稱
安裝選項
設置邏輯
active server page
啓用
提供 asp 支持。若是 iis 服務器中的 web 站點和應用程序都不使用 asp,請禁用該組件;或使用 web 服務擴展禁用它。
internet 數據鏈接器
禁用
經過擴展名爲 .idc 的文件提供動態內容支持。若是 iis 服務器中的 web 站點和應用程序都不包括 .idc 擴展文件,請禁用該組件;或使用 web 服務擴展禁用它。
遠程管理 (html)
禁用
提供管理 iis 的 html 界面。改用 iis 管理器可以使管理更容易,並減小了 iis 服務器的***面。專用 iis 服務器不須要該功能。
遠程桌面 web 鏈接
禁用
包括了管理終端服務客戶端鏈接的 microsoft activex? 控件和範例頁面。改用 iis 管理器可以使管理更容易,並減小了 iis 服務器的***面。專用 iis 服務器不須要該組件。
服務器端包括
禁用
提供 .shtm、.shtml 和 .stm 文件的支持。若是在 iis 服務器中運行的 web 站點和應用程序都不使用上述擴展的包括文件,請禁用該組件。
webdav
禁用
webdav 擴展了 http/1.1 協議,容許客戶端發佈、鎖定和管理 web 中的資源。專用 iis 服務器禁用該組件;或使用 web 服務擴展禁用該組件。
萬維網服務
啓用
爲客戶端提供 web 服務、靜態和動態內容。專用 iis 服務器須要該組件
3. 將iis目錄&數據與系統磁盤分開,保存在專用磁盤空間內。
4. 在iis管理器中刪除必須以外的任何沒有用到的映射(保留asp等必要映射便可)
5. 在iis中將http404 object not found出錯頁面經過url重定向到一個定製htm文件
6. web站點權限設定(建議)
web 站點權限:
授予的權限:
讀 容許
寫 不容許
腳本源訪問 不容許
目錄瀏覽 建議關閉
日誌訪問 建議關閉
索引資源 建議關閉
執行 推薦選擇 "僅限於腳本"
7. 建議使用w3c擴充日誌文件格式,天天記錄客戶ip地址,用戶名,服務器端口,方法,uri字根,http狀態,用戶代理,並且天天均要審查日誌。(最好不要使用缺省的目錄,建議更換一個記日誌的路徑,同時設置日誌的訪問權限,只容許管理員和system爲full control)。
8. 程序安全:
1) 涉及用戶名與口令的程序最好封裝在服務器端,儘可能少的在asp文件裏出現,涉及到與數據庫鏈接地用戶名與口令應給予最小的權限; 2) 須要通過驗證的asp頁面,可跟蹤上一個頁面的文件名,只有從上一頁面轉進來的會話才能讀取這個頁面。
防止asp主頁.inc文件泄露問題;
4) 防止ue等編輯器生成some.asp.bak文件泄露問題。
安全更新
應用所需的全部 service pack 和按期手動更新補丁。
安裝和配置防病毒保護
推薦nav 8.1以上版本病毒防火牆(配置爲至少每週自動升級一次)。
安裝和配置防火牆保護
推薦最新版blackice server protection防火牆(配置簡單,比較實用)
監視解決方案
根據要求安裝和配置 mom代理或相似的監視解決方案。
增強數據備份
web數據定時作備份,保證在出現問題後能夠恢復到最近的狀態。
9. 刪除沒必要要的應用程序映射
ISS中默認存在不少種應用程序映射,除了ASP的這個程序映射,其餘的文件在網站上都不多用到。
在「Internet 服務管理器」中,右擊網站目錄,選擇「屬性」,在網站目錄屬性對話框的「主目錄」頁面中,點擊[配置]按鈕,彈出「應用程序配置」對話框,在「應用程序映射」頁面,刪除無用的程序映射。若是須要這一類文件時,必須安裝最新的系統修補補丁,而且選中相應的程序映射,再點擊[編輯]按鈕,在「添加/編輯應用程序擴展名映射」對話框中勾選「檢查文件是否存在」選項。這樣當客戶請求這類文件時,IIS會先檢查文件是否存在,文件存在後纔會去調用程序映射中定義的動態連接庫來解析。
保護日誌安全
日誌是系統安全策略的一個重要環節,確保日誌的安全能有效提升系統總體安全性。
修改IIS日誌的存放路徑
默認狀況下,IIS的日誌存放在%WinDir%/System32/LogFiles,***固然很是清楚,因此最好修改一下其存放路徑。在 「Internet服務管理器」中,右擊網站目錄,選擇「屬性」,在網站目錄屬性對話框的「Web站點」頁面中,在選中「啓用日誌記錄」的狀況下,點擊旁邊的[屬性]按鈕,在「常規屬性」頁面,點擊[瀏覽]按鈕或者直接在輸入框中輸入日誌存放路徑便可。
五。 sql服務器安全加固
安裝最新的mdac(http://www.microsoft.com/data/download.htm)
5.1 密碼策略
因爲sql server不能更改sa用戶名稱,也不能刪除這個超級用戶,因此,咱們必須對這個賬號進行最強的保護,固然,包括使用一個很是強壯的密碼,最好不要在數據庫應用中使用sa賬號。新創建一個擁有與sa同樣權限的超級用戶來管理數據庫。同時養成按期修改密碼的好習慣。數據庫管理員應該按期查看是否有不符合密碼要求的賬號。好比使用下面的sql語句:
use master
select name,password from syslogins where password is null
5.2 數據庫日誌的記錄
核數據庫登陸事件的"失敗和成功",在實例屬性中選擇"安全性",將其中的審覈級別選定爲所有,這樣在數據庫系統和操做系統日誌裏面,就詳細記錄了全部賬號的登陸事件。
5.3 管理擴展存儲過程
xp_cmdshell是進入操做系統的最佳捷徑,是數據庫留給操做系統的一個大後門。請把它去掉。使用這個sql語句:
use master
sp_dropextendedproc ’xp_cmdshell’
注:若是你須要這個存儲過程,請用這個語句也能夠恢復過來。
sp_addextendedproc ’xp_cmdshell’, ’xpsql70.dll’
ole自動存儲過程(會形成管理器中的某些特徵不能使用),這些過程包括以下(不須要能夠所有去掉:
sp_oacreate sp_oadestroy sp_oageterrorinfo sp_oagetproperty
sp_oamethod sp_oasetproperty sp_oastop
去掉不須要的註冊表訪問的存儲過程,註冊表存儲過程甚至可以讀出操做系統管理員的密碼來,以下:
xp_regaddmultistring xp_regdeletekey xp_regdeletevalue xp_regenumvalues
xp_regread xp_regremovemultistring xp_regwrite
5.4 防tcp/ip端口探測在實例屬性中選擇tcp/ip協議的屬性。選擇隱藏 sql server 實例。請在上一步配置的基礎上,更改原默認的1433端口。在ipsec過濾拒絕掉1434端口的udp通信,能夠儘量地隱藏你的sql server。對網絡鏈接進行ip限制使用操做系統本身的ipsec能夠實現ip數據包的安全性。請對ip鏈接進行限制,保證只有本身的ip可以訪問,拒絕其餘ip進行的端口鏈接。經過以上的配置,禁止了服務器開放沒必要要的端口,防止服務被植入後門程序,經過配置目錄權限能夠防止***者拿到welshell後提權,增強了服務器的安全性,避免了對服務器的***和增強了TCP協議棧。經過iis的配置提升了iis的安全性和穩定性。修改了sql server的默認端口,能夠防止惡意用戶對服務器進行掃描嘗試暴力破解sa帳戶提供數據庫的安全性。對服務器實現了總體的安全加固。