《大型網(wǎng)站技術(shù)架構(gòu)》筆記:架構(gòu)之安全


網(wǎng)站應(yīng)用的攻擊和防御

Web應(yīng)用主要面對XSS攻擊币厕、SQL注入超营、CSRF和Session劫持等安全問題。

XSS攻擊

XSS攻擊即跨站點(diǎn)腳本攻擊(Cross Site Script)膳叨,指黑客通過篡改網(wǎng)頁间景,注入惡意HTML腳本,在用戶瀏覽網(wǎng)頁外偷霉,控制用戶瀏覽器進(jìn)行惡意操作的一種攻擊方式迄委。
常見的XSS攻擊類型主要有兩種:反射型和注入型。
應(yīng)對手段:

  • 消毒
    對用戶輸入信息進(jìn)行過濾和消毒處理
  • HttpOnly
    瀏覽器禁止頁面JavaScript訪問帶有HttpOnly屬性的Cookie类少,防止XSS攻擊竊取Cookie叙身。

注入攻擊

SQL注入

攻擊者在HTTP請求中注入惡意SQL命令堆生,服務(wù)器用請求參數(shù)構(gòu)造數(shù)據(jù)庫SQL命令時(shí)己英,惡意SQL被一起構(gòu)造,并在數(shù)據(jù)庫中執(zhí)行弄跌。
防御SQL攻擊首先要避免被攻擊者猜測到數(shù)據(jù)庫表結(jié)構(gòu)信息妓忍,此外還可以:

  • 消毒:對請求參數(shù)消毒虏两,通過正則匹配過濾請求參數(shù)中可能注入的SQL
  • 參數(shù)綁定:使用預(yù)編譯手段,綁定參數(shù)世剖。這樣攻擊者的惡意SQL就會(huì)被當(dāng)做SQL參數(shù)定罢,而不是SQL命令被執(zhí)行。
OS注入

攻擊者根據(jù)具體應(yīng)用旁瘫,注入OS命令祖凫、編程語言代碼等,利用程序漏洞酬凳,達(dá)到攻擊目的惠况。

CSRF攻擊

CSRF(Cross Site Request Forgery),跨站點(diǎn)請求偽造宁仔,攻擊者通過跨站請求稠屠,以合法用戶的身份進(jìn)行非法操作,如轉(zhuǎn)賬交易、發(fā)表評論等权埠。其核心是利用了瀏覽器的Cookie或服務(wù)器的Session策略榨了,盜取用戶身份。

CSRF的防御手段主要是識(shí)別請求者身份攘蔽,主要有下面幾種方法:

  • 表單Token
    在頁面表單中增加一個(gè)隨機(jī)數(shù)作為Token龙屉,每次響應(yīng)頁面的Token都不相同,從正常頁面提交的請求會(huì)包含該Token满俗,而偽造的請求無法獲取該值转捕。
  • 驗(yàn)證碼
  • Referer Check
    HTTP請求頭的Referer域中記錄著請求來源,可通過檢查請求來源漫雷,驗(yàn)證其是否合法瓜富。很多網(wǎng)站利用這個(gè)功能實(shí)現(xiàn)圖片的防盜鏈。

其他攻擊和漏洞

  • 錯(cuò)誤回顯:服務(wù)器端未處理的異常堆棧信息會(huì)直接輸出到客戶端瀏覽器降盹。黑客會(huì)故意制造非法輸入,是系統(tǒng)運(yùn)行出錯(cuò)谤辜,獲取異常信息蓄坏,并從中獲取系統(tǒng)漏洞。應(yīng)對辦法就是丑念,服務(wù)器異常跳轉(zhuǎn)500頁面到特定的錯(cuò)誤頁面涡戳。
  • HTML注釋:黑客通過這些注釋信息尋找漏洞。應(yīng)對辦法就是在程序最終發(fā)布前對代碼review或自動(dòng)掃描脯倚,去掉注釋渔彰。
  • 文件上傳:黑客通過上傳可執(zhí)行程序,攻擊服務(wù)器推正。最有效的防御手段是設(shè)置上傳的文件白名單恍涂,只允許上傳可靠的文件類型。此外植榕,還可以修改文件名再沧、使用專門的存儲(chǔ)等手段。
  • 路徑遍歷:攻擊者在請求的URL中使用相對路徑尊残,遍歷系統(tǒng)未開放的目錄和文件炒瘸。防御辦法是將JS、CSS等資源文件部署在獨(dú)立服務(wù)器寝衫、使用獨(dú)立域名顷扩,其他文件不適用靜態(tài)URL訪問,動(dòng)態(tài)參數(shù)不包含路徑信息慰毅。

