開(kāi)發(fā)中經(jīng)常用到接口,尤其是在面向服務(wù)的soa架構(gòu)中,數(shù)據(jù)交互全是用的接口。        

       幾年以前我認(rèn)為,我寫(xiě)個(gè)接口,不向任何人告知我的接口地址,我的接口就是安全的,現(xiàn)在回想真是too young,too simple。但凡部署在廣域網(wǎng)的應(yīng)用程序,隨隨便便的好多工具可以根據(jù)ip或域名掃描應(yīng)用程序的所有暴露的接口,進(jìn)而分析參數(shù),注入程序,分分鐘被攻擊。        

       那咋才能保證接口的安全性呢?

(一)面臨的主要安全問(wèn)題

a.網(wǎng)絡(luò)環(huán)境假設(shè):

a1.假設(shè)公共網(wǎng)絡(luò)(Internet,如:WIFI、非家庭網(wǎng)絡(luò)、非辦公網(wǎng)絡(luò)等) 是不安全的,一切基于HTTP協(xié)議的請(qǐng)求/響應(yīng)(Request or Response)都是可以被截獲的、篡改、重放(重發(fā))的。


b.接口安全要求:

b1.防偽裝攻擊(案例:在公共網(wǎng)絡(luò)環(huán)境中,第三方 有意或惡意 的調(diào)用我們的接口)

b2.防篡改攻擊(案例:在公共網(wǎng)絡(luò)環(huán)境中,請(qǐng)求頭/查詢(xún)字符串/內(nèi)容 在傳輸過(guò)程被修改)

網(wǎng)友評(píng)論