網(wǎng)絡(luò)安全與HTTPS

一江耀、信息安全三要素

任何完整的信息安全體系网缝,都需要遵循CIA原則垮刹,即保密性(Confidentiality)、完整性(Integrity)鸵隧、可用性(Availability)绸罗。

  • 保密性:對需要保護的數(shù)據(jù)(如用戶的私人信息等)進行保密操作,無論存儲還是傳輸豆瘫,都要保證用戶數(shù)據(jù)及相關(guān)資源的安全珊蟀。通常使用加密等手段保證數(shù)據(jù)的安全。
  • 完整性: 訪問的數(shù)據(jù)要是完整的外驱,沒有缺失或被篡改育灸。可以對數(shù)據(jù)進行簽名和校驗(比如MD5和數(shù)字簽名等)昵宇。
  • 可用性:服務(wù)必須可用磅崭。可以使用訪問控制瓦哎、限流等手段保證服務(wù)的可用性砸喻。

二、常見的網(wǎng)絡(luò)攻擊

網(wǎng)絡(luò)攻擊大體可以分為非破壞性攻擊和破壞性攻擊蒋譬。非破壞性攻擊一般是為了擾亂系統(tǒng)的運行割岛,使之暫時失去正常對外提供服務(wù)的能力,比如DDoS攻擊等羡铲;破壞性攻擊注意會造成兩種后果:系統(tǒng)數(shù)據(jù)受損或信息被竊取蜂桶,比如CSRF等。

DDoS

DDoS(Distributed Denial of Service也切,分布式拒絕服務(wù))主要通過大量合法的請求占用大量網(wǎng)絡(luò)資源扑媚,從而使合法用戶無法得到服務(wù)的響應(yīng),是目前最強大雷恃、最難防御的攻擊之一疆股。其攻擊效果:

  • 占滿網(wǎng)絡(luò)帶寬
  • 提交大量請求,使服務(wù)器超負(fù)荷運行倒槐,響應(yīng)緩慢
  • 阻斷某一用戶訪問服務(wù)器
  • 阻斷某服務(wù)與特定系統(tǒng)或個人的通訊

防范思路:
1旬痹、 請求攔截,包括:硬件防火墻、HTTP請求限流(如阿里的開源中間件sentinel)等
2两残、使用CDN
3永毅、帶寬擴容
4、實時監(jiān)控等

SQL注入

SQL注入是由于未將代碼與數(shù)據(jù)進行嚴(yán)格的隔離人弓,導(dǎo)致在讀取用戶數(shù)據(jù)的時候沼死,錯誤地將數(shù)據(jù)作為代碼的一部分執(zhí)行,從而導(dǎo)致的安全問題崔赌。最常見的例子是當(dāng)對SQL語句進行字符串拼接操作時意蛀,直接使用未加轉(zhuǎn)義的用戶輸入內(nèi)容作為變量,從而可能出現(xiàn)drop健芭、delete等意想不到的結(jié)果县钥。

防范思路:
1、過濾用戶輸入?yún)?shù)中的特殊字符慈迈,從而降低被SQL注入的風(fēng)險
2若贮、禁止通過字符串拼接的SQL語句,嚴(yán)格使用參數(shù)綁定傳入的SQL參數(shù)
3吩翻、合理使用數(shù)據(jù)庫訪問框架提供的防范注入機制兜看。比如Mybatis提供的#{}

XSS

跨站腳本攻擊(Cross-Site Scripting):為了和CSS區(qū)分開,所以簡稱為XSS狭瞎。它是指黑客通過技術(shù)手段,向正常用戶請求的HTML頁面中插入惡意腳本搏予,從而可以執(zhí)行任意腳本熊锭,達(dá)到信息竊取、破壞等目的雪侥。

主要防范思路是對用戶輸入數(shù)據(jù)做過濾或轉(zhuǎn)義碗殷,且需要前后端開發(fā)人員共同配合。比如后端開發(fā)可以使用Jsoup速缨、Spring框架的HtmlUtils等框架工具做過濾或轉(zhuǎn)義锌妻;前端使用安全的API展示數(shù)據(jù),比如innerText而不是innerHTML等旬牲。

