security operation center - ntnu · 刑法第三十六章妨害電腦使用罪 第358 條–...
TRANSCRIPT
IIS與SQL Server安全
敦陽科技
大綱
前言入侵過程分析安裝 IIS 6.0目錄安全設定IIS應用程式設定安裝UrlScan安裝SQL Server 2000移除範例資料庫移除不必要的預存程序
大綱
建立Public使用者設定Public角色使用者
問題與討論
前言
關於我
吳東霖 , Alex現任敦陽科技資安服務處資安顧問
經歷 –多次政府、金融、電信、教育、企業單位之滲透測試服務
資安事件處理與蒐證
資安設備規劃與建置
聲明
本系列課程內容,僅用於瞭解攻擊手法以利進行防禦部署,若有任何學員以之進行非法活動,一切行為與本人及敦陽科技無關,由學員自行負責。
刑法第 三十六章 妨害電腦使用罪
第 358 條 – 入侵電腦或其相關設備罪
第 359 條 – 破壞電磁紀錄罪
第 360 條 – 干擾電腦或其相關設備罪
第 361 條 – 對公務機關,加重其刑至1/2第 362 條 – 製作犯罪電腦程式罪
第 363 條 – 358 ~ 360 須告訴乃論
7
資安領域概述
通訊安全
存取控制
資料安全
內容管理
安全監控
資安稽核
安全管理
入侵過程分析
一般入侵過程
資訊收集
弱點探測
侵入系統
提升權限
收集資料
植入後門
資訊收集
主機搜尋 ICMP、TCPZone TransferGoogle / Search Engine
服務掃描 ( Port Scan )nmap、Superscan、amap、…etcFIN, Xmas , or Null scan
網路架構探測 traceroute、tcptraceroute、…etc
作業系統判斷由 TCP Fingerprint 辨識系統 xprobe、p0f、nmap
弱點探測
服務弱點掃描工具NessusISS Internet ScannerFoundstone FoundScan… etc
網頁弱點掃描工具HP WebInspectIBM Rational AppScanAcunetix Web Vulnerability Scanner
人為判斷
侵入系統
利用 Web 應用程式的漏洞SQL InjectionCode/Command InjectionRemote File InclusionUpload File Mis-Handling
利用服務程式(Daemon)的弱點Remote Buffer OverflowDesign Error
Brute Force AttackSniffMan-in-the-Middle / Session Hijacking
駭客會去的網站 - milw0rm
14http://www.milw0rm.com
Adobe Acrobat Reader EXP
15
Milw0rm - platforms
16
Milw0rm
17
駭客會去的網站 - sebug
18http://www.sebug.net
Sebug - vuldb
19
一定要去看的網站 - 資安之眼
20
資安之眼 - TW 網站淪陷資料庫
21
安裝 IIS 6.0
安裝 IIS 6.0
建議針對網站勾選所需的服務,不要勾選不必要的服務,方能減少攻擊面積。
23
移除預設的網站
24
新增網站
建議輸入網站域名,避免淪為攻擊者的釣魚網站。
25
新增網站
建議網站主目錄建立在獨立的磁碟區,不要建立在系統磁碟區、備份磁碟區、Log紀錄磁碟區中,避免攻擊者以”目錄跳脫”的弱點,取得伺服器詳細資訊,做進一步的攻擊。
26
建議如網站需要提供動態服務只需勾選”讀取”、”執行指令碼”,不要勾選”執行”、”寫入”、”瀏覽”權限。
27
Checklist
28
安裝、新增IIS網站□ IIS安裝未勾選ASP、ASP.NET以外的子元件□ IIS安裝完成後進行Windows Update□ 移除IIS預設網站□ 網站建立時有確實輸入”主機標頭”
□ 網站主目錄建立在獨立的磁碟區,同時無其他資料存放
□ 網站權限只有”讀取”、”執行指令碼”
目錄安全設定
新增Windows匿名存取帳戶
建議帳號名稱不要使用網站域名,避免攻擊者取得使用者清單後,得知該伺服器有其他網站,做進一步的攻擊行為。如果有建立多個Windows匿名存取帳戶,建議不要使用相同、相似的密碼,同時也要避免和Administrator等管理帳號的密碼相似,避免攻擊者得知密碼的規律性,取得系統最高權限。
30
Checklist
31
新增Windows匿名存取帳戶
□ 匿名存取帳戶的”成員隸屬”的清單中,只有”Guests”成員,沒有其他成員
□ 匿名存取帳戶的”終端機服務設定檔”,有勾選”拒絕這個使用者權限登入任何終端機伺服器”
□ 匿名存取帳戶的”撥入”,有選擇”拒絕存取”
設定IIS匿名存取帳戶
32
Checklist
33
設定IIS匿名存取帳戶□ 網站有個別設定匿名存取帳戶
設定NTFS存取權限
設定網站磁碟區存取權限
34
設定NTFS存取權限
設定網站資料夾存取權限
35
Checklist
設定NTFS存取權限
□ 網站主目錄的磁碟區,在安全性清單中已移除” Everyone”、” Users”
□ 網站主目錄已個別設定匿名存取帳戶
□網站主目錄的匿名存取帳戶,沒有寫入權限,只有”讀取”、”清單資料夾內容”、”讀取及執行”的權限
□ 只有網頁應用程式需要具有寫入權限的目錄、檔案,設定寫入權限
36
IIS應用程式設定
網站主目錄應用程式設定
此項設定可避免攻擊者繞過檔案上傳限制,上傳網頁後門等其他檔案,甚至可避免攻擊者繞過防毒軟體的掃描規則。
38
Checklist
39
網站主目錄應用程式設定
□ 網站主目錄應用程式,只留下網頁應用程式所需的副檔名對應
關閉ASP詳細錯誤訊息
如果應用程式確實存在SQL Injection弱點,即使關閉詳細錯誤訊息,攻擊者也能以Blind SQL Injection方式進行攻擊,建議盡速修補應用程式漏洞,避免機密資料遭攻擊者竊取。
40
Checklist
41
關閉ASP詳細錯誤訊息
□ 網站已關閉ASP詳細錯誤訊息
網站子目錄應用程式設定
避免攻擊者利用”目錄跳脫”、”繞過檔案上傳限制”,任意新增執行惡意的應用程式、網頁後門等。
42
Checklist
43
網站子目錄應用程式設定
□ 網站子目錄的靜態檔案資料夾,已設定為無執行權限
自訂網站錯誤訊息
44
Checklist
45
自訂網站錯誤訊息
□ 已設定自訂網站錯誤訊息,發生錯誤時導向網站首頁
安裝UrlScan
下載UrlScan
UrlScan v3.1 (x86) : http://www.microsoft.com/downloads/details.aspx?familyid=ee41818f-3363-4e24-9940-321603531989&displaylang=enUrlScan v3.1 (x64) :
http://www.microsoft.com/downloads/details.aspx?familyid=361E5598-C1BD-46B8-B3E7-3980E8BDF0DE&displaylang=en
47
設定UrlScan
設定檔存放於"%SystemRoot%\system32\inetsrv\urlscan\UrlScan.ini“建議非必要情況下,不要任意更改
UrlScan設定檔。
48
移除ServerHeader
將ServerHeader移除,可降低攻擊者對伺服器版本的辨識率,同時可以混淆常見的攻擊掃描工具。
49
自訂ServerHeader
50
Checklist
51
設定UrlScan□ 已移除ServerHeader,並自訂ServerHeader
安裝設定SQL Server 2000
安裝設定SQL Server 2000
驗證模式請選「混合模式」
密碼請設定八字元以上,包含英文、數字、符號,請勿使用空白密碼。
53
SQL Server 2000 Service Pack 4
http://www.microsoft.com/downloads/details.aspx?FamilyId=8E2DFC8D-C20E-4446-99A9-B7F0213F8BC5&displaylang=en
54
Checklist
55
安裝設定SQL Server 2000
□ 安裝目的磁碟區格式為NTFS□ 驗證模式為「混合模式」
□ 密碼大於八個字元以上,包含英文、數字、符號
□ 安裝Service Pack 4□ 執行Windows Update更新
移除範例資料庫
移除範例資料庫
57
Checklist
移除範例資料庫□ 移除northwind、pubs範例資料庫
58
移除範例資料庫
移除不必要的預存程序
移除預存程序
60
復原預存程序
復原sp_addextendedproc復原xp_execresultset復原其它預存程序
61
建立Public使用者
建立Public使用者帳號
建議網站前台與網站後台,個別為兩個Public帳號,避免惡意使用者透過SQL Injection取得後台帳號密碼等資訊
63
Checklist
64
建立Public使用者帳號□ 驗證方式為「SQL Server的帳戶驗證」□ 密碼長度大於八個字元,包含英文、數字、符號□ 登入的預設資料庫為目標資料庫□ 該帳號未勾選任何「伺服器角色」
□「資料庫存取」只勾選該資料庫,資料庫角色只勾選「public」
設定Public角色使用者
Public角色使用者設定
66
Checklist
67
Public角色使用者設定□ 「資料庫角色權限」只勾選Public□ 依照帳號需求,只勾選所需權限
問題與討論