最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

被攻擊了!

2021-05-13 12:44 作者:程序員魚皮  | 我要投稿

為您報(bào)道【網(wǎng)站被攻擊現(xiàn)場(chǎng)】,傷害不大,侮辱性極強(qiáng)!

大家好,我是魚皮。

前段時(shí)間,我的網(wǎng)站疑似被攻擊了,今天帶大家一起來(lái)事故現(xiàn)場(chǎng)看看,并且分享事故分析思路和事后防控手段。

孽起

先看看我是怎么發(fā)現(xiàn)網(wǎng)站被攻擊的吧。

通常,為了保證線上網(wǎng)站和后臺(tái)服務(wù)的穩(wěn)定運(yùn)行,我們需要給項(xiàng)目添加監(jiān)控告警功能,出現(xiàn)意外情況時(shí),系統(tǒng)會(huì)第一時(shí)間向管理員發(fā)送通知。

由于我的項(xiàng)目使用 騰訊云云開發(fā) 來(lái)部署,默認(rèn)提供了額度監(jiān)控和告警,可以防止資源消耗過(guò)多,非常方便。

額度監(jiān)控

但光有告警還不夠,真出了問(wèn)題,靠什么去分析呢?必須給故障排查提供一些線索。

騰訊云云開發(fā)默認(rèn)為云函數(shù)、云托管等提供了監(jiān)控和日志記錄,一行代碼都不用寫,就能夠看到資源的運(yùn)行信息和詳細(xì)日志,比如請(qǐng)求時(shí)間、IP 地址、請(qǐng)求頭信息等,非常方便。

日志記錄

此外,我還在開發(fā)時(shí),給服務(wù)添加了一些日志和數(shù)據(jù)上報(bào),比如哪位用戶在哪個(gè)時(shí)間執(zhí)行了什么操作。記錄的越詳細(xì),排查問(wèn)題就越方便。當(dāng)然,無(wú)意義的內(nèi)容就不用記錄了,否則看日志的時(shí)候密密麻麻的,傷眼又低效!

我一直把項(xiàng)目當(dāng)成自己的孩子(雖然我還沒有孩子),因此,我每天都會(huì)看一下監(jiān)控和日志,來(lái)了解下 “孩子” 的身體狀況。

我最??吹谋O(jiān)控指標(biāo)是服務(wù)的 調(diào)用次數(shù),它很大程度上反映了用戶流量的訪問(wèn)情況。

正常情況下,調(diào)用次數(shù)隨時(shí)間的曲線圖應(yīng)該是下面這樣的,夜里沒人看,白天流量還算平穩(wěn),偶爾會(huì)有一些小高峰:

正常調(diào)用次數(shù) - 時(shí)間曲線

但有一天,我突然看到了下面這個(gè)曲線圖,大家看看這個(gè)曲線有什么特點(diǎn)?

沒錯(cuò),地中海上偏偏長(zhǎng)了一根長(zhǎng)毛!在 25 分附近,調(diào)用次數(shù)突然飆升,我們一般把這種現(xiàn)象稱為 “流量突刺”,把監(jiān)控圖上這一枝獨(dú)秀稱為 “毛刺”。

大多數(shù)情況下,有毛刺可不是什么好事??吹竭@個(gè)曲線,我的第一反應(yīng)不是 “臥槽,項(xiàng)目火了?”,而是 “臥槽,被攻擊了!”

到底是不是被攻擊了?是誰(shuí)攻擊我了呢?不會(huì)我真的火了吧(還帶有一絲幻想)?

帶著這些疑問(wèn),趕緊來(lái)分析一下。

分析

光看上面的曲線圖,是分析不出來(lái)的,必須要從事故現(xiàn)場(chǎng)找找線索。

還好云開發(fā)幫我們記錄了訪問(wèn)日志,選擇事故發(fā)生的時(shí)間段(以 25 分鐘為基準(zhǔn),前后各空 5 分鐘),然后就篩選出了對(duì)應(yīng)日志。

查看日志

為了更靈活地分析,我們將日志導(dǎo)出到本地,使用 Excel 等表格軟件打開它。

然后,我們來(lái)分析下日志,先看 日志生產(chǎn)時(shí)間 這列,即案發(fā)時(shí)間:

查看日志

大家發(fā)現(xiàn)了么?日志生產(chǎn)時(shí)間非常均勻!每秒大概 3 - 4 條。

從這點(diǎn)就說(shuō)明了,大概率不是人工訪問(wèn)服務(wù),而是機(jī)器自動(dòng)按照某個(gè)頻率發(fā)送請(qǐng)求。

再看下日志的內(nèi)容,每條日志的結(jié)構(gòu)如下:

