Linux,沒你想象的那麼安全! 薦
上週,一個朋友要幫忙處理一下他在阿里雲的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資源,病毒程式自動啟動、無法殺掉,刪除檔案後,這些病毒檔案自動生成,這就是十字元病毒的典型特徵。
那麼,此種病毒是如何進入的呢,一般這種型別的病毒進入方式是系統漏洞、程式漏洞等途徑進入,而進入系統後,他並不破壞系統內的資料,這看似很友好,其實,他最主要的目的是佔用你的網路頻寬,繼而形成殭屍網路,殭屍網路是一批被控制的主機,通過控制網際網路上大量的主機頻寬,殭屍網路就變得非常強大,一旦發起公雞,往往會形成勢不可擋的大規模網路故障,近期的斷網事件和殭屍網路挖礦事件都是利用殭屍網路造成的。
如何清除這種型別的病毒,可參考我之前的博文: ofollow,noindex" target="_blank">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運維大牛實戰心法》 點選前往 ,15個案例打通運維任通二脈,讓案例說話:
能學到什麼技能
第一部分:故障排查
1.Linux系統故障問題案例彙總(無法啟動、忘記密碼、丟失檔案等)
2.偶遇"Too many open files"錯誤分析與處理實錄
3.Linux遭遇"Read-only file system"錯誤分析與處理實錄
4.不聽話的Crontab,記一次Crontab計劃任務失敗案例
5.因OpenStack物理機故障引起的Linux系統無法啟動案例
6.Linux系統記憶體又被吃光了,它去哪裡了,記一次記憶體佔用問題調查記
第二部分:系統安全
7.回顧與總結:伺服器遭受攻 擊後的處理措施
8.IDC伺服器遭遇黑 客侵入後的解決方法與原因分析案例
9.Linux後門入 侵檢測工具chkrootkit、RKHunter應用案例
10.雲伺服器被植入挖礦病毒的處理與原因分析案例
第三部分:效能調優
11.菜鳥運維初成長,記一次上線Linux伺服器基礎優化案例
12.對某電商平臺動、靜態網站的優化分析案例
第四部分:運維案例
13.遠離SQL/">MySQL的MyISAM,記一次MySQL資料庫故障的處理與原因分析
14.一次Java應用OutOfMemoryError故障的處理與原因分析
15.一次Java程序佔用CPU過高問題的排查方法與案例分析
~~~~~~~~~~~~~~~~~~~~~~~~~~~
如果你對大資料方向的技術幹興趣,那麼也可以閱讀我的ELK專欄,我將多年來在新浪網和阿里雲擔任系統架構師的經驗,融合進51CTO訂閱專欄 《輕鬆玩轉ELK海量視覺化日誌分析系統》點選前往
ps:【51CTO訂閱專欄】安卓小程式端,訂閱更優惠¥12
能學到什麼技能
1、結合企業真實專案需求,分析ELK架構的應用場景和價值
2、動手實戰構建ELK 海量日誌分析平臺
3、利用Logstash實時採集不同專案系統的海量資訊,對海量資料進行過濾和解析,同時可以自定義匹配模式解析專案中的複雜結構日誌,並按日誌類別和日期回滾輸出到ElasticSearch叢集建立索引
4、利用Kibana 實現海量日誌的分析查詢、資料視覺化及監控預警 。
5、Logstash核心配置語法以及Filebeat元件的靈活使用
6、Logstash Input外掛、Filter外掛、Output外掛應用詳解
7、實戰:Logstash 實現海量日誌採集、過濾、解析、輸出