淘東電商項目(67) -互聯網安全架構設計(方法論)

引言

本文代碼已提交至Github,有興趣的同學可以下載來看看:https://github.com/ylw-github/taodong-shop

淘東項目的聚合支付模塊博客至此已經寫完,有興趣的同學可以參閱聚合支付的文章:

本文開始講解關於互聯網安全架構設計的方案。

本文目錄結構:
l____引言
l____ 1.互聯網安全架構設計的方案

1. 互聯網安全架構設計的方案

毋庸置疑,互聯網安全架構這一塊是非常重要的,如何保證互聯網安全呢?

說到互聯網架構的安全,肯定會涉及到的一個概念叫“網關”,下面來看看之前寫的一篇博客裏的圖片《互聯網併發與安全系列教程(14) - 基於Nginx實現API網關》

在這裏插入圖片描述

可以知道,對於開發人員來說,如果要做到後臺的安全性,除了負載均衡服務器(Nginx)這一塊需要做處理外,主要還是要對我們的API網關做出安全性處理,那網關有什麼處理呢?下面貼出方案:

  1. 基於網關實現IP黑名單與名單攔截
  2. API接口實現Token授權認證
  3. 使用MD5實現API接口驗證簽名,防止抓包篡改數據
  4. 實現API接口安全加密傳輸(公鑰和私鑰互換機制)
  5. 基於Oauth2.0 實現API接口開放平臺
  6. 接口參數使用網關實現防止XSS、SQL注入
  7. 定期工具實現代碼健康掃描

對於第1點:解決方式是很簡易的,只要我們設置好IP黑名單,當黑名單裏面的ip訪問我們的服務器前,會先經過網關,在網關裏需要查詢DB或Redis來判斷該ip是否在黑名單內,如果是的,則拒絕訪問。

對於第2點:基於Token指的是,用戶必須攜帶正確的令牌才能訪問,否則拒絕。

對於第3點: 使用MD5加鹽,即客戶端使用MD5對提交內容進行加簽,傳輸的內容依然是明文的,到了服務器後,也使用MD5驗證簽名,如果簽名沒問題,說明數據是沒有被篡改過的,否則拒絕訪問。

對於第4點: 加密傳輸,在前面的“支付寶支付”場景(RSA加密)用到過,主要是客戶有一個私鑰,加密傳輸給後臺,後臺獲取數據後,使用公鑰解密,如果驗證不通過,則拒絕訪問。

對於第5點: 主要是在提供接口給第三方用到,第三方用戶必須OAuth2.0驗證通過後,攜帶驗證通過後令牌訪問我們的後臺,後臺判斷是否允許其訪問。

對於第6點: 主要是判斷接口參數來防止XSS、SQL注入(可能描述不太清晰,具體的可以Google)。

對於第7點: 可以使用定時任務,檢查代碼是否有報錯,如果有,可以收集起來,並通知相關的開發人員。

接下來的博客將以代碼的形式呈現給各位童鞋們,讓大家更加的瞭解其原理。

本文完!

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