又是一個晚上收到 Linode CPU alert 訊息, Top 一看
又是 kdevtmpfsi 再挖礦了..哭哭.
現在有很多人機器都部署在各知名的網站, 如 AWS , GCP, Linode 等等. 開發時往往很容易疏忽了安全性.. 好在還是有這些網站的監控會提醒你說 CPU 用量過高. 讓我可以知道機器狀況. 也是大家俗稱 devops , 難聽一點就是全都是算你的.
問題產生:
kdevtmpfsi 是怎麼鑽進來的?? 會發現他在 /tmp/kdevtmpfsi 會發生, 但是移除了其實沒有多久又會跑起來.
所以求救 Google 大神. 發現 redis 有機會可以讓 hacker 進來, 放置挖礦程式
實際測試一下.
redis-cli -h host
囧.. 還真的可以連進來,意味著 redis 沒有好好的保護起來.
解決方法
- 把 加強 redis 的保護機制.
- 修改 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"]
- 修改 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