Redis安全漏洞

Redis安全漏洞

    Redis 默認情況下,會綁定在 0.0.0.0:6379,如果沒有進行採用相關的策略,比如添加防火牆規則避免其他非信任來源 ip 訪問等,這樣將會將 Redis 服務暴露到公網上,如果在沒有設置密碼認證(一般爲空)的情況下,會導致任意用戶在可以訪問目標服務器的情況下未授權訪問 Redis 以及讀取 Redis 的數據。攻擊者在未授權訪問 Redis 的情況下,利用 Redis 自身的提供的config 命令,可以進行寫文件操作,攻擊者可以成功將自己的ssh公鑰寫入目標服務器的 /root/.ssh 文件夾的authotrized_keys 文件中,進而可以使用對應私鑰直接使用ssh服務登錄目標服務器。

漏洞的產生條件有以下兩點:

 (1)redis綁定在 0.0.0.0:6379,且沒有進行添加防火牆規則避免其他非信任來源ip訪問等相關安全策略,直接暴露在公網;

 (2)沒有設置密碼認證(一般爲空),可以免密碼遠程登錄redis服務。

漏洞的危害:

  (1)攻擊者無需認證訪問到內部數據,可能導致敏感信息泄露,黑客也可以惡意執行flushall來清空所有數據;

  (2)攻擊者可通過EVAL執行lua代碼,或通過數據備份功能往磁盤寫入後門文件;

  (3)最嚴重的情況,如果Redis以root身份運行,黑客可以給root賬戶寫入SSH公鑰文件,直接通過SSH登錄受害服務器。

Redis 安全加固

    Redis安全加固主要從網絡訪問權限、賬戶執行權限兩個方面入手:

    (1)  設置防火牆

        通過防火牆設置,充許業務ip訪問,限制不必要ip訪問,方法參考如下:
          #例如只允許192.168.1.*這一段C類地址訪問,其他IP地址禁止訪問:
          iptables -A INPUT -s 192.168.1.0/24,127.0.0.0/16 -p tcp --dport 6379 -j ACCEPT
          iptables -A INPUT -p tcp --dport 6379 -j DROP

 (2)設置訪問密碼

        爲redis設置密碼:設置客戶端連接後進行任何其他指定前需要實用的密碼。警告:因爲redis速度非常快,所以在一臺較好的服務器下,一個外部用戶可以在一秒鐘進行150k次的密碼嘗試,這意味着你需要指定非常非常強大的密碼來防止暴力破解。

      修改密碼的方法:1、只需要在redis的配置文件redis.conf中開啓requirepass就可以了。

       cd /home/hgaop/test/redis-2.8.19/vim redis.conf   --找到下面這行,把註釋去掉,requirepass後面填寫需要修改的密碼                 requirepass mypassword
      密碼不能太簡單,比如 "123456" "root"等

   (3)避免將redis暴露到公網上

          避免將redis暴露到公網上,儘量實現redis在局域網內調用

   參考:https://www.cnblogs.com/bmjoker/p/9548962.html

       

  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章