您好,登錄后才能下訂單哦!
本篇內容介紹了“怎么解決被Redis入侵了的問題”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
事件經過
其實這種攻擊手法都是 2015 年的事了,那時候 Redis 的安全保護機制比較差,只能靠運維人員來合理配置以保證數據庫的安全。有段時間,全球幾萬個 Redis 節點遭到了攻擊,出現了上述奇怪的現象,所有數據被清空,只剩一個鍵叫 crackit,它的值形似 RSA 公鑰的字符串。
后來查證,攻擊者利用 Redis 動態設置配置和數據持久化的功能,把自己的 RSA 公鑰寫入到了被攻擊服務器的 /root/.ssh/authored_keys 這個文件,從而可以用私鑰直接登錄對方的 root 用戶,侵入對方系統。
淪陷的服務器安全防護做的很不好,具體如下:
Redis 的端口是默認端口,而且可以從公網訪問。
Redis 還沒設密碼。
Redis 進程是由 root 用戶啟動的。
以上每個點都是比較危險的,合在一起,那真是很致命了。且不說別人把公鑰寫到你的系統里,就說連上你的數據庫然后刪庫,那損失都夠大了。那么具體的流程是什么呢,下面我在本地回環地址上簡單演示一下。
本地演示
Redis 監聽的默認端口是 6379,我們設置它接收網卡 127.0.0.1 的連接,這樣我從本地肯定可以連接 Redis,以此模擬「從公網可以訪問 Redis」這一條件。
現在我是名叫 fdl 的普通用戶,我想用 ssh 登錄我系統上的 root 用戶,要輸入 root 的密碼,我不知道,所以沒辦法登錄。
除了密碼登錄之外,還可以使用 RSA 密鑰對登錄,但是必須要把我的公鑰存到 root 的家目錄中 /root/.ssh/authored_keys。我們知道 /root 目錄的權限設置是不允許任何其他用戶闖入讀寫的:
但是,我發現自己竟然可以直接訪問 Redis:
如果 Redis 是以 root 的身份運行的,那么我就可以通過操作 Redis,讓它把我的公鑰寫到 root 的家目錄中。Redis 有一種持久化方式是生成 RDB 文件,其中會包含原始數據。
我露出了邪惡的微笑,先把 Redis 中的數據全部清空,然后把我的 RSA 公鑰寫到數據庫里,這里在開頭和結尾加換行符目的是避免 RDB 文件生成過程中損壞到公鑰字符串:
命令 Redis 把生成的數據文件保存到 /root/.ssh/ 中的 authored_keys 文件中:
現在,root 的家目錄中已經包含了我們的 RSA 公鑰,我們現在可以通過密鑰對登錄進 root 了:
看一下剛才寫入 root 家的公鑰:
亂碼是 GDB 文件的某種編碼吧,但是中間的公鑰被完整保存了,而且 ssh 登錄程序竟然也識別了這段被亂碼包圍的公鑰!
至此,擁有了 root 權限,就可以為所欲為了。。。
吸取教訓
雖然現在基本不會受到這種攻擊(新版本的 Redis 沒有密碼時默認不對外網開放),但是對于系統的安全性是每個人都應該重視的。
我們自己折騰東西,用個低配云服務器,為了省事兒一般也不認真配置防火墻,數據庫不設密碼或者設成 admin、root 這樣簡單的密碼,反正也沒啥數據。這樣肯定不是個好習慣。
現在我們的計算機系統越來越完善,每個成熟的項目都由最優秀的一幫人維護,從技術上說應該算是無懈可擊了,那么唯一可能出問題的地方就在于使用它們的人。
就像經常看到有人的 QQ 被盜,我相信盜號的人肯定不是跑到騰訊的數據庫里盜號,肯定是 QQ 號主安全防范意識差,在哪個釣魚網站輸入了自己的賬號密碼,導致被盜。我基本沒見過微信被盜的,可能是微信弱化密碼登錄,改用二維碼掃描登錄的原因。這應該也算是一種安全方面的考量吧,畢竟微信是有支付功能的。
上面這種騙局對于技術人來說,看看 url,瀏覽器分析一下網絡包就很容易識別出來,但是你還別不信,一般人真的搞不明白怎么識別釣魚網站和官方網站。就像我真沒想到都 2020 年了,還有人在找 Redis 的這個漏洞,而且還有人中招。。。
那么說回 Redis 數據庫的使用,在官網上明確寫出了安全防護的建議,我簡單總結一下吧:
不要用 root 用戶啟動 Redis Server,而且一定要設置密碼,而且密碼不要太短,否則容易被暴力破解。
配置服務器防火墻和 Redis 的 config 文件,盡量不要讓 Redis 與外界接觸。
利用 rename 功能偽裝 flushall 這種危險命令,以防被刪庫,丟失數據。
“怎么解決被Redis入侵了的問題”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。