記錄一次Mongodb被勒索的經歷

她來聽我的演唱會發表於2021-05-11

頭一天還和朋友聊起來,說他們的mongodb因為開了公網埠,導致資料庫被人盯上了,然後揚言要付 0.5個比特幣才能使用,好在就是一些日誌資料,沒涉及到重要資料,因此

關閉公網埠、設定密碼、加上ip白名單就解決了。看圖:

然後,到了今天,需要做API介面,然後就看了一眼mongodb,咦?我的集合呢,怎麼就只剩下了一個README的集合。因為之前發生過一次資料被清空的清空,當時以為是自己測試完以後隨手清空的,也就沒有在意,但是結合昨天朋友說的事情,才意識到,有可能是真的遇到勒索了,然後開啟README:

我的乖乖,真的是中招了,但是我一點也不慌,甚至還有點想笑,第一時間甚至想著有沒有什麼反制措施,因為就是一些測試資料,無敏感資訊,也非生產資料。但是朋友說他找過,什麼日誌,什麼蛛絲馬跡肯定是被處理過的,無跡可尋,於是我就開始了逗悶子:


不對,是開始了討論如何避免這種情況的出現。
勒索原文:
All your data is a backed up. You must pay 0.005 BTC to 14T6SPytjWGqSuZyac4PvajVUx9L2BV9FC 48 hours for recover it. After 48 hours expiration we will leaked and exposed all your data. In case of refusal to pay, we will contact the General Data Protection Regulation, GDPR and notify them that you store user data in an open form and is not safe. Under the rules of the law, you face a heavy fine or arrest and your base dump will be dropped from our server! You can buy bitcoin here, does not take much time to buy XXX.com with this guide XXX.com/guides/how-to-buy-bitcoins After paying write to me in the mail with your DB IP: XXX@tutanota.com

譯文:
您的所有資料都已備份。 您必須在48小時內支付0.005 BTC到14T6SPytjWGqSuZyac4PvajVUx9L2BV9FC才能恢復它。 到期48小時後,我們將洩漏並公開您的所有資料。 如果拒絕付款,我們將與GDPR通用資料保護條例聯絡,並通知他們您以開放形式儲存使用者資料並且不安全。 根據法律規定,您將面臨重罰或逮捕,您的基本轉儲將從我們的伺服器上刪除! 您可以在這裡購買比特幣,無需花費大量時間即可通過本指南購買XXX.com XXX/guides/how-to-buy-bitcoins 付款後,您便會在郵件中寫信給我 DB IP:XXX@tutanota.com

看完原文,我的第一個感受就是:我實在也不是謙虛,我一個寫程式碼的怎麼就被勒索了呢,後來朋友跟我說,勒索者已經決定了,48小時內由你來支付這0.05個比特幣,我說,讓勒索者滾蛋吧,朋友說沒事,解決這個問題無非就是三個代。。不對,三個步驟就行:
1. 關閉公網埠
很多朋友為了方便管理或者使用Mongodb管理工具管理資料,會把Mongodb的BindIp從127.0.0.1改為0.0.0.0,這個給了很多別有用心之人連線的機會,加上Mongodb本身預設是沒有密碼的,所以這就相當於把自己家大門開啟,並且門口大大地寫著:“歡迎于謙老師來..”,不對,是“我家沒有人,歡迎參觀”。
因此把門關上,能阻擋到絕大部分的別有用心之人。
2. 設定密碼
設定密碼就更好理解了,加了鎖,沒有鑰匙你就無法進入我家,Redis同理也是如此,以前見到過Redis被黑,被人拿來挖礦的。具體的步驟可以參考:
mongoDB Linux 認證配置、重置密碼、遠端登入配置詳解
3. ip白名單
MongoDB 3.6 Authentication IP Restrictions

總結

安全問題需要大家都重視起來,假如Mongodb裡存的是很多重要資料,敏感資訊,這個時候就會很難受,而且就算支付了資料贖金,也不一定能拿回想要的資料。因此,除了上述的操作,還需要規範程式碼、做好資料備份,容災備份等等操作,平時看起來“繁瑣”的操作,往往會在關鍵的時候拯救我們。

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章