安全
一、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)硬件提升