CSRF

跨站請求偽造(Cross-Site Request Forgery):在用戶不知情的情況下仿粹,冒充用戶發(fā)起請求,在當(dāng)前已登錄的Web應(yīng)用程序中執(zhí)行惡意操作原茅,如惡意發(fā)帖吭历、修改密碼、發(fā)郵件擂橘、甚至利用網(wǎng)銀登陸信息進行轉(zhuǎn)賬等晌区。

和XSS的區(qū)別:XSS是在正常用戶的HTML頁面中執(zhí)行黑客提供的惡意代碼,問題在于沒有對用戶數(shù)據(jù)過濾、轉(zhuǎn)移朗若;而CSRF是黑客直接盜用用戶瀏覽器中的登陸信息恼五,冒充用戶去執(zhí)行黑客的指定操作,問題出在HTTP接口沒有防范不受信任的調(diào)用哭懈。

防范思路:
1唤冈、CSRF Token驗證:利用瀏覽器的同源機制,在HTTP接口執(zhí)行前驗證頁面或者Cookie中設(shè)置的Token
2银伟、人機交互:比如在調(diào)用網(wǎng)銀轉(zhuǎn)賬接口時校驗短信驗證碼

三你虹、HTTPS

HTTP的不足:

  • 通信使用明文,內(nèi)容可能會被竊聽
  • 不驗證通信方的身份彤避,因此有可能遭遇偽裝
  • 無法證明報文的完整性傅物,有可能已遭篡改

因此當(dāng)前網(wǎng)站的主流文本傳輸協(xié)議都使用HTTPS了。HTTPS的全稱是HTTP over SSL琉预,即在HTTP傳輸上增加了SSL協(xié)議的加密能力董饰。SSL(Secure Socket Layer)協(xié)議工作于傳輸層與應(yīng)用層之間,為應(yīng)用提供數(shù)據(jù)的加密傳輸圆米。

要理解HTTPS的傳輸機制卒暂,需要先理解對稱加密與非對稱加密算法(這里就不作展開)。另一個重要概念是數(shù)字證書娄帖,是由CA(Certificate Authoriry)頒發(fā)的HTTPS證書也祠,用于證明信息傳輸方的身份,防止傳輸過程中的公鑰和密文被替換近速。

訪問一個HTTPS網(wǎng)站的大致流程如下:


HTTPS請求執(zhí)行流程

1诈嘿、瀏覽器向服務(wù)器發(fā)送請求,請求中包括瀏覽器支持的協(xié)議削葱,并附帶一個隨機數(shù)(作為客戶端公鑰)

2奖亚、服務(wù)器收到請求后,選擇某種非對稱加密算法析砸,把數(shù)字證書簽名公鑰昔字、身份信息發(fā)送給瀏覽器,同時也附帶一個隨機數(shù)(作為服務(wù)端公鑰)

3首繁、瀏覽器收到后:
3.1 首先驗證證書的真實性作郭,如果服務(wù)端的CA機構(gòu)存在于瀏覽器的受信任CA機構(gòu)列表中瘟裸,并且服務(wù)器證書中的信息與當(dāng)前正在訪問的網(wǎng)站(域名等)一致祭衩,則認(rèn)為服務(wù)端是可信的
3.2 生成客戶端的公私鑰、會話密鑰
3.3 使用服務(wù)端公鑰加密{客戶端公鑰锋八,客戶端會話密鑰}挂捅,并給服務(wù)端

4堂湖、服務(wù)器收到后:
4.1 使用服務(wù)端私鑰解密{客戶端公鑰,客戶端會話密鑰}
4.2 使用之前的隨機數(shù)生成服務(wù)端會話密鑰
4.3 使用客戶端公鑰加密服務(wù)端密鑰状土,并發(fā)送給客戶端

