使用 Docker 上的 Redis 時, 要注意不要被 kdevtmpfsi 挖礦了

又是一個晚上收到 Linode CPU alert 訊息, Top 一看
又是 kdevtmpfsi 再挖礦了..哭哭.

現在有很多人機器都部署在各知名的網站, 如 AWS , GCP, Linode 等等. 開發時往往很容易疏忽了安全性.. 好在還是有這些網站的監控會提醒你說 CPU 用量過高. 讓我可以知道機器狀況. 也是大家俗稱 devops , 難聽一點就是全都是算你的.

問題產生:
kdevtmpfsi 是怎麼鑽進來的?? 會發現他在 /tmp/kdevtmpfsi 會發生, 但是移除了其實沒有多久又會跑起來.
所以求救 Google 大神. 發現 redis 有機會可以讓 hacker 進來, 放置挖礦程式
實際測試一下.

  redis-cli -h host 

囧.. 還真的可以連進來,意味著 redis 沒有好好的保護起來.

解決方法

  1. 把 加強 redis 的保護機制.
  2. 修改 redis 目錄中的 Dockfile 改用 redis.conf
 RUN mkdir -p /usr/local/etc/redis
COPY redis.conf /usr/local/etc/redis/redis.conf

VOLUME /data

EXPOSE 6379

CMD ["redis-server", "/usr/local/etc/redis/redis.conf"]
  1. 修改 redis.conf
bind 127.0.0.1 <- 確認只有本機可以連
requirepass foobared  <-  設定你想要的密碼

把 redis 的 Docker 重包一份

docker-compose up -d --no-deps --build  redis

再重新起動 docker-compose 服務

測試一下 redis Could not connect to Redis at xxxxxxxx:6379: Connection refused
完成.. 希望不要再被挖礦了

reference

https://stackoverflow.com/questions/62941900/kdevtmpfsi-virus-running-on-redis-docker-image

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。