Web應(yīng)用防火墻

利用Web應(yīng)用防火墻隘截,統(tǒng)一攔截請求,過濾惡意參數(shù)、自動(dòng)消毒技俐、添加Token乘陪,并且能夠根據(jù)最新攻擊和漏洞情報(bào),不斷升級對策雕擂,處理掉大多數(shù)網(wǎng)站攻擊啡邑。如開源的ModSecurity

網(wǎng)站安全漏洞掃描

網(wǎng)站安全漏洞掃描工具是根據(jù)內(nèi)置規(guī)則井赌,構(gòu)造具有攻擊性的URL請求谤逼,模擬黑客攻擊行為,用以發(fā)現(xiàn)網(wǎng)站安全漏洞的工具仇穗。


信息加密技術(shù)及密鑰安全管理

通常流部,為了保護(hù)網(wǎng)站的敏感數(shù)據(jù),應(yīng)用需要對這些敏感信息進(jìn)行加密處理纹坐,信息加密技術(shù)可分為三類:

單向散列加密

單向散列加密是指通過對不同輸入長度的信息進(jìn)行散列計(jì)算枝冀,得到固定長度的輸出。這個(gè)散列計(jì)算過程是單向的耘子,即不可能對固定長度的輸出進(jìn)行計(jì)算從而獲得輸入信息果漾。
單向散列加密通常用來對用戶密碼加密。雖然散列計(jì)算過程不可逆谷誓,但由于人們設(shè)置密碼的模式固定绒障,因此通過密碼和對應(yīng)的密文的關(guān)系表(彩虹表)等手段可以進(jìn)行猜測式破解。
為了加強(qiáng)單向散列算法的安全性捍歪,還會(huì)給散列算法加點(diǎn)鹽(salt)户辱,salt相當(dāng)于加密的密鑰,增加破解的難度糙臼。
常用的單向散列算法有MD5庐镐、SHA等,單向散列算法還有一個(gè)特點(diǎn)就是輸入的任何微小變化都會(huì)導(dǎo)致輸出的完全不同弓摘,這個(gè)特性也會(huì)被用來生成信息摘要焚鹊、計(jì)算具有高離散度的隨機(jī)數(shù)等用途。

對稱加密

對稱加密是指加密和解密使用的密鑰是同一個(gè)密鑰(或者可以互相推算)韧献,通常用在信息需要安全交換或者存儲(chǔ)的場合末患,如Cookie加密、通信加密等锤窑。
優(yōu)點(diǎn)是算法簡單璧针,解密加密效率高,適合對大量數(shù)據(jù)加密渊啰。缺點(diǎn)是探橱,解加密使用同一個(gè)密鑰申屹,遠(yuǎn)程通信下如何安全的交換密鑰是個(gè)難題。
常用的對稱加密算法:DES算法隧膏、RC算法等哗讥。
對稱加密算法是一種傳統(tǒng)加密手段,也是最常用的加密手段胞枕,適合絕大多數(shù)需要加密的場合杆煞。

非對稱加密

不同于對稱加密,非對稱加密和解密使用的不是同一個(gè)密鑰腐泻,其中一個(gè)對外界公開决乎,被稱為公鑰,另一個(gè)只有所有者知道派桩,被稱為私鑰构诚。用公鑰加密的信息,必須用私鑰才能解開铆惑,反之范嘱,用私鑰加密的信息只有用公鑰才能解開。
非對稱加密技術(shù)通常用在信息安全傳輸鸭津、數(shù)字簽名等場合彤侍。
非對稱加密的常用算法有RSA算法等。HTTPS傳輸中瀏覽器使用的數(shù)字證書實(shí)質(zhì)上是經(jīng)過權(quán)威機(jī)構(gòu)認(rèn)證的非對稱加密的公鑰逆趋。

