1. 程式人生 > >Linux,沒你想象的那麽安全!

Linux,沒你想象的那麽安全!

root賬戶 type sea 綁定 軟件 解決 nor 現實生活 修改文件

上周,一個朋友要幫忙處理一下他在阿裏雲的Linux服務器,因為他說自己服務器上的文件都不見了,我登錄上去查看後,發現了BananaCrypt勒索病毒,該勒索病毒加密文件後,會將文件後綴修改為“.bananaCrypt”。根據提示,受害者需要繳納價值300美元的比特幣才能解密文件。下圖是駭客留下的勒索憑證:

技術分享圖片

網絡中的Hacker就像現實生活中的小偷、強盜一樣,多數作案基本都是隨機的。可以說,在網絡世界裏,每個人、每個企業都面臨著信息安全、資金安全的威脅。

下圖是Norse Corporation最新發布的實時網絡Hacker地圖,向我們展示了全球實時發生的網絡Hacker,看起來很好玩,深思很恐怖。這裏看到的大多數公雞都是機器人進行的,目的在於探測網絡系統的軟肋。右下角的方塊顯示了當前網絡正遭受哪種類型的公雞。

技術分享圖片

怎麽樣,很震撼吧!

根據網絡數據統計,網絡上各類應用脆弱排行榜如下:

Web 應用

技術分享圖片

Web 框架

技術分享圖片

端口

技術分享圖片

Web 容器

技術分享圖片

服務

技術分享圖片

為了避免駭客公雞可能遭受的損失,防患於未然最關鍵,這裏給大家總結了駭客的幾種公雞手段,知己知彼方能有備無患。

1、勒索病毒

勒索病毒就是利用惡意代碼加密用戶文件、收費解密的形式,向受害者索取金額的勒索軟件,如果7天內不支付,病毒聲稱電腦中的數據信息將會永遠無法恢復。

目前常見的勒索病毒及變種有很多,簡單介紹如下:

Saturn勒索病毒

Saturn勒索病毒通過釣魚郵件等方式傳播,加密文件後以“ .saturn ”作為後綴。Saturn勒索病毒是暗網上公開提供的勒索病毒服務之一,服務提供商會從每次勒索贖金中抽取30%作為收益,勒索的贖金可由服務使用者自定義。

BananaCrypt勒索病毒

該勒索病毒加密文件後,會將文件後綴修改為“.bananaCrypt”。根據提示,受害者需要繳納價值300美元的比特幣才能解密文件。

Shifr勒索病毒變種CryptWalker

Shifr勒索病毒變種Cypher,該勒索病毒加密文件後,會將文件後綴修改為“. cypher”。根據提示,會向用戶勒索1個比特幣。

Data Keeper勒索病毒

該勒索病毒加密文件後並不會修改文件後綴,只有當用戶主動打開文檔時才會發現文檔被加密了,這使得用戶不知道自己電腦上究竟多少文檔已經被加密,更加容易恐慌。根據分析,Data Keeper和Saturn勒索病毒一樣,同為投放在暗網上的勒索病毒服務,勒索的贖金也可以由服務使用者自定義。

GlobeImposter勒索病毒

主要用來感染企業應用服務器,之前國內兩家省級醫院服務器疑似遭最新勒索病毒GlobeImposter的公雞,駭客在突破企業防護邊界後釋放並運行勒索病毒,最終導致系統破壞,影響正常工作秩序。不法駭客要求院方在指定時間內支付價值幾萬到數十萬人民幣不等的比特幣才可恢復數據。此病毒目的性很強,就是勒索錢財。

你沒吃過虧,可能永遠不明白數據有多珍貴。我們之前也經歷過被臭名昭著的勒索病毒威脅的事情,文件被感染後,公雞者給每個目錄下都留下一封html的勒索信,告訴你要匯1個比特幣到指定賬戶。現在1個比特幣超過10萬人民幣了。