5、后續(xù)所有的信息發(fā)送都是以對稱加密方式進行

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末蒙谓,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子累驮,更是在濱河造成了極大的恐慌酣倾,老刑警劉巖谤专,帶你破解...
    沈念sama閱讀 206,482評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異置侍,居然都是意外死亡映之,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,377評論 2 382
  • 文/潘曉璐 我一進店門蜡坊,熙熙樓的掌柜王于貴愁眉苦臉地迎上來杠输,“玉大人,你說我怎么就攤上這事秕衙〈兰祝” “怎么了?”我有些...
    開封第一講書人閱讀 152,762評論 0 342
  • 文/不壞的土叔 我叫張陵灾梦,是天一觀的道長峡钓。 經(jīng)常有香客問我,道長若河,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,273評論 1 279
  • 正文 為了忘掉前任寞宫,我火速辦了婚禮萧福,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘辈赋。我一直安慰自己鲫忍,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 64,289評論 5 373
  • 文/花漫 我一把揭開白布钥屈。 她就那樣靜靜地躺著悟民,像睡著了一般。 火紅的嫁衣襯著肌膚如雪篷就。 梳的紋絲不亂的頭發(fā)上射亏,一...
    開封第一講書人閱讀 49,046評論 1 285
  • 那天,我揣著相機與錄音,去河邊找鬼智润。 笑死及舍,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的窟绷。 我是一名探鬼主播锯玛,決...
    沈念sama閱讀 38,351評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼兼蜈!你這毒婦竟也來了攘残?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,988評論 0 259
  • 序言:老撾萬榮一對情侶失蹤为狸,失蹤者是張志新(化名)和其女友劉穎歼郭,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體钥平,經(jīng)...
    沈念sama閱讀 43,476評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡实撒,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,948評論 2 324
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了涉瘾。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片知态。...
    茶點故事閱讀 38,064評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖立叛,靈堂內(nèi)的尸體忽然破棺而出负敏,到底是詐尸還是另有隱情,我是刑警寧澤秘蛇,帶...
    沈念sama閱讀 33,712評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站赁还,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏蹈胡。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,261評論 3 307
  • 文/蒙蒙 一罚渐、第九天 我趴在偏房一處隱蔽的房頂上張望驯妄。 院中可真熱鬧荷并,春花似錦、人聲如沸青扔。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,264評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽雀鹃。三九已至,卻和暖如春黎茎,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背踢代。 一陣腳步聲響...
    開封第一講書人閱讀 31,486評論 1 262
  • 我被黑心中介騙來泰國打工嗅骄, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人溺森。 一個月前我還...
    沈念sama閱讀 45,511評論 2 354
  • 正文 我出身青樓屏积,卻偏偏與公主長得像,于是被迫代替她去往敵國和親炊林。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,802評論 2 345

推薦閱讀更多精彩內(nèi)容

  • 關(guān)于Mongodb的全面總結(jié) MongoDB的內(nèi)部構(gòu)造《MongoDB The Definitive Guide》...
    中v中閱讀 31,898評論 2 89
  • 1. 網(wǎng)絡(luò)基礎(chǔ)TCP/IP HTTP基于TCP/IP協(xié)議族,HTTP屬于它內(nèi)部的一個子集奕枝。 把互聯(lián)網(wǎng)相關(guān)聯(lián)的協(xié)議集...
    yozosann閱讀 3,437評論 0 20
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)掷豺,斷路器薄声,智...
    卡卡羅2017閱讀 134,599評論 18 139
  • “是我沒用钞护,才會讓你那么苦”欤”他發(fā)來這么一句微信。這一瞬間距辆,我呆了,女孩爆土,該嫁給愛情還是將就? ...
    長得漂亮不如活得漂亮閱讀 545評論 2 0
  • 今天雖然進行朗讀比賽比較匆忙步势,但也應(yīng)該提前準(zhǔn)備好坏瘩,要不然,有點手忙腳亂媳板。搞的一團糟! 我常告誡學(xué)生蛉幸,不打無準(zhǔn)備之仗...
    秋韻靈兒閱讀 152評論 0 0