部署安全的網站系統.ppt_第1页
部署安全的網站系統.ppt_第2页
部署安全的網站系統.ppt_第3页
部署安全的網站系統.ppt_第4页
部署安全的網站系統.ppt_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

部署安全的網站系統 胡士亮平台架構技術副理台灣微軟開發工具暨平台推廣處 提升安全性的方式 Portblocking過濾加密 修正程式更新IIS強化ACLsCASLoggingLeastprivilegeAccountmanagement ValidationHashingEncryptionSecretsmanagementCookiemanagementSessionmanagementErrorhandling Spoofedpackets etc Bufferoverflows illicitpaths etc SQLinjection XSS inputtampering etc 網路 主機 應用程式 網路防禦 主機防禦 應用程式防禦 停用通訊協定停用服務強化安全性 資料庫 SQLinjection PasswordCracking etc 資料庫防禦 網路層威脅與弱點 網路防禦 強化防火牆 i 強化routers與switches 加密敏感的網路傳輸 保持最新的修正程式與更新停用不需要的連接埠和通訊協定使用filter拒絕有問題的連線 保持最新的修正程式與更新使用filter拒絕spoofedpacketsScreenICMPtrafficfromtheinternalnetworkScreendirectedbroadcastrequestsfromtheinternalnetworkRejecttraceroutingrequests 主機層威脅 UnsecuredOperatingSystemConfiguration UnmonitoredAccess ExploitOperatingSystemWeakness DistributeViruses 主機防禦 i 保持最新的ServicePack與修正程式 使用IISLockdown強化IIS5 0 使用URLScan強化IIS5 0與IIS6 0 DisablesFTP SMTP andNNTPRemoveskeyscriptmappingssuchas idq htr and printerRemovesIISSamples IISHelp Scripts andothervirtualdirectoriesACLssystemtoolsandWebcontentdirectoriestolimitaccessDisablesWebDAVInstallsURLScan LogsfailedrequestsLimitsrequestsizestomitigateDoSattacksMaskscontentheadersrevealingIIStypeandversionnumberBlocksrequestswithpotentiallyinjuriouscharacters e g dotsinpathnames CanonicalizesandverifiespathnamestothwartdirectorytraversalattacksDisablesspecifiedverbs e g DEBUG 主機防禦 強化Web主機TCP IP 使用最低權限帳號執行ASP NET 避免使用SYSTEMIIS6 0預設使用NetworkService 限制檔案上傳大小 主機防禦 停用不需要的服務與共享 強化使用者帳號 刪除不需要的共享並限制存取權限停用不需要的服務與通訊協定 e g SMBandNetBIOS 停用或是設定RemoteDataServices RDS 安全性 停用Guest帳號使用帳號原則設定複雜密碼將administratoraccount更換名字停用nullsessions anonymouslogons 限制遠端登入 開啟紀錄與稽核 紀錄失敗的登入啟用系統失敗稽核使用NTFS存放IISlog稽核Metabase bin存取 主機防禦 使用ACL限制重要資源的存取 systemroot System32d systemroot Microsoft NET Framework systemroot System32 LogfilesWeb內容目錄存放敏感資料的RegistryKey 參考ASP Net需要的NTFS權限文章 應用程式威脅與弱點 應用程式防禦 不要信任使用者輸入 使用安全的方式存取資料庫 使用安全的方式存放敏感資料 避免forms驗證的弱點 保護ASP NETsessionstate 預期錯誤發生並妥善處理 i 驗證使用者輸入 限制 拒絕 檢查所有輸入 使用HTML encode輸出使用者輸入的資料 避免使用filenamesinput 使用安全的編碼方式 使用安全的方式存取資料庫 使用storedprocedures或參數化的commands 不要使用sa帳號存取資料庫 安全的存放connectionstrings 使用SSL TLS或IPSec加密資料庫連線 套用安全設定到SQLServer securingsqlserver asp Sa帳號 只供管理使用 絕對不要在程式中使用sa存取資料庫使用多個低權限帳號來存取資料庫查詢功能使用只有SELECT權限的帳號更好的方式是使用storedprocedure並且設定只允許EXECUTE權限在storedprocedure上減低攻擊者執行有害指令的能力 建立一個低權限的帳號 USELoginGO AddaccountnamedwebusertoLogindatabaseEXECsp addlogin webuser m1x2y3z4p5t6l7k8 Login GrantwebuseraccesstothedatabaseEXECsp grantdbaccess webuser Limitwebusertocallingproc IsUserValidGRANTEXECUTEONproc IsUserValidTOwebuser Windows驗證 MicrosoftSQLServer支援兩種帳號驗證方式SQLServerloginsWindows帳號Windows驗證減低威脅機會不需要在connectionstrings內存放帳號密碼使用者帳號 密碼不會在網路上以非加密的方式傳送 server localhost database pubs Trusted Connection yes 使用安全的方式存放敏感資料 存放敏感資料到資料庫或檔案應該要加密或是hashed信用卡號碼帳號密碼等要提升安全性 connectionstrings應該要加密加密在 Net中是很容易的System Security CryptographyclassesWindowsDataProtectionAPI DPAPI Forms驗證 使用SSL TLS保護帳號密碼 不要存放密碼 存放密碼hashes 不要依賴forms驗證來保護部署於ASP NET的資源 限制authenticationcookie存放期間以降低replayattack機會 當存取敏感資料是要假設authenticationcookies已被冒用 保護Logins 將loginforms放在使用SSL TLS的目錄中以避免網路擷取攻擊 Encryptedconnection 存放LoginPasswords 不要用plaintext存放passwords存放加密過的密碼或密碼hashes來增加安全性 PasswordHashes stringhash FormsAuthentication HashPasswordForStoringInConfigFile password SHA1 FormsAuthentication HashPassword ForStoringInConfigFile讓hashing變的容易SHA 1hashesMD5hashes 建立SaltedHashes stringCreateSaltedPasswordHash stringpassword GeneraterandomsaltstringRNGCryptoServiceProvidercsp newRNGCryptoServiceProvider byte saltBytes newbyte 16 csp GetNonZeroBytes saltBytes stringsaltString Convert ToBase64String saltBytes AppendthesaltstringtothepasswordstringsaltedPassword password saltString Hashthesaltedpasswordstringhash FormsAuthentication HashPasswordForStoringInConfigFile saltedPassword SHA1 AppendthesalttothehashstringsaltedHash hash saltString returnsaltedHash 檢驗SaltedHashes boolValidatePassword stringpassword stringsaltedHash ExtracthashandsaltstringstringsaltString saltedHash Substring saltedHash Length 24 stringhash1 saltedHash Substring 0 saltedHash Length 24 AppendthesaltstringtothepasswordstringsaltedPassword password saltString Hashthesaltedpasswordstringhash2 FormsAuthentication HashPasswordForStoringInConfigFile saltedPassword SHA1 Comparethehashesreturn hash1 CompareTo hash2 0 AuthenticationCookies Formsauthenticationcookies預設會被加密並驗證過避免讀取與修改但是無法避免被竊取並replay需要採取避免措施來防止未經授權的存取 AuthCookie壽命 Temporaryauthenticationcookies壽命預設值30分鐘透過timeoutattribute控制會受到ASP NET1 0slidingrenewal影響Slidingrenewal在1 1版本中預設是停用的透過slidingExpirationattribute控制Persistentauthenticationcookies預設壽命 50years 更長的壽命 更大的機會受到replayattacks 限制PersistentAuthenticationCookies壽命 if Authenticate name password stringurl FormsAuthentication GetRedirectUrl name true FormsAuthentication SetAuthCookie name true HttpCookiecookie Response Cookies FormsAuthentication FormsCookieName Setthecookietoexpire1daysfromnowcookie Expires DateTime Now AddDays 1 Response Redirect url 保護SessionState 限制sessiontime outs越短越好 避免使用cookielesssessionstate 如果不使用的話請停用ASP NETstate服務 使用ASP Netstate服務請防火牆關閉port42424 使用SQLServer請加密connectionstring 如果使用SQLServer請關閉ports1433與1434 SessionState 考慮使用SSL TLS來保護sessionIDcookies 使用SSL TLS或IPSec來保護與資料庫的連線 不要存放有害的資料 例如信用卡號碼 在sessionstate 例外處理 預期錯誤發生並正確的處理 使用來顯示自訂錯誤訊息 注意mode off 與debug true 不要揭露太多資訊在錯誤訊息網頁中 紀錄未處理的exceptions 請積極的紀錄所有錯誤 你想知道哪些有關網站的資訊 資料庫伺服器名稱 資料庫名稱 SA密碼 存放信用卡資料的表格名稱 SQLInjection弱點 原始碼路徑 Runtime版本 紀錄未處理的Exceptions voidApplication Error Objectsender EventArgse Formulatemessagetowritetoeventlogstringmsg Erroraccessing Request Path n Server GetLastError ToString WritethemessagetoWindowseventlogEventLoglog newEventLog log Source MyASP NETApplication log WriteEntry msg EventLogEntryType Error Global asax 資料庫威脅與弱點 資料庫防禦 停用不需要的通訊協定 NetBIOS與SMB 停用不需要的服務 MSDTC Searc

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论