不過,幸運的是,我們這個服務器的數據都有備份,備份的數據在另外一個異地主機上,因此,損失不是很大,大部分數據得以恢復,僅丟失了很小部分數據。

所以,應對勒索病毒的最有效招數就是:備份,再備份。將數據經常做異地備份,但千萬不要備份到本機,這毫無意義,同時,要養成備份習慣,比如一天增量備份、一周的全備份等策略。

2、挖礦病毒

比特幣等虛擬貨幣的不斷升值,挖礦這個詞變得家喻戶曉。除了不斷漲價的顯卡外,又有駭客動起了歪腦筋,設計出了挖礦病毒。挖礦病毒就是用你的服務器計算資源(CPU 、GPU)替他挖礦賺錢的牧馬。主要表現為你的計算資源利用率很高,但網絡流量一般。

目前常見的挖礦病毒有xmrig挖礦病毒、門羅幣挖礦病毒、驅動挖礦病毒PuMiner等,相比之前的勒索病毒,挖礦病毒更加隱秘,你甚至不會察覺到你的服務器已經被公雞,但是只要掌握了挖礦病毒的發作特征以及時刻關註服務器狀態,就不難發現它。

那麽挖礦病毒是怎麽感染的呢,目前比較常見的有漏洞感染,例如前段時間鬧得比較兇的Redis未授權訪問漏洞,就是挖礦病毒的一種新型公雞方式,在特定條件下,如果Redis以root身份運行,駭客可以給root賬戶寫入SSH公鑰文件,直接通過SSH登錄受害服務器,繼而導致服務器權限被獲取和數據刪除、泄露或加密勒索事件發生,嚴重危害業務正常服務。

由於部分服務器上的Redis綁定模式為“0.0.0.0:6379”,並且沒有開啟認證(這是Redis的默認配置,就是登錄redis無需密碼),以及該端口可以通過公網直接訪問,如果沒有采用相關的策略,比如添加防火墻規則避免其他非信任來源IP訪問等,將會導致Redis服務直接暴露在公網上,這就造成了其他用戶可以直接在非授權情況下直接訪問Redis服務並進行相關操作。  

目前比較主流的案例:yam2 minerd挖礦程序,還有在多次應急事件中發現大量的watch-smartd挖礦牧馬,都是通過此種方式進來的。

他們是如何公雞的呢?看下面這個圖:

技術分享圖片

基本的步驟是:

(1)利用掃描工具,弱口令掃描redis 默認的 6397端口
(2)本地生成 rsa ,儲存到對方redis 緩存中
(3)利用redis config set 來寫入一個文件
(4)最後 ssh 登錄

如何做redis的安全防範呢,方法如下:

(1)以低權限運行 Redis 服務
(2)為 Redis 添加密碼驗證
(3)禁止外網訪問 Redis
(4)修改默認端口
(5)保證 authorized_keys 文件的安全
(6)設置防火墻策略

3、十字符病毒

服務器不停的向外發包,網絡流量暴滿,且CPU持續100%。遠程登錄後查看發現有一長度為10的隨機字符串進程,kill掉,會重新生成另外長度為10的字符串進程。刪除文件也會重復生成,這就是十字符病毒的典型特征。

這種病毒的運作機制基本是這樣的:

首先植入一個病原體,然後通過cron每隔一段時間自動檢測一次,如果牧馬程序不存在,就從病原體復制一份兒到指定路徑並重新命名,生成一個隨機命名(10個字符的程序名)的程序,然後放到系統默認的路徑/usr/bin/、/usr/sbin、/sbin等目錄下,同時修改系統自啟動配置讓這些病毒程序開機自啟動。

網絡流量暴滿、持續耗用CPU資源,病毒程序自動啟動、無法殺掉,刪除文件後,這些病毒文件自動生成,這就是十字符病毒的典型特征。