//?請(qǐng)求時(shí)間
2021-04-29T04:22:05.937752445Z
//?發(fā)起請(qǐng)求的?IP
stdout?F?169.254.128.20
//?請(qǐng)求頭
HEAD?/webroot.bak?HTTP/1.1\
//?響應(yīng)狀態(tài)碼
200?0?
//?請(qǐng)求地址
http://www.code-nav.cn/webroot.bak
//?請(qǐng)求瀏覽器身份
Mozilla/5.0?(compatible;?MSIE?9.0;?Windows?NT?6.1;?Trident/5.0)

其中,請(qǐng)求時(shí)間、請(qǐng)求 IP、請(qǐng)求地址是關(guān)鍵信息。時(shí)間剛剛已經(jīng)分析過(guò)了,再看看請(qǐng)求 IP 和地址。

我直接在表格中全局搜索上述 IP,發(fā)現(xiàn)所有的 IP 地址都是相同的!

這下我松了口氣,應(yīng)該只是一個(gè)人在小打小鬧吧。

然后我看了幾條連續(xù)日志的請(qǐng)求地址,大概是這樣:

http://www.code-nav.cn/111.gz
http://www.code-nav.cn/111.tar.bz2
http://www.code-nav.cn/111.dat
http://www.code-nav.cn/111.bz2
http://www.code-nav.cn/222.tgz
http://www.code-nav.cn/222.gz
http://www.code-nav.cn/333.zip
...

看到 "111"、"222"、"333" 我大致明白了,這位攻擊者應(yīng)該是在用字典枚舉的方式掃描我的網(wǎng)站,企圖找出網(wǎng)站的后臺(tái)地址。

攻擊的原理很簡(jiǎn)單,就根小時(shí)候我們嘗試破解別人密碼一樣,一個(gè)一個(gè)瘋狂亂試。只不過(guò)攻擊者通常會(huì)使用一些網(wǎng)站掃描工具,將可能的密碼作為一本字典,交給機(jī)器,代替人工來(lái)試而已。試的次數(shù)和頻率高了,就被稱為 “爆破”。

又回想起了大學(xué)時(shí)被網(wǎng)絡(luò)安全課支配的恐懼。。。

基于以上的分析,這位 “攻擊者” 應(yīng)該只是拿我的網(wǎng)站來(lái)練練手,畢竟掃描頻率不高、持續(xù)時(shí)間不長(zhǎng),當(dāng)然,我希望如此。

防控

這件事雖然傷害不大,侮辱性極強(qiáng)!讓我充分意識(shí)到自己的網(wǎng)站在安全性上是缺斤少兩的。最起碼應(yīng)該在異常流量出現(xiàn)的是否給我告警,發(fā)個(gè)短信啥的吧!

如果是自己搭建服務(wù)器來(lái)部署網(wǎng)站項(xiàng)目,需要自行接入或開發(fā)一個(gè)業(yè)務(wù)監(jiān)控告警系統(tǒng),雖然網(wǎng)上的這類第三方系統(tǒng)很多,比如 Zabbix、Prometheus(AlertManager)、Grafana 等,但都需要自己來(lái)部署和維護(hù),需要一定的人力物力成本。

但使用騰訊云云開發(fā),除了上面提到的基礎(chǔ)資源額度告警外,還可以靈活自定義各種高級(jí)的告警策略。

比如給點(diǎn)贊功能添加調(diào)用次數(shù)限制告警,先選擇告警對(duì)象為 “云函數(shù)”:

新建告警策略

再配置觸發(fā)條件,比如 5 分鐘內(nèi)調(diào)用次數(shù)超過(guò) 100 次則告警:

配置告警觸發(fā)條件

再配置下告警接收人、告警方式、時(shí)間段等,支持郵件、短信、微信等,選擇很多樣:

這樣就大功告成了,如法炮制,可以給每個(gè)最小粒度的函數(shù)都添加上告警,出了事兒在第一時(shí)間就能感知到了。

最后,對(duì)于一個(gè)成熟的網(wǎng)站,其實(shí)以上的防護(hù)措施還是遠(yuǎn)遠(yuǎn)不夠的。

還好,我的網(wǎng)站現(xiàn)在并不成熟,所以求求各位網(wǎng)絡(luò)安全愛好者,放過(guò)孩子吧!

被攻擊了!的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
德江县| 通渭县| 无为县| 白河县| 天柱县| 中方县| 全南县| 张家口市| 大庆市| 临漳县| 康定县| 祁阳县| 瑞金市| 玛纳斯县| 韶关市| 抚顺市| 望谟县| 蒙城县| 甘谷县| 江都市| 镇康县| 营口市| 湛江市| 山西省| 中牟县| 泽普县| 汤原县| 江陵县| 巴南区| 元朗区| 大连市| 张北县| 黎川县| 道孚县| 碌曲县| 富锦市| 龙胜| 鞍山市| 木里| 大兴区| 多伦县|