大型網站技術架構(四):安全與穩定

安全

一、Web攻擊手段

Web攻擊手段 原理 防範
XSS攻擊 在輸入框裏輸入腳本程序,惡意攻擊用戶 對用戶輸入的數據進行HTML轉義處理
CRSF攻擊 用戶C登錄了受信任站點A,在本地產生Cookie;用戶C在沒有登出(清除站點A的cookie)站點A的情況下,訪問惡意站點B;惡意站點B獲取cookie,訪問站點A,以用戶C的身份進行操作 將cookie設置爲HttpOnly;增加token;通過refer識別
SQL注入攻擊 把SQL命令僞裝成正常的HTTP請求參數,傳遞到服務器,欺騙服務器最終執行惡意的SQL命令 使用預編譯語句;使用ORM框架;避免密碼明文存放;處理好相應異常
文件上傳漏洞 上傳可執行的文件或腳本,通過腳本獲得服務器上相應的權利 對上傳的文件類型進行白名單校驗,限制上傳文件的大小,對上傳的文件進行重命名
DDos攻擊 藉助公共網絡,將數量龐大的計算機設備聯合起來作爲攻擊平臺,對一個或多個目標進行攻擊,從而達到癱瘓目標主機的目的

二、安全算法

類型 內容
數字摘要 MD5,SHA,Hash算法
對稱加密算法 DES算法,3DES算法,AES算法
非對稱加密算法 RSA

通過非對稱加密技術與數字摘要技術,可以進行簽名認證。

常見的數字簽名算法包括MD5withRSA、SHA1withRSA等。

三、認證

認證 原理
摘要認證 針對每次請求,將請求參數進行排序,再將參數名稱和值經過一定的策略組織起來,加上一個密鑰secret,通過約定的摘要算法生成數字摘要,傳遞給服務端
簽名認證 針對每次請求,將請求參數進行排序,再將參數名稱和值經過一定的策略組織起來,通過約定的摘要算法生成數字摘要,使用客戶端私鑰對數字摘要進行加密,將加密的密文傳遞給服務端

四、協議

協議 原理
HTTPS 在HTTP協議與TCP協議之間增加一層安全層,所有請求和響應數據在經過網絡傳輸之前,都會進行加密,然後再進行傳輸
OAuth 對第三方軟件廠商(LSV)進行授權,使用第三方軟件廠商能夠使用平臺上的部分數據,對用戶提供服務

穩定

一、在線日誌分析

日誌中包含了程序在遇到異常情況所包含的詳細信息,通過下列信息參數,可以知道相應的程序信息。

信息參數 作用
異常堆棧 定位到產生問題的程序bug的行
訪問IP和請求URL參數 排查是否遭到攻擊和攻擊的形式
應用的響應時間、垃圾回收,系統load 判斷系統負載,是否需要增加機器
線程dump 判斷是否死鎖及線程阻塞的原因
應用的GC日誌 減少GC次數和stop the world時間,優化應用響應時間

二、集羣監控

監控指標:load,CPU利用率,磁盤剩餘空間,網絡traffic,磁盤I/O,內存使用,每秒查詢數(qps),請求響應時間(rt),數據庫每秒處理的select語句的數量(select/ps),update/ps,delete/ps,GC。

心跳檢測:ping

三、流量控制

流量控制措施:

  • 對系統的總併發請求數進行限制
  • 限制單位時間內的請求次數
  • 通過白名單機制來限制每一個接入系統調用的頻率
  • 通過單機內存隊列來進行有限的等待

四、性能優化

性能優化措施:

(1)前端性能優化

  • 減少頁面的HTTP請求數量
  • 使用CDN網絡
  • 使用壓縮

(2)java程序優化

  • 單例
  • Future模式
  • 使用線程池
  • 選擇就緒
  • 減少上下文切換
  • 降低鎖競爭

(3)壓縮
(4)結果緩存
(5)數據庫查詢優化
(6)GC優化
(7)硬件提升

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章