那麽,此種病毒是如何進入的呢,一般這種類型的病毒進入方式是系統漏洞、程序漏洞等途徑進入,而進入系統後,他並不破壞系統內的數據,這看似很友好,其實,他最主要的目的是占用你的網絡帶寬,繼而形成僵屍網絡,僵屍網絡是一批被控制的主機,通過控制互聯網上大量的主機帶寬,僵屍網絡就變得非常強大,一旦發起公雞,往往會形成勢不可擋的大規模網絡故障,近期的斷網事件和僵屍網絡挖礦事件都是利用僵屍網絡造成的。

如何清除這種類型的病毒,可參考我之前的博文:http://blog.51cto.com/ixdba/2163018

4、黑帽seo掛馬網站

你可能遇到過這樣的情況:本來打開的是這個網站,卻突然跳轉到了dubo網站,或者打開一個網站後,發現網站標題和內容不一樣,明明打開的是一個技術網站,打開網頁後,發現是一個dubo網站,還有一些就是網站的第一屏內容被替換成dubo網站,最下面是原本網站的內容,類似很多,如下圖所示:
技術分享圖片

這其實就是典型的黑帽SEO(Search Engine Optimization:翻譯為搜索引擎優化)zuobi手段,黑帽SEO就是作弊的意思,它通過垃圾鏈接,偷換頁面,網頁劫持,關鍵詞堆砌、頁面跳轉、、掛黑鏈、網站鏡像等技術,來獲取搜索引擎的排名,繼而從搜索引擎中獲得更多的免費流量。

黑帽SEO主要的特點就是短、平、快,為了短期內的利益而采用作弊方法。同時隨時因為搜索引擎算法的改變而面臨懲罰。而黑帽SEO的目的是為網站提供生態式的自我營銷解決方案,讓其在行業內占據領先地位,獲得品牌收益。

為了達到這個目的,黑帽SEO們挖空了心思,各種招數不盡其用,其中最常用的就是頁面跳轉,關鍵字替換,看下面一個案例:
技術分享圖片

這段js代碼是從服務器上取下來的,很明顯,他是將所有從搜索引擎過來的流量都跳轉到了代碼裏面指定的一個站點上了,這樣無形中,將搜索引擎流量轉給了其他非法網站。

那麽這個js是怎麽註入的呢,這就是利用了網站的程序的漏洞,將js傳上去了。

此外,還有其他類似的註入手段,主要有幾個步驟:

第一步,從快照內容中獲取關鍵詞並替換成自己的關鍵詞,第二步,構造語句函數代碼,第三步,采集內容提供給搜索蜘蛛,第四步,設置需要跳轉到的網址。通過這四個步驟,不但獲取了流量,也提示了自己網站的關鍵詞,最終,提示了自己網站權重,達到了宣傳、推廣的目的。

此種註入方式,一般攻陷的是一些技術類網站、專業類網站,甚至政府網站,因為這些網站在網絡上的信譽評分很高,並且搜索引擎在搜索時也會向前推薦,所以這些網站就成了他們註入的目標。

說了這麽多,要如何防範這些黑帽SEO呢,總結主要有如下幾個方面:

1、網站的程序安全漏洞、安全要加固,保證沒有程序漏洞,這是最重要的部分。
2、對服務器目錄權限的安全部署,對管理員賬號密碼加密,盡可能設置的復雜一些。
3、數據庫不要對外網公開,修改默認端口,推薦僅本地127.0.0.1才能進行連接數據庫。
4、對服務器底層系統進行安全加固,包括遠程端口登錄的安全驗證。防火墻一定要設置。
5、定期對網站代碼進行整體的安全檢測,包括定期的升級網站程序源代碼,修復補丁以及網站漏洞。

安全是相對的,要保證系統安全,安全是目的,防範是手段,通過防範的手段達到或實現安全的目的,是作為運維人員安全防範的基本準則。

Linux,沒你想象的那麽安全!