實(shí)際應(yīng)用中,常成罐龋混合使用對稱加密和非對稱加密闻书。先使用非對稱加密技術(shù)對對稱密鑰進(jìn)行安全傳輸,然后使用對稱加密技術(shù)進(jìn)行信息加解密與交換脑慧。而有時(shí)魄眉,對通同一次數(shù)據(jù)兩次使用非對稱加密,可同時(shí)實(shí)現(xiàn)信息安全傳輸與數(shù)字簽名的目的闷袒。

密鑰安全管理

無論是單向散列加密用到的salt坑律、對稱加密的密鑰還是非對稱加密的私鑰,一旦密鑰泄漏囊骤,所有基于這些密鑰加密的信息就是去了秘密性晃择。


信息過濾與反垃圾

主要手段有文本匹配、分類算法也物、黑名單等宫屠。


電子商務(wù)風(fēng)險(xiǎn)控制

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市滑蚯,隨后出現(xiàn)的幾起案子浪蹂,更是在濱河造成了極大的恐慌抵栈,老刑警劉巖,帶你破解...
    沈念sama閱讀 207,248評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件坤次,死亡現(xiàn)場離奇詭異古劲,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)缰猴,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,681評論 2 381
  • 文/潘曉璐 我一進(jìn)店門产艾,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人洛波,你說我怎么就攤上這事胰舆。” “怎么了蹬挤?”我有些...
    開封第一講書人閱讀 153,443評論 0 344
  • 文/不壞的土叔 我叫張陵缚窿,是天一觀的道長。 經(jīng)常有香客問我焰扳,道長倦零,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,475評論 1 279
  • 正文 為了忘掉前任吨悍,我火速辦了婚禮扫茅,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘育瓜。我一直安慰自己葫隙,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,458評論 5 374
  • 文/花漫 我一把揭開白布躏仇。 她就那樣靜靜地躺著恋脚,像睡著了一般。 火紅的嫁衣襯著肌膚如雪焰手。 梳的紋絲不亂的頭發(fā)上糟描,一...
    開封第一講書人閱讀 49,185評論 1 284
  • 那天,我揣著相機(jī)與錄音书妻,去河邊找鬼船响。 笑死,一個(gè)胖子當(dāng)著我的面吹牛躲履,可吹牛的內(nèi)容都是我干的见间。 我是一名探鬼主播,決...
    沈念sama閱讀 38,451評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼崇呵,長吁一口氣:“原來是場噩夢啊……” “哼缤剧!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起域慷,我...
    開封第一講書人閱讀 37,112評論 0 261
  • 序言:老撾萬榮一對情侶失蹤荒辕,失蹤者是張志新(化名)和其女友劉穎汗销,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體抵窒,經(jīng)...
    沈念sama閱讀 43,609評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡弛针,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,083評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了李皇。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片削茁。...
    茶點(diǎn)故事閱讀 38,163評論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖掉房,靈堂內(nèi)的尸體忽然破棺而出茧跋,到底是詐尸還是另有隱情,我是刑警寧澤卓囚,帶...
    沈念sama閱讀 33,803評論 4 323
  • 正文 年R本政府宣布瘾杭,位于F島的核電站,受9級特大地震影響哪亿,放射性物質(zhì)發(fā)生泄漏粥烁。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,357評論 3 307
  • 文/蒙蒙 一蝇棉、第九天 我趴在偏房一處隱蔽的房頂上張望讨阻。 院中可真熱鬧,春花似錦篡殷、人聲如沸钝吮。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,357評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽搀绣。三九已至,卻和暖如春戳气,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背巧鸭。 一陣腳步聲響...
    開封第一講書人閱讀 31,590評論 1 261
  • 我被黑心中介騙來泰國打工瓶您, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人纲仍。 一個(gè)月前我還...
    沈念sama閱讀 45,636評論 2 355
  • 正文 我出身青樓呀袱,卻偏偏與公主長得像,于是被迫代替她去往敵國和親郑叠。 傳聞我的和親對象是個(gè)殘疾皇子夜赵,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,925評論 2 344

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