春節(jié)前,該公司的官方網(wǎng)站已經(jīng)無緣無故地連接到了數(shù)據(jù)庫(kù)。因?yàn)樗郧鞍l(fā)生過,而且它沒有花很長(zhǎng)的假期,它沒有太在意這種情況,只是試圖重新啟動(dòng)網(wǎng)站數(shù)據(jù)庫(kù)。在假期里,我發(fā)現(xiàn)了一些不對(duì)勁的地方。網(wǎng)站數(shù)據(jù)庫(kù)在打開后不久就關(guān)閉了。檢查服務(wù)器中的資源,發(fā)現(xiàn)服務(wù)器的內(nèi)存已滿,當(dāng)中央處理器達(dá)到100%時(shí),即使是遠(yuǎn)程連接也變得非常慢。因此,解決網(wǎng)站被攻擊的問題。
起初,我覺得Apache占用了網(wǎng)絡(luò)資源,CPU太大了。我在網(wǎng)上搜索了各種信息,試了一上午,但網(wǎng)站還是沒有好轉(zhuǎn)。只有通過啟動(dòng)PHP環(huán)境服務(wù),服務(wù)器內(nèi)存才會(huì)立即耗盡。所以我想知道我的服務(wù)器硬件配置是不是太低了,所以我試著換成Nginx,這是一個(gè)網(wǎng)絡(luò)資源最少的環(huán)境。以后再考慮吧。為了節(jié)省時(shí)間,運(yùn)行內(nèi)存立即從4G增加到8G。如果是阿里巴巴云服務(wù)器,它需要重啟系統(tǒng)才能生效,所以需要另一個(gè)早上來自動(dòng)備份重復(fù)數(shù)據(jù)刪除和數(shù)據(jù)庫(kù)。重啟后,網(wǎng)站服務(wù)被打開,服務(wù)器的運(yùn)行內(nèi)存直接耗盡。檢查網(wǎng)絡(luò)資源后,發(fā)現(xiàn)所有的Nginx都是死進(jìn)程。網(wǎng)站打開緩慢,無法連接。
我再次懷疑該公司的網(wǎng)站服務(wù)器或mysql網(wǎng)站數(shù)據(jù)庫(kù)或dedecms源代碼有問題,可能受到黑客的惡意攻擊。消除問題的整個(gè)過程基本上讓人煩死了。首先,替換dedecms,直接使用空白html代碼作為主頁(yè),并啟動(dòng)公司網(wǎng)站服務(wù)和網(wǎng)站數(shù)據(jù)庫(kù)。沒問題。很好,這一定是dedecms的代碼問題。照你說的做,將網(wǎng)站源代碼和數(shù)據(jù)庫(kù)打包到本地計(jì)算機(jī)中。
在我電腦的win10系統(tǒng)中,PHP網(wǎng)站運(yùn)行環(huán)境安裝了phpstudy,并且還導(dǎo)入了dedecms和mysql備份文件。在127.0.0.1打開本地訪問后,網(wǎng)站正常打開,瀏覽新聞和圖片也正常。我非常懷疑mysql網(wǎng)站數(shù)據(jù)庫(kù)的登錄密碼被破解,導(dǎo)致被黑客攻擊。因此,我修改了數(shù)據(jù)庫(kù)的帳戶密碼,并在網(wǎng)站服務(wù)器上試用。運(yùn)行內(nèi)存確實(shí)很好,但是網(wǎng)頁(yè)無法訪問,并且發(fā)現(xiàn)服務(wù)器中的dedecms配置文件中的數(shù)據(jù)庫(kù)登錄密碼沒有改變。變更后,公司網(wǎng)站正常,但運(yùn)行記憶瞬間耗盡,現(xiàn)象依然存在,網(wǎng)站無法再次打開。
無論如何,該公司的網(wǎng)站已經(jīng)恢復(fù),其開放速度仍然很快。這次網(wǎng)站安全事件花了我至少十個(gè)小時(shí)來進(jìn)行維護(hù),這相當(dāng)于幾天的年假。我只是記錄下解決問題的過程,希望能